数据库日常维护指导手册

作者在 2008-06-16 23:20:06 发布以下内容

目 录

第一章 MSWITCH系统数据库日常维护..................................................1

1.1 检查数据库的基本状况........................................................................................1

1.2 检查SOLARISORACLE的日志文件.......................................................................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 检查SOLARISORACLE的日志文件......................................................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

客户成功,我们成功 I NGN ORACLE数据库日常维护指导手册

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.1 ORACLE数据库日常维护日志.............................................59

1.1 检查数据库的基本状况
在本节中主要对数据库的基本状况进行检查,其中包含:检查Oracle的服务进程,检查Oracle监听
程,检查
Oracle实例状态,共三个部分。


1. 检查Oracle的服务进程:

$ps ef|grep ora_|grep v grep

oracle 6586 1 0 May 15 ? 0:00 ora_pmon_ORCL

oracle 6598 1 0 May 15 ? 0:00 ora_snp0_ORCL

oracle 6600 1 0 May 15 ? 0:00 ora_snp1_ORCL

oracle 6594 1 0 May 15 ? 0:06 ora_smon_ORCL

oracle 6604 1 0 May 15 ? 0:00 ora_snp3_ORCL

oracle 6588 1 0 May 15 ? 6:50 ora_dbw0_ORCL

oracle 6590 1 0 May 15 ? 37:48 ora_lgwr_ORCL

oracle 6602 1 0 May 15 ? 0:00 ora_snp2_ORCL

oracle 6606 1 0 May 15 ? 5:19 ora_arc0_ORCL

oracle 6592 1 0 May 15 ? 0:45 ora_ckpt_ORCL

oracle 6596 1 0 May 15 ? 0:01 ora_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监听进程:

$lsnrctl status

LSNRCTL for Solaris: Version 8.1.7.3.0 - Production on 23-MAY-2003 13:12:09

(c) Copyright 1998 Oracle Corporation. All rights reserved.

Connecting to

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ipasdb)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Solaris: Version 8.1.7.3.0 - Production

Start Date 15-MAY-2003 22:05:58

Uptime 7 days 15 hr. 6 min. 11 sec

Trace Level off

Security OFF

SNMP OFF

Listener Parameter File

/opt/oracle/db01/app/oracle/product/8.1.7/network/

admin/listener.ora

Listener Log File

/opt/oracle/db01/app/oracle/product/8.1.7/network/

log/listener.log

Services Summary...

ORCL has 1 service handler(s)

Services Summary项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中ORCL(实例名)这一项至少应该有一个。

3. 检查Oracle实例状态:

$sqlplus system/manager

sql>select instance_name,version,status,database_status from v$instance;

INSTANCE_NAME VERSION STATUS DATABASE_STATUS

---------------- ----------------- ------- -----------------

ORCL 8.1.7.3.0 OPEN ACTIVE

其中STATUS表示Oracle当前的实例状态,必须为OPENDATABASE_STATUS表示Oracle当前数据库的状态,必须为ACTIVE

sql>select name,log_mode,open_mode from v$database;
sql>exit
NAME LOG_MODE OPEN_MODE
ORCL ARCHIVELOG READ WRITE
其中LOG_MODE表示Oracle当前的归档方式。ARCHIVELOG表示数据库运行在归档模式下,NOARCHIVELOG表示数据库运行在非归档模式下。在mSwitch系统中数据库必须运行在归档方式下。
$svrmgrl
SVRMGR> connect internal;
SVRMGR>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /opt/oracle/arch/ORCL
Oldest online log sequence 1
Next log sequence to archive 2
Current log sequence 2
Automatic archival=Enabled表示归档进程是自动启动的。我们系统要求归档进程必须自动启动,所以Automatic archival必须为Enabled。

1.2 检查Solaris和Oracle的日志文件

在本节主要检查相关的日志文件,包含:检查操作系统的日志文件,检查关于Root用户和Oracle用户的email,检查Oracle日志文件,检查Oracle核心转储目录,总共四个部分。
1. 检查操作系统的日志文件:

#cat /var/adm/messages|grep –i oracle
查看是否有与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 -i ora-
$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i err
$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i fail
查看有无最近的与ORA-,Error,Failed相关的出错信息。
客户成功,我们成功 6 NGN ORACLE数据库日常维护指导手册
如:ORA-07445: exception encountered: core dump [00000001015EF610] [SIGSEGV] [Address not mapped to object]这条错误信息表示Oracle的一个进程内存异常,而导致核心转储。
注:在此没有穷举出所有的错误信息,详细的错误信息以及解释请参照参考文献中《Oracle 8i Error messages》Part No. 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控制文件状态:

$sqlplus system/manager
sql>select * from v$controlfile;
sql>exit
STATUS NAME
--------------------------------------------------------
客户成功,我们成功 7 NGN ORACLE数据库日常维护指导手册
/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在线日志状态:

$sqlplus system/manager
sql>select * from v$logfile;
sql>exit
GROUP# STATUS MEMBER
----------------------------------------------
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表空间的状态:

$sqlplus system/manager
sql>select tablespace_name,status from dba_tablespaces;

sql>exit
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM SYSTEM
TOOLS ONLINE
RBS ONLINE
TEMP ONLINE
USERS ONLINE
INDX ONLINE
DRSYS ONLINE
WACOS ONLINE
IPAS_SUB_DATA ONLINE
IPAS_SUB_IDX ONLINE
IPAS_USG_DATA ONLINE
IPAS_USG_IDX ONLINE
IPAS_ACCT_DATA ONLINE
IPAS_ACCT_IDX ONLINE
NMS ONLINE
NMS_STAT_DATA ONLINE
NMS_STAT_IDX ONLINE
其中STATUS应该都为ONLINE,(除SYSTEM表空间的状态为SYSTEM)加深输出显示的部分为与mSwitch应用相关的表空间。应用的表空间的名字可能会与应用的不同而不同,请根据现场情况来确定。
4. 检查Oracle所有数据文件状态:

$sqlplus system/manager
sql>select name,status from v$datafile;
sql>exit
NAME STATUS
--------------------------------------------------------------
/opt/oracle/db02/oradata/ORCL/system01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/tools01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/rbs01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/temp01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/users01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/indx01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/drsys01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/wacos01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_sub_data01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_sub_idx01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_usg_data01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_usg_idx01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_acct_data01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_acct_idx01.dbf ONLINE
/opt/oracle/nms/oradata/ORCL/nms01.dbf ONLINE
/opt/oracle/nms/oradata/ORCL/nms_stat_data01.dbf ONLINE
/opt/oracle/nms/oradata/ORCL/nms_stat_idx01.dbf ONLINE
/opt/oracle/nms/oradata/ORCL/sa01.dbf ONLINE
/opt/oracle/nms/oradata/ORCL/fs01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_usg_data02.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/ipas_usg_idx02.dbf ONLINE
客户成功,我们成功 10 NGN ORACLE数据库日常维护指导手册
输出结果中STATUS应该都为ONLINE,数据文件的名字、大小、个数可能会不同请根据现场的实际情况来确定。
5. 检查Oracle所有表、索引、存储过程、触发器、包等对象的状态:

$sqlplus system/manager
sql>select owner,object_name,object_type
from dba_objects where status!='VALID'
and owner!='SYS' and owner!='SYSTEM';
sql>exit
no rows selected
如果有记录返回,则说明存在无效的对象。如果这些对象的owner为NMS、WACOS、COMMON、WACOSSM说明这些对象是与mSwitch应用相关的。请首先以sys用户登录sqlplus,执行$ORACLE_HOME/rdbms/admin/utlrp.sql来重新编译这些对象。编译后再执行上述语句来检查,如果仍有输出,请联系杭州Call log寻求技术支持。
6. 检查Oracle所有回滚段的状态:

$sqlplus system/manager
sql>select segment_name,status from dba_rollback_segs;
sql>exit
SEGMENT_NAME STATUS
------------------------------ ----------------
SYSTEM ONLINE

