Oracle Training Oracle Support Development Oracle Apps

 
 Home
 E-mail Us
 Oracle Articles
New Oracle Articles


 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog


 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Analysis
 Design
 Implementation
 Oracle Support


 SQL Tuning
 Security

 Oracle UNIX
 Oracle Linux
 Monitoring
 Remote s
upport
 Remote plans
 Remote
services
 Application Server

 Applications
 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S
upport  
 Development  

 Implementation


 Consulting Staff
 Consulting Prices
 Help Wanted!

 


 Oracle Posters
 Oracle Books

 Oracle Scripts
 Ion
 Excel-DB  

Don Burleson Blog 


 

 

 


 

 

   

Linda Webb

Got breaking Oracle news?    Burleson Consulting Oracle News

Click here for more Oracle News Headlines

 


Try this fast instance-check script

 

Oracle DBA Mohit Sharma has created a nice SQL*plus script that he claims will check the important areas of an Oracle instance.  For a complete description of the v$ views, get the "free 10g poster" sponsored by UNISYS.   Sharma’s checks include:

 

  • Uptime
  • Invalid objects
  • Partitioned objects approaching max extents
  • Latch contention
  • Sorting statistics

 

 
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  
(    select disk_reads, sql_text from v$sqlarea
     where disk_reads > 10000 order by disk_reads desc) 
where    rownum < 11; 
 
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

 

 
��  
 
 
Oracle Training at Sea
 
 
 
 
oracle dba poster
 

 
Follow us on Twitter 
 
Oracle performance tuning software 
 
Oracle Linux poster
 
 
 

 

Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


                    









Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


 

Copyright © 1996 -  2017

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.

Remote Emergency Support provided by Conversational