Oracle備份時系統負載過高導致ORA-3136錯誤和AIX系統的3D32B80D錯誤

mengzhaoliang發表於2010-01-22

環境:

 資料庫: AIX5.3下的64Oracle 10.2.0.1.0

TSM5.4Windows2003

帶庫: 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 Version 5.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大量的等待。IOCPU過量等待導致整個伺服器的負載比較高。資料庫伺服器在備份時間段內負載比較高,導致資料庫使用者在60秒內不能連線上資料庫,出現連線超時情況(timeout)。

從而出現上面aler_SID.log日誌中的ORA-3136的錯誤。

 

   Oracle10g資料庫用RMAN備份到帶庫時出現的問題。可以用Oraclemetalink帳戶檢視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)' RATE 20M; 

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

    BACKUP INCREMENTAL LEVEL 1 CUMULATIVE FILESPERSET 10   

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

    sql 'alter system archive log current';

    BACKUP FILESPERSET 10 MAXSETSIZE 10G    

    FORMAT 'arch_%T_%s_%p'    

    SKIP INACCESSIBLE   

    ARCHIVELOG ALL DELETE INPUT;   

    release channel t1; 

    release channel t2;

}

 

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-625806/,如需轉載,請註明出處,否則將追究法律責任。

相關文章