Oracle备份时系统负载过高导致ORA-3136错误和AIX系统的3D32B80D错误

2014-11-24 18:23:08 · 作者: · 浏览: 0

环境:


TSM5.4:Windows 2003


带库:IBM3100


1、 数据库的alert_SID.log


Mon Jan 11 20:05:38 2010


Control autobackup written to SBT_TAPE device


comment 'API Version 2.0,MMS Version5.4.1.0',


media '439'


handle 'c-3524587154-20100111-05'


Mon Jan 11 22:12:32 2010


WARNING: inbound connection timed out (ORA-3136)


Mon Jan 11 22:12:33 2010


WARNING: inbound connection timed out (ORA-3136)


2、 AIX系统出现的错误:


> errpt |more


IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION


3D32B80D 0121222410 P S topsvcs NIM thread blocked


3D32B80D 0121222410 P S topsvcs NIM thread blocked


查看详细信息:


> errpt -aj 3D32B80D |more


3D32B80D错误主要是由于整个系统的负载很高,从而导致HA的心跳不能正常通讯造成的。


具体原因:


这是由于每天22:00数据库进行rman备份,导致数据库的IO读频繁,从而导致CPU大量的等待。IO、CPU过量等待导致整个服务器的负载比较高。数据库服务器在备份时间段内负载比较高,导致数据库用户在60秒内不能连接上数据库,出现连接超时情况(timeout)。


从而出现上面aler_SID.log日志中的ORA-3136的错误。


Oracle10g数据库用RMAN备份到带库时出现的问题。可以用Oracle的metalink帐户查看Note 311068.1


根据Note 311068.1的建议,对数据库进行测试、磁盘到磁盘的备份、磁盘到带库的备份、只读磁盘的备份。最后发现在备份时读取系统的数据文件的数据量太高(有些磁盘IO繁忙达到100%),在备份时用rman现在读取磁盘的速度解决该问题。


调整脚本为:


run{


allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)' RATE20M;


allocate channel t2 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)' RATE20M;


BACKUP INCREMENTAL LEVEL 1 CUMULATIVE FILESPERSET 10


FORMAT 'incr_%T_%s_%p' DATABASE;


sql 'alter system archive log current';


BACKUP FILESPERSET 10 MAXSETSIZE10G


FORMAT 'arch_%T_%s_%p'


SKIP INACCESSIBLE


ARCHIVELOG ALL DELETE INPUT;


release channel t1;


release channel t2;


}