Oracle数据库联机日志文件丢失或损坏的处理方法
2011-08-21 11:45
736 查看
今天有客户报启动数据库遇到如下问题:
ORA-16038: log 3 sequence# 1126 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/opt/oracle/product/10.1/oradata/orcl/redo03.log'
Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了1G大小。
当归档日志超过1G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别
空间是否释放。导致数据库无法启动。
解决办法:
1、mount数据库
sql> startup mount (注意,这时候还会报错,但是可以更改系统参数)
2、 更改系统参数
sql> alter system setdb_recovery_file_dest_size=2g scope=both;
参数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
ORA-16038: log 3 sequence# 1126 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/opt/oracle/product/10.1/oradata/orcl/redo03.log'
Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了1G大小。
当归档日志超过1G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别
空间是否释放。导致数据库无法启动。
解决办法:
1、mount数据库
sql> startup mount (注意,这时候还会报错,但是可以更改系统参数)
2、 更改系统参数
sql> alter system setdb_recovery_file_dest_size=2g scope=both;
参数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
相关文章推荐
- Oracle数据库联机日志文件丢失或损坏的处理方法
- ORACLE联机日志文件丢失或损坏的处理方法
- ORACLE联机日志文件丢失或损坏的处理方法
- ORACLE联机日志文件丢失或损坏的处理方法
- ORACLE联机日志文件丢失或损坏的处理方法(转)
- Oracle数据库联机日志文件丢失处理方法
- ORACLE联机日志文件丢失或损坏的处理方法
- Oracle联机日志文件丢失或损坏的处理方法
- Oracle数据库联机日志文件丢失处理方法
- Oracle联机日志文件丢失或损坏的处理方法
- ORACLE联机日志文件丢失或损坏的处理方法
- ORACLE联机日志文件丢失或损坏的处理方法(转载)
- ORACLE联机日志文件丢失或损坏的处理方法
- Oracle联机日志文件丢失或损坏的处理方法
- 联机日志文件丢失或损坏的处理方法
- Oracle数据库所有联机日志文件丢失处理方法
- Oracle联机日志文件丢失或损坏的处理方法
- Oracle数据库联机日志文件丢失处理方法
- Oracle联机日志文件丢失或损坏的处理方法
- Oracle数据库联机日志文件丢失的几种处理方法