|
| 1 | +whenever sqlerror continue |
| 2 | + |
| 3 | +create table plsql_profiler_runs |
| 4 | +( |
| 5 | + runid number primary key, -- unique run identifier, |
| 6 | + -- from plsql_profiler_runnumber |
| 7 | + related_run number, -- runid of related run (for client/ |
| 8 | + -- server correlation) |
| 9 | + run_owner varchar2(32), -- user who started run |
| 10 | + run_date date, -- start time of run |
| 11 | + run_comment varchar2(2047), -- user provided comment for this run |
| 12 | + run_total_time number, -- elapsed time for this run |
| 13 | + run_system_info varchar2(2047), -- currently unused |
| 14 | + run_comment1 varchar2(2047), -- additional comment |
| 15 | + spare1 varchar2(256) -- unused |
| 16 | +); |
| 17 | + |
| 18 | +comment on table plsql_profiler_runs is |
| 19 | + 'Run-specific information for the PL/SQL profiler'; |
| 20 | + |
| 21 | +create table plsql_profiler_units |
| 22 | +( |
| 23 | + runid number references plsql_profiler_runs, |
| 24 | + unit_number number, -- internally generated library unit # |
| 25 | + unit_type varchar2(32), -- library unit type |
| 26 | + unit_owner varchar2(32), -- library unit owner name |
| 27 | + unit_name varchar2(32), -- library unit name |
| 28 | + -- timestamp on library unit, can be used to detect changes to |
| 29 | + -- unit between runs |
| 30 | + unit_timestamp date, |
| 31 | + total_time number DEFAULT 0 NOT NULL, |
| 32 | + spare1 number, -- unused |
| 33 | + spare2 number, -- unused |
| 34 | + -- |
| 35 | + primary key (runid, unit_number) |
| 36 | +); |
| 37 | + |
| 38 | +comment on table plsql_profiler_units is |
| 39 | + 'Information about each library unit in a run'; |
| 40 | + |
| 41 | +create table plsql_profiler_data |
| 42 | +( |
| 43 | + runid number, -- unique (generated) run identifier |
| 44 | + unit_number number, -- internally generated library unit # |
| 45 | + line# number not null, -- line number in unit |
| 46 | + total_occur number, -- number of times line was executed |
| 47 | + total_time number, -- total time spent executing line |
| 48 | + min_time number, -- minimum execution time for this line |
| 49 | + max_time number, -- maximum execution time for this line |
| 50 | + spare1 number, -- unused |
| 51 | + spare2 number, -- unused |
| 52 | + spare3 number, -- unused |
| 53 | + spare4 number, -- unused |
| 54 | + -- |
| 55 | + primary key (runid, unit_number, line#), |
| 56 | + foreign key (runid, unit_number) references plsql_profiler_units |
| 57 | +); |
| 58 | + |
| 59 | +comment on table plsql_profiler_data is |
| 60 | + 'Accumulated data from all profiler runs'; |
| 61 | + |
| 62 | +create sequence plsql_profiler_runnumber start with 1 nocache; |
| 63 | + |
| 64 | +whenever sqlerror exit failure rollback |
0 commit comments