Welcome 微信登录

首页 / 数据库 / MySQL / ORA-16014: log string sequence# string not archived, no available destinations Flash Recovery Area 空

ORA-16014: log string sequence# string not archived, no available destinations Flash Recovery Area 空间不足一网友问我一个问题,数据库报错,错误信息如下:Errors in file e:/Oracle/product/10.2.0/admin/orcl/bdump/orcl_arc0_5620.trc:
ORA-16014: log 2 sequence# 195 not archived, no available destinations
ORA-00312: online log 2 thread 1: "E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG" 这个问题是老问题了,之前我也整理过一篇文章。 Flash Recovery Area空间不足导致数据库不能打开或hang住   先来分析一下为什么会出现这个问题。 在Oracle 实例创建的时候会指定Flash Recovery Area,该空间默认大小是2G。  SQL> show parameter db_recovery_fileNAME                    TYPE      VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest       string  D:/oracle/product/10.2.0/flash_recovery_areadb_recovery_file_dest_size   big integer  2G 当我们将数据库的模式修改为归档模式的时候,如果没有指定归档目录,默认的归档文件就会放到Flash Recovery Area的目录,但是这个目录是有大小限制的,如果超过了这个大小,就会导致2个问题,一是不能完成归档,二是,在出现问题后,如果此时重启数据库,那么数据库就无法正常启动。 Flash Recovery Area 是留给Flashback的。 所以归档目录最好指定到其他位置。在切换数据库模式时,就要指定归档目录。 Oracle 归档与非归档的切换  如果我们直接将数据??切换到归档模式,而且没有指定归档目录。 显示的相关信息如下:SQL> archive log list数据库日志模式             非存档模式自动存档             禁用存档终点            USE_DB_RECOVERY_FILE_DEST最早的联机日志序列     6当前日志序列           8SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mountORACLE 例程已经启动。Total System Global Area  612368384 bytesFixed Size                  1250428 bytesVariable Size             213912452 bytesDatabase Buffers          390070272 bytesRedo Buffers                7135232 bytes数据库装载完毕。SQL> alter database archivelog;数据库已更改。SQL> archive log list;数据库日志模式            存档模式自动存档             启用存档终点            USE_DB_RECOVERY_FILE_DEST最早的联机日志序列     6下一个存档日志序列   8当前日志序列           8SQL> show parameter db_recovery_fileNAME                    TYPE      VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest       string  D:/oracle/product/10.2.0/flash_recovery_areadb_recovery_file_dest_size   big integer  2G 总结一下,当遇到这样错误:ORA-16014: log 2 sequence#  not archived, no available destinations。我们可以通过如下三种方法来解决: 1. 增加Flash recovery Area 大小。 这种方法治标不治本。 当满了之后,还是会增加。SQL> alter system set db_recovery_file_dest_size=3G scope=both;
系统已更改。 检查flash recovery area的使用情况:
SQL> select * from v$flash_recovery_area_usage; 计算flash recovery area已经占用的空间:
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage; 2. 也可以删除归档目录中不用的备份或者文件。 删除archive log:RMAN> crosscheck archivelog all;RMAN> delete expired archivelog all;删除备份:(1). RMAN>delete obsolete;
    (2). RMAN>crosscheck backupset;
       RMAN>delete expired backupset; 3. 将Archive log 指定到其他位置。 推荐使用这种方法。 alter system set log_archive_dest_1="location=/oracle/oracle10g/log/archive_log";
Oracle 归档与非归档的切换Oracle 删除归档日志脚本相关资讯      本文评论 查看全部评论 (0)
表情: 姓名: 字数