ORA-00257:archiver error.Connect internal only,until freed

登录ORACLE时报错
ORA-00257:archiver error.Connect internal only,until freed
初步判断该错误是因flash_recovery_area有大小限制导致的(默认为2G);当log_archive_dest的value为空时,归档日志默认存放在flash_recovery_area目录下。通过以下方式验证归档日志存放目录空

间是否不足:
SQL> show parameter log_archive_dest;

NAME                                 TYPE      VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest                     string

log_archive_dest_1                   string

由此可判断归档日志存放在flash_recovery_area目录。

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE                PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------ ------------------ ------------------------- ---------------
CONTROLFILE                               0                         0 0
             
ONLINELOG                                 0                         0 0
             
ARCHIVELOG                            95.51                         0 3
             
BACKUPPIECE                               0                         0 0
             
IMAGECOPY                                 0                         0 0
             
FLASHBACKLOG                              0                         0 0
             
已选择6行。

我们可发现归档日志占用的空间比较高。

SQL> show parameter recover;

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
recovery_parallelism                 integer   0

此处可得知flash_recovery_area的大小限制为2G。

故,我们有两种方式可解决此问题:
1.删除以前的归档日志
2.扩大flash_recovery_area的大小

首先我们介绍第一种方式:
[oracle@RD008 ~]$ rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期二 10月 9 17:04:50 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到目标数据库: ORCL (DBID=354297437)

RMAN> delete archivelog until time 'sysdate-1';

使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=131 devtype=DISK

已存档的日志副本列表
关键字  Thrd Seq     S 短时间     名称
------- ---- ------- - ---------- ----
51      1    4514    A 27-9月 -12 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBSXZQ\ARCHIVELOG\2012_10_09\O1_MF_1_4514_877OQHYX_.ARC
50      1    4515    A 28-9月 -12 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBSXZQ\ARCHIVELOG\2012_10_09\O1_MF_1_4515_877OQJ9F_.ARC

是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除的存档日志
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBSXZQ\ARCHIVELOG\2
012_10_09\O1_MF_1_4514_877OQHYX_.ARC 记录 ID=51 时间戳 =796232965
已删除的存档日志
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBSXZQ\ARCHIVELOG\2
012_10_09\O1_MF_1_4515_877OQJ9F_.ARC 记录 ID=50 时间戳 =796232954
2 对象已删除

RMAN> crosscheck archivelog all;

释放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=131 devtype=DISK
对归档日志的验证失败
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DBSXZQ\ARCHIVELOG\2
012_10_09\O1_MF_1_4516_877OQXMZ_.ARC 记录 ID=52 时间戳 =796232976
已交叉检验的 1 对象

RMAN> delete expired archivelog all;

释放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=131 devtype=DISK
说明与恢复目录中的任何存档日志均不匹配


至此,方式一已将flash_recovery_area的空间完全释放。

在介绍方式二:
[oracle@RD008 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10月 9 17:24:42 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn /as sysdba
已连接。
SQL> alter system set db_recovery_file_dest_size=5g;

至此,方式二已将flash_recovery_area的空间扩大至5G。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值