Oracle数据库巡检报告.docx

上传人:b****7 文档编号:15321440 上传时间:2023-07-03 格式:DOCX 页数:10 大小:18.96KB
下载 相关 举报
Oracle数据库巡检报告.docx_第1页
第1页 / 共10页
Oracle数据库巡检报告.docx_第2页
第2页 / 共10页
Oracle数据库巡检报告.docx_第3页
第3页 / 共10页
Oracle数据库巡检报告.docx_第4页
第4页 / 共10页
Oracle数据库巡检报告.docx_第5页
第5页 / 共10页
Oracle数据库巡检报告.docx_第6页
第6页 / 共10页
Oracle数据库巡检报告.docx_第7页
第7页 / 共10页
Oracle数据库巡检报告.docx_第8页
第8页 / 共10页
Oracle数据库巡检报告.docx_第9页
第9页 / 共10页
Oracle数据库巡检报告.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle数据库巡检报告.docx

《Oracle数据库巡检报告.docx》由会员分享,可在线阅读,更多相关《Oracle数据库巡检报告.docx(10页珍藏版)》请在冰点文库上搜索。

Oracle数据库巡检报告.docx

Oracle数据库巡检报告

XXX数据库【XXX】巡检报告

1第一部分操作系统参数检查

1.1检查数据库cpu、I/O、存性能

#top

检查结果:

正常

1.2检查Oracle服务进程

(1)检查所有oracle相关进程

#ps-ef|grepora_

(2)查看是否有僵死进程

SQL>selectspidfromv$processwhereaddrnotin(selectpaddrfromv$session);

检查结果:

正常

在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:

Oracle写数据文件的进程,输出显示为:

“ora_dbw0_CKDB”

Oracle写日志文件的进程,输出显示为:

“ora_lgwr_CKDB”

Oracle监听实例状态的进程,输出显示为:

“ora_smon_CKDB”

Oracle监听客户端连接进程状态的进程,输出显示为:

“ora_pmon_CKDB”

Oracle进行归档的进程,输出显示为:

“ora_arc0_CKDB”

Oracle进行检查点的进程,输出显示为:

“ora_ckpt_CKDB”

Oracle进行恢复的进程,输出显示为:

“ora_reco_CKDB”

2第二部分Oracle数据库检查

2.1数据库状态

2.1.1检查oracle环境变量

#cat/home/oracle/.profile

检查结果:

正常

2.1.2检查监听状态

$lsnrctlstatus

检查结果:

正常

2.1.3查看Oracle初始化参数

SQL>showparameter

 

检查结果:

正常

2.1.4检查Oracle的实例状态

SQL>selectstatusfromv$instance;

检查结果:

正常

其中"STATUS"表示Oracle当前的实例状态,必须为"OPEN";"DATABASE_STATUS"表示Oracle当前数据库的状态,必须为"ACTIVE"。

2.1.5检查数据库读写状态

SQL>selectopen_modefromv$database;

检查结果:

正常

2.1.6查看oracle数据库的版本

SQL>select*fromv$version;

检查结果:

正常

2.1.7查看sga、pga详细信息

SQL>select*fromv$sgainfo;

SQL>select*fromv$pgastat;

检查结果:

正常

2.1.8检查控制文件状态

SQL>selectname,statusfromv$controlfile;

 

检查结果:

正常

2.1.9检查日志文件状态

SQL>selectgroup#,status,type,memberfromv$logfile;

 

检查结果:

正常

2.1.10检查alter日志

SQL>showparameterbackground_dump_dest

$tail-1000alert_实例名.log

检查结果:

正常

查看有无“ORA-”,Error”,“Failed”等出错信息。

根据错误信息进行分析并解决

2.1.11检查当前crontab任务

(1)任务清单

$crontab-l

(2)OracleJob是否有失败

SQL>selectjob,what,last_date,next_date,failures,brokenfromdba_jobsWhereschema_user='CAIKE';

检查结果:

正常

2.2数据库空间监控

2.2.1检查数据库的大小,和空间使用情况

(1)查所有表空间总量:

SQL>selectsum(tablespace_size*8192/1024/1024/1024)"totalmsize(G)"fromdba_tablespace_usage_metrics;