RBS0 ONLINE
RBS1 ONLINE
RBS2 ONLINE
RBS3 ONLINE
RBS4 ONLINE
RBS5 ONLINE
RBS6 ONLINE
RBS7 ONLINE
RBS8 ONLINE
RBS9 ONLINE
RBS10 ONLINE
RBS11 ONLINE
RBS12 ONLINE
RBS13 ONLINE
RBS14 ONLINE
RBS15 ONLINE
RBS16 ONLINE
RBS17 ONLINE
RBS18 ONLINE
RBS19 ONLINE
RBS20 ONLINE
RBS21 ONLINE
RBS22 ONLINE
RBS23 ONLINE
RBS24 ONLINE
RBS25 ONLINE
RBS26 ONLINE
RBS27 ONLINE
RBS28 ONLINE
APPRBS ONLINE
31 rows selected.
客户成功,我们成功 12 NGN ORACLE数据库日常维护指导手册
输出结果中除了APPRBS回滚段以外的所有回滚段的STATUS应该为ONLINE。对于APPRBS回滚段状态是随着相关应用程序的改变而改变的。

1.4 检查Oracle相关资源的使用情况

在本节主要检查Oracle相关资源的使用情况,包含:检查Oracle初始化文件中相关的参数值,检查Oracle各个表空间的增长情况,检查一些扩展异常的对象,检查system表空间内的内容,检查对象的下一扩展与表空间的最大扩展值,总共五个部分。
1. 检查Oracle初始化文件中相关的参数值:

$sqlplus system/manager
sql>select resource_name,max_utilization,initial_allocation,
limit_value from v$resource_limit;
sql>exit
RESOURCE_NAME MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------- --------------- ---------- ----------
processes 157 300 300
sessions 158 335 335
enqueue_locks 76 4180 4180
enqueue_resources 81 1692 1692
_lm_procs 0 0 0
lm_ress 0 0 UNLIMITED
lm_locks 0 0 UNLIMITED
lm_cache_ress 0 0 UNLIMITED
dml_locks 61 1472 1472
temporary_table_locks 1 UNLIMITED UNLIMITED

transactions 14 368 368
sort_segment_locks 1 UNLIMITED UNLIMITED
max_rollback_segments 31 74 74
distributed_transactions 0 10 10
mts_max_servers 0 20 20
parallel_max_servers 0 6 6
16 rows selected.
若LIMIT_VALU-MAX_UTILIZATIONselect
A.tablespace_name,(1-(A.total)/B.total)*100 used_percent
from
(select tablespace_name,sum(bytes) total
from dba_free_space group by tablespace_name) A,
(select tablespace_name,sum(bytes) total
from dba_data_files group by tablespace_name) B
where A.tablespace_name=B.tablespace_name;
sql>exit

TABLESPACE_NAME USED_PERCENT
------------------------------ ------------
DRSYS 30.7578125
FS .19375
INDX .00390625
IPAS_ACCT_DATA 1.2
IPAS_ACCT_IDX 2.2
IPAS_SUB_DATA 7.4
IPAS_SUB_IDX 7.25
IPAS_USG_DATA 12.378125
IPAS_USG_IDX 20.603125
NMS 5.221875
NMS_STAT_DATA 4.5
NMS_STAT_IDX 1.5125
RBS 27.0009766
SA .0375
SYSTEM 34.265625
TEMP 2.71972656
TOOLS .00390625
USERS .608473558
WACOS 10.621875
19 rows selected.
1、 如果使用率USED_PERCENT在90%以上(包含90%),则注意要增加数据文件来扩展表空间而不要是用数据文件的自动扩展功能。

2、 请不要对表空间增加过多的数据文件,增加数据文件的原则是每个数据文件大小为2G或者4G,自动扩展的最大限制在8G;


3. 检查一些扩展异常的对象:

$sqlplus system/manager
sql>select Segment_Name, Segment_Type, TableSpace_Name,
(Extents/Max_extents)*100 Percent
From sys.DBA_Segments
Where Max_Extents != 0 and (Extents/Max_extents)*100>=95
order By Percent;
sql>exit
no rows selected
如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值。对于这些对象要修改它的存储结构参数。

