数据库日常维护指导手册.docx
《数据库日常维护指导手册.docx》由会员分享,可在线阅读,更多相关《数据库日常维护指导手册.docx(32页珍藏版)》请在冰豆网上搜索。
![数据库日常维护指导手册.docx](https://file1.bdocx.com/fileroot1/2023-2/7/19d1118a-026a-4efe-812d-e926701f4726/19d1118a-026a-4efe-812d-e926701f47261.gif)
数据库日常维护指导手册
目录
第一章MSWITCH系统数据库日常维护..................................................1
1.1检查数据库的基本状况........................................................................................1
1.2检查SOLARIS和ORACLE的日志文件.......................................................................6
1.3检查ORACLE对象的状态.....................................................................7
1.4检查ORACLE相关资源的使用情况...........................................................13
1.5数据库备份结果的检查.................................................................18
1.5.1没有采用带库备份的项目点................................................................18
1.5.2采用带库备份的项目点....................................................................20
第二章VAS系统数据库日程维护......................................................................30
2.1检查数据库的基本状况.........................................................................31
2.1.1检查Oracle的进程.......................................................................31
2.1.2检查Oracle监听进程.........................................................................32
2.1.3检查Oracle实例状态........................................................................33
2.2检查SOLARIS和ORACLE的日志文件......................................................35
2.2.1检查操作系统的日志文件....................................................................35
2.2.2检查关于root用户和Oracle用户的email.........................................35
2.2.3检查Oracle日志文件....................................................................36
2.2.4检查Oracle核心转储目录.........................................................36
2.3检查ORACLE对象的状态.............................................................37
2.3.1检查Oracle控制文件状态...................................................37
2.3.2检查Oracle在线日志状态........................................................37
2.3.3检查Oracle表空间的状态..........................................................38
2.3.4检查Oracle所有数据文件状态....................................................39
2.3.5检查Oracle所有表、索引、存储过程、触发器、包等对象的状态......................40
2.3.6检查Oracle所有回滚段的状态................................................40
2.4检查ORACLE相关资源的使用情况.........................................................42
2.4.1检查Oracle初始化文件中相关的参数值..........................................42
2.4.2检查Oracle各个表空间的增长情况...............................................44
2.4.3检查一些扩展异常的对象.............................................................45
客户成功,我们成功INGNORACLE数据库日常维护指导手册
2.4.4检查system表空间内的内容...........................................................45
2.4.5检查对象的下一扩展与表空间的最大扩展值.........................................................46
2.5数据库备份结果的检查...............................................................47
2.5.1检查热备份日志信息........................................................................47
2.5.2检查oracle用户的email............................................................................48
2.5.3检查backup卷中文件产生的时间.......................................................48
2.5.4检查磁带中的相关备份内容...........................................................48
第三章数据库备份相关硬件的维护....................................................................50
3.1带库硬件维护.......................................................50
3.1.1带库内部结构..........................................................50
3.1.2操作面板.......................................................................51
3.1.3驱动器.......................................................................................52
3.1.4日常维护...............................................................54
第四章参考文献............................................................56
第五章术语解释......................................................57
第六章命令解释....................................................................58
第七章附录..........................................................................59
7.1ORACLE数据库日常维护日志.............................................59
1.1检查数据库的基本状况
在本节中主要对数据库的基本状况进行检查,其中包含:
检查Oracle的服务进程,检查Oracle监听
程,检查Oracle实例状态,共三个部分。
1.检查Oracle的服务进程:
$ps–ef|grep“ora_”|grep–vgrep
oracle658610May15?
0:
00ora_pmon_ORCL
oracle659810May15?
0:
00ora_snp0_ORCL
oracle660010May15?
0:
00ora_snp1_ORCL
oracle659410May15?
0:
06ora_smon_ORCL
oracle660410May15?
0:
00ora_snp3_ORCL
oracle658810May15?
6:
50ora_dbw0_ORCL
oracle659010May15?
37:
48ora_lgwr_ORCL
oracle660210May15?
0:
00ora_snp2_ORCL
oracle660610May15?
5:
19ora_arc0_ORCL
oracle659210May15?
0:
45ora_ckpt_ORCL
oracle659610May15?
0:
01ora_reco_ORCL
…….
在检查Oracle的服务进程命令输出后,输出显示至少应包括以下一些进程:
Oracle写数据文件的进程,输出显示为:
ora_dbw0_ORCL。
Oracle写日志文件的进程,输出显示为:
ora_lgwr_ORCL。
Oracle监听实例状态的进程,输出显示为:
ora_smon_ORCL。
Oracle监听客户端连接进程状态的进程,输出显示为:
ora_pmon_ORCL。
Oracle进行归档的进程,输出显示为:
ora_arc0_ORCL。
Oracle进行检查点的进程,输出显示为:
ora_ckpt_ORCL。
Oracle进行恢复的进程,输出显示为:
ora_reco_ORCL。
上面所有的进程中ORCL是数据库的实例名,在mSwitch系统中必须为ORCL。
在一些特殊地方可能不是ORCL,这种情况允许但绝不推荐。
如果实例名不为ORCL,请注意后续检查操作都是以ORCL为实例名进行的。
2.检查Oracle监听进程:
$lsnrctlstatus
LSNRCTLforSolaris:
Version8.1.7.3.0-Productionon23-MAY-200313:
12:
09
(c)Copyright1998OracleCorporation.Allrightsreserved.
Connectingto
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ipasdb)(PORT=1521)))
STATUSoftheLISTENER
------------------------
AliasLISTENER
VersionTNSLSNRforSolaris:
Version8.1.7.3.0-Production
StartDate15-MAY-200322:
05:
58
Uptime7days15hr.6min.11sec
TraceLeveloff
SecurityOFF
SNMPOFF
ListenerParameterFile
/opt/oracle/db01/app/oracle/product/8.1.7/network/
admin/listener.ora
ListenerLogFile
/opt/oracle/db01/app/oracle/product/8.1.7/network/
log/listener.log
ServicesSummary...
ORCLhas1servicehandler(s)
在“ServicesSummary“项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中ORCL(实例名)这一项至少应该有一个。
3.检查Oracle实例状态:
$sqlplussystem/manager
sql>selectinstance_name,version,status,database_statusfromv$instance;
INSTANCE_NAMEVERSIONSTATUSDATABASE_STATUS
---------------------------------------------------------
ORCL8.1.7.3.0OPENACTIVE
其中STATUS表示Oracle当前的实例状态,必须为OPEN;DATABASE_STATUS表示Oracle当前数据库的状态,必须为ACTIVE。
sql>selectname,log_mode,open_modefromv$database;
sql>exit
NAMELOG_MODEOPEN_MODE
ORCLARCHIVELOGREADWRITE
其中LOG_MODE表示Oracle当前的归档方式。
ARCHIVELOG表示数据库运行在归档模式下,NOARCHIVELOG表示数据库运行在非归档模式下。
在mSwitch系统中数据库必须运行在归档方式下。
$svrmgrl
SVRMGR>connectinternal;
SVRMGR>archiveloglist;
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/opt/oracle/arch/ORCL
Oldestonlinelogsequence1
Nextlogsequencetoarchive2
Currentlogsequence2
Automaticarchival=Enabled表示归档进程是自动启动的。
我们系统要求归档进程必须自动启动,所以Automaticarchival必须为Enabled。
1.2检查Solaris和Oracle的日志文件
在本节主要检查相关的日志文件,包含:
检查操作系统的日志文件,检查关于Root用户和Oracle用户的email,检查Oracle日志文件,检查Oracle核心转储目录,总共四个部分。
1.检查操作系统的日志文件:
#cat/var/adm/messages|grep–ioracle
查看是否有与Oracle用户相关的出错信息
2.检查关于Root用户和Oracle用户的email:
#more/var/mail/root
#more/var/mail/oracle
查看有无与Oracle用户相关的出错信息。
3.检查Oracle日志文件:
$cat$ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep-iora-
$cat$ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep-ierr
$cat$ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep-ifail
查看有无最近的与ORA-,Error,Failed相关的出错信息。
客户成功,我们成功6NGNORACLE数据库日常维护指导手册
如:
ORA-07445:
exceptionencountered:
coredump[00000001015EF610][SIGSEGV][Addressnotmappedtoobject]这条错误信息表示Oracle的一个进程内存异常,而导致核心转储。
注:
在此没有穷举出所有的错误信息,详细的错误信息以及解释请参照参考文献中《Oracle8iErrormessages》PartNo.A76999-01一文。
4.检查Oracle核心转储目录:
$ls$ORACLE_BASE/admin/ORCL/cdump/*.trc|wc-l
$ls$ORACLE_BASE/admin/ORCL/udump/*.trc|wc–l
如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。
这说明某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。
频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。
1.3检查Oracle对象的状态
在本节主要检查相关Oracle对象的状态,包含:
检查Oracle控制文件状态,检查Oracle在线日志状态,检查Oracle表空间的状态,检查Oracle所有数据文件状态,检查Oracle所有表、索引、存储过程、触发器、包等对象的状态,检查Oracle所有回滚段的状态,总共六个部分。
1.检查Oracle控制文件状态:
$sqlplussystem/manager
sql>select*fromv$controlfile;
sql>exit
STATUSNAME
--------------------------------------------------------
客户成功,我们成功7NGNORACLE数据库日常维护指导手册
/opt/oracle/db02/oradata/ORCL/control01.ctl
/opt/oracle/db03/oradata/ORCL/control02.ctl
/opt/oracle/db04/oradata/ORCL/control03.ctl
输出结果应该有3条以上(包含3条)的记录,STATUS应该为空。
状态为空表示控制文件状态正常。
2.检查Oracle在线日志状态:
$sqlplussystem/manager
sql>select*fromv$logfile;
sql>exit
GROUP#STATUSMEMBER
----------------------------------------------
1/opt/oracle/db02/oradata/ORCL/redo01.log
2/opt/oracle/db03/oradata/ORCL/redo02.log
3/opt/oracle/db04/oradata/ORCL/redo03.log
输出结果应该有3条以上(包含3条)记录,STATUS应该为非INVALID,非DELETED。
注:
STATUS显示为空表示正常。
3.检查Oracle表空间的状态:
$sqlplussystem/manager
sql>selecttablespace_name,statusfromdba_tablespaces;
sql>exit
TABLESPACE_NAMESTATUS
---------------------------------------
SYSTEMSYSTEM
TOOLSONLINE
RBSONLINE
TEMPONLINE
USERSONLINE
INDXONLINE
DRSYSONLINE
WACOSONLINE
IPAS_SUB_DATAONLINE
IPAS_SUB_IDXONLINE
IPAS_USG_DATAONLINE
IPAS_USG_IDXONLINE
IPAS_ACCT_DATAONLINE
IPAS_ACCT_IDXONLINE
NMSONLINE
NMS_STAT_DATAONLINE
NMS_STAT_IDXONLINE
其中STATUS应该都为ONLINE,(除SYSTEM表空间的状态为SYSTEM)加深输出显示的部分为与mSwitch应用相关的表空间。
应用的表空间的名字可能会与应用的不同而不同,请根据现场情况来确定。
4.检查Oracle所有数据文件状态:
$sqlplussystem/manager
sql>selectname,statusfromv$datafile;
sql>exit
NAMESTATUS
--------------------------------------------------------------
/opt/oracle/db02/oradata/ORCL/system01.dbfONLINE
/opt/oracle/db02/oradata/ORCL/tools01.dbfONLINE
/opt/oracle/db02/oradata/ORCL/rbs01.dbfONLINE
/opt/oracle/db02/oradata/ORCL/temp01.dbfONLINE
/opt/oracle/db02/oradata/ORCL/users01.dbfONLINE
/opt/oracle/db02/oradata/ORCL/indx01.dbfONLINE
/opt/oracle/db02/oradata/ORCL/drsys01.dbfONLINE
/opt/oracle/wacos/oradata/ORCL/wacos01.dbfONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_sub_data01.dbfONLINE
/opt/oracle/w