admin 管理员组

文章数量: 887021


2024年1月15日发(作者:安装mysql出现microsoft)

. .

数据库巡检

X浩

数据库检测

硬件机型

是否集群

系统实际用户数

数据库进程

进入操作系统,登陆Oracle用户,命令:su - oracle

进入操作系统,登陆Oracle用户

进程情况 命令:ps -ef|grep ora_

Oracle 10g 后台进程

SMON(System Monitor)用于执行历程恢复、合并空间碎片并释放临时段。

PMON(Process Monitor)用于监视效劳器进程的执行,摒弃在效劳器进程失败时去除该效劳器进程。

DBWR(Database Writer)用于将数据库缓存的脏缓冲区数据写入到数据文件中。

LGWR(Log Writer)用于将重做日志缓冲区所记载的全部内容写入到充作日志文件中。

CKPT(Checkpoint Process)用于发出检查点(Checkpoint),检查点会同步数据库的数据文件、控制文件和重做日志,当发出检查点时,后台进程CKPT将检查点时刻的S(System Change Number)写入到控制文件和数据文件头部,同时促使后台进程DBWR将所有脏缓冲区写入到数据文件中。

ARCH(Archive Process)用于将重做日志的事物变化复制到归档日志中,该后台进程只有在archivelog模式下才有意义。

Oracle 11g新增的后台进程

DBRM

说明: 数据库资源管理进程(The database resource manager process),负责设置资源方案和其他的资源管理的工作.

DIAG

说明: 数据库诊断进程(The diagnosibility process),负责维护管理各种用于诊断的转储文件,并执行oradebug命令。

DIA0

说明: 另一个数据库诊断进程,负责检测Oracle数据库中的挂起(hang)和死锁的处理。

. v .

HP DL580 G7

10

Process

说明

. .

PSP0

说明: process spawner,用于产生oracle进程

SMCO

说明: space management coordinator,该进程负责空间管理协调管理工作,负责执行空间的分配和回收。

Wnnn

说明: 命名为W000,W001,,由smcO动态产生执行上述相关任务。

VKTM

说明: virtual keeper of time,用于提供wall-clock time,〔每秒钟更新一次〕。提供每二十毫秒更新一次的

reference-time counter,看起来有点类似计时器的功能。

GMON

说明: 用于维护asm磁盘组的磁盘之间的关系。

KATE

说明: 当ASM的磁盘离线的时候,该进程负责asm的元文件的io读写。

MARK

说明: 如果有向asm离线磁盘的missed 写请求,该进程将ASM分配的单元的状态标记为stale

FBDA

说明: 涉及到flashback-data-archive新特性的一个进程,The flashback data

archiver proces。用于将"轨表"(tracked

tables)的历史数据进展归档。当"轨表"上的事务提交以后,fbda进程负责将数据的前镜像保存到flashback archive区域。

该进程还负责flashback的数据归档的空间管理、分配、保存,跟踪tracked

transactions。

什么是"轨表"(tracked tables): 是指启用了flashback archive特性的表。

RMSn

说明: The Oracle RAC management processes,负责执行Oracle RAC的管理任务,比方RAC相关资源的创立和集群中新实例的

添加。

DSKM

说明: The slave diskmon process , 负责oracle 实例、asm实例和磁盘的管理进程之间的io fencing 信息的交换。如果

使用SAGE的存储,该进程还负责SAGE存储的一些信息的管理。

RAC 进程

GSD global services daemon 全局效劳守护进程

lock process(LCK) 锁管理进程

DIAG:DIAGNOSABILITY DAEMON 失败进程的诊断信息捕获进程

Operating System-Dependent(OSD) 操作系统资源进程

LMS - Gobal Cache Service Process 全局缓存效劳进程

LMD - Global Enqueue Service Daemon全局查询效劳守护进程

LMON-Global Enqueue Service Monitor全局查询效劳监视进程

LCK0 - Instance Enqueue Process 实例查询进程

进程状态

. v .

. .

Space 使用情况

df -h

命令:lsnrctl status

配置正常

监听状态

Listener

运行情况

查看日志

配置情况

Tnsname 运行情况

查看状态

配置情况

Alert

运行情况

效劳运行情况

CRS

资源运行情况

OCR

Voting

运行情况

Disk

运行情况

crs_stat -t | grep asm

* su - grid

$ asmcmd

ASMCMD> ls

DATA/

ORA_DATA/

ASMCMD> lsdg ora_data

crs_stat –t

用来查看RAC中各节点上resources的运行状况,Resources的属性等

命令:sqlplus "/as sysdba〞

命令:

More /u01/app/oracle/product/11.2.0/db_1/network/log/

有错误才有日志

标准配置

位置:/u01/app/oracle/product/11.2.0/db_1/network/admin

正常

Tnsping tnsname(数据库实例名)

标准配置

/u01/app/oracle/diag/rdbms///trace/alert_

正常

More alert_

crsctl check crs

检查crs的XX情况

运行情况

ocrcheck

验证OCR的状态以及空间使用情况

crsctl query css votedisk

Votingdisk 状态查询

ASM

使用情况

数据库

su – oracle

sqlplus "/as sysdba〞

. v .

. .

数据库状态

配置情况

DBstatus

运行情况

使用资源情况

ASM 使用情况

数据文件状态

控制文件DBfile

状态

日志文件状态

诊断结果及建议

select status from v$instance;

Select * from v$parameter;

正常

select * from v$resource_limit;

select group_number,name,total_mb,free_mb from v$asm_diskgroup;

select name,status from v$datafile;

select status,name from v$controlfile;

select group*,members,archived,status from v$log;

. v .

. .

表空间使用率

set pagesize 50

column "Tablespace" format a13

column "UsedMB" format 99,999,999

column "FreeMB" format 99,999,999

column "Total MB" format 99,999,999

select

pace_name "Tablespace",

(pace - ace) "Used MB",

ace "FreeMB",

pace "Total MB",

round(100 * (ace / pace)) "Pct Free"

from

(select

tablespace_name,

round(sum(bytes)/1048576) TotalSpace

from

dba_data_files

group by

tablespace_name

) df,

(select

tablespace_name,

round(sum(bytes)/1048576) FreeSpace

from

dba_free_space

group by

tablespace_name

) fs

where pace_name=pace_name

order by "Pct Free"

/

正常

select count(*) from v$session where status='ACTIVE';

select

*,*,,,,ED,

from v$logfile a,v$log b where *=*;

运行情况

Sessions 并发数

使用情况

Redo

Performan配置情况

. v .

. .

ce 观察数据库锁表

锁表有时候是瞬间的,长时间锁定的表才可能是死锁。

select l.*, , , _NAME

from gv$locked_object l, gv_$session s, all_objects o

where N_ID=

and _ID=_ID

set linesize 200

column oracle_username for a16

column os_user_name for a12

column object_name for a30

SELECT , _id,_username,_user_name,s,

n_id,*, _mode,_name

FROM v$locked_object l,dba_objects o,v$session s

where _id = _id and = n_id;

select

me||' '||||' '||*||' '||_time||' '||_text

from v$locked_object t1,v$session t2,v$sqltext t3

where n_id=

and _address=s

order by _time;

Selecteq_type"lock",total_req* "gets",total_wait* "waits",cum_wait_time from

v$enqueue_stat where total_wait*>0;

set linesize 200

column username for a12

column program for a30

column event for a28

column p1text for a15

column p1 for 999,999,999,999,999

select me,m,,sw.p1text,sw.p1 from v$session

s,v$session_wait sw

where = and ='ACTIVE'

order by sw.p1;

select event,p1 "File *",p2 "Block *",p3 "Reason Code" from v$session_wait

order by event;

where event = 'buffer busy waits';