(2)datafile占文件系统的空间

SQL>selectsum(bytes)/1024/1024/1024GBfromdba_data_files;

(3)查所有表空间使用量(11g)

SQL>SELECT/*+RULE*/df.tablespace_name"Tablespace",

df.bytes/(1024*1024)"Size(MB)",

SUM(fs.bytes)/(1024*1024)"Free(MB)",

Nvl(Round(SUM(fs.bytes)*100/df.bytes),1)"%Free",

Round((df.bytes-SUM(fs.bytes))*100/df.bytes)"%Used"

FROMdba_free_spacefs,

(SELECTtablespace_name,SUM(bytes)bytes

FROMdba_data_files

GROUPBYtablespace_name)df

WHEREfs.tablespace_name(+)=df.tablespace_name

GROUPBYdf.tablespace_name,df.bytes

UNIONALL

SELECT/*+RULE*/df.tablespace_nametspace,

fs.bytes/(1024*1024),

SUM(df.bytes_free)/(1024*1024),

Nvl(Round((SUM(fs.bytes)-df.bytes_used)*100/fs.bytes),1),

Round((SUM(fs.bytes)-df.bytes_free)*100/fs.bytes)

FROMdba_temp_filesfs,

(SELECTtablespace_name,bytes_free,bytes_used

FROMv$temp_space_header

GROUPBYtablespace_name,bytes_free,bytes_used)df

WHEREfs.tablespace_name(+)=df.tablespace_name

GROUPBYdf.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used

ORDERBY4DESC;

(4)检查一些扩展异常的对象

SQL>selectSegment_Name,Segment_Type,TableSpace_Name,

(Extents/Max_extents)*100PercentFromsys.DBA_Segments

WhereMax_Extents!

=0and(Extents/Max_extents)*100>=95

orderByPercent;

检查结果:

正常

2.2.2查看数据库是否处于归档模式

SQL>archiveloglist;

检查结果:

正常

2.2.3检查表空间物理文件的名称及大小

SQL>colnamefora55

SQL>selectfile#,ts#,status,namefromv$datafile;

检查结果:

正常

2.2.4数据库数据文件等所在目录使用情况

#df-h

检查结果:

正常

2.3数据库性能、资源、对象检查

2.3.1负载情况(LoadProfile)

生成awr报告

SQL>?

/rdbms/admin/awrrpt

检查结果:

正常

如果DBtime远小于elapse说明数据库比较空闲

如果Logons大于每秒1~2个、Hardparses大于每秒100、全部parses超过每秒300表明可能有争用问题

2.3.2数据库存命中率(InstanceEfficiencyPercentages(Target100%))

检查结果:

正常

BufferNowait表示在存获得数据的未等待比例。

BufferNowait的这个值一般需要大于99%。

否则可能存在争用,可以在后面的等待事件中进一步确认。

RedoNoWait表示在LOG缓冲区获得BUFFER的未等待比例。

如果太低(可参考90%阀值),考虑增加LOGBUFFER

bufferhit表示进程从存中找到数据块的比率。

常应在95%以上。

否则,小于95%,需要调整重要的参数,小于90%可能是要加db_cache_size。

In-memorySort:

在存中排序的比率。

如果低于95%,可以通过适当调大初始化参数PGA_AGGREGATE_TARGET或者SORT_AREA_SIZE来解决

libraryhit表示Oracle从LibraryCache中检索到一个解析过的SQL或PL/SQL语句的比率。

如果libraryhitratio低于90%,可能需要调大sharedpool区。

SoftParse:

软解析的百分比(softs/softs+hards)小于<95%,需要考虑绑定,如果低于80%,那么就可以认为sql基本没有被重用

ExecutetoParse:

是语句执行与分析的比例。

该值<0通常说明sharedpool设置或者语句效率存在问题,造成反复解析

LatchHit:

Latch是一种保护存结构的锁。

要确保>99%,否则存在严重的性能问题。

ParseCPUtoParseElapsd:

解析实际运行时间/(解析实际运行时间+解析中等待资源时间)越高越好。

Non-ParseCPU:

