整理Oracle11gRAC数据库巡检手册.docx

上传人:b****3 文档编号:24814322 上传时间:2023-06-01 格式:DOCX 页数:18 大小:33.69KB
下载 相关 举报
整理Oracle11gRAC数据库巡检手册.docx_第1页
第1页 / 共18页
整理Oracle11gRAC数据库巡检手册.docx_第2页
第2页 / 共18页
整理Oracle11gRAC数据库巡检手册.docx_第3页
第3页 / 共18页
整理Oracle11gRAC数据库巡检手册.docx_第4页
第4页 / 共18页
整理Oracle11gRAC数据库巡检手册.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

整理Oracle11gRAC数据库巡检手册.docx

《整理Oracle11gRAC数据库巡检手册.docx》由会员分享,可在线阅读,更多相关《整理Oracle11gRAC数据库巡检手册.docx(18页珍藏版)》请在冰豆网上搜索。

整理Oracle11gRAC数据库巡检手册.docx

整理Oracle11gRAC数据库巡检手册

Oracle11gRAC数据库巡检手册

编辑整理:

 

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(Oracle11gRAC数据库巡检手册)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为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/〈SID>/

运行情况

正常

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

数据库

su–oracle

sqlplus“/assysdba”

诊断结果及建议

DBstatus

数据库状态

selectstatusfromv$instance;

配置情况

Select*fromv$parameter;

运行情况

正常

使用资源情况

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;

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_hashvalue=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,察看是什么程序

归档的生成频率

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,’dbblockgets',VALUE,0))+

SUM(DECODE(NAME,’consistentgets',VALUE,0)))))*100

"缓冲区命中率”

FROMV$SYSSTAT;

重做日志命中率

SELECTname,gets,misses,immediate_gets,immediate_misses,

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

100-Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses))*100ratio2

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

低效SQL

SELECTEXECUTIONS,DISK_READS,BUFFER_GETS,

ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2)Hit_radio,

ROUND(DISK_READS/EXECUTIONS,2)Reads_per_run,

SQL_TEXT

FROMV$SQLAREA

WHEREEXECUTIONS〉0

ANDBUFFER_GETS>0

AND(BUFFER_GETS—DISK_READS)/BUFFER_GETS〈0。

8

ORDERBY4DESC;

TOPSQL

selectsql_text,buffer_gets,executions,buffer_gets/executions

fromv$sqlareawherebuffer_gets〉1000000orderby4desc;

临时表空间情况

SELECTse。

username用户名,

se。

sid,

se.serial#,

se.sql_address,

se。

machine,

se.program,

su.tablespace,

su。

blocks*8192/1024/1024"UsedSpace(M)”,

su.segtype,

su.contents

FROMv$sessionse,

v$sort_usagesu

WHEREse。

saddr=su.session_addr;

在线日志情况

SELECTB。

RECID,B。

FIRST_TIME,A。

FIRST_TIME,ROUND((A。

FIRST_TIME—B。

FIRST_TIME)*24*60,2)MINATES

FROMV$LOG_HISTORYA,V$LOG_HISTORYB

WHEREA.RECID=B.RECID+1ANDA.FIRST_TIME〉SYSDATE-20ANDROUND((A.FIRST_TIME—B.FIRST_TIME)*24*60,2)〈30

ORDERBYA。

FIRST_TIMEDESC;

无效索引

SELECTOWNER,INDEX_NAME,INDEX_TYPE,TABLE_NAME,STATUSFROMDBA_INDEXES

WHERESTATUS='UNUSABLE';

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1