ORA-16038,ORA-19809,ORA-00312

出现ORA-16038 ORA-19809 ORA-00312

Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了1G大小
当归档日志超过1G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别空间是否释放。

导致数据库无法启动

 

 

解决办法:
1、mount数据库
sql> startup mount            (注意,这时候还会报错,但是可以更改系统参数)

2、 更改系统参数
sql> alter system set  db_recovery_file_dest_size=2g scope=spfile;
参数db_recovery_file_dest_size的值根据磁盘剩余空间大小和实际需要来设置,没有定论

3、打开数据库
sql> alter database open

不会成功的


4、删除失效归档日志.
rman
RMAN> connect target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> exit

5、重新启动数据库

sql> shutdown immediate
sql> startup
OK

--另一个版本的解决方法---------------------------------------------------------------------------------------------

oracle出现ORA-16038,ORA-19809,ORA-00312问题的解决方法 SQL> startup
ORACLE 例程已经启动。

Total System Global Area 188743680 bytes
Fixed Size 1248020 bytes
Variable Size 79693036 bytes
Database Buffers 104857600 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
ORA-16038: 日志 3 序列号 46 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1:
'D:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG'


SQL> alter database clear unarchived logfile 'D:ORACLEPRODUCT10.2.0ORADATAO
RCLREDO03.LOG';

数据库已更改。

SQL> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 188743680 bytes
Fixed Size 1248020 bytes
Variable Size 79693036 bytes
Database Buffers 104857600 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL>

无法归档错误主要是因为数据库不正常关闭,SQL语句出错造成数据线程停止所因起。

发布了63 篇原创文章 · 获赞 5 · 访问量 24万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章