ORA-19809和ORA-00312

Errors in file /home/oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_7689.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 43544576 bytes disk space from 5218762752 limit
ARCH: Error 19809 Creating archive log file to '/home/oracle/app/flash_recovery_area/ORCL/archivelog/2020_03_25/o1_mf_1187%u_.arc'
Errors in file /home/oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_7689.trc:
ORA-16038: log 1 sequence# 187 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: '/oracle/data_ora/orcl/redo01.log'
USER (ospid: 7689): terminating the instance due to error 16038
Instance terminated by USER, pid = 7689

出现报错的原因是归档日志所在的空间超出了系统所设置的最大值,导致启动的时候出现报错
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 43544576 bytes disk space from 5218762752 limit
只读日志超出了设定的最大值
1.
删除不用的归档日志文件
/orache/orcl/flash_recovery_area
如果启动报错
ORA-16038: log 1 sequence# 187 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: '/oracle/data_ora/orcl/redo01.log'
startup nomount
然后进入RMAN
  rman 
  RMAN> connect target / 
  RMAN> crosscheck archivelog all; 
  RMAN> delete expired archivelog all; 
或者 RMAN>delete obsolete; 
         RMAN>crosscheck backupset; 
         RMAN> delete expired backupset;
   RMAN>exit 
然后再次启动数据库

2.修改最大值
查看
show parameter db_recovery_file_dest;
show parameter db_recovery_file_dest;

db_recovery_file_dest string /oracle/data_ora/orcl/flash_recovery_area
db_recovery_file_dest_size big integer 2048m
数据库恢复文件设定最大值
修改
1.1修改恢复文件的最大值10g
ALTER SYSTEM SET db_recovery_file_dest_size=10G SCOPE=BOTH;
1.2指定归档日志文件到其他目录
alter system set log_archive_dest_1='location=/db/oracle/oradata/archive_log'
ALTER SYSTEM SET db_recovery_file_dest=' /db/oracle/oradata ' SCOPE=BOTH;

3.关闭闪回恢复区
select flashback_on from V$database;
shutdown immediate;
startup mount;

alter database flashback off;
alter database open;

select flashback_on from v$database;
alter system set db_recovery_file_dest='';
show parameter db_recovery_file_dest;

上一篇:Sprint 冲刺第三阶段第6-10天


下一篇:【SQL Server数据迁移】64位的机器:SQL Server中查询ORACLE的数据