4. 检查system表空间内的内容:

$sqlplus system/manager
sql>select distinct(owner) from dba_tables
where tablespace_name='SYSTEM' and
owner!='SYS' and owner!='SYSTEM'
union
select distinct(owner) from dba_indexes
where tablespace_name='SYSTEM' and
owner!='SYS' and owner!='SYSTEM';
sql>exit
no rows selected
如果记录返回,则表明system表空间内存在一些非system和sys用户的对象。应该进一步检查这些对象是否与我们应用相关。如果相关请把这些对象移到非System表空间,同时应该检查这些对象属主的缺省表空间值,具体方法可以寻求杭州Call log的技术支持。


5. 检查对象的下一扩展与表空间的最大扩展值:

$sqlplus system/manager
sql>select a.table_name, a.next_extent, a.tablespace_name
from all_tables a,
(select tablespace_name, max(bytes) as big_chunk
from dba_free_space
group by tablespace_name ) f
where f.tablespace_name = a.tablespace_name
and a.next_extent > f.big_chunk
union
select a.index_name, a.next_extent, a.tablespace_name
from all_indexes a,
(select tablespace_name, max(bytes) as big_chunk
from dba_free_space
group by tablespace_name ) f
where f.tablespace_name = a.tablespace_name
and a.next_extent > f.big_chunk;

sql>exit
no rows selected
如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值,需调整相应表空间的存储参数

1.5 数据库备份结果的检查

数据库备份的检查分为:没有采用带库备份的项目点和采用带库备份的项目点,两种情况来说明。
1.5.1 没有采用带库备份的项目点

这些点目前都是采取热备份脚本来进行备份的。对于这些点数据库备份的检查包含:检查热备份日志信息,检查Root用户的email,检查主数据库ipasdb上的归档日志,检查backup卷中文件产生的时间,检查磁带中的相关备份内容,总共五个部分。
1. 检查热备份日志信息:

假设:备份的临时目录为/backup/hotbakup,我们需要检查2004年3月12日的备份结果,则用下面的命令来检查:
#cat /backup/hotbackup/hotbackup-03-12-04.log|grep –i error
新版热备份脚本的日志文件为hotbackup-月份-日期-年份.log,在备份的临时目录下面。如果文件中存在“ERROR:”,则表明备份没有成功,存在问题需要检查。
注:在此没有穷举所有的出错信息,详细的出错信息以及解释请参照参考文献中《Oracle 8i Error messages》Part No. A76999-01一文。

2. 检查Root用户的email:

#cat /var/mail/oracle
热备份脚本是通过Root用户的cron去执行的。cron执行完后操作系统就会发一条Email通知Root用户任务已经完成。查看Root email中今天凌晨部分有无ORA-,Error,Failed等出错信息,如果有则表明备份不正常。
如:“ORA-01012: not logged on“这条信息就表明数据库备份没成功。
注:在此没有穷举所有的出错信息,详细的出错信息以及解释请参照参考文献中《Oracle 8i Error messages》Part No. A76999-01一文。
3. 检查主数据库ipasdb的归档日志:

#ls /opt/oracle/arch/ORCL/arch
所有的归档日志都应是当天产生的, 如果存在更早的归档日志, 则说明当天凌晨的备份有问题。现场归档日志的目录一般在/opt/oracle/arch/ORCL/arch下。具体的路径请查看Oracle的初始化文件$ORACLE_BASE/admin/ORCL/pfile/initORCL.ora中log_archive_dest_1参数的值。对于初始化文件中每个参数的意义请参照参考文献中《Oracle 8i Reference¡•Part No. A76961-01》一文。
如果归档目录所在卷已满会导致数据库挂起。
4. 检查backup卷中文件产生的时间:

#ls –lt /backup/hotbackup
backup卷是备份的临时目录,查看输出结果中文件的日期,都应当是在当天凌晨由热备份脚本产生的。如果时间不对则表明热备份脚本没执行成功。
5. 检查磁带中的相关备份内容:

#tar tvf /dev/rmt/0
查看输出结果中文件的日期,都应是在当天凌晨由热备份脚本产生的。如果时间不对则表明热备份脚本没执行成功。如果上面的命令在执行过程中报告I/O错误,或者磁带校验错误,说明磁带存在问题。需要使用新的磁带重新备份。
关于热备份脚本使用检查的详细说明请参照标准文档《新版Oracle热备份脚本指导手册》UTS.610G04.B0。
1.5.2 采用带库备份的项目点

这些点都是采取RMAN联机热备份的方式来备份数据库的。具体备份策略是:每月第一天进行数据库全备份;每月7,14,21,28进行数据库一级增量备份;其它时间进行数据库二级增量备份。
对于这些点数据库备份的检查包含:检查备份服务器上的备份日志信息,检查主数据库服务器上的备份日志信息,检查备份服务器上某一天备份结果集,检查备份服务器上备份软件所提供的信息,检查主数据库的归档日志,检查备份服
客户成功,我们成功 20 NGN ORACLE数据库日常维护指导手册
务器上rman catalog中的备份结果集,总共六个部分。在我们使用带库备份的现场存在着两种备份软件SBU和NBU。所以对于备份服务器端的检查将分成SBU和NBU两部分来描述。
1. 检查备份服务器上的备份日志信息:

1.1 对使用SBU的点:
#cat /nsr/logs/messages
--- Successful Save Sets ---
ipas: index:ipas level=full, 43 KB 00:00:05 83 files
ipas: bootstrap level=full, 69 KB 00:00:20 7 files
* ipas:bootstrap _default: unknown printer
* ipas:bootstrap printing bootstrap information failed (reproduced below).
* ipas:bootstrap
* ipas:bootstrap June 03 15:09 2003 ipas's bootstrap information Page 1
* ipas:bootstrap
* ipas:bootstrap date time level ssid file record volume
* ipas:bootstrap 06/02/03 17:14:21 full 3675614465 9 0 HotDB.Full.001
* ipas:bootstrap 06/02/03 17:18:09 full 3675672833 11 0 HotDB.Full.001
* ipas:bootstrap 06/02/03 17:20:30 full 3675708929 13 0 HotDB.Full.001
* ipas:bootstrap 06/02/03 17:22:11 full 3675734785 15 0 HotDB.Full.001
* ipas:bootstrap 06/02/03 17:23:56 full 3675761665 17 0 HotDB.Full.001
* ipas:bootstrap 06/02/03 17:32:05 full 3675887105 24 0 HotDB.Full.001
* ipas:bootstrap 06/02/03 17:40:27 full 3676015361 31 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 07:57:37 full 3689181441 38 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 08:41:45 full 3689859329 44 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 08:56:35 full 3690087169 51 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 09:57:16 full 3691019265 58 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 10:05:53 full 3691151617 66 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 12:10:20 full 3693063169 76 0 HotDB.Full.001
* ipas:bootstrap 06/03/03 14:37:25 full 3695322369 80 13 HotDB.Full.001
* ipas:bootstrap 06/03/03 15:09:10 full 3695810049 87 127 HotDB.Full.001
--- Unsuccessful Save Sets ---
* ipas:/opt/oracle/rman/hot_database_backup_level0.rcv 1 retry attempted
ipas:/opt/oracle/rman/hot_database_backup_level0.rcv: No full backups of this save sel backup
* ipas:/opt/oracle/rman/hot_database_backup_level0.rcv nsrnmo: exited on signal 11
其中“--- Successful Save Sets ---“就表示这部分内容已经成功备份;“--- Unsuccessful Save Sets ---“就表示这部分内容的备份存在问题。 在输出结果中不应该有Unsuccessful的内容。
1.2 对使用SBU的点:
#bperror -U –backstat|more
STATUS CLIENT POLICY SCHED SERVER TIME COMPLETED
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:12:40
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:12:48
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:22:36
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:22:42
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:32:29
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:32:33
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:42:31
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:42:35
0 ipasdb HotDBFull Default-Ap sjz_backup 02/11/2004 16:47:47

