当前位置:Gxlcms > mysql > Oracle备份时系统负载过高导致ORA-3136错误和AIX系统的3D32B80D错误

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

这是由于每天22:00数据库进行rman备份,导致数据库的IO读频繁,从而导致CPU大量的等待。IO、CPU过量等待导致整个服务器的负载比较

环境:

数据库: AIX5.3下的64位Oracle 10.2.0.1.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;

}

linux

人气教程排行