Oracle11gRAC数据库巡检手册.docx
- 文档编号:5600685
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:33
- 大小:42KB
Oracle11gRAC数据库巡检手册.docx
《Oracle11gRAC数据库巡检手册.docx》由会员分享,可在线阅读,更多相关《Oracle11gRAC数据库巡检手册.docx(33页珍藏版)》请在冰豆网上搜索。
Oracle11gRAC数据库巡检手册
数据库巡检
数据库检测
硬件机型
HPDL580G7
是否集群
是
系统实际用户数
10
数据库进程
进入操作系统,登陆Oracle用户,命令:
su-oracle
Process
进程情况
进入操作系统,登陆Oracle用户
命令:
ps-ef|grepora_
说明
Oracle10g后台进程
SMON(SystemMonitor)用于执行历程恢复、合并空间碎片并释放临时段。
PMON(ProcessMonitor)用于监视服务器进程的执行,摒弃在服务器进程失败时清除该服务器进程。
DBWR(DatabaseWriter)用于将数据库缓存的脏缓冲区数据写入到数据文件中。
LGWR(LogWriter)用于将重做日志缓冲区所记载的全部内容写入到充作日志文件中。
CKPT(CheckpointProcess)用于发出检查点(Checkpoint),检查点会同步数据库的数据文件、控制文件和重做日志,当发出检查点时,后台进程CKPT将检查点时刻的SCN(SystemChangeNumber)写入到控制文件和数据文件头部,同时促使后台进程DBWR将所有脏缓冲区写入到数据文件中。
ARCH(ArchiveProcess)用于将重做日志的事物变化复制到归档日志中,该后台进程只有在archivelog模式下才有意义。
Oracle11g新增的后台进程
DBRM
说明:
数据库资源管理进程(Thedatabaseresourcemanagerprocess),负责设置资源计划和其他的资源管理的工作.
DIAG
说明:
数据库诊断进程(Thediagnosibilityprocess),负责维护管理各种用于诊断的转储文件,并执行oradebug命令。
DIA0
说明:
另一个数据库诊断进程,负责检测Oracle数据库中的挂起(hang)和死锁的处理。
PSP0
说明:
processspawner,用于产生oracle进程
SMCO
说明:
spacemanagementcoordinator,该进程负责空间管理协调管理工作,负责执行空间的分配和回收。
Wnnn
说明:
命名为W000,W001,W002.....,由smcO动态产生执行上述相关任务。
VKTM
说明:
virtualkeeperoftime,用于提供wall-clocktime,(每秒钟更新一次)。
提供每二十毫秒更新一次的
reference-timecounter,看起来有点类似计时器的功能。
GMON
说明:
用于维护asm磁盘组的磁盘之间的关系。
KATE
说明:
当ASM的磁盘离线的时候,该进程负责asm的元文件的io读写。
MARK
说明:
如果有向asm离线磁盘的missed写请求,该进程将ASM分配的单元的状态标记为stale
FBDA
说明:
涉及到flashback-data-archive新特性的一个进程,Theflashbackdataarchiverproces。
用于将"轨表"(tracked
tables)的历史数据进行归档。
当"轨表"上的事务提交以后,fbda进程负责将数据的前镜像保存到flashbackarchive区域。
该进程还负责flashback的数据归档的空间管理、分配、保留,跟踪trackedtransactions。
什么是"轨表"(trackedtables):
是指启用了flashbackarchive特性的表。
RMSn
说明:
TheOracleRACmanagementprocesses,负责执行OracleRAC的管理任务,比如RAC相关资源的创建和集群中新实例的
添加。
DSKM
说明:
Theslavediskmonprocess,负责oracle实例、asm实例和磁盘的管理进程之间的iofencing信息的交换。
如果
使用SAGE的存储,该进程还负责SAGE存储的一些信息的管理。
RAC进程
GSDglobalservicesdaemon全局服务守护进程
lockprocess(LCK)锁管理进程
DIAG:
DIAGNOSABILITYDAEMON失败进程的诊断信息捕获进程
OperatingSystem-Dependent(OSD)操作系统资源访问进程
LMS-GobalCacheServiceProcess全局缓存服务进程
LMD-GlobalEnqueueServiceDaemon全局查询服务守护进程
LMON-GlobalEnqueueServiceMonitor全局查询服务监视进程
LCK0-InstanceEnqueueProcess实例查询进程
进程状态
Space
使用情况
df-h
Listener
监听状态
命令:
lsnrctlstatus
配置正常
运行情况
命令:
sqlplus“/assysdba”
查看日志
命令:
More/u01/app/oracle/product/11.2.0/db_1/network/log/sqlnet.log
有错误才有日志
Tnsname
配置情况
标准配置
位置:
/u01/app/oracle/product/11.2.0/db_1/network/admin
运行情况
正常
查看状态
Tnspingtnsname(数据库实例名)
Alert
配置情况
标准配置
/u01/app/oracle/diag/rdbms/
运行情况
正常
Morealert_sid.log
CRS
服务运行情况
crsctlcheckcrs
检查crs的健康情况
资源运行情况
crs_stat–t
用来查看RAC中各节点上resources的运行状况,Resources的属性等
OCR
运行情况
ocrcheck
验证OCR的状态以及空间使用情况
Voting
Disk
运行情况
crsctlquerycssvotedisk
Votingdisk状态查询
ASM
运行情况
crs_stat-t|grepasm
使用情况
#su-grid
$asmcmd
ASMCMD>ls
DATA/
ORA_DATA/
ASMCMD>lsdgora_data
ASMCMD>ls-sDATA.354.774196981
数据库
su–oracle
sqlplus“/assysdba”
诊断结果及建议
DBstatus
数据库状态
selectstatusfromv$instance;
配置情况
Select*fromv$parameter;
运行情况
正常
察看参数
隐含参数
setlinesize132
columnnameformata30
columnvalueformata25
select
x.ksppinm name,
y.ksppstvl value,
y.ksppstdf isdefault,
decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,
decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj
from
sys.x$ksppix,
sys.x$ksppcvy
where
x.inst_id=userenv('Instance')and
y.inst_id=userenv('Instance')and
x.indx=y.indxand
x.ksppinmlike'%_&par%'
orderby
translate(x.ksppinm,'_','')
/
使用资源情况
select*fromv$resource_limit;
ASM
使用情况
selectgroup_number,name,total_mb,free_mbfromv$asm_diskgroup;
DBfile
数据文件状态
selectname,statusfromv$datafile;
控制文件状态
selectstatus,namefromv$controlfile;
日志文件状态
selectgroup#,members,archived,statusfromv$log;
表空间使用率
setpagesize50
column"Tablespace"formata13
column"UsedMB"format99,999,999
column"FreeMB"format99,999,999
column"TotalMB"format99,999,999
select
fs.tablespace_name"Tablespace",
(df.totalspace-fs.freespace)"UsedMB",
fs.freespace"FreeMB",
df.totalspace"TotalMB",
round(100*(fs.freespace/df.totalspace))"PctFree"
from
(select
tablespace_name,
round(sum(bytes)/1048576)TotalSpace
from
dba_data_files
groupby
tablespace_name
)df,
(select
tablespace_name,
round(sum(bytes)/1048576)FreeSpace
from
dba_free_space
groupby
tablespace_name
)fs
wheredf.tablespace_name=fs.tablespace_name
orderby"PctFree"
/
运行情况
正常
Sessions
并发数
selectcount(*)fromv$sessionwherestatus='ACTIVE';
Redo
使用情况
selectb.THREAD#,a.GROUP#,a.STATUS,a.MEMBER,b.BYTES,b.ARCHIVED,b.STATUS
fromv$logfilea,v$logbwherea.GROUP#=b.GROUP#;
Performance
配置情况
察看数据库锁表
锁表有时候是瞬间的,长时间锁定的表才可能是死锁。
selectl.*,s.OSUSER,s.ACTION,o.OBJECT_NAME
fromgv$locked_objectl,gv_$sessions,all_objectso
wherel.SESSION_ID=s.SID
ando.OBJECT_ID=l.OBJECT_ID
死锁
setlinesize200
columnoracle_usernamefora16
columnos_user_namefora12
columnobject_namefora30
SELECTl.xidusn,l.object_id,l.oracle_username,l.os_user_name,l.process,
l.session_id,s.serial#,l.locked_mode,o.object_name
FROMv$locked_objectl,dba_objectso,v$sessions
wherel.object_id=o.object_idands.sid=l.session_id;
selectt2.username||' '||t2.sid||' '||t2.serial#||' '||t2.logon_time||' '||t3.sql_text
fromv$locked_objectt1,v$sessiont2,v$sqltextt3
wheret1.session_id=t2.sid
andt2.sql_address=t3.address
orderbyt2.logon_time;
latch
1、从V$LATCH,V$LATCH_CHILDREN,V$LATCH_MISSES查看有关LATCH的统计信息
例:
SELECTlatch#,name,gets,misses,sleeps
FROMv$latch
WHEREsleeps>0
ORDERBYsleeps;
2、在PEAKTIME,查看当前的LATCH竞争
例:
selectcount(*),namelatchnamefromv$session_wait,v$latchname
whereevent='latchfree'andstate='WAITING'andp2=latch#
groupbynameorderby1desc;
3、确定影响系统的主要LATCHCONTENTION,并针对具体LATCH竞争采取不同的ACTION
例:
如果LATCHFREE的等待事件在WAITEVENT占了比较大的比重,需要检查具体的LATCH竞争的情况。
最常见的LATCH竞争是LIBRARYCACHE、SHAREDPOOL、CACHEBUFFERCHAINS和CACHEBUFFERSLRUCHAINS。
前两者是关于SHAREDPOOL(SHARED_POOL_SIZE)的,后两者是SHAREDBUFFER(DB_BLOCK_BUFFERS)的
/* 显示系统范围内的latch统计信息*/
column name format A32 truncate heading "LATCH NAME" column pid heading "HOLDER PID"
select c.name,a.addr,a.gets,a.misses,a.sleeps,
a.immediate_gets,a.immediate_misses,b.pid from v$latch a, v$latchholder b, v$latchname c where
a.addr = b.laddr(+) and a.latch# = c.latch# order by a.latch#;
/* 给出一个latch 地址,查出相应的latch名称*/ column name format a64 heading 'Name'
select name from v$latchname a, v$latch b where
b.addr = '&addr' and b.latch#=a.latch#;
/* 显示latch统计信息*/
column name format a32 heading 'LATCH NAME' column pid heading 'HOLDER PID'
select c.name,a.addr,a.gets,a.misses,a.sleeps,a.immediate_gets, a.immediate_misses,b.pid from
v$latch a, v$latchholder b, v$latchname c where
a.addr = b.laddr(+) and a.latch# = c.latch# and c.name like '&latch_name%' order by a.latch#;
enqueue等待
Selecteq_type"lock",total_req#"gets",total_wait#"waits",cum_wait_timefromv$enqueue_statwheretotal_wait#>0;
等待事件
setlinesize200
columnusernamefora12
columnprogramfora30
columneventfora28
columnp1textfora15
columnp1for999,999,999,999,999
selects.username,s.program,sw.event,sw.p1text,sw.p1fromv$sessions,v$session_waitsw
wheres.sid=sw.sidands.status='ACTIVE'
orderbysw.p1;
selectevent,p1"File#",p2"Block#",p3"ReasonCode"fromv$session_wait
orderbyevent;
whereevent='bufferbusywaits';
selectowner,segment_name,segment_type,file_id,block_idfromdba_extents
wherefile_id=&P1and&P2betweenblock_idandblock_id+blocks-1;
columneventfora35;
columnp1textfora40;
selectsid,event,p1,p1textfromv$session_waitorderbyevent;
RAC全局等待事件
select*fromv$event_namewhereNAMElike'gc%'andWAIT_CLASS='Cluster';
数据文件IO
selectfs.namename,f.phyblkrdpbr,f.phyblkwrtpbw,f.phyblkrdpyr,f.readtim,f.writetim
fromv$filestatf,v$dbfilefs
wheref.file#=fs.file#orderby2,3,4desc;
表空间IO
selecttablespace_name,sum(f.phyblkrd)pbr,sum(f.phyblkwrt)pbw,sum(f.phyblkrd)pyr,sum(f.readtim),sum(f.writetim)
fromv$filestatf,dba_data_filesfs
wheref.file#=fs.file_id
groupbytablespace_name
orderby2,3,4desc;
长事务
setlinesize200
columnnamefora16
columnusernamefora10
selecta.name,b.xacts,c.sid,c.serial#,c.username,d.sql_text
fromv$rollnamea,v$rollstatb,v$sessionc,v$sqltextd,v$transactione
wherea.usn=b.usn
andb.usn=e.XIDUSN
andc.taddr=e.addr
andc.sql_address=d.ADDRESS
andc.sql_hash_value=d.hash_value
orderbya.name,c.sid,d.piece;
大事务
selectsid,serial#,to_char(start_time,'yyyy-mm-ddhh24:
mi:
ss')start_time,sofar,totalwork,(sofar/decode(totalwork,0,1,totalwork))*100ratio,messagefromv$session_longops
wheremessagelike'%RMAN%';
selectsid,serial#,to_char(start_time,'yyyy-mm-ddhh24:
mi:
ss')start_time,sofar,totalwork,(sofar/decode(totalwork,0,1,totalwork))*100ratio,messagefromv$session_longops
wheresofar<>totalwork;
where(sofar/totalwork)*100<100;
察看用户session数量
Selectcount(*)fromv$session;
如果session过多,察看select*fromv$session,察看是什么程序
察看用户session使用内存大小
SELECTusername,sess.sid,sum(trunc((value/1024)))MEM_USED
FROMv$sessionsess,v$sesstatstat,v$statnamename
WHEREsess.sid=stat.sid
ANDstat.statistic#=name.statistic#
ANDname.namein('sessionugamemory','sessionpgamemory')
groupbyusername,sess.sid
orderbymem_used
归档的生成频率
setlinesize120
columnbegin_timefora26
columnend_timefora26
selecta.recid,to_char(a.first_time,'yyyy-mm-ddhh24:
mi:
ss')begin_time,
b.recid,to_char(b.first_time,'yyyy-mm-ddhh24:
mi:
ss')end_time,
round((b.first_time-a.first_time)*24*60,2)minutes
fromv$log_historya,v$log_historyb
whereb.recid=a.recid+1;
缓冲区命中率
SELECT(1-(SUM(DECODE(NAME,'physicalreads',VALUE,0))/
(SUM(DECODE(NAME,'db
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle11gRAC 数据库 巡检 手册
![提示](https://static.bdocx.com/images/bang_tan.gif)