rman 備份時報:ORA-02396: exceeded maximum idle time
參考原文:
RMAN backup faling with ORA-02396: exceeded maximum idle time, please connect again (Doc ID 1446182.1)
適用於:
Oracle Server - Enterprise Edition - Version 11.2.0.1 and later
Information in this document applies to any platform.
症狀:
rman 在備份db和歸檔日志時,報下列的錯誤:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 03/26/2012 00:19:36
RMAN-03014: implicit resync of recovery catalog failed
RMAN-06004: ORACLE error from recovery catalog database: ORA-02396: exceeded maximum idle time, please connect again
ORACLE error from recovery catalog database: ORA-01012: not logged on
Process ID: 4060
Session ID: 24 Serial number: 23229
原因:
ORA-02396最有可能是 profile(with IDLE_TIME)導致的,該profile是指 Recovery Catalog 中的catalog owner
當執行rman備份的時候, rman 跟 Recovery Catalog 極少甚至不通信。
只有當rman備份完成後,相關的信息被從控制文件同步到 Recovery Catalog ,此時,rman 嘗試更新 Recovery Catalog ,然後錯誤就產生了。
rman備份用的時間超過了 the catalog user's profile 中定義的idle_time,因此錯誤就出現了。
解決方案:
檢查recovery catalog owner 是否在使用 IDLE_TIME 的profile。 如果使用了,禁用掉或者增大idle_time到更大的值
SQL> select * from dba_profiles where resource_name='IDLE_TIME';
SQL> select profile from dba_users where username='<USERNAME OF CATALOG OWNER>';
If the profile of the user matches the profile with a IDLE_TIME <> UNLIMITED, you should consider using a different profile for this user with IDLE_TIME=UNLIMITED.
SQL> alter user xx PROFILE < name of a profile> with IDLE_TIME=UNLIMITED >