升級不正確導致ORA-27468錯誤 及閃回區滿(ORA-16014)

來源:互聯網
上載者:User

升級不正確導致ORA-27468錯誤 及閃回區滿(ORA-16014)

Oracle 10.2.0.5環境警示日誌出現ORA-27468錯誤。

查看預警日誌:

Errors in file /u01/app/oracle/admin/crab/bdump/crab_j001_23669.trc:
ORA-12012: 自動執行作業 5329 出錯
ORA-27468: "SYS.PURGE_LOG" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j000_23667.trc:
ORA-12012: 自動執行作業 42568 出錯
ORA-27468: "EXFSYS.RLM$SCHDNEGACTION" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j002_23671.trc:
ORA-12012: 自動執行作業 8886 出錯
ORA-27468: "SYS.GATHER_STATS_JOB" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j001_23669.trc:
ORA-12012: 自動執行作業 42567 出錯
ORA-27468: "EXFSYS.RLM$EVTCLEANUP" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j000_23667.trc:
ORA-12012: 自動執行作業 8887 出錯
ORA-27468: "SYS.AUTO_SPACE_ADVISOR_JOB" 被另一進程鎖定
[oracle@RedHat4 bdump]$  tail -20 /u01/app/oracle/admin/crab/bdump/alert_crab.log
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j001_23669.trc:
ORA-12012: 自動執行作業 5329 出錯
ORA-27468: "SYS.PURGE_LOG" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j000_23667.trc:
ORA-12012: 自動執行作業 42568 出錯
ORA-27468: "EXFSYS.RLM$SCHDNEGACTION" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j002_23671.trc:
ORA-12012: 自動執行作業 8886 出錯
ORA-27468: "SYS.GATHER_STATS_JOB" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j001_23669.trc:
ORA-12012: 自動執行作業 42567 出錯
ORA-27468: "EXFSYS.RLM$EVTCLEANUP" 被另一進程鎖定
Fri Jun 27 23:14:22 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_j000_23667.trc:
ORA-12012: 自動執行作業 8887 出錯
ORA-27468: "SYS.AUTO_SPACE_ADVISOR_JOB" 被另一進程鎖定

導致這個錯誤的原因在於升級時沒有執行catupgrd.sql,而是執行了建庫的部分指令碼如catalog.sql和catproc.sql,這導致只有CATALOG視圖和系統的PACKAGE以及TYPE的版本更新到10.2.0.5,而其他資料庫中組件的版本並沒有升級,仍然是10.2.0.1。

在MOS文檔ORA-12012 ORA-27468: "SYS.PURGE_LOG" is Locked by Another Process [ID 751884.1]中介紹了這個錯誤,這個問題可能發生在10.2.0.2到10.2.0.5之間,解決問題的方法很簡單,在閑時執行catupgrd.sql,完成升級組件的後續操作既可。

在執行catupgrd.sql期間還遇到Oracle閃回區滿(ORA-16014)

Sat Jun 28 16:30:31 CST 2014
ORA-16038: 日誌 3 sequence# 52 無法歸檔
ORA-19809: 超出了恢複檔案數的限制
ORA-00312: 聯機日誌 3 線程 1: '/u01/app/oracle/oradata/crab/redo03.log'
Sat Jun 28 16:30:31 CST 2014
Errors in file /u01/app/oracle/admin/crab/bdump/crab_arc1_1250.trc:
ORA-16038: 日誌 3 sequence# 52 無法歸檔
ORA-19809: 超出了恢複檔案數的限制
ORA-00312: 聯機日誌 3 線程 1: '/u01/app/oracle/oradata/crab/redo03.log'
Sat Jun 28 16:31:31 CST 2014
ARCH: Archival stopped, error occurred. Will continue retrying
Sat Jun 28 16:31:31 CST 2014
ORACLE Instance crab - Archival Error
Sat Jun 28 16:31:31 CST 2014
ORA-16014: 日誌 3 sequence# 52 未歸檔, 沒有可用的目的地

--查看歸檔模式
 SQL> archive log list;
 
--歸檔空間使用率
SQL>select * from v$flash_recovery_area_usage;
 
--閃回區所佔用的空間
SQL>select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

解決辦法:
-- 擴大閃回區空間
SQL>alter system set db_recovery_file_dest_size=3g  scope=both;
 
System altered.
以下命令需要在RMAN下:

rman target/
--刪除備份
crosscheck backupset;
delete noprompt expired backupset;
delete obsolete;
delete noprompt expired backup;
delete noprompt expired copy;
 
--清掉歸檔
--清掉到期的歸檔
crosscheck archivelog all;
delete noprompt expired archivelog all;
--要還不夠,強制移除掉指定天數前的歸檔
delete noprompt archivelog all completed before 'sysdate-7';

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.