select owner,segment_name,segment_type,file_id,block_id from dba_extents

where file_id = &P1 and &P2 between block_id and block_id + blocks -1;

column event for a35;

column p1text for a40;

select sid,event,p1,p1text from v$session_wait order by event;

死锁

enqueue等待

等待事件

. v .

. .

RAC全局等待事件

数据文件IO

表空间IO

select name,rd pbr,wrt

pyr,m,im

from v$filestat f, v$dbfile fs

where * = * order by 2,3,4 desc;

select tablespace_name,sum(rd)

pbw,sum(rd) pyr,sum(m),sum(im)

from v$filestat f, dba_data_files fs

where * = _id

group by tablespace_name

order by 2,3,4 desc;

pbw,rd

select * from v$event_name

WAIT_CLASS='Cluster';

where NAME like 'gc%' and

pbr,sum(wrt)

长事务

set linesize 200

column name for a16

column username for a10

select ,,,*,me,_text

from v$rollname a,v$rollstat b,v$session c,v$sqltext d,v$transaction e

where =

and =

and =

and _address=S

and _hashvalue=_value

order by ,,;

select sid,serial*,to_char(start_time,'yyyy-mm-dd hh24:mi:ss')

start_time,sofar,totalwork,(sofar/decode(totalwork,0,1,totalwork))*100

ratio,message from v$session_longops

where message like '%RMAN%';

select sid,serial*,to_char(start_time,'yyyy-mm-dd hh24:mi:ss')

start_time,sofar,totalwork,(sofar/decode(totalwork,0,1,totalwork))*100

ratio,message from v$session_longops

where sofar <> totalwork;

where (sofar/totalwork)*100 < 100;

大事务

观察用户session数量

Select count(*) from v$session;

如果session过多,观察select * from v$session,观察是什么程序

. v .

. .

归档的生成频率

set linesize 120

column begin_time for a26

column end_time for a26

select ,to_char(_time,'yyyy-mm-dd hh24:mi:ss') begin_time,

,to_char(_time,'yyyy-mm-dd hh24:mi:ss') end_time,

round((_time - _time)*24*60,2) minutes

from v$log_history a,v$log_history b

where = +1;

SELECT (1 - (SUM(DECODE(NAME, 'physical reads', VALUE, 0)) /

(SUM(DECODE(NAME, 'db block gets', VALUE, 0)) +

SUM(DECODE(NAME, 'consistent gets', VALUE, 0))))) * 100

"缓冲区命中率"

FROM V$SYSSTAT;

SELECT name, gets, misses, immediate_gets, immediate_misses,

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

100 -

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

FROM v$latch WHERE name IN ('redo allocation', 'redo copy');

SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,

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

ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,

SQL_TEXT

FROM V$SQLAREA

WHERE EXECUTIONS>0

AND BUFFER_GETS > 0

AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8

ORDER BY 4 DESC;

select sql_text,buffer_gets,executions,buffer_gets/executions

from v$sqlarea where buffer_gets>1000000 order by 4 desc;

SELECT me 用户名,

,

*,

_address,

e,

m,

pace,

*8192/1024/1024 "Used Space(M)",

e,

ts

FROM v$session se,

v$sort_usage su

WHERE =n_addr;

缓冲区命中率

重做日志命中率

低效SQL

TOP SQL

临时表空间情况

. v .

. .

在线日志情况

SELECT

,_TIME,_TIME,ROUND((__TIME)*24*60,2) MINATES

FROM V$LOG_HISTORY A,V$LOG_HISTORY B

WHERE = +1 AND _TIME>SYSDATE - 20

AND ROUND((__TIME)*24*60,2)<30

ORDER BY _TIME DESC;

SELECT

OWNER,INDEX_NAME,INDEX_TYPE,TABLE_NAME,STATUS

FROM DBA_INDEXES

WHERE STATUS = 'UNUSABLE';

无效索引

. v .


本文标签: 进程 负责 日志 情况 数据库