home *** CD-ROM | disk | FTP | other *** search
Wrap
unit snapsql; interface uses StdCtrls,Classes,OraScript, Db, MemDS, DBAccess, Ora,SysUtils; const Snap_Queries : Array[0..107] of String = ( // general 0-9 'select NAME as "Database name",CREATED as "Created",LOG_MODE as "Log mode",CHECKPOINT_CHANGE# as "Checkpoint change",ARCHIVE_CHANGE# as "Archive change" from sys.v_$database', 'select BANNER as "Products" from sys.v_$version', 'select PARAMETER as "Option", VALUE as "Value" from sys.v_$option', 'select SESSIONS_MAX,SESSIONS_WARNING,SESSIONS_CURRENT,SESSIONS_HIGHWATER,USERS_MAX from sys.v_$license', 'select NAME,VALUE,ISDEFAULT,ISSES_MODIFIABLE,ISSYS_MODIFIABLE,ISMODIFIED from sys.v_$parameter order by NAME', 'select KSPPINM,nvl(KSPPSTVL,''NULL''),KSPPDESC from sys.x$ksppi x, sys.x$ksppcv y where x.INDX = y.INDX and substr(KSPPINM,1,1) = ''_'' order by KSPPINM', 'select KSPPINM,KSPPDESC,nvl(KSPPSTVL,''NULL''),KSPPSTDF from sys.x$ksppi x, sys.x$ksppcv y where x.INDX = y.INDX order by KSPPINM', 'select NAME,VALUE from sys.v_$sga', 'select FILE_NAME,d.TABLESPACE_NAME,d.BYTES,sum(nvl(e.BYTES,0)),'+ 'round(sum(nvl(e.BYTES,0)) / (d.BYTES), 4) * 100,d.BYTES - nvl(sum(e.BYTES),0)'+ 'from DBA_EXTENTS e,DBA_DATA_FILES d where d.FILE_ID = e.FILE_ID (+) '+ 'group by FILE_NAME, d.TABLESPACE_NAME, d.FILE_ID, d.BYTES, STATUS '+ 'order by d.TABLESPACE_NAME, d.FILE_ID', 'select ''Archived Log Directory'',value from sys.v_$parameter '+ 'where name = ''log_archive_dest'' UNION select ''Control Files'','+ 'value from sys.v_$parameter where name = ''control_files'' UNION '+ 'select ''Datafile'',name from sys.v_$datafile UNION '+ 'select ''LogFile Member'',member from sys.v_$logfile', // tablespaces 10-17 'select TABLESPACE_NAME,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,MAX_EXTENTS,'+ 'PCT_INCREASE,STATUS,CONTENTS from dba_tablespaces order by TABLESPACE_NAME', 'select TABLESPACE_NAME,USERNAME,BYTES,MAX_BYTES,BLOCKS,MAX_BLOCKS from dba_ts_quotas '+ 'order by TABLESPACE_NAME, USERNAME', 'select TABLESPACE_NAME,TOTAL_EXTENTS,EXTENTS_COALESCED,Round(PERCENT_EXTENTS_COALESCED,2),'+ 'TOTAL_BYTES,BYTES_COALESCED,TOTAL_BLOCKS,BLOCKS_COALESCED,round(PERCENT_BLOCKS_COALESCED,2) '+ 'from dba_free_space_coalesced order by TABLESPACE_NAME', 'select a.TABLESPACE_NAME,a.BYTES,a.BYTES-b.BYTES,round(((a.BYTES-b.BYTES)/a.BYTES)*100,2),'+ 'b.BYTES,round((1-((a.BYTES-b.BYTES)/a.BYTES))*100,2) from sys.orasnap_ddf a, sys.orasnap_dfs b '+ 'where a.TABLESPACE_NAME=b.TABLESPACE_NAME order by ((a.BYTES-b.BYTES)/a.BYTES) desc', 'select USERNAME,CREATED,PROFILE,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users '+ 'order by DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE, USERNAME', 'select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES from dba_segments '+ 'where TABLESPACE_NAME = ''SYSTEM'' and OWNER not in (''SYS'',''SYSTEM'')', 'select TABLESPACE_NAME,sum(BYTES),max(BYTES) from dba_free_space group by TABLESPACE_NAME '+ 'order by TABLESPACE_NAME', 'select FILE_NAME,TABLESPACE_NAME,BYTES,STATUS,MAXBYTES,INCREMENT_BY from dba_data_files '+ 'where AUTOEXTENSIBLE = ''YES'' order by TABLESPACE_NAME, FILE_NAME', //rollbacks 18-22 'select SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,BLOCK_ID,INITIAL_EXTENT,NEXT_EXTENT,'+ 'MIN_EXTENTS,MAX_EXTENTS,PCT_INCREASE,STATUS,INSTANCE_NUM from dba_rollback_segs order by SEGMENT_NAME', 'select b.NAME,a.USN,GETS,WAITS,round(((GETS-WAITS)*100)/GETS,2),XACTS,WRITES '+ 'from sys.v_$rollstat a, sys.v_$rollname b where a.USN = b.USN', 'select NAME,a.USN,RSSIZE,OPTSIZE,HWMSIZE,EXTENDS,WRAPS,SHRINKS,AVESHRINK,AVEACTIVE,STATUS '+ 'from sys.v_$rollstat a, sys.v_$rollname b where a.USN=b.USN order by NAME', 'select a.NAME,b.XACTS,c.SID,c.SERIAL#,c.USERNAME,c.OSUSER,d.SQL_TEXT from '+ 'sys.v_$rollname a, sys.v_$rollstat b, sys.v_$session c,sys.v_$sqlarea d, sys.v_$transaction e '+ 'where a.USN = b.USN and b.USN = e.XIDUSN and c.TADDR = e.ADDR and c.SQL_ADDRESS = d.ADDRESS '+ 'and c.SQL_HASH_VALUE = d.HASH_VALUE order by a.NAME, c.SID', 'select NAME,VALUE from sys.v_$sysstat where name in (''consistent gets'',''consistent changes'','+ '''transaction tables consistent reads - undo records applied'',''transaction tables consistent read rollbacks'','+ '''data blocks consistent reads - undo records applied'',''no work - consistent read gets'','+ '''cleanouts only - consistent read gets'',''rollbacks only - consistent read gets'',''cleanouts and rollbacks - consistent read gets'')'+ ' order by NAME', // Users 23-31 'select USERNAME,count(decode(o.TYPE#, 2,o.OBJ#,'''')),count(decode(o.TYPE#, 1,o.OBJ#,'''')),count(decode(o.TYPE#, 5,o.OBJ#,'''')),'+ 'count(decode(o.TYPE#, 4,o.OBJ#,'''')),count(decode(o.TYPE#, 6,o.OBJ#,'''')),count(decode(o.TYPE#, 7,o.OBJ#,'''')),count(decode(o.TYPE#, 8,o.OBJ#,'''')),'+ 'count(decode(o.TYPE#, 9,o.OBJ#,'''')),count(decode(o.TYPE#,12,o.OBJ#,'''')),count(decode(o.TYPE#,10,o.OBJ#,'''')) '+ 'from sys.obj$ o, dba_users u where u.USER_ID = o.OWNER# (+) and o.TYPE# is NOT NULL group by USERNAME order by USERNAME', 'select OWNER,SEGMENT_TYPE,sum(BYTES) from dba_segments where OWNER not in (''SYS'', ''SYSTEM'') '+ ' group by OWNER, SEGMENT_TYPE', 'select OWNER,OBJECT_TYPE,OBJECT_NAME,STATUS from dba_objects where STATUS = ''INVALID'' '+ 'order by OWNER, OBJECT_TYPE, OBJECT_NAME', 'select OWNER,OBJECT_NAME,OBJECT_TYPE,to_char(LAST_DDL_TIME,''MM/DD/YYYY HH24:MI:SS''),to_char(CREATED,''MM/DD/YYYY HH24:MI:SS''),'+ 'STATUS from dba_objects where (SYSDATE - LAST_DDL_TIME) < 7 order by LAST_DDL_TIME DESC', 'select rp.GRANTEE,GRANTED_ROLE,rp.ADMIN_OPTION,DEFAULT_ROLE,PRIVILEGE from dba_role_privs rp, dba_sys_privs sp '+ 'where rp.GRANTEE = sp.GRANTEE and rp.GRANTEE not in (''SYS'',''SYSTEM'',''DBA'') '+ 'order by rp.GRANTEE, GRANTED_ROLE, PRIVILEGE', 'select s.USERNAME,s.OSUSER,s.SID,a.OWNER,a.OBJECT,a.TYPE from sys.v_$session s, sys.v_$access a '+ 'where s.SID = a.SID and s.USERNAME not in (''SYS'',''SYSTEM'') and a.OWNER not in (''SYS'',''SYSTEM'') '+ 'order by a.OBJECT, a.TYPE, s.USERNAME', 'select USERNAME, OSUSER,COUNT(*) from sys.v_$session where USERNAME is not NULL '+ 'group by USERNAME, OSUSER order by COUNT(*) desc, USERNAME, OSUSER', 'select USERNAME,CONSISTENT_GETS,BLOCK_GETS,PHYSICAL_READS,round(((CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS) / (CONSISTENT_GETS+BLOCK_GETS))*100,3) as "Hit Ratio" '+ 'from sys.v_$session a, sys.v_$sess_io b where a.SID = b.SID and (CONSISTENT_GETS+BLOCK_GETS) > 0 '+ 'and USERNAME is not null order by ((CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS) / (CONSISTENT_GETS+BLOCK_GETS))', 'select OWNER,DATA_TYPE,COUNT(*) from all_tab_columns where OWNER not in (''SYS'',''SYSTEM'') '+ 'group by OWNER, DATA_TYPE', // tables & indexes 32 - 47 'select OWNER,TABLESPACE_NAME,count(decode(SEGMENT_TYPE,''TABLE'',1)) as Tables,count(decode(SEGMENT_TYPE,''INDEX'',1)) as Indexes '+ 'from dba_segments where SEGMENT_TYPE in (''TABLE'',''INDEX'') group by OWNER, TABLESPACE_NAME', 'select TABLE_OWNER,TABLE_NAME,COLUMN_NAME from dba_ind_columns where COLUMN_POSITION=1 and TABLE_OWNER not in (''SYS'',''SYSTEM'') '+ 'group by TABLE_OWNER, TABLE_NAME, COLUMN_NAME having count(*) > 1', 'select OWNER,TABLE_NAME,COUNT(*) from dba_indexes where OWNER not in (''SYS'',''SYSTEM'') group by OWNER, TABLE_NAME '+ 'having COUNT(*) > 5 order by COUNT(*) desc, OWNER, TABLE_NAME', 'select OWNER,TABLE_NAME from orasnap_noindex where OWNER not in (''SYS'',''SYSTEM'') '+ 'order by OWNER,TABLE_NAME', 'select OWNER,TABLE_NAME from sys.orasnap_nopk where OWNER not in (''SYS'',''SYSTEM'') '+ 'order by OWNER,TABLE_NAME', 'select OWNER,TABLE_NAME,nvl(CHAIN_CNT,0),nvl(NUM_ROWS,0),(CHAIN_CNT/NUM_ROWS)*100 '+ 'from dba_tables where owner not in (''SYS'',''SYSTEM'') and nvl(CHAIN_CNT,0) > 0 '+ 'order by (CHAIN_CNT/NUM_ROWS) desc', 'select OWNER,TABLE_NAME,CONSTRAINT_NAME,decode(CONSTRAINT_TYPE,''C'',''Check'',''P'',''Primary Key'', '+ '''U'',''Unique'',''R'',''Foreign Key'',''V'',''With Check Option''),STATUS from dba_constraints '+ 'where STATUS = ''DISABLED'' order by OWNER, TABLE_NAME, CONSTRAINT_NAME', 'select c.OWNER,c.TABLE_NAME,c.CONSTRAINT_NAME,cc.COLUMN_NAME,r.TABLE_NAME,rc.COLUMN_NAME,cc.POSITION from dba_constraints c, dba_constraints r, '+ 'dba_cons_columns cc, dba_cons_columns rc where c.CONSTRAINT_TYPE = ''R'' and c.OWNER not in (''SYS'',''SYSTEM'') and c.R_OWNER = r.OWNER '+ 'and c.R_CONSTRAINT_NAME = r.CONSTRAINT_NAME and c.CONSTRAINT_NAME = cc.CONSTRAINT_NAME and c.OWNER = cc.OWNER and r.CONSTRAINT_NAME = rc.CONSTRAINT_NAME '+ 'and r.OWNER = rc.OWNER and cc.POSITION = rc.POSITION order by c.OWNER, c.TABLE_NAME, c.CONSTRAINT_NAME, cc.POSITION', 'select acc.OWNER,acc.CONSTRAINT_NAME,acc.COLUMN_NAME,acc.POSITION,''No Index'' from dba_cons_columns acc, dba_constraints ac '+ 'where ac.CONSTRAINT_NAME = acc.CONSTRAINT_NAME and ac.CONSTRAINT_TYPE = ''R'' and acc.OWNER not in (''SYS'',''SYSTEM'') '+ 'and not exists (select ''TRUE'' from dba_ind_columns b where b.TABLE_OWNER = acc.OWNER and b.TABLE_NAME = acc.TABLE_NAME '+ 'and b.COLUMN_NAME = acc.COLUMN_NAME and b.COLUMN_POSITION = acc.POSITION) order by acc.OWNER, acc.CONSTRAINT_NAME, acc.COLUMN_NAME, acc.POSITION ', 'select OWNER,COLUMN_NAME,TABLE_NAME ,data_type, decode(DATA_TYPE, ''NUMBER'', DATA_PRECISION, DATA_LENGTH) from dba_tab_columns '+ 'where (COLUMN_NAME, OWNER) in ( select COLUMN_NAME,OWNER from dba_tab_columns group by COLUMN_NAME, OWNER '+ 'having min(decode(DATA_TYPE, ''NUMBER'', DATA_PRECISION, DATA_LENGTH)) < max(decode(DATA_TYPE, ''NUMBER'', DATA_PRECISION, DATA_LENGTH)) ) '+ 'and OWNER not in (''SYS'', ''SYSTEM'') order by COLUMN_NAME,DATA_TYPE', 'select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,NEXT_EXTENT from sys.orasnap_objext_warn order by OWNER, SEGMENT_NAME ', 'select OWNER,TABLESPACE_NAME,SEGMENT_NAME,SEGMENT_TYPE,BYTES,EXTENTS,MAX_EXTENTS,(EXTENTS/MAX_EXTENTS)*100 '+ 'from dba_segments where SEGMENT_TYPE in (''TABLE'',''INDEX'') and EXTENTS > MAX_EXTENTS/2 order by (EXTENTS/MAX_EXTENTS) desc ', 'select OWNER,SEGMENT_TYPE,MAX_EXTENTS,count(MAX_EXTENTS) from dba_segments where OWNER not in (''SYS'',''SYSTEM'') '+ 'group by OWNER, SEGMENT_TYPE, MAX_EXTENTS', 'select OWNER,sum(decode(nvl(NUM_ROWS,9999), 9999,0,1)) as Analyzed,sum(decode(nvl(NUM_ROWS,9999), 9999,1,0)) as Not_Analyzed,count(TABLE_NAME) as Total '+ 'from dba_tables where OWNER not in (''SYS'', ''SYSTEM'') group by OWNER ', 'select OWNER,TABLE_NAME,to_char(LAST_ANALYZED,''MM/DD/YYYY HH24:MI:SS'') as When from dba_tab_columns where OWNER not in (''SYS'',''SYSTEM'') '+ 'and LAST_ANALYZED is not null and COLUMN_ID=1 and (SYSDATE-LAST_ANALYZED) < 14 order by (SYSDATE-LAST_ANALYZED)', 'select OWNER,TABLE_NAME,CACHE from dba_tables where OWNER not in (''SYS'',''SYSTEM'') and CACHE like ''%Y'' '+ 'order by OWNER, TABLE_NAME', // Partitions 48 - 52 'select OWNER,TABLE_NAME,PARTITIONING_TYPE,PARTITION_COUNT,PARTITIONING_KEY_COUNT,DEF_TABLESPACE_NAME,DEF_PCT_FREE, '+ 'DEF_PCT_USED,DEF_INI_TRANS,DEF_MAX_TRANS,DEF_INITIAL_EXTENT,DEF_NEXT_EXTENT,DEF_MIN_EXTENTS,DEF_MAX_EXTENTS, '+ 'DEF_PCT_INCREASE,DEF_FREELISTS,DEF_FREELIST_GROUPS,DEF_LOGGING,DEF_BUFFER_POOL '+ 'from dba_part_tables order by OWNER, TABLE_NAME', 'select owner,index_name,partitioning_type,partition_count,partitioning_key_count,locality, def_tablespace_name, '+ 'def_pct_free,def_ini_trans,def_max_trans,to_char(def_initial_extent,''999,999,999,999,999''),to_char(def_next_extent,''999,999,999,999,999''), '+ 'def_min_extents,def_max_extents,def_pct_increase,def_freelists,def_freelist_groups,def_logging,def_buffer_pool '+ 'from dba_part_indexes order by owner, index_name', 'select OWNER,NAME,OBJECT_TYPE,COLUMN_NAME,COLUMN_POSITION from dba_part_key_columns '+ 'order by OWNER, NAME, OBJECT_TYPE, COLUMN_NAME, COLUMN_POSITION', 'select TABLE_OWNER,TABLE_NAME,PARTITION_NAME,HIGH_VALUE_LENGTH,PARTITION_POSITION,TABLESPACE_NAME, '+ 'PCT_FREE,PCT_USED,INI_TRANS,MAX_TRANS,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENT,MAX_EXTENT,PCT_INCREASE, '+ 'FREELISTS,FREELIST_GROUPS,LOGGING,NUM_ROWS,BLOCKS,EMPTY_BLOCKS,AVG_SPACE,CHAIN_CNT,AVG_ROW_LEN,SAMPLE_SIZE, '+ 'LAST_ANALYZED,BUFFER_POOL from dba_tab_partitions order by TABLE_OWNER, TABLE_NAME, PARTITION_NAME', 'select INDEX_OWNER,INDEX_NAME,PARTITION_NAME,HIGH_VALUE_LENGTH,PARTITION_POSITION,STATUS,TABLESPACE_NAME, '+ 'PCT_FREE,INI_TRANS,MAX_TRANS,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENT,MAX_EXTENT,PCT_INCREASE,FREELISTS, '+ 'FREELIST_GROUPS,LOGGING,BLEVEL,LEAF_BLOCKS,DISTINCT_KEYS,AVG_LEAF_BLOCKS_PER_KEY,AVG_DATA_BLOCKS_PER_KEY, '+ 'CLUSTERING_FACTOR,NUM_ROWS,SAMPLE_SIZE,LAST_ANALYZED,BUFFER_POOL from dba_ind_partitions '+ 'order by INDEX_OWNER, INDEX_NAME, PARTITION_NAME', // Objects 53 - 61 'select a.OWNER,TABLESPACE_NAME,a.CLUSTER_NAME,TABLE_NAME,TAB_COLUMN_NAME,CLU_COLUMN_NAME '+ 'from dba_clusters a, dba_clu_columns b where a.CLUSTER_NAME = b.CLUSTER_NAME '+ 'and a.OWNER not in (''SYS'', ''SYSTEM'') order by a.OWNER, TABLESPACE_NAME, a.CLUSTER_NAME, TABLE_NAME ', 'select LOG_USER,SCHEMA_USER,JOB,INTERVAL,to_char(NEXT_DATE,''MM/DD/YYYY HH24:MI:SS''),BROKEN,substr(WHAT,1,100) '+ 'from dba_jobs order by LOG_USER', 'select OWNER,DB_LINK,USERNAME,HOST,to_char(CREATED,''MM/DD/YYYY HH24:MI:SS'') from dba_db_links order by OWNER,DB_LINK', 'select OWNER,NAME,TYPE from dba_source group by OWNER,NAME, TYPE order by OWNER,NAME, TYPE', 'select SEQUENCE_OWNER,SEQUENCE_NAME,MIN_VALUE,MAX_VALUE,INCREMENT_BY,CYCLE_FLAG,ORDER_FLAG,CACHE_SIZE, '+ 'LAST_NUMBER from dba_sequences where SEQUENCE_OWNER not in (''SYS'',''SYSTEM'') order by SEQUENCE_OWNER,SEQUENCE_NAME ', 'select OWNER,NAME,TABLE_NAME,MASTER_VIEW,MASTER_OWNER,MASTER,MASTER_LINK,CAN_USE_LOG,UPDATABLE,LAST_REFRESH,ERROR, '+ 'TYPE,NEXT,REFRESH_GROUP from dba_snapshots order by OWNER, NAME', 'select OWNER,SYNONYM_NAME,TABLE_OWNER,TABLE_NAME,DB_LINK from dba_synonyms where owner not in (''SYS'',''SYSTEM'',''PUBLIC'',''DBSNMP'') '+ 'order by OWNER, SYNONYM_NAME', 'select TABLE_OWNER,TABLE_NAME,TRIGGER_NAME,TRIGGER_TYPE,TRIGGERING_EVENT,STATUS from dba_triggers '+ 'order by TABLE_OWNER, TABLE_NAME, TRIGGER_NAME', 'select OWNER,OBJECT_NAME as View_name,to_char(CREATED,''MM/DD/YYYY HH24:MI:SS''), status from dba_objects where OWNER not in (''SYS'',''SYSTEM'') '+ 'and OBJECT_TYPE=''VIEW'' order by OWNER, OBJECT_NAME', // Hit & Miss Ratio's 62 - 64 'select sum(decode(NAME, ''consistent gets'',VALUE, 0)) as Consistent_Gets,sum(decode(NAME, ''db block gets'',VALUE, 0)) as DB_Blk_Gets,sum(decode(NAME, ''physical reads'',VALUE, 0))as Physical_Reads, '+ 'round((sum(decode(name, ''consistent gets'',value, 0)) + sum(decode(name, ''db block gets'',value, 0)) - sum(decode(name, ''physical reads'',value, 0))) / '+ '(sum(decode(name, ''consistent gets'',value, 0)) + sum(decode(name, ''db block gets'',value, 0))) * 100,2) as Hit_Ratio from sys.v_$sysstat', 'select sum(PINS) as Executions,sum(PINHITS) as Execution_Hits,round((sum(PINHITS) / sum(PINS)) * 100,3) as Hit_Ratio '+ ',sum(RELOADS) as Misses,round((sum(PINS) / (sum(PINS) + sum(RELOADS))) * 100,3) as Reload_Hit_Ratio from sys.v_$librarycache', 'select sum(GETS) as Gets,sum(GETMISSES) as Cache_Misses,round((1 - (sum(GETMISSES) / sum(GETS))) * 100,2) as Hit_Ratio '+ 'from sys.v_$rowcache', // Disk I/O, Events & Waits 65 - 70 'select STATISTIC#,NAME,CLASS,VALUE from sys.v_$sysstat', 'select EVENT,TOTAL_WAITS,TOTAL_TIMEOUTS,TIME_WAITED,round(AVERAGE_WAIT,2) from sys.v_$system_event order by TOTAL_WAITS', 'select NAME,BYTES from sys.v_$sgastat order by NAME', 'select CLASS,COUNT,TIME from sys.v_$waitstat order by CLASS', 'select NAME,VALUE from sys.v_$sysstat where NAME like ''sort%'' ', 'select NAME,PHYRDS,round((PHYRDS / PD.PHYS_READS)*100,2),PHYWRTS,round(PHYWRTS * 100 / PD.PHYS_WRTS,2),fs.PHYBLKRD+FS.PHYBLKWRT '+ 'from sys.orasnap_datafileio pd, sys.v_$datafile df, sys.v_$filestat fs where df.FILE# = fs.FILE# order by fs.PHYBLKRD+fs.PHYBLKWRT desc', // Full table scans 71 - 73 'select NAME,VALUE from sys.v_$sysstat where NAME like ''%table'' ', 'select "Username","SID","Long Scans","Short Scans","Rows Retreived" from sys.orasnap_pts ', 'select "Username","SID","Short Scans","Long Scans","Rows Retreived",round(("Rows Retreived" - ("Short Scans" * 5)) / ("Long Scans"),2) as "Long scans length" '+ 'from sys.orasnap_pts where "Long Scans" != 0 order by "Long Scans" desc', // Data Dictionary 74 - 75 'select PARAMETER,GETS,GETMISSES,round(GETMISSES/GETS,2)*100 as PercCacheMisses,COUNT,USAGE from sys.v_$rowcache where GETS > 0 '+ 'order by (GETMISSES/GETS)*100 desc', 'select NAME,GETS,MISSES,((GETS-MISSES)*100) / GETS,IMMEDIATE_GETS,IMMEDIATE_MISSES from sys.v_$latch '+ 'where GETS != 0 or IMMEDIATE_MISSES > 0 order by ((GETS-MISSES) / GETS) desc', // Cursor & SQL processing 76 - 83 'select a.USERNAME,DISK_READS,EXECUTIONS,round(DISK_READS / decode(EXECUTIONS, 0, 1, EXECUTIONS)) as "Read/Execs",SQL_TEXT '+ 'from dba_users a, sys.v_$session, sys.v_$sqlarea where PARSING_USER_ID=USER_ID and ADDRESS=SQL_ADDRESS(+) and DISK_READS > 10000 '+ 'order by DISK_READS desc, EXECUTIONS desc ', 'select b.username,to_char(a.buffer_gets,''999,999,999,999,999''),to_char(a.executions,''999,999,999,999,999''),to_char(a.buffer_gets / decode(a.executions, 0, 1, a.executions),''999,999,999,999,999''), '+ 'sql_text from sys.v_$sqlarea a, dba_users b where a.parsing_user_id=b.user_id and a.buffer_gets > 10000 '+ ' order by (a.buffer_gets / decode(a.executions, 0, 1, a.executions)) desc', 'select LOADS,FIRST_LOAD_TIME,SORTS,SQL_TEXT from sys.v_$sqlarea where LOADS > 50 order by EXECUTIONS desc ', 'select nvl(USERNAME,''ORACLE PROC'') as "User",s.SID,SQL_TEXT from sys.v_$open_cursor oc, sys.v_$session s where s.SADDR = oc.SADDR '+ 'order by USERNAME, s.SID', 'select nvl(USERNAME,''ORACLE PROC'') as "User",s.SID,SQL_TEXT from sys.v_$open_cursor oc, sys.v_$session s where s.SQL_ADDRESS = oc.ADDRESS '+ 'and s.SQL_HASH_VALUE = oc.HASH_VALUE order by USERNAME, s.SID', 'select nvl(se0.USERNAME,''ORACLE PROC'') as "User",se0.SID,SQL_TEXT from sys.v_$open_cursor oc0, sys.v_$session se0 where se0.SADDR = oc0.SADDR '+ 'and se0.USERNAME != ''SYS'' and 60 < ( select "Hit Ratio" from orasnap_user_hr where nvl(se0.USERNAME,''ORACLE PROC'') = "Username" '+ 'and se0.SID = "SID") order by nvl(se0.USERNAME,''ORACLE''), se0.SID ', 'select nvl(se0.USERNAME,''ORACLE PROC'') as "User",se0.SID,SQL_TEXT from sys.v_$open_cursor oc0, sys.v_$session se0 where se0.SQL_ADDRESS = oc0.ADDRESS '+ 'and se0.SQL_HASH_VALUE = oc0.HASH_VALUE and se0.username != ''SYS'' and 60 > (select "Hit Ratio" from orasnap_user_hr '+ 'where nvl(se0.username,''ORACLE PROC'') = "Username" and se0.sid = "SID") order by nvl(se0.username,''ORACLE''), se0.sid ', 'select nvl(se0.USERNAME,''ORACLE PROC'') as "User",se0.SID,OWNER,OBJECT from sys.v_$access ac, sys.v_$session se0 where ac.SID = se0.SID '+ 'and ac.TYPE = ''TABLE'' and 60 < (select "Hit Ratio" from orasnap_user_hr where nvl(se0.USERNAME,''ORACLE PROC'') = "Username" '+ 'and se0.SID = "SID") order by USERNAME, se0.SID,OWNER', // Locks 84 - 85 'select OS_USER_NAME,PROCESS,ORACLE_USERNAME,l.SID,decode(TYPE,''MR'', ''Media Recovery'',''RT'', ''Redo Thread'',''UN'', ''User Name'', '+ '''TX'', ''Transaction'',''TM'', ''DML'',''UL'', ''PL/SQL User Lock'',''DX'', ''Distributed Xaction'',''CF'', ''Control File'',''IS'', ''Instance State'', '+ '''FS'', ''File Set'',''IR'', ''Instance Recovery'',''ST'', ''Disk Space Transaction'',''TS'', ''Temp Segment'',''IV'', ''Library Cache Invalidation'', '+ '''LS'', ''Log Start or Switch'',''RW'', ''Row Wait'',''SQ'', ''Sequence Number'',''TE'', ''Extend Table'',''TT'', ''Temp Table'', type), '+ 'decode(LMODE,0, ''None'',1, ''Null'',2, ''Row-S (SS)'',3, ''Row-X (SX)'',4, ''Share'',5, ''S/Row-X (SSX)'',6, ''Exclusive'', lmode), '+ 'decode(REQUEST,0, ''None'',1, ''Null'',2, ''Row-S (SS)'',3, ''Row-X (SX)'',4, ''Share'',5, ''S/Row-X (SSX)'',6, ''Exclusive'', request), '+ 'decode(BLOCK,0, ''Not Blocking'',1, ''Blocking'',2, ''Global'', block),OWNER,OBJECT_NAME from sys.v_$locked_object lo, dba_objects do, sys.v_$lock l '+ 'where lo.OBJECT_ID = do.OBJECT_ID AND l.SID = lo.SESSION_ID', 'select sn.USERNAME,m.SID,sn.SERIAL#,m.TYPE,decode(LMODE,0, ''None'',1, ''Null'',2, ''Row-S (SS)'',3, ''Row-X (SX)'',4, ''Share'',5, ''S/Row-X (SSX)'', '+ '6, ''Exclusive''),decode(REQUEST,0, ''None'',1, ''Null'',2, ''Row-S (SS)'',3, ''Row-X (SX)'',4, ''Share'',5, ''S/Row-X (SSX)'',6, ''Exclusive''), '+ 'm.ID1,m.ID2,t.SQL_TEXT from sys.v_$session sn, sys.v_$lock m, sys.v_$sqltext t where t.ADDRESS = sn.SQL_ADDRESS '+ 'and t.HASH_VALUE = sn.SQL_HASH_VALUE and ((sn.SID = m.SID and m.REQUEST != 0) or (sn.SID = m.SID and m.REQUEST = 0 '+ 'and LMODE != 4 and (ID1, ID2) in (select s.ID1,s.ID2 from sys.v_$lock S where REQUEST != 0 and s.ID1 = m.ID1 '+ 'and s.ID2 = m.ID2))) order by sn.USERNAME, sn.SID, t.PIECE', // Session statistics 86 -91 'select SID,SERIAL#,USERNAME,OSUSER,SERVER,STATUS,TYPE,PROGRAM,LOGON_TIME,lpad(to_char(trunc(LAST_CALL_ET/3600)),2,0)||'':''|| '+ 'lpad(to_char(trunc(LAST_CALL_ET/60)-(trunc(LAST_CALL_ET/3600)*60)),2,0)||'':''|| lpad(to_char(LAST_CALL_ET-(trunc(LAST_CALL_ET/60)*60)),2,0) as lastcall '+ 'from sys.v_$session order by USERNAME, OSUSER ', 'select nvl(ses.USERNAME,''ORACLE PROC''),OSUSER,PROCESS,ses.SID,SERIAL#,PHYSICAL_READS,BLOCK_GETS,CONSISTENT_GETS,BLOCK_CHANGES,CONSISTENT_CHANGES '+ 'from sys.v_$session ses, sys.v_$sess_io sio where ses.SID = sio.SID order by PHYSICAL_READS, ses.USERNAME ', 'select nvl(ss.USERNAME,''ORACLE PROC''),se.SID,VALUE from sys.v_$session ss, sys.v_$sesstat se, sys.v_$statname sn '+ 'where se.STATISTIC# = sn.STATISTIC# and NAME like ''%CPU used by this session%'' and se.SID = ss.SID order by VALUE desc ', 'select ses.SID,nvl(ses.USERNAME,''ORACLE PROC''),sn.NAME,sest.VALUE from sys.v_$session ses, sys.v_$statname sn, sys.v_$sesstat sest '+ 'where ses.SID = sest.SID and sn.STATISTIC# = sest.STATISTIC# and sest.VALUE is not null and sest.VALUE != 0 order by ses.USERNAME, ses.SID, sn.NAME', 'select nvl(ss.USERNAME,''ORACLE PROC''),se.SID,sn.NAME,VALUE from sys.v_$session ss, sys.v_$sesstat se, sys.v_$statname sn where se.STATISTIC# = sn.STATISTIC# '+ 'and se.SID = ss.SID and se.VALUE > 0 order by sn.NAME, se.SID, se.VALUE desc', 'select USERNAME,SID,"Recursive Calls","Opened Cursors","Current Cursors" from sys.orasnap_user_cursors order by "Recursive Calls", USERNAME, SID', // Shared Pool 92 - 98 'select NAMESPACE,GETS,GETHITS,round(GETHITRATIO*100,2) as GetHitRatio,PINS,PINHITS,round(PINHITRATIO*100,2) as PinHitRatio,RELOADS,INVALIDATIONS from sys.v_$librarycache ', 'select OWNER,NAME||'' - ''||TYPE,SHARABLE_MEM from sys.v_$db_object_cache where SHARABLE_MEM > 10000 and TYPE in (''PACKAGE'',''PACKAGE BODY'',''FUNCTION'',''PROCEDURE'')'+ 'order by SHARABLE_MEM desc', 'select OWNER,NAME||'' - ''||TYPE,LOADS from sys.v_$db_object_cache where LOADS > 3 and TYPE in (''PACKAGE'',''PACKAGE BODY'',''FUNCTION'',''PROCEDURE'') '+ 'order by LOADS desc', 'select OWNER,NAME||'' - ''||TYPE,EXECUTIONS from sys.v_$db_object_cache where EXECUTIONS > 100 and TYPE in (''PACKAGE'',''PACKAGE BODY'',''FUNCTION'',''PROCEDURE'') '+ 'order by EXECUTIONS desc', 'select OWNER,NAME,DB_LINK,NAMESPACE,TYPE,SHARABLE_MEM,LOADS,EXECUTIONS,LOCKS,PINS,KEPT from sys.v_$db_object_cache order by OWNER, NAME ', 'select NAME,VALUE from sys.v_$parameter where NAME like ''%reser%'' ', 'select OWNER,NAME,TYPE,KEPT from sys.v_$db_object_cache where KEPT = ''YES'' order by OWNER, NAME, TYPE ', // Redo Logs 99 - 102 'select a.MEMBER,b.GROUP#,b.THREAD#,b.SEQUENCE#,b.BYTES,b.MEMBERS,b.ARCHIVED,b.STATUS,b.FIRST_CHANGE#,b.FIRST_TIME '+ 'from sys.v_$logfile a, sys.v_$log b where a.GROUP# = b.GROUP# order by a.MEMBER ', 'select substr(to_char(FIRST_TIME,''YYYY/MM/DD''),1,10), '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''00'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''00'',1,0))) as "00", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''01'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''01'',1,0))) as "01", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''02'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''02'',1,0))) as "02", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''03'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''03'',1,0))) as "03", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''04'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''04'',1,0))) as "04", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''05'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''05'',1,0))) as "05", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''06'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''06'',1,0))) as "06", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''07'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''07'',1,0))) as "07", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''08'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''08'',1,0))) as "08", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''09'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''09'',1,0))) as "09", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''10'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''10'',1,0))) as "10", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''11'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''11'',1,0))) as "11", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''12'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''12'',1,0))) as "12", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''13'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''13'',1,0))) as "13", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''14'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''14'',1,0))) as "14", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''15'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''15'',1,0))) as "15", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''16'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''16'',1,0))) as "16", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''17'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''17'',1,0))) as "17", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''18'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''18'',1,0))) as "18", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''19'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''19'',1,0))) as "19", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''20'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''20'',1,0))) as "20", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''21'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''21'',1,0))) as "21", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''22'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''22'',1,0))) as "22", '+ 'decode(sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''23'',1,0)),0,''-'',sum(decode(substr(to_char(FIRST_TIME,''HH24''),1,2),''23'',1,0))) as "23" '+ 'from sys.v_$log_history group by substr(to_char(FIRST_TIME,''YYYY/MM/DD''),1,10) order by substr(to_char(FIRST_TIME,''YYYY/MM/DD''),1,10) desc', 'select NAME,VALUE from sys.v_$sysstat where NAME like ''redo%'' and VALUE > 0', 'select NAME,GETS,MISSES,SLEEPS,IMMEDIATE_GETS,IMMEDIATE_MISSES from sys.v_$latch where NAME in (''redo allocation'',''redo copy'') ', // Two phase commits 103 - 104 'select LOCAL_TRAN_ID,GLOBAL_TRAN_ID,STATE,MIXED,ADVICE,TRAN_COMMENT,FAIL_TIME,FORCE_TIME,RETRY_TIME,OS_USER,OS_TERMINAL,HOST,DB_USER, '+ 'COMMIT# from dba_2pc_pending order by LOCAL_TRAN_ID, GLOBAL_TRAN_ID', 'select LOCAL_TRAN_ID,IN_OUT,DATABASE,DBUSER_OWNER,INTERFACE,DBID,SESS#,BRANCH from dba_2pc_neighbors order by LOCAL_TRAN_ID, IN_OUT ', // Miscellaneous 105 - 107 'select round(min(lh2.FIRST_TIME - lh1.FIRST_TIME) * 24 * 60,2) as "Shortest",round(max(lh2.FIRST_TIME - lh1.FIRST_TIME) * 24 * 60,2) as "Longest",round(avg(lh2.FIRST_TIME - lh1.FIRST_TIME) * 24 * 60,2) as "Average" '+ 'from sys.v_$loghist lh1, sys.v_$loghist lh2 where lh1.SEQUENCE# + 1 = lh2.SEQUENCE# and lh1.SEQUENCE# < ( select max(SEQUENCE#) '+ 'from sys.v_$loghist )', 'select sum(decode(NAME,''summed dirty queue length'',VALUE)) ,sum(decode(NAME,''write requests'',VALUE)),sum(decode(NAME,''summed dirty queue length'',VALUE)) / '+ 'sum(decode(NAME,''write requests'',VALUE)) from sys.v_$sysstat where NAME in (''summed dirty queue length'',''write requests'') and VALUE > 0 ', 'select sum(decode (NAME, ''dirty buffers inspected'', VALUE)),sum(decode (NAME, ''free buffer inspected'', VALUE)) from sys.v_$sysstat where NAME in ( ''dirty buffers inspected'',''free buffer inspected'') '+ 'and VALUE > 0' ); {$I qrylabel.inc} {$I header.inc} procedure Snap_SQL(SQLnr : Integer;var Query:TOraQuery; var Explain : TMemo); Procedure Create_View(Viewnr : Integer); Procedure Set_DisplayLbl (Viewnr : integer); Procedure Delete_Views; Function Create_explain(Querynr : integer) : TStringList; Function Create_explain2(Querynr : integer) : TStringList; implementation uses mainp; var SQL_QueryTxt : String; {$I explain.inc} procedure Snap_SQL(SQLnr : Integer;var Query:TOraQuery; var Explain : TMemo); begin Query_no := SQLnr; Query.Active := False; SQL_QueryTxt := Snap_Queries[SQLnr]; Query.SQL.Clear; Query.SQL.Add(SQL_QueryTxt); Query.Active := True; if not Batch then begin frmMain.DTLabel.Caption := DateTimeToStr(Now); frmMain.ServerLabel.Caption := frmMain.OraSession1.Server; frmMain.QryLabel.Caption := Qry_label[sqlnr]; Explain.Lines.Clear; if SQLnr < 100 then Explain.Text := Create_Explain(SQLnr).Text else Explain.Text := Create_Explain2(SQLnr).Text; end; Set_DisplayLbl(SQLnr); end; Procedure Set_Displaylbl(Viewnr : Integer); var i : integer; begin case ViewNr of 3 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Max. Sessions'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Sessions warning limit'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Current sessions'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Sessions highwater'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Max. named users'; end; 4 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Parameter'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Value'; frmMain.DBGrid1.Fields[1].DisplayWidth := 100; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Is Default'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Session modifiable'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'System modifiable'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Is modified'; end; 5 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Parameter'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Value'; frmMain.DBGrid1.Fields[1].DisplayWidth := 50; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Description'; end; 6 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Parameter'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Description'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Value'; frmMain.DBGrid1.Fields[2].DisplayWidth := 25; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Default'; end; 8 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Filename'; frmMain.DBGrid1.Fields[0].DisplayWidth := 65; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Datafile size'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Bytes used'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Percent used'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Bytes free'; end; 9 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Filename'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Location'; end; 10 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Initial extent'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Next extent'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Min extent'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Max extent'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Percent increase'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Contents'; end; 11 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Bytes'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Max bytes'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Blocks'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Max blocks'; end; 12 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Total extents'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Extents coalesced'; frmMain.DBGrid1.Fields[3].DisplayLabel := '% Extents coalesced'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Total bytes'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Bytes coalesced'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Total blocks'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Blocks coalesced'; frmMain.DBGrid1.Fields[8].DisplayLabel := '% Blocks coalesced'; end; 13 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Bytes allocated'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Bytes used'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Percent used'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Bytes free'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Percent free'; end; 14 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Created'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Profile'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Default tablespace'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Temporary tablespace'; end; 15 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object name'; frmMain.DBGrid1.Fields[1].DisplayWidth := 45; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object type'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Size'; end; 16 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Total Free space'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Largest free extent'; end; 17 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'File name'; frmMain.DBGrid1.Fields[0].DisplayWidth := 45; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Bytes'; frmMain.DBGrid1.Fields[2].DisplayWidth := 15; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[3].DisplayWidth := 15; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Max bytes'; frmMain.DBGrid1.Fields[4].DisplayWidth := 15; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Increment by'; end; 18 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Segment owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Segment ID'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'File ID'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Block ID'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Initial Extent'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Next Extent'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Min Extents'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Max Extents'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Pct increase'; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[12].DisplayLabel := 'Instance'; end; 19 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Segment name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Seg#'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Gets'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Waits'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Hit ratio'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Active transactions'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Writes'; end; 20 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Segment name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Seg#'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Size'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Optsize'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'HWM'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Extends'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Wraps'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Shrinks'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Average shrink'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Average active'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Status'; end; 21 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Segment name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Xacts'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Serial#'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'SQL Text'; end; 22 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Statistic name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Value'; end; 23 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'User name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Tabs'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Inds'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Syns'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Views'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Seqs'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Procs'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Funcs'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Pkgs'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Trigs'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Deps'; end; 24 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Type'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Size'; end; 25 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object type'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object name'; frmMain.DBGrid1.Fields[2].DisplayWidth := 75; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Status'; end; 26 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object name'; frmMain.DBGrid1.Fields[1].DisplayWidth := 45; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object type'; frmMain.DBGrid1.Fields[2].DisplayWidth := 25; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Last modified'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Created'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Status'; end; 27 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Grantee'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Granted role'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Admin'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Default'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Privilege'; end; 28 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'User name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[3].DisplayWidth := 25; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Object name'; frmMain.DBGrid1.Fields[4].DisplayWidth := 25; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Object type'; end; 29 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'User name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Count'; end; 30 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Consistent gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'DB Blk gets'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Physical reads'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Hit ratio'; end; 31 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Datatype'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Total'; end; 32 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Tables'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Indexes'; end; 33 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Column'; end; 34 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Index count'; end; 35 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; end; 36 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; end; 37 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Chained rows'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Total rows'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Percent chained'; end; 38 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Constraint name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Constraint type'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Status'; end; 39 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Table Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Constraint name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Column name'; frmMain.DBGrid1.Fields[3].DisplayWidth := 35; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Referenced table'; frmMain.DBGrid1.Fields[4].DisplayWidth := 35; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Referenced column'; frmMain.DBGrid1.Fields[5].DisplayWidth := 35; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Position'; end; 40 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Constraint name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Column name'; frmMain.DBGrid1.Fields[2].DisplayWidth := 35; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Position'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Problem'; end; 41 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Column name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Datatype'; frmMain.DBGrid1.Fields[3].DisplayWidth := 15; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Length'; end; 42 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object name'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object type'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Next extent'; end; 43 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[0].DisplayWidth := 20; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Segment name'; frmMain.DBGrid1.Fields[2].DisplayWidth := 25; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Segment type'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Size'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Extents'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Max extents'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Percentage'; end; 44 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Segment type'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Max extents'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Count'; end; 45 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Analyzed'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Not Analyzed'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Total'; end; 46 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Last Analyzed'; end; 47 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Cached?'; end; 48 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Partinioning type'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Partition count'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Partinioning key count'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Pct free'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Pct used'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Ini trans'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Max trans'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Initial extent'; frmMain.DBGrid1.Fields[10].DisplayWidth := 5; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Next extent'; frmMain.DBGrid1.Fields[11].DisplayWidth := 5; frmMain.DBGrid1.Fields[12].DisplayLabel := 'Min extents'; frmMain.DBGrid1.Fields[12].DisplayWidth := 5; frmMain.DBGrid1.Fields[13].DisplayLabel := 'Max extents'; frmMain.DBGrid1.Fields[13].DisplayWidth := 5; frmMain.DBGrid1.Fields[14].DisplayLabel := 'Pct increase'; frmMain.DBGrid1.Fields[14].DisplayWidth := 5; frmMain.DBGrid1.Fields[15].DisplayLabel := 'Freelist'; frmMain.DBGrid1.Fields[16].DisplayLabel := 'Freelist group'; frmMain.DBGrid1.Fields[17].DisplayLabel := 'Logging'; frmMain.DBGrid1.Fields[18].DisplayLabel := 'Buffer pool'; end; 49 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Partinioning type'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Partition count'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Partinioning key count'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Pct free'; frmMain.DBGrid1.Fields[6].DisplayWidth := 5; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Pct used'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Ini trans'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Max trans'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Initial extent'; frmMain.DBGrid1.Fields[10].DisplayWidth := 5; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Next extent'; frmMain.DBGrid1.Fields[11].DisplayWidth := 5; frmMain.DBGrid1.Fields[12].DisplayLabel := 'Min extents'; frmMain.DBGrid1.Fields[12].DisplayWidth := 5; frmMain.DBGrid1.Fields[13].DisplayLabel := 'Max extents'; frmMain.DBGrid1.Fields[13].DisplayWidth := 5; frmMain.DBGrid1.Fields[14].DisplayLabel := 'Pct increase'; frmMain.DBGrid1.Fields[14].DisplayWidth := 5; frmMain.DBGrid1.Fields[15].DisplayLabel := 'Freelist'; frmMain.DBGrid1.Fields[16].DisplayLabel := 'Freelist group'; frmMain.DBGrid1.Fields[17].DisplayLabel := 'Logging'; frmMain.DBGrid1.Fields[18].DisplayLabel := 'Buffer pool'; end; 50 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object type'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Column name'; frmMain.DBGrid1.Fields[3].DisplayWidth := 35; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Column position'; end; 51 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Table Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Partinioning name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'High value length'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Partinion position'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Pct free'; frmMain.DBGrid1.Fields[6].DisplayWidth := 5; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Pct used'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Ini trans'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Max trans'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Initial extent'; frmMain.DBGrid1.Fields[10].DisplayWidth := 5; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Next extent'; frmMain.DBGrid1.Fields[11].DisplayWidth := 5; frmMain.DBGrid1.Fields[12].DisplayLabel := 'Min extents'; frmMain.DBGrid1.Fields[12].DisplayWidth := 5; frmMain.DBGrid1.Fields[13].DisplayLabel := 'Max extents'; frmMain.DBGrid1.Fields[13].DisplayWidth := 5; frmMain.DBGrid1.Fields[14].DisplayLabel := 'Pct increase'; frmMain.DBGrid1.Fields[14].DisplayWidth := 5; frmMain.DBGrid1.Fields[15].DisplayLabel := 'Freelist'; frmMain.DBGrid1.Fields[16].DisplayLabel := 'Freelist groups'; frmMain.DBGrid1.Fields[17].DisplayLabel := 'Logging'; frmMain.DBGrid1.Fields[18].DisplayLabel := 'Num rows'; frmMain.DBGrid1.Fields[19].DisplayLabel := 'Blocks'; frmMain.DBGrid1.Fields[20].DisplayLabel := 'Empty blocks'; frmMain.DBGrid1.Fields[21].DisplayLabel := 'Avg space'; frmMain.DBGrid1.Fields[22].DisplayLabel := 'Chain count'; frmMain.DBGrid1.Fields[23].DisplayLabel := 'Avg row length'; frmMain.DBGrid1.Fields[24].DisplayLabel := 'Sample size'; frmMain.DBGrid1.Fields[25].DisplayLabel := 'Last analyzed'; frmMain.DBGrid1.Fields[26].DisplayLabel := 'Buffer pool'; end; 52 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Index Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Index name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Partinioning name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'High value length'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Partinion position'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Tablespace name'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Pct free'; frmMain.DBGrid1.Fields[7].DisplayWidth := 5; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Ini trans'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Max trans'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Initial extent'; frmMain.DBGrid1.Fields[10].DisplayWidth := 5; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Next extent'; frmMain.DBGrid1.Fields[11].DisplayWidth := 5; frmMain.DBGrid1.Fields[12].DisplayLabel := 'Min extents'; frmMain.DBGrid1.Fields[12].DisplayWidth := 5; frmMain.DBGrid1.Fields[13].DisplayLabel := 'Max extents'; frmMain.DBGrid1.Fields[13].DisplayWidth := 5; frmMain.DBGrid1.Fields[14].DisplayLabel := 'Pct increase'; frmMain.DBGrid1.Fields[14].DisplayWidth := 5; frmMain.DBGrid1.Fields[15].DisplayLabel := 'Freelist'; frmMain.DBGrid1.Fields[16].DisplayLabel := 'Freelist groups'; frmMain.DBGrid1.Fields[17].DisplayLabel := 'Logging'; frmMain.DBGrid1.Fields[18].DisplayLabel := 'Blevel'; frmMain.DBGrid1.Fields[19].DisplayLabel := 'Leaf blocks'; frmMain.DBGrid1.Fields[20].DisplayLabel := 'Distinct keys'; frmMain.DBGrid1.Fields[21].DisplayLabel := 'Avg leaf blocks per key'; frmMain.DBGrid1.Fields[22].DisplayLabel := 'Avg data blocks per key'; frmMain.DBGrid1.Fields[23].DisplayLabel := 'Clustering factor'; frmMain.DBGrid1.Fields[24].DisplayLabel := 'Num rows'; frmMain.DBGrid1.Fields[25].DisplayLabel := 'Sample size'; frmMain.DBGrid1.Fields[26].DisplayLabel := 'Last analyzed'; frmMain.DBGrid1.Fields[27].DisplayLabel := 'Buffer pool'; end; 53 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Tablespace'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Cluster name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Table Column '; frmMain.DBGrid1.Fields[4].DisplayWidth := 15; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Cluster Column '; end; 54 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Log user'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Schema'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Job#'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Interval'; frmMain.DBGrid1.Fields[3].DisplayWidth := 15; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Next execution'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Broken'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'What'; end; 55 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'DB Link'; frmMain.DBGrid1.Fields[1].DisplayWidth := 25; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Host'; frmMain.DBGrid1.Fields[3].DisplayWidth := 25; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Created'; end; 56 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Type'; end; 57 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Min value'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Max value'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Increment'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Cycle'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Order'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Cache size'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Last number'; end; 58 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Master view'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Master owner'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Master'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Master link'; frmMain.DBGrid1.Fields[6].DisplayWidth := 25; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Can use log?'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Updatable'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Last refresh'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Error'; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Type'; frmMain.DBGrid1.Fields[12].DisplayLabel := 'Next refresh'; frmMain.DBGrid1.Fields[12].DisplayWidth := 25; frmMain.DBGrid1.Fields[13].DisplayLabel := 'Refresh group'; end; 59 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Table owner'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'DB Link'; end; 60 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Table name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Trigger name'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Trigger type'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Triggering event'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Status'; end; 61 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'View name'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Created'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Status'; end; 62 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Consistent gets'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'DB Blk gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Physical reads'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Hit ratio'; end; 63 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Executions'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Execution hits'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Execution Hit ratio'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Misses'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Reload Hit ratio'; end; 64 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Gets'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Cache misses'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Hit ratio'; end; 65 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Stat#'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Class'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Value'; end; 66 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Event name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Total waits'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Total timeouts'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Time waited'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Average wait'; end; 67 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Statistic name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Value'; end; 68 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Class'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Count'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Time'; end; 69 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Sort parameter'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Value'; end; 70 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'File name'; frmMain.DBGrid1.Fields[0].DisplayWidth := 55; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Physical reads'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Reads %'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Physical writes'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Writes %'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Total block I/O''s'; end; 71 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Statistic name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Bytes'; end; // 72 & 73 formatted in the query 74 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Parameter'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Get misses'; frmMain.DBGrid1.Fields[3].DisplayLabel := '% Cache misses'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Count'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Usage'; end; 75 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Latch name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Misses'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Gets/Misses %'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Immediate gets'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Immediate misses'; end; 76 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Disk reads'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Executions'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Reads/Execs'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'SQL Text'; end; 77 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Buffer gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Executions'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Gets/Execs'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'SQL Text'; end; 78 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Loads'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'First load time'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Sorts'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'SQL Text'; end; 79,80,81,82 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'SQL Text'; end; 83 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object owner'; frmMain.DBGrid1.Fields[2].DisplayWidth := 30; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Object'; frmMain.DBGrid1.Fields[3].DisplayWidth := 30; end; //locks 84 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'OS PID'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Oracle user'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Oracle ID'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Lock type'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Lock held'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Lock requested'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Object owner'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Object name'; end; 85 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Oracle User'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Serial#'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Type'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Held'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Requested'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'ID 1'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'ID 2'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'SQL'; end; 86 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Serial#'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Server'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Type'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Program'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Logon'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Last call'; end; 87 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'PID'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Serial#'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Physical reads'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Block gets'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Consistent gets'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Block changes'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Consistent changes'; end; 88 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'CPU Usage'; end; 89 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Statistic'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Value'; end; 90 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Username'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'SID'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Statistic'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Usage'; end; 92 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Namespace'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Gethits'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Gethit ratio'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Pins'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Pinhits'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Pinhit ratio'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Reloads'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Invalidations'; end; 93 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Sharable memory'; end; 94 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Loads'; end; 95 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Executions'; end; 96 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Owner'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Name'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'DB Link'; frmMain.DBGrid1.Fields[2].DisplayWidth := 15; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Namespace'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Type'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Sharable memory'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Loads'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Executions'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Locks'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'Pins'; frmMain.DBGrid1.Fields[10].DisplayLabel := 'Kept'; end; 97 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Parameter'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Value'; end; 98 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Object owner'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Object name'; frmMain.DBGrid1.Fields[1].DisplayWidth := 35; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Object type'; frmMain.DBGrid1.Fields[2].DisplayWidth := 15; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Kept status'; end; // Redo logs 99 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Member'; frmMain.DBGrid1.Fields[0].DisplayWidth := 35; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Group#'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Thread#'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Sequence#'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Bytes'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Members'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Archived'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Status'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'First change#'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'First time'; end; 100 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Day'; for i := 0 to 23 do begin frmMain.DBGrid1.Fields[i+1].DisplayLabel := IntToStr(i); frmMain.DBGrid1.Fields[i+1].DisplayWidth := 4; end; end; 101 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Parameter'; frmMain.DBGrid1.Fields[0].DisplayLabel := 'Value'; end; 102 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Redo latch name'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Gets'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Misses'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Sleeps'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Immediate gets'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Immediate misses'; end; 103 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Local tran id'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Global tran id'; frmMain.DBGrid1.Fields[1].DisplayWidth := 15; frmMain.DBGrid1.Fields[2].DisplayLabel := 'State'; frmMain.DBGrid1.Fields[3].DisplayLabel := 'Mixed'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Advice'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'Tran comment'; frmMain.DBGrid1.Fields[5].DisplayWidth := 15; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Fail time'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Force time'; frmMain.DBGrid1.Fields[8].DisplayLabel := 'Retry time'; frmMain.DBGrid1.Fields[9].DisplayLabel := 'OS User'; frmMain.DBGrid1.Fields[9].DisplayWidth := 15; frmMain.DBGrid1.Fields[10].DisplayLabel := 'OS Terminal'; frmMain.DBGrid1.Fields[10].DisplayWidth := 15; frmMain.DBGrid1.Fields[11].DisplayLabel := 'Host'; frmMain.DBGrid1.Fields[12].DisplayLabel := 'DB User'; frmMain.DBGrid1.Fields[13].DisplayLabel := 'Commit#'; end; 104 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Local tran id'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'In/out'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Database'; frmMain.DBGrid1.Fields[2].DisplayWidth := 35; frmMain.DBGrid1.Fields[3].DisplayLabel := 'DB User Owner'; frmMain.DBGrid1.Fields[4].DisplayLabel := 'Interface'; frmMain.DBGrid1.Fields[5].DisplayLabel := 'DB ID'; frmMain.DBGrid1.Fields[6].DisplayLabel := 'Sess#'; frmMain.DBGrid1.Fields[7].DisplayLabel := 'Branch'; frmMain.DBGrid1.Fields[7].DisplayWidth := 35; end; 106 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Summed dirty queue length'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Write requests'; frmMain.DBGrid1.Fields[2].DisplayLabel := 'Write request queue length'; end; 107 : begin frmMain.DBGrid1.Fields[0].DisplayLabel := 'Dirty buffers inspected'; frmMain.DBGrid1.Fields[1].DisplayLabel := 'Free buffers inspected'; end; end; end; Procedure Delete_Views; begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('drop view ORASNAP_DDF;'); SQL.Add('drop view ORASNAP_DFS;'); SQL.Add('drop view ORASNAP_NOINDEX;'); SQL.Add('drop view ORASNAP_NOPK;'); SQL.Add('drop view ORASNAP_OBJEXT_WARN;'); SQL.Add('drop view ORASNAP_DATAFILEIO;'); SQL.Add('drop view ORASNAP_PTS;'); SQL.Add('drop view ORASNAP_USER_HR;'); SQL.Add('drop view ORASNAP_USER_CURSORS;'); Execute; SQL.Clear; end; end; Procedure Create_View(Viewnr : Integer); begin case Viewnr of 1 : begin with frmMain.OraScript1 do begin SQL.Clear; SQL.Add('create or replace view ORASNAP_DDF'); SQL.Add('as'); SQL.Add('select TABLESPACE_NAME,'); SQL.Add('sum(BYTES) BYTES'); SQL.Add('from dba_data_files'); SQL.Add('group by TABLESPACE_NAME'); Execute; SQL.Clear; end; end; 2 : begin with frmMain.OraScript1 do begin SQL.Clear; SQL.Add('create or replace view ORASNAP_DFS'); SQL.Add('as'); SQL.Add('select TABLESPACE_NAME,'); SQL.Add('sum(BYTES) BYTES'); SQL.Add('from dba_free_space'); SQL.Add('group by TABLESPACE_NAME'); Execute; SQL.Clear; end; end; 3 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view ORASNAP_NOINDEX'); SQL.Add('as'); SQL.Add('select OWNER,'); SQL.Add('TABLE_NAME'); SQL.Add('from dba_tables'); SQL.Add('minus'); SQL.Add('select TABLE_OWNER,'); SQL.Add('TABLE_NAME'); SQL.Add('from dba_indexes'); Execute; SQL.Clear; end; end; 4 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view SYS.ORASNAP_NOPK'); SQL.Add('as'); SQL.Add('select OWNER,'); SQL.Add('TABLE_NAME'); SQL.Add('from dba_tables'); SQL.Add('minus'); SQL.Add('select OWNER,'); SQL.Add('TABLE_NAME'); SQL.Add('from dba_constraints'); SQL.Add('where CONSTRAINT_TYPE = ''P'''); Execute; SQL.Clear; end; end; 5 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view SYS.ORASNAP_OBJEXT_WARN'); SQL.Add('as'); SQL.Add('select seg.OWNER,'); SQL.Add('seg.SEGMENT_NAME,'); SQL.Add('seg.SEGMENT_TYPE,'); SQL.Add('seg.TABLESPACE_NAME,'); SQL.Add('t.NEXT_EXTENT'); SQL.Add('from dba_segments seg, dba_tables t'); SQL.Add('where (seg.SEGMENT_TYPE = ''TABLE'''); SQL.Add('and seg.SEGMENT_NAME = t.TABLE_NAME'); SQL.Add('and seg.owner = t.OWNER'); SQL.Add('and NOT EXISTS ('); SQL.Add('select TABLESPACE_NAME'); SQL.Add('from dba_free_space free'); SQL.Add('where free.TABLESPACE_NAME = t.TABLESPACE_NAME'); SQL.Add('and BYTES >= t.NEXT_EXTENT))'); SQL.Add('union'); SQL.Add('select seg.OWNER,'); SQL.Add('seg.SEGMENT_NAME,'); SQL.Add('seg.SEGMENT_TYPE,'); SQL.Add('seg.TABLESPACE_NAME,'); SQL.Add('c.NEXT_EXTENT'); SQL.Add('from dba_segments seg, dba_clusters c'); SQL.Add('where (seg.SEGMENT_TYPE = ''CLUSTER'''); SQL.Add('and seg.SEGMENT_NAME = c.CLUSTER_NAME'); SQL.Add('and seg.OWNER = c.OWNER'); SQL.Add('and NOT EXISTS ('); SQL.Add('select TABLESPACE_NAME'); SQL.Add('from dba_free_space free'); SQL.Add('where free.TABLESPACE_NAME = c.TABLESPACE_NAME'); SQL.Add('and BYTES >= c.NEXT_EXTENT))'); SQL.Add('union'); SQL.Add('select seg.OWNER,'); SQL.Add('seg.SEGMENT_NAME,'); SQL.Add('seg.SEGMENT_TYPE,'); SQL.Add('seg.TABLESPACE_NAME,'); SQL.Add('i.NEXT_EXTENT'); SQL.Add('from dba_segments seg, dba_indexes i'); SQL.Add('where (seg.SEGMENT_TYPE = ''INDEX'''); SQL.Add('and seg.SEGMENT_NAME = i.INDEX_NAME'); SQL.Add('and seg.OWNER = i.OWNER'); SQL.Add('and NOT EXISTS ('); SQL.Add('select TABLESPACE_NAME'); SQL.Add('from dba_free_space free'); SQL.Add('where free.TABLESPACE_NAME = i.TABLESPACE_NAME'); SQL.Add('and BYTES >= i.NEXT_EXTENT))'); SQL.Add('union'); SQL.Add('select seg.OWNER,'); SQL.Add('seg.SEGMENT_NAME,'); SQL.Add('seg.SEGMENT_TYPE,'); SQL.Add('seg.TABLESPACE_NAME,'); SQL.Add('r.NEXT_EXTENT'); SQL.Add('from dba_segments seg, dba_rollback_segs r'); SQL.Add('where (seg.SEGMENT_TYPE = ''ROLLBACK'''); SQL.Add('and seg.SEGMENT_NAME = r.SEGMENT_NAME'); SQL.Add('and seg.OWNER = r.OWNER'); SQL.Add('and NOT EXISTS ('); SQL.Add('select TABLESPACE_NAME'); SQL.Add('from dba_free_space free'); SQL.Add('where free.TABLESPACE_NAME = r.TABLESPACE_NAME'); SQL.Add('and BYTES >= r.NEXT_EXTENT))'); Execute; SQL.Clear; end; end; 6 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view SYS.ORASNAP_DATAFILEIO'); SQL.Add('as'); SQL.Add('select sum(PHYRDS) PHYS_READS,'); SQL.Add('sum(PHYWRTS) PHYS_WRTS'); SQL.Add('from sys.v_$filestat'); Execute; SQL.Clear; end; end; 7 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view sys.orasnap_pts'); SQL.Add('as'); SQL.Add('select ss.USERNAME "Username",'); SQL.Add('se.SID "SID",'); SQL.Add('sum(decode(NAME,''table scans (short tables)'',value)) "Short Scans",'); SQL.Add('sum(decode(NAME,''table scans (long tables)'', value)) "Long Scans",'); SQL.Add('sum(decode(NAME,''table scan rows gotten'',value)) "Rows Retreived"'); SQL.Add('from sys.v_$session ss,'); SQL.Add('sys.v_$sesstat se,'); SQL.Add('sys.v_$statname sn'); SQL.Add('where se.statistic# = sn.statistic#'); SQL.Add('and (NAME like ''%table scans (short tables)%'''); SQL.Add('or NAME like ''%table scans (long tables)%'''); SQL.Add('or NAME like ''%table scan rows gotten%'')'); SQL.Add('and se.SID = ss.SID'); SQL.Add('and ss.USERNAME is not null'); SQL.Add('and ss.AUDSID != userenv(''SESSIONID'')'); SQL.Add('group by ss.USERNAME, se.SID'); Execute; SQL.Clear; end; end; 8 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view ORASNAP_USER_HR '); SQL.Add('as '); SQL.Add('select nvl(se.USERNAME,''ORACLE PROC'') "Username", '); SQL.Add('se.SID "SID", '); SQL.Add('sum(decode(NAME, ''consistent gets'',value, 0)) "Consistent Gets", '); SQL.Add('sum(decode(NAME, ''db block gets'',value, 0)) "DB Block Gets", '); SQL.Add('sum(decode(NAME, ''physical reads'',value, 0)) "Physical Reads", '); SQL.Add('(sum(decode(NAME, ''consistent gets'',value, 0)) +'); SQL.Add('sum(decode(NAME, ''db block gets'',value, 0)) - '); SQL.Add('sum(decode(NAME, ''physical reads'',value, 0)))/ '); SQL.Add('(sum(decode(NAME, ''consistent gets'',value, 0)) + '); SQL.Add('sum(decode(NAME, ''db block gets'',value, 0))) * 100 "Hit Ratio" '); SQL.Add('from sys.v_$sesstat ss, sys.v_$statname sn, sys.v_$session se '); SQL.Add('where ss.SID = se.SID '); SQL.Add('and sn.STATISTIC# = ss.STATISTIC# '); SQL.Add('and VALUE != 0 '); SQL.Add('and sn.NAME in (''db block gets'', ''consistent gets'', ''physical reads'') '); SQL.Add('group by se.USERNAME, se.SID '); Execute; SQL.Clear; end; end; 9 : begin with frmMain.Orascript1 do begin SQL.Clear; SQL.Add('create or replace view sys.orasnap_user_cursors'); SQL.Add('as'); SQL.Add('select nvl(ss.USERNAME,''ORACLE PROC'') Username,'); SQL.Add('se.SID SID,'); SQL.Add('sum(decode(NAME,''recursive calls'',value)) "Recursive Calls",'); SQL.Add('sum(decode(NAME,''opened cursors cumulative'',value)) "Opened Cursors",'); SQL.Add('sum(decode(NAME,''opened cursors current'',value)) "Current Cursors"'); SQL.Add('from sys.v_$session ss, sys.v_$sesstat se, sys.v_$statname sn'); SQL.Add('where se.statistic# = sn.statistic#'); SQL.Add('and ( NAME like ''%opened cursors current%'''); SQL.Add('or NAME like ''%recursive calls%'''); SQL.Add('or NAME like ''%opened cursors cumulative%'')'); SQL.Add('and se.SID = ss.SID'); SQL.Add('and ss.USERNAME is not null'); SQL.Add('and ss.AUDSID != userenv(''SESSIONID'')'); SQL.Add('group by ss.USERNAME, se.SID'); Execute; SQL.Clear; end; end; end; end; end.