SQL实际运行时间/(SQL实际运行时间+SQL解析时间),太低表示解析消耗时间过多

2.3.3监控等待事件(Top5TimedEvents)

检查结果:

正常

一个性能良好的系统,cputime应该在top5的前面,否则说明你的系统大部分时间都用在等待上。

2.3.4检查无效的数据对象

SQL>colOBJECT_NAMEfora35

SQL>SELECTowner,object_name,object_type,statusFROMdba_objectsWHEREstatus='INVALID';

检查结果:

正常

如存在状态为N/A的表示分区对象,不用理会

2.3.5检查碎片程度高的表

SQL>SELECTsegment_nametable_name,COUNT(*)extentsFROMdba_segmentsWHEREowner

NOTIN('SYS','SYSTEM')GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECTMAX(COUNT(*))FROMdba_segmentsGROUPBYsegment_name);

检查结果:

正常

2.3.6检查排序区

SQL>selectname,valuefromv$sysstatwherenamelike'%sort%';

检查结果:

正常

如果disk/(memoty+row)的比例过高,则需要调整

2.3.7检查日志缓冲区

SQL>selectname,valuefromv$sysstatwherenamein('redoentries','redobufferallocationretries');

检查结果:

正常

如果redobufferallocationretries/redoentries超过1%,则需要增大log_buffer。

2.3.8检查Oracle初始化文件中相关参数值

SQL>selectresource_name,max_utilization,initial_allocation,limit_valuefromv$resource_limit;

检查结果:

正常

若LIMIT_VALU-MAX_UTILIZATION<=5,则表明与RESOURCE_NAME相关的Oracle初始化参数需要调整。

2.3.9检查数据库连接情况

SQL>selectsid,serial#,username,program,machine,statusfromv$session;

检查结果:

正常

建议通过sid查到操作系统的spid,使用ps–ef|grepspidno的方式确认spid不是ORACLE的后台进程。

使用操作系统的kill-9命令杀掉连接),SID为1到10(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。

2.3.10检查system表空间的容

SQL>selectdistinct(owner)fromdba_tableswheretablespace_name='SYSTEM'andowner!

='SYS'andowner!

='SYSTEM'Unionselectdistinct(owner)fromdba_indexeswheretablespace_name='SYSTEM'andowner!

='SYS'andowner!

='SYSTEM';

检查结果:

正常

如果记录返回,则表明system表空间存在一些非system和sys用户的对象。

应该进一步检查这些对象是否与我们应用相关。

如果相关则把这些对象移到非System表空间,同时应该检查这些对象属主的缺省表空间值。

2.3.11检查表空间碎片率

(1)查看fsfi值,如果碎片率小于30则说明碎片过多

SQL>selecta.tablespace_name,

trunc(sqrt(max(blocks)/sum(blocks))*(100/sqrt(sqrt(count(blocks)))),2)fsfi

fromdba_free_spacea,dba_tablespacesb

wherea.tablespace_name=b.tablespace_name

andb.contentsnotin('TEMPORARY','UNDO','SYSAUX')

groupbyA.tablespace_name

orderbyfsfi;

(2)查看dba_free_space采用字典管理的表空间碎片超过500就需要对表空间进行碎片整理

SQL>selecta.tablespace_name,count

(1)碎片量from 

dba_free_spacea,dba_tablespacesb 

wherea.tablespace_name=b.tablespace_name

andb.contentsnotin('TEMPORARY','UNDO','SYSAUX')

groupbya.tablespace_name

havingcount

(1)>20

orderby2;

检查结果:

正常

2.3.12检查死锁

SQL>selectsid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,object_name,object_type,o.object_id

fromdba_objectso,v$locked_objectl,v$sessionswhereo.object_id=l.object_idands.sid=l.session_id;

检查结果:

正常

2.4数据库备份检查

2.4.1检查数据库备份日志信息

#catXX.log|grep–ierror

检查结果:

正常

2.4.2检查backup卷中文件产生的时间

#ls–lt/XXX/XXX

检查结果:

正常

2.4.3检查oracle用户的email

#tail-n300/var/mail/oracle

检查结果:

正常

3第三部分总结

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2