Oracle Queries For Checkpoint
Oracle Queries For Checkpoint
Calculations :-
PCT = 100.0-maxPct;
PCT_USED = 100.0- PCT
FREESP = (maxSize/100 * PCT);
/*001*/ buf_cachehit_ratio :-
Calculation :-
if ((DB_BLOCK_GETS + CONSISTENT_GETS) > 0)
hit_ratio = ((DB_BLOCK_GETS + CONSISTENT_GETS)-( PHYSICAL_READS -
PR_DIRECT - PR_DIRECT_LOB - PR_DIRECT_TEMP_SPACE))*100/( DB_BLOCK_GETS +
CONSISTENT_GETS);
else hit_ratio = 100;
/*002*/ dict_cachehit_ratio :-
Calculation :-
if ((gets) > 0)
hit_ratio = (gets-getmisses)*100/gets;
else hit_ratio = 100;
/*003*/ lib_cachehit_ratio :-
Calculation :-
if ((pins) > 0)
hit_ratio = (pins - reloads)*100/ pins;
else hit_ratio = 100;
/*004*/ memory_usage :-
/*005*/ rollback_segments :-
SELECT name,(TRUNC(waits)) as waits,(TRUNC(gets)) as gets FROM
v$rollstat, v$rollname WHERE v$rollstat.usn=v$rollname.usn
Calculation :-
if ((gets) > 0)
hit_ratio = ((gets - waits)*100)/ gets;
else hit_ratio = 100;
/*006*/ no_next_extents :-
SELECT
owner,s.segment_name,s.segment_type,s.tablespace_name,s.next_extent,s.partiti
on_name FROM dba_segments s, dba_tablespaces d,(SELECT tablespace_name,
sum(bytes) free_bytes FROM dba_free_space GROUP BY tablespace_name) f WHERE
f.tablespace_name(+) = s.tablespace_name AND s.tablespace_name NOT IN (SELECT
o.tablespace_name FROM dba_data_files o WHERE o.autoextensible='YES') AND
d.tablespace_name=s.tablespace_name AND d.allocation_type != 'SYSTEM' AND
s.next_extent > nvl(f.free_bytes,0)
/*007*/ invalid_objects :-
/*008*/ chained_rows :-
/*009*/ datafile_status :-
/*010*/ login_count :-
/*012*/ redo_logs :-
Calculation:-
if ((gets) > 0)
hit_ratio = (misses*100)/ gets;
else hit_ratio = 0;
/*013*/ mts_response :-
/*014*/ mts_wait :-
/*015*/ sga_memory :-
/*016*/ sort_ratio :-
Calculation:-
if ((sort_memory+sort_disk) > 0)
hit_ratio = (sort_memory)*100/(sort_memory+sort_disk);
else hit_ratio = 100;
/*017*/ index_status :-
/*018*/ tablespace_status :-
SELECT tablespace_name,status,decode(status,'ONLINE',1,0) as
qstatus FROM dba_tablespaces
/*019*/ rollback_seg_status :-
/*020*/ tablespace_deficit :-
SELECT
s.segment_name,s.tablespace_name,s.next_extent,nvl(f.free_bytes,0) as
free_bytes,s.owner,s.partition_name FROM dba_segments s,dba_tablespaces
d,(SELECT tablespace_name,sum(bytes) free_bytes FROM dba_free_space GROUP BY
tablespace_name) f WHERE f.tablespace_name(+) = s.tablespace_name AND
s.tablespace_name NOT IN (SELECT o.tablespace_name FROM dba_data_files o
WHERE o.autoextensible = 'YES') AND d.tablespace_name = s.tablespace_name AND
d.allocation_type != 'SYSTEM' AND s.next_extent > nvl(f.free_bytes,0)
/*021*/ mts_uga_memory :-
SELECT SUM(value) memory FROM v$sesstat WHERE statistic#=20
/*022*/ user_locks :-
SELECT a.serial# as
serial,a.sid,a.username,b.type,b.ctime,lmode,a.osuser,c.sql_text
FROM v$session a,v$lock b, v$sqlarea c
WHERE b.type in ('TM','TX','UL') and
a.sid=b.sid and
lmode > 0 and
((a.PREV_HASH_VALUE = c.hash_value and
a.prev_sql_addr = c.address and
a.sql_hash_value = 0) or
(c.hash_value=a.sql_hash_value and c.address =
a.sql_address))
/*023*/ locked_users :-
/*024*/ buf_cachehit_ratio_users :-
SELECT s.sid,username,Consistent_Gets,Block_Gets,Physical_Reads
FROM v$session s, v$sess_io i WHERE s.sid=i.sid AND
(Consistent_Gets+Block_Gets)>0 AND username IS NOT NULL
Calculation:-
if ((CONSISTENT_GETS + BLOCK_GETS) > 0)
hit_ratio = 100*(( CONSISTENT_GETS + BLOCK_GETS) - PHYSICAL_READS)/(
CONSISTENT_GETS + BLOCK_GETS);
else hit_ratio = 100;
/*025*/ session_waits :-
/*026*/ system_statistics :-
/*028*/ dbfile_io :-
Calculation:-
if (PHYS_READS > 0)
pctIn = (PHYRDS / PHYS_READS)*100;
else pctIn = 0;
if (PHYS_WRTS > 0)
pctOut = (PHYWRTS / PHYS_WRTS)*100;
else pctOut = 0;
/*029*/ tablespace_alloc_free :-
Calculation :-
PCT = 100.0-maxPct;
PCT_USED = 100.0- PCT
FREESP = (maxSize/100 * PCT);
/*030*/ sga_memory_free :-
/*031*/ lock_waits :-
select s.serial# as
serial,s.sid,s.username,s.osuser,e.total_waits,e.time_waited/100 as
total_time_waited from v$session_event e, v$session s where e.sid = s.sid and
e.event like 'enq:%' and s.user# <> 0
/*032*/ gc_service_util :-
Calculation :-
if ((db_block_gets + consistent_gets) > 0)
CacheUtil = ((gets + converts + cr_blocks + current_blocks) * 100) /
(db_block_gets + consistent_gets);
else CacheUtil = 0;
/*033*/ gc_cr_timeouts :-
/*034*/ gc_convert_timeouts :-
/*035*/ gc_blocks_lost :-
/*036*/ gc_blocks_corrupt :-
/*037*/ gc_av_lock_get_time :-
Calculation :-
if ((sync_gets + async_gets) > 0)
av_time = get_time / (sync_gets + async_gets);
else av_time = 0;
/*038*/ gc_fusion_wrt_rto :-
Calculation :-
if (physical_writes > 0)
rto = dbwr_fusion_writes*100 / physical_writes;
else rto = 0;
/*039*/ long_queries :-
/*040*/ tablespace_size :-
/*041*/ database_size :-
/*042*/ resource_util :-
/*043*/ dataguard_status :-
/*044*/ dataguard_gap :-
/*045*/ dataguard_timegap :-
SELECT dest2.db_unique_name ,
TO_NUMBER ( (((pri.completion_time -
stand.completion_time) * 24) * 60)* 60) as gap_applied,
stand.sequence# as sequence#_standby,
pri.sequence# as sequence#_primary,
to_char(stand.completion_time,'DD.MM.YYYY HH24.MI.SS') as
dato_standby,
to_char(pri.completion_time,'DD.MM.YYYY HH24.MI.SS') as
dato_primary,
to_number( to_char(to_date('1','J') +(pri.completion_time -
stand.completion_time), 'J') - 1)
|| ' days ' || to_char(to_date('00.00.00','HH24.MI.SS') +
(pri.completion_time - stand.completion_time),
'HH24:MI:SS') as gap_applied_char
FROM v$archived_log pri,
v$archived_log stand,
v$archive_dest dest1,
v$archive_dest dest2
WHERE pri.sequence# IN (SELECT MAX (sequence#) FROM
v$archived_log ml WHERE ml.dest_id = pri.dest_id)
AND stand.sequence# IN (SELECT b.applied_seq# FROM
v$archive_dest_status b WHERE b.dest_id = stand.dest_id)
AND dest1.dest_id = 1
AND pri.dest_id = dest1.dest_id
AND stand.dest_id = dest2.dest_id
AND stand.dest_id <> dest1.dest_id
/*046*/ tablespace_temp_free :-
/*047*/ active_users :-
/*048*/ flash_recovery_area_memory_free :-
/*049*/ extents :-
SELECT /*+ RULE */
segment_name,owner,tablespace_name,TRUNC(extents) as extents,
segment_type,partition_name FROM dba_segments WHERE extents >= 10 AND
TABLESPACE_NAME IN (SELECT DTBS.tablespace_name FROM DBA_TABLESPACES DTBS
WHERE DTBS.TABLESPACE_NAME NOT IN ('SYS','SYSTEM'))ORDER BY extents desc,
segment_name
/*050*/ extents :-
/*051*/ extents :-
/*052*/ extents :-
/*053*/ remaining_extents :-
/*054*/ remaining_extents :-
SELECT owner,segment_name,segment_type,(max_extents-
NVL(extents,0)) as extleft, partition_name FROM DBA_SEGMENTS WHERE
tablespace_name IN ( SELECT DTBS.tablespace_name FROM DBA_TABLESPACES DTBS
WHERE DTBS.TABLESPACE_NAME NOT IN ('SYS','SYSTEM','ROLLBACK','UNDO'))
/*055*/ remaining_extents :-
SELECT owner,segment_name,segment_type,(max_extents-
NVL(extents,0)) as extleft, partition_name FROM DBA_SEGMENTS WHERE
tablespace_name IN ( SELECT DTBS.tablespace_name FROM DBA_TABLESPACES DTBS
WHERE DTBS.extent_management != 'LOCAL' AND DTBS.TABLESPACE_NAME NOT IN
('SYS','SYSTEM'))
/*056*/ remaining_extents :-
SELECT owner,segment_name,segment_type,(max_extents-
NVL(extents,0)) as extleft, partition_name FROM DBA_SEGMENTS WHERE
tablespace_name IN ( SELECT DTBS.tablespace_name FROM DBA_TABLESPACES DTBS
WHERE DTBS.extent_management != 'LOCAL' AND DTBS.TABLESPACE_NAME NOT IN
('SYS','SYSTEM','ROLLBACK','UNDO'))
/*057*/ active_connection_ratio :-
Calculation :-
if(TOTAL > 0)
dPct = (ACTIVE / TOTAL) * 100.0;
else
dPct = 100.0;