ORA-16014: log string sequence# string not archive

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'
这个问题是老问题了,之前我也整理过一篇文章。

先来分析一下为什么会出现这个问题。 在 Oracle  实例创建的时候会指定Flash Recovery Area,该空间默认大小是2G 。 
SQL> show parameter db_recovery_file
NAME                    TYPE      VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest       string  D:\oracle\product\10.2.0/flash_recovery_area
db_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
当前日志序列            8
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE  例程已经关闭。
SQL> startup mount
ORACLE  例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             213912452 bytes
Database Buffers          390070272 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点             USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列      6
下一个存档日志序列    8
当前日志序列            8
SQL> show parameter db_recovery_file
NAME                    TYPE      VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest       string  D:\oracle\product\10.2.0/flash_recovery_area
db_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';

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22741583/viewspace-684267/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22741583/viewspace-684267/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值