输出信息中通过TIME COMPLETED和STATUS判断某天备份是否成功,STATUS为0表示备份成功。
2. 检查主数据库服务器上的备份日志信息:

#cat /opt/oracle/rman/rman.log
RMAN-03022: compiling command: backup
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure during compilation of command
RMAN-03013: command type: backup
RMAN-03014: implicit resync of recovery catalog failed
输出信息中有“ERROR MESSAGE STACK FOLLOWS“则表示数据库备份有问题。
3. 检查备份服务器上某一天备份结果集:(如6月3日)

3.1 对使用SBU的点:
#mminfo –a|grep 06/03
volume client date size level name
HotDB.Full.001 ipasdb 06/03/03 150 MB full /opt/oracle/rman/hot_database_backup_level0.rcv
HotDB.Full.001 ipasdb 06/03/03 4033 KB full /opt/oracle/rman/hot_database_backup_level0.rcv
HotDB.Full.001 ipasdb 06/03/03 235 MB full /opt/oracle/rman/hot_database_backup_level0.rcv
HotDB.Full.001 ipasdb 06/03/03 44 MB full /opt/oracle/rman/hot_database_backup_level0.rcv
HotDB.Full.001 ipasdb 06/03/03 4353 KB full /opt/oracle/rman/hot_database_backup_level0.rcv
这条命令是用来查找6月3日备份成功的备份集,用所需要查找的时间来替换”06/03”。输出结果应该与前面所提的备份策略一致。
3.2 对使用NBU的点:
# bperror -U -backstat |grep "06/03"
0 sjz_psc1 CDRFS CDRFSInc sjz_backup 06/03/2004 01:11:48
0 sjz_psc2 CDRFS CDRFSInc sjz_backup 06/03/2004 01:12:14
0 ipasdb HotDBDifferentia Default-Ap sjz_backup 06/03/2004 03:21:22
0 ipasdb HotDBDifferentia Default-Ap sjz_backup 06/03/2004 03:21:27
0 ipasdb HotDBDifferentia Default-Ap sjz_backup 06/03/2004 03:22:48
0 ipasdb HotDBDifferentia Default-Ap sjz_backup 06/03/2004 03:22:48
0 ipasdb HotDBDifferentia Default-Ap sjz_backup 06/03/2004 03:23:34
0 ipasdb HotDBDifferentia HotDBDiffe sjz_backup 06/03/2004 03:23:45
这条命令是用来查找6月3日备份成功的备份集,用所需要查找的时间来替换”06/03”。输出结果应该与前面所提的备份策略一致。其中第一列的0表示备份成功。
4. 检查备份服务器上备份软件所提供的信息:

4.1 对使用SBU的点:
#nwadmin
nwadmin是SBU备份管理软件的GUI操作界面。其中Pending窗口中存在内容表示有挂起的任务,说明当天的数据库备份没有成功。其中Message窗口中包含所有备份的日志信息,如果其中有Fail的信息表示失败的备份。
4.2 对使用NBU的点:
#jnbSA
jnbSA是NBU备份管理软件的GUI操作界面。其中Activity Monitor窗口中存在内容表示有挂起的任务,说明当天的数据库备份没有成功。
5. 检查主数据库的归档日志:

#ls /opt/oracle/arch/ORCL/arch
所有的归档日志都应是当天产生的, 如果存在更早的归档日志, 则说明当天凌晨的备份有问题。现场归档日志的目录一般在/opt/oracle/arch/ORCL/arch下。具体的路径请查看Oracle的初始化文件$ORACLE_BASE/admin/ORCL/pfile/initORCL.ora中log_archive_dest_1参数的值。对于初始化文件中每个参数的意义请参照参考文献中《Oracle 8i Reference¡•Part No. A76961-01》一文。
如果归档目录所在卷已满会导致数据库挂起。
6. 检查备份服务器上rman catalog中的备份结果集:

$rman target sys/change_on_install@ORCL catalog rman/rman@RCAT
rman>list backup of database completed

数据库 | 阅读 5195 次
文章评论,共0条
游客请输入验证码