首页 > 数据治理 > 数据治理 > 数据库启动不了报错ora-03113--归档清理
环境:win7 单机 11g
sqlplus / as sysdba
告警日志报错如下

从报错来看是redo02损坏了,处理方法:
startup mount
alter database clear unarchived logfile group 2;
shutdown immediate
startup
成功open,但是在监听测试的时候报如下错误:
ora-00257:归档程序错误,在释放之前仅限于内部连接

说明归档的问题还没解决,查看归档使用情况
select * from v$FLASH_RECOVERY_AREA_USAGE;

select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
sho parameter recover;

此时登录rman清理归档,注意手动删除,由于控制文件不知道,所以并没有释放空间,所以还有如下操作
rman target /
delete expired archivelog all;
delete archivelog until time ‘sysdate-1’;
再次查看
select * from V$FLASH_RECOVERY_AREA_USAGE;

再次测试

业务恢复正常。
补充:如果在clear之后shutdown immediate因归档日志满(开启了归档,关闭数据库会执行checkpoint,此时会将redo落盘,同时会写归档,如果此时归档空间满了会一直写入不进去,导致卡住)关闭不了数据库,可以先取消关闭之后再abort关闭,然后到mount,执行归档清理,再alter database open;也可以将数据库改为非归档模式启动,处理之后再改回去。
注意如下的区别
alter database clear logfile group 2;
alter database clear unarchived logfile group 2;
当归档清理不了的时候,可以采取force方式,举例如下
DELETE noprompt force ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';
delete noprompt force archivelog all;
delete expired archivelog all;
delete archivelog until time 'sysdate-1';
delete force archivelog until time 'sysdate-1';
delete noprompt force archivelog until time 'sysdate-0.5';
delete noprompt archivelog all completed before 'sysdate-5';
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30654353/viewspace-2742066/ ,如需转载,请注明出处,否则将追究法律责任。