监控

1.监控事例的等待:

Selectevent,sum(decode(wait_time,0,0,1))prev,sum(decode(wait_time,0,1,0))curr,count(*)fromv$session_waitgroupbyenentorderby4;

2.回滚段的征用情况:

Selectname,waits,gets,waits/getsrationfromv$rollstata,v$rollnamebwherea.usn=b.usn;

3.监控表空间I/O比例:

Selectdf.tablespace_namename,df.file_name“file”,f.phyrdspyr,f.phyblkrdpdr,f.phywrtspyw,

f.phyblkwrtpbwfromv$filestatf,dba_data_filesdfwheref.file#=df.file_id

4.监控文件系统的I/O比例:

Selectsubstr(a.file#,1,2)”#”,substr(a.name,1,30)”name”,a.status,a.bytes,

b.phyrds,b.phywrtsfromv$datafilea,v$filestatbwherea.file#b.file#

5.在某个用户下找所有的索引:

Selectuser_indexes.table_name,user_indees.index_name,uniqueness,column_name

Fromuser_ind_columns,user_indexesc

Whereuser_ind_columns.inde_name=user_indexes.index_name

anduser_ind_columns.table_name=user_indexes.table_name

orderbyuser_indexes.table_type,user_indexes.table_name,

user_indexes.index_name,column_position;

6.监控SGA的命中率

Selecta.value+b.value“logical_reads”,c.value“phys_reads”,

Round(100*((a.value+b.value)-c.value)/(a.value+b.value)):BUFFERHITRATIO”

Fromv$sysstata.v$sysstatb,v$sysstatc

Wherea.statistic#=38andb.statistic#=39andc.statistic#=40;

7.监控SGA中字典缓冲区的命中率

Selectparameter,gets,Getmisses,getmisses/(gets+getmisses)*100“missratio”,

(1-(sum(getmisses)/(sum(gets)+sum(getmisses))))*100”Hitratio”

Fromv$rowcachewheregets+getmisses<>0

Groupbyparameter,gets,getmisses;

8.监控SGA中共享缓冲区的命中率,应该小于1%

Selectsum(pins)”TotalPins”,sum(reloads)“TotalReloads”,

Sum(reloads)/sum(pins)*100libcachefromv$librarycache;

Selectsum(pinhits-reloads)/sum(pins)”hitradio”,sum*reloads)/sum(pins)”reloadpercent”

Fromv$librarycache;

9.显示所有数据库对象的类别和大小

Selectcount(name)num_instances,type,sum(source_size)source_size,

Sum(parsed_size)parsed_size,sum(code_dize)code_dize,sum(error_size)error_size,

Sum(source_size)+sum(parsed_size)+sum(code_size)+sum(error_size)size_required

Fromdba_object_sizegroupbytypeororderby2;

10.监控SGA中重做日志缓冲区的命中率,应小于1%

Selectname,gets,misses,immediate_gets,immediate_misses,

Decode(gets,0,0,misses/gets*100)ratio1,

Decode(immediate_gets+immediate_misses,0,0,

Immediate_misses/(immediate_gets+immediate_misses)100)ratio2

FROMv$latchWHEREnameIN(‘redoallocation’,’redocopy’);

11.监控内存和硬盘的排列比率,最好使他小于增加说sort_area_sze

Selectname,valuefromv$sysstatwherenamein(‘sorts(memory)’,’sorts(disk)’);

12.监控当前数据库谁在运行什么SQL语句

Selectosuser,username,sql_textfromv$sessiona,v$sqltextb

Wherea.sql_address=b.addressorderbyaddress,piece;

13.监控字典缓冲区

Select(sum(pins-reloads))/sum(pins)”libcache”fromv$librarycache;

Select(sum(gets-getmisses-usage-fixed))/sum(gets)”rowcache”fromv$rowcache;

Selectsum(pins)”executions”,sum(reloads)”cachemisseswhileexecuting”fromv$librarycache;

后者除以前者,此比率小于1%接近0%为好。

Selectsum(gets)”dictionarygets”,sum(getmisses)”dictionarycachegetmisses”

Fromv$rowcache

14.ORACE字符集

Select*fromsys.props$wherename=’NLS_CHARACTERSET’;

15.监控MTS

Selectbusy/(busy+idle)”sharedserversbusy”fromv$dispatcher;

此值大于0.5时,参数需加大

Selectsum(wait)/sum(totalq)”dispatcherwaits”fromv$queuewheretpye=’dispatcher’;

Selectcount(*)fromv$dispatcher;

Selectservers_highwaterfromv$mts;

Severs_highwater接近mts_max_servers时,参数需加大

16.碎片程度

Selecttablespace_name,count(tablespace_name)fromdba_spacegroupbytablespace_name

Havingcount(tablespace_name)>10;

Altertablespacenamecoalesce;

Altertablenamedeallocateunused;

Createorreplaceviewts_blocks_vas

Selecttablespace_name,block_id,bytes,blocks,’freespace’segment_namefromdba_free_spaceunionall

Selecttablespace_name,block_id,bytes,blocks,segment_namefromdba_extents;

Select*fromts_blocks_v;

Selecttablespace_name,sum(bytes),ma(bytes),count(block_id)fromdba_free_spacegroupbytablespace_name;

查看碎片程度高的表

SELECTsegment_nametable_name,COUNT(*)extents

FROMdba_segementsWHEREownerNOTIN(‘SYS’,’SYSTEM’)GROUPBYgegment_name

HAVINGCOUNT(*)=(SELECTMAX(COUNT(*)FROMdba_segmentsGROUPBYsegment_name);

17.表、索引的存储情况检查

Selectsement_name,sum(bytes),count(*)_quanfromdba_extentswhere

Tablespace_name=’&tablespace_name’andsegment_type=’TABLE’groupbytablesapce_name,segment_name;

Selectsegment_name,count(*)fromdba_extentswheresegment_type=’INDEX’andowner=’&owner’groupbysegment_name;j

你可能感兴趣的:(oracle)