本机通过expdp导入数据之后,关机。今天启动时,在mount之后报错: ORA-03113: 通信通道的文件结尾。
查看alert_$ORACLE_SID.log, 发现如下错误信息:
ARCH: Error 19809 Creating archive log file to ‘C:\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2015_01_21\O1_MF_1_172_%U_.ARC’
Wed Jan 21 09:37:02 2015
Errors in file C:\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_ora_5224.trc:
ORA-16038: 日志 1 sequence# 172 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: ‘C:\ORACLE\ORADATA\ORCL\REDO01.LOG’
USER (ospid: 5224): terminating the instance due to error 16038
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 2488635392 bytes
Fixed Size 2798928 bytes
Variable Size 721423024 bytes
Database Buffers 1744830464 bytes
Redo Buffers 19582976 bytes
数据库装载完毕。
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
db_recovery_file_dest string C:\oracle\fast_recovery_area
db_recovery_file_dest_size big integer 6930M
recovery_parallelism integer 0
SQL>
现在的fast recovery area都已经全部占满了,然后oracle在进行启动时恢复的时候redo日志写入错误,导致启动时出错
因为是本机,最简单的解决办法是删除所有的归档日志
开始使用RMAN删除归档日志
crosscheck archivelog all;
delete expired archivelog all;
在删除过期归档日志后收效不大,直接简单粗暴:
delete noprompt archivelog all;
也可以使用:
delete noprompt archivelog until time “sysdate -1”;
然后alter database open;
数据库成功打开。
虽然只是个本机学习用的库,但是从这个错误中也汲取到了不少养分。
如果在正式库上不能删除归档日志,那就只能更改快速fast recovery area的大小限制了
startup mount;
alter system set db_recovery_file_dest_size =10G scope=both;
alter database open;
数据库启动时遇到ORA-03113: 通信通道的文件结尾
最新推荐文章于 2024-07-22 11:22:30 发布