prompt
prompt
prompt ######################################################################
prompt
prompt
prompt BY Mohit sharma
prompt mohit.sharma@india.com
prompt
prompt
prompt
prompt #####################################################################
SET linesize 132
SET pagesize 1000
spool report.txt
prompt #### Up TIME ####
SELECT 'Hostname : ' || host_name
,'Instance Name : ' || instance_name
,'Started At : ' || TO_CHAR(startup_time,'DD-MON-YYYY HH24:MI:SS') stime
,'Uptime : ' || FLOOR(SYSDATE - startup_time) || ' days(s) ' ||
TRUNC( 24*((sysdate-startup_time) -
TRUNC(sysdate-startup_time))) || ' hour(s) ' ||
MOD(TRUNC(1440*((sysdate-startup_time) -
TRUNC(sysdate-startup_time))), 60) ||' minute(s) ' ||
MOD(TRUNC(86400*((sysdate-startup_time) -
TRUNC(sysdate-startup_time))), 60) ||' seconds' uptime
FROM sys.v_$instance;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Object status
SELECT object_type,status,COUNT(*) cnt FROM user_objects GROUP BY object_type,status;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Invalid objects
SELECT owner, object_type, SUBSTR(object_name,1,30) object_name
FROM sys.dba_objects
WHERE status='INVALID'
ORDER BY object_type;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Recover files
SELECT * FROM sys.v_$recover_file;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> partitioned TABLE
SELECT table_name FROM user_tables WHERE partitioned='YES';
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Free SPACE IN TABLESPACE
SELECT tablespace_name,SUM(bytes/1024/1024) FROM sys.dba_free_space GROUP BY tablespace_name;
prompt
prompt
prompt ################################################################################
prompt .>>>>>>Max Extents Status
SELECT segment_name, segment_type, extents, max_extents FROM sys.dba_segments WHERE max_extents-extents<100;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> ANY partitioned Object approaching TO MAX extents
SELECT PARTITION_NAME,EXTENTS,MAX_EXTENTS,NEXT_EXTENT,max_extents-NVL(next_extent,0) FROM sys.dba_segments
WHERE max_extents-NVL(next_extent,0) < 1000
AND partition_name IS NOT NULL;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Block Contention
SELECT class,SUM(COUNT) total_waits, SUM(TIME) total_time FROM v$waitstat GROUP BY class;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Latch Contention
SELECT a.name,100.*b.sleeps/b.gets ratio1,100.*b.immediate_misses/DECODE((b.immediate_misses+b.immediate_gets),0,1) ratio2
FROM v$latchname a, v$latch b WHERE
a.latch# = b.latch# AND b.sleeps > 0;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Top 10 Queries USING more disk reads
SELECT disk_reads,sql_text FROM v$sqlarea WHERE disk_reads>10000 AND ROWNUM < 11 ORDER BY disk_reads DESC;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Top 10 Queries USING more buffer reads
SELECT buffer_gets,sql_text FROM v$sqlarea WHERE buffer_gets>10000 AND ROWNUM < 11 ORDER BY buffer_gets DESC;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> buffer cache hit ratio
SELECT (1- (SUM(DECODE(a.name,'physical reads',VALUE,0)))/
(SUM(DECODE(a.name,'db block gets',VALUE,0)) +
SUM(DECODE(a.name,'consistent gets',VALUE,0)))) * 100 pct
FROM v$sysstat a;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Reloads/Pins IN v$librarycache
SELECT SUM(pins) "executions",SUM(reloads) "cache Misses",SUM(reloads)/SUM(pins)*100 "Ratio" FROM v$librarycache;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Get miss ratio FROM v$rowcache
SELECT (SUM(getmisses)/SUM(gets)) * 100 "Hit Ratio" FROM v$rowcache;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> Redo LOG SPACE request ratio IN v$systat
SELECT (req.VALUE*5000)/entries.VALUE "ratio"
FROM v$sysstat req,v$sysstat entries
WHERE req.name='redo log space requests' AND entries.name='redo entries' ;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> RBS Contention
SELECT SUM(waits)/SUM(gets)*100 FROM v$rollstat;
prompt
prompt
prompt ################################################################################
prompt .>>>>>> sorts stats
SELECT * FROM v$sysstat WHERE name LIKE '%sorts%';
prompt
prompt
prompt ################################################################################
prompt .>>>>>> datafiles I/O
SELECT name, phyrds, phywrts FROM v$datafile df, v$filestat fs WHERE df.FILE# = fs.FILE# ORDER BY phyrds;
prompt
prompt
prompt
prompt
spool off
I think you have put this in a wrong place.