Home  >  Article  >  Database  >  升级不正确导致ORA-27468错误 及闪回区满(ORA-16014)

升级不正确导致ORA-27468错误 及闪回区满(ORA-16014)

WBOY
WBOYOriginal
2016-06-07 16:45:091525browse

Oracle 10.2.0.5环境告警日志出现ORA-27468错误。在MOS文档ORA-12012 ORA-27468: SYS.PURGE_LOG is Locked by Another Process

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

本文永久更新链接地址:

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn