上午接到地方运营平台维护人员的求助电话,oracle数据库登录失败。请求协助解决问题。
远程连接到地方数据库平台,查看报警日志:
Sat Jun 8 00:00:39 2013
Errors in file /opt/oracle/admin/HQMSS/bdump/hqmss_arc0_24312.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 42995200 bytes disk space from 21474836480 limit
ARC0: Error 19809 Creating archive log file to '/opt/oracle/flash_recovery_area/HQMSS/archivelog/2013_06_08/o1_mf_1_500_0_.arc'
ARCH: Archival stopped, error occurred. Will continue retrying
Sat Jun 8 00:00:40 2013
ORACLE Instance HQMSS - Archival Error
Sat Jun 8 00:00:40 2013
ORA-16038: log 1 sequence# 500 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: '/opt/oracle/oradata/HQMSS/redo01.log'
Sat Jun 8 00:00:40 2013
初步断定,归档进程无法归档,报闪回区空间不足错误。记得这个库运行在非归档模式,怎么会报空间不足错误?
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 523
Next log sequence to archive 525
Current log sequence 525
没错,库运行在 归档模式下。这时数据库已经挂起,归档未完成,日志无法切换。当机立断,先恢复运营问题。
启动rman,连接数据库:
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
校验归档日志的时效与过期,将过期的归档日志删除。由于这个库维护力度不够,校验前后,闪回空间无变化。干脆执行如下命令:
RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';删除系统里7天以前的归档数据。执行完后,闪回空间空间释放,立即全备数据库(这个库业务量不大,全备不会引起性能问题)。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28985005/viewspace-764283/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28985005/viewspace-764283/