管理驾驶舱项目Oracle数据库日常维护手册V10.docx
- 文档编号:9396607
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:33
- 大小:30.03KB
管理驾驶舱项目Oracle数据库日常维护手册V10.docx
《管理驾驶舱项目Oracle数据库日常维护手册V10.docx》由会员分享,可在线阅读,更多相关《管理驾驶舱项目Oracle数据库日常维护手册V10.docx(33页珍藏版)》请在冰豆网上搜索。
管理驾驶舱项目Oracle数据库日常维护手册V10
密级:
保密
编号:
Oracle11g数据库
日常维护手册
日期:
编写:
核对:
更新:
目录
1.检查数据库基本状况3
1.1.检查Oracle实例状态3
1.2.检查Oracle服务进程3
1.3.检查Oracle监听状态3
2.检查系统和oracle日志文件3
2.1.检查操作系统日志文件3
2.2.检查oracle日志文件3
2.3.检查Oracle核心转储目录3
2.4.检查Root用户和Oracle用户的email3
3.检查Oracle对象状态3
3.1.检查Oracle控制文件状态3
3.2.检查Oracle在线日志状态3
3.3.检查Oracle表空间的状态3
3.4.检查Oracle所有数据文件状态3
3.5.检查无效对象3
3.6.检查所有回滚段状态3
4.检查Oracle相关资源的使用情况3
4.1.检查Oracle初始化文件中相关参数值3
4.2.检查数据库连接情况3
4.3.检查系统磁盘空间3
4.4.检查表空间使用情况3
4.5.检查一些扩展异常的对象3
4.6.检查system表空间内的内容3
4.7.检查对象的下一扩展与表空间的最大扩展值3
5.检查Oracle数据库备份结果3
5.1.检查数据库备份日志信息3
5.2.检查backup卷中文件产生的时间3
5.3.检查oracle用户的email3
6.检查Oracle数据库性能3
6.1.检查数据库的等待事件3
6.2.DiskRead最高的SQL语句的获取3
6.3.查找前十条性能差的sql3
6.4.等待时间最多的5个系统等待事件的获取3
6.5.检查运行很久的SQL3
6.6.检查消耗CPU最高的进程3
6.7.检查碎片程度高的表3
6.8.检查表空间的I/O比例3
6.9.检查文件系统的I/O比例3
6.10.检查死锁及处理3
6.11.检查数据库cpu、I/O、内存性能3
6.12.查看是否有僵死进程3
6.13.检查行链接/迁移3
6.14.定期做统计分析3
6.15.检查缓冲区命中率3
6.16.检查共享池命中率3
6.17.检查排序区3
6.18.检查日志缓冲区3
7.检查数据库安全性3
7.1.检查系统安全日志信息3
7.2.检查用户修改密码3
8.其他检查3
8.1.检查当前crontab任务是否正常3
8.2.OracleJob是否有失败3
8.3.监控数据量的增长情况3
8.4.检查失效的索引3
8.5.检查不起作用的约束3
8.6.检查无效的trigger3
巡检内容
检查数据库基本状况
在本节中主要对数据库的基本状况进行检查,其中包含:
检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分。
检查Oracle实例状态
SQL>selectinstance_name,host_name,startup_time,status,database_statusfromv$instance;
INSTANCE_NAMEHOST_NAMESTARTUP_TIMESTATUSDATABASE_STATUS
---------------------------------------------------------------------------------
smdasdbsmdasdb2013/11/813:
51:
17OPENACTIVE
其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
SQL>selectname,log_mode,open_modefromv$database;
NAMELOG_MODEOPEN_MODE
--------------------------------------
SMDASDBNOARCHIVELOGREADWRITE
其中“LOG_MODE”表示Oracle当前的归档方式。
“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。
检查Oracle服务进程
$ps-ef|grepora_|grep-vgrep&&ps-ef|grepora_|grep-vgrep|wc–l
oracle448102013?
00:
12:
53ora_pmon_smdasdb
oracle450102013?
00:
00:
30ora_psp0_smdasdb
oracle452102013?
00:
00:
05ora_vktm_smdasdb
oracle456102013?
00:
00:
00ora_gen0_smdasdb
oracle458102013?
00:
00:
01ora_diag_smdasdb
oracle460102013?
00:
00:
01ora_dbrm_smdasdb
oracle462102013?
01:
58:
28ora_dia0_smdasdb
oracle464102013?
00:
00:
02ora_mman_smdasdb
oracle472102013?
01:
00:
11ora_dbw0_smdasdb
oracle475102013?
00:
44:
08ora_lgwr_smdasdb
oracle477102013?
00:
09:
41ora_ckpt_smdasdb
oracle479102013?
00:
16:
12ora_smon_smdasdb
oracle481102013?
00:
00:
00ora_reco_smdasdb
oracle483102013?
00:
18:
51ora_mmon_smdasdb
oracle485102013?
00:
20:
56ora_mmnl_smdasdb
oracle487102013?
00:
00:
00ora_d000_smdasdb
oracle489102013?
00:
00:
00ora_s000_smdasdb
oracle509102013?
00:
00:
00ora_qmnc_smdasdb
oracle528102013?
00:
08:
15ora_cjq0_smdasdb
oracle545102013?
00:
00:
00ora_q000_smdasdb
oracle547102013?
00:
00:
00ora_q001_smdasdb
oracle22071014:
13?
00:
00:
00ora_w004_smdasdb
oracle76081014:
13?
00:
00:
00ora_w005_smdasdb
oracle80521014:
13?
00:
00:
00ora_w006_smdasdb
oracle101361014:
13?
00:
00:
00ora_w007_smdasdb
oracle122711014:
13?
00:
00:
00ora_w008_smdasdb
oracle12806102013?
00:
00:
13ora_smco_smdasdb
oracle175601014:
05?
00:
00:
00ora_w001_smdasdb
oracle188981014:
05?
00:
00:
00ora_w002_smdasdb
oracle202811014:
05?
00:
00:
00ora_w003_smdasdb
oracle240611014:
08?
00:
00:
01ora_p000_smdasdb
oracle240631014:
08?
00:
00:
01ora_p001_smdasdb
oracle240651014:
08?
00:
00:
01ora_p002_smdasdb
oracle240671014:
08?
00:
00:
01ora_p003_smdasdb
oracle242151013:
55?
00:
00:
00ora_w000_smdasdb
在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:
.Oracle写数据文件的进程,输出显示为:
“ora_dbw0_smdasdb”
.Oracle写日志文件的进程,输出显示为:
“ora_lgwr_smdasdb”
.Oracle监听实例状态的进程,输出显示为:
“ora_smon_smdasdb”
.Oracle监听客户端连接进程状态的进程,输出显示为:
“ora_pmon_smdasdb”
.Oracle进行归档的进程,输出显示为:
“ora_arc0_smdasdb”
.Oracle进行检查点的进程,输出显示为:
“ora_ckpt_smdasdb”
.Oracle进行恢复的进程,输出显示为:
“ora_reco_smdasdb”
检查Oracle监听状态
smda@smdasdb:
/home/ap/smda>lsnrctlstatus
LSNRCTLforLinux:
Version11.2.0.3.0-Productionon15-JAN-201414:
16:
51
Copyright(c)1991,2011,Oracle.Allrightsreserved.
Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUSoftheLISTENER
------------------------
AliasLISTENER
VersionTNSLSNRforLinux:
Version11.2.0.3.0-Production
StartDate08-NOV-201313:
51:
43
Uptime68days0hr.25min.8sec
TraceLeveloff
SecurityON:
LocalOSAuthentication
SNMPOFF
ListenerParameterFile/home/db/oracle/product/11.2.0/network/admin/listener.ora
ListenerLogFile/home/db/oracle/diag/tnslsnr/smdasdb/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=smdasdb)(PORT=1521)))
ServicesSummary...
Service"PLSExtProc"has1instance(s).
Instance"PLSExtProc",statusUNKNOWN,has1handler(s)forthisservice...
Service"smdasdb"has2instance(s).
Instance"smdasdb",statusUNKNOWN,has1handler(s)forthisservice...
Instance"smdasdb",statusREADY,has1handler(s)forthisservice...
Service"smdasdbXDB"has1instance(s).
Instance"smdasdb",statusREADY,has1handler(s)forthisservice...
Thecommandcompletedsuccessfully
“ServicesSummary”项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中至少应该有“smdasdb”这一项。
检查监听进程是否存在:
smda@smdasdb:
/home/ap/smda>ps-ef|greplsn|grep-vgrep
oracle557102013?
02:
08:
50/home/db/oracle/product/11.2.0/bin/tnslsnrLISTENER-inherit
检查系统和oracle日志文件
在本节主要检查相关的日志文件,包含:
检查操作系统的日志文件,检查Oracle日志文件,检查Oracle核心转储目录,总共两个部分。
检查操作系统日志文件
#cat/var/log/messages|grepfailed
查看是否有与Oracle用户相关的出错信息。
检查oracle日志文件
smda@smdasdb:
/home/db/oracle/diag/rdbms/smdasdb/smdasdb/trace>catalert_smdasdb.log|grepora_
smda@smdasdb:
/home/db/oracle/diag/rdbms/smdasdb/smdasdb/alert>catlog.xml|greperr
Oracle在运行过程中,会在警告日志文件(alert_smdasdb.log)中记录数据库的一些运行情况:
数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)等。
定期检查日志文件,根据日志中发现的问题及时进行处理:
问题
处理
启动参数不对
检查初始化参数文件
因为检查点操作或归档操作没有完成造成重做日志不能切换
如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;
有人XX删除了表空间
检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限
出现坏块
检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建
表空间不够
增加数据文件到相应的表空间
出现ORA-600
根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁
Listener日志:
$ORACLE_HOME/network/log
检查Oracle核心转储目录
smda@smdasdb:
/home/db/oracle/diag/rdbms/smdasdb/smdasdb/cdump>ls*.trc|wc-l
如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。
这说明某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。
频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。
检查Oracle对象状态
在本节主要检查相关Oracle对象的状态,包含:
检查Oracle控制文件状态,检查Oracle在线日志状态,检查Oracle表空间的状态,检查Oracle所有数据文件状态,检查Oracle所有表、索引、存储过程、触发器、包等对象的状态,检查Oracle所有回滚段的状态,总共六个部分。
检查Oracle控制文件状态
SQL>selectstatus,namefromv$controlfile;
STATUSNAME
---------------------------------------------------------------------------------------
/home/db/oracle/oradata/smdasdb/sys/control01.ctl
/home/db/oracle/oradata/smdasdb/sys/control02.ctl
输出结果应该有2条以上(包含2条)的记录,“STATUS”应该为空。
状态为空表示控制文件状态正常。
检查Oracle在线日志状态
SQL>selectgroup#,status,type,memberfromv$logfile;
GROUP#STATUSTYPEMEMBER
-----------------------------------
3ONLINE/home/db/oracle/oradata/smdasdb/redo1/redo3_01.log
3ONLINE/home/db/oracle/oradata/smdasdb/redo2/redo3_02.log
2ONLINE/home/db/oracle/oradata/smdasdb/redo1/redo2_01.log
2ONLINE/home/db/oracle/oradata/smdasdb/redo2/redo2_02.log
1ONLINE/home/db/oracle/oradata/smdasdb/redo1/redo1_01.log
1ONLINE/home/db/oracle/oradata/smdasdb/redo2/redo1_02.log
输出结果应该有3条以上(包含3条)记录,“STATUS”应该为非“INVALID”,非“DELETED”。
注:
“STATUS”显示为空表示正常。
检查Oracle表空间的状态
SQL>selecttablespace_name,statusfromdba_tablespaces;
TABLESPACE_NAMESTATUS
---------------------------------------------------------------
TMP_DATA_01ONLINE
TMP_DATA_02ONLINE
TMP_DATA_03ONLINE
TMP_DATA_04ONLINE
TMP_DATA_05ONLINE
TMP_DATA_06ONLINE
TMP_DATA_07ONLINE
TMP_DATA_08ONLINE
UNDOTBS1ONLINE
USERSONLINE
。
。
。
。
。
。
。
输出结果中STATUS应该都为ONLINE。
检查Oracle所有数据文件状态
SQL>selectname,statusfromv$datafile;
NAMESTATUS
/home/db/oracle/oradata/smdasdb/syssystem01.dbfSYSTEM
/home/db/oracle/oradata/smdasdb/syssysaux01.dbfONLINE
/home/db/oracle/oradata/smdasdb/undo1undotbs01.dbfONLINE
/home/db/oracle/oradata/smdasdb/sysusers01.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/appdata01.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data01_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data02_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data03_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data04_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata_01.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data05_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata01_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data06_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata02_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data07_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata03_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/appdata/app_data08_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata04_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/tmpdata/tmpdata_01ONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata05_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/tmpdata/tmpdata01_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata06_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/tmpdata/tmpdata02_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/funddata/funddata07_1.dbfONLINE
/home/db/oracle/oradata/smdasdb/tmpdata/tmpdata03_1.dbfONLINE
/home/db/oracle/oradata/s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 驾驶舱 项目 Oracle 数据库 日常 维护 手册 V10