现在的位置: 首页 > 综合 > 正文

ORA-00257 archiver error 解决方案

2014年09月05日 ⁄ 综合 ⁄ 共 15419字 ⁄ 字号 评论关闭

第二次碰到这个问题,上一次是自己,这一次是同事,根据网上前辈们的经验又一次解决掉了,觉得有必要记录一下。

RMAN操作见F:\学习文档\errorope.txt

archive log 日志已满
ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
1. 用sys用户登录
  sqlplus sys/pass@tt as sysdba
2. 看看archiv log所在位置
SQL> show parameter log_archive_dest;
NAME                                     TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest                   string
log_archive_dest_1               string
log_archive_dest_10             string
3. 一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence
SQL> archive log list;
Database log mode                 Archive Mode
Automatic archival                   Enabled
Archive destination                  USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     360
Next log sequence to archive  360
Current log sequence              362
4. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                 .13                        0               1
ONLINELOG                  2.93                        0               3
ARCHIVELOG                96.62                       0              141
BACKUPPIECE                   0                         0               0
IMAGECOPY                      0                         0               0
FLASHBACKLOG                0                         0               0
5. 计算flash recovery area已经占用的空间
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
                       2.9904
                     
6. 找到recovery目录, show parameter recover
SQL> show parameter recover;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string           /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size        big integer   5G
recovery_parallelism                   integer         0
                     
7 上述结果告诉我们,归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest目录=/u01/app/oracle/flash_recovery_area)
[root@sha3 10.2.0]# echo $ORACLE_BASE
/u01/app/oracle
[root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog
转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)
---------------------------------------------------------------------------------------
注意:
在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。
---------------------------------------------------------------------------------------
8. rman target sys/pass
[root@sha3 oracle]# rman target sys/pass
Recovery Manager: Release 10.2.0.4.0 - Production on Tue Jan 20 01:41:26 2009
Copyright (c) 1982, 2007,
Oracle
.  All rights reserved.
connected to target database: tt (DBID=4147983671)
 

第8步进行不下去,ORA-01089: 正在进行紧急关闭 - 不允许进行任何操作

sqlplus /nolog

conn sys/sys as sysdba

如果进行不下去,报错ORA-01031: insufficient privileges权限不够,在组ora_dba中添加用户network然后重复连接

已连接到空闲例程。
SQL> shutdown abort

已连接到空闲例程。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  535662592 bytes
Fixed Size                  1348508 bytes
Variable Size             327158884 bytes
Database Buffers          201326592 bytes
Redo Buffers                5828608 bytes
数据库装载完毕。
ORA-16038: 日志 1 sequence# 225 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG'

SQL> alter database clear unarchived logfile group 1;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL>

登录RMAN

rman

conn target sys/sys
9. 检查一些无用的archivelog
RMAN> crosscheck archivelog all;
10. 删除过期的归档
RMAN> delete expired archivelog all;
delete archivelog until time 'sysdate-1' ; 删除截止到前一天的所有archivelog
11. 再次查询,发现使用率正常,已经降到23.03
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                 .13                         0               1
ONLINELOG                  2.93                         0               3
ARCHIVELOG                23.03                         0              36
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0
其它有用的Command:
----------------------------------
如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
shutdown immediate;
再次startup以archive log模式
shutdown immediate;
startup mount;
show parameter log_archive_dest;
alter database archivelog;
archive log list;               
alter database open;
如果还不行,则删除一些archlog log
SQL> select group#,sequence# from v$log;
    GROUP# SEQUENCE#
---------- ----------
         1         62
         3         64
         2         63
原来是日志组一的一个日志不能归档
SQL> alter database clear unarchived logfile group 1;
alter database open;
最后,也可以指定位置Arch Log, 请按照如下配置
select name from v$datafile;
alter system set log_archive_dest='/opt/app/oracle/oradata/usagedb/arch' scope=spfile
或者修改大小
SQL> alter system set db_recovery_file_dest_size=3G scope=both;

附录rman操作

G7B_.ARC RECID=18 STAMP=787764368
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_04\O1_MF_1_160_7Z84L
OYR_.ARC RECID=19 STAMP=787773145
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_05\O1_MF_1_161_7Z9R1
OLK_.ARC RECID=20 STAMP=787825848
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_06\O1_MF_1_162_7ZF43
DKL_.ARC RECID=21 STAMP=787936495
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_06\O1_MF_1_163_7ZF5B
2JM_.ARC RECID=22 STAMP=787937731
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_08\O1_MF_1_164_7ZKZ3
PVC_.ARC RECID=23 STAMP=788095224
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_09\O1_MF_1_165_7ZN93
H5V_.ARC RECID=24 STAMP=788170994
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_10\O1_MF_1_166_7ZPYO
YX9_.ARC RECID=25 STAMP=788258624
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_10\O1_MF_1_167_7ZQJL
BVC_.ARC RECID=26 STAMP=788276939
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_11\O1_MF_1_168_7ZSQ5
4QX_.ARC RECID=27 STAMP=788349222
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_11\O1_MF_1_169_7ZT44
YQX_.ARC RECID=28 STAMP=788362528
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_11\O1_MF_1_170_7ZTNZ
KN0_.ARC RECID=29 STAMP=788379764
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_12\O1_MF_1_171_7ZW6C
85C_.ARC RECID=30 STAMP=788430314
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_13\O1_MF_1_172_7ZZRX
6RW_.ARC RECID=31 STAMP=788547625
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_16\O1_MF_1_173_806Q4
R7T_.ARC RECID=32 STAMP=788775193
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_17\O1_MF_1_174_80B5W
Q4W_.ARC RECID=33 STAMP=788888601
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_18\O1_MF_1_175_80DTD
93X_.ARC RECID=34 STAMP=788975115
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_19\O1_MF_1_176_80GOX
S3F_.ARC RECID=35 STAMP=789036090
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_19\O1_MF_1_177_80GRS
6OH_.ARC RECID=36 STAMP=789039015
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_20\O1_MF_1_178_80KB3
S0Z_.ARC RECID=37 STAMP=789122298
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_20\O1_MF_1_179_80KD3
NJ3_.ARC RECID=38 STAMP=789124341
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_23\O1_MF_1_180_80S9M
0H4_.ARC RECID=39 STAMP=789383905
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_23\O1_MF_1_181_80T24
7JM_.ARC RECID=40 STAMP=789409036
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_24\O1_MF_1_182_80VXT
QD6_.ARC RECID=41 STAMP=789470167
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_25\O1_MF_1_183_80YKD
OQX_.ARC RECID=42 STAMP=789555735
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_26\O1_MF_1_184_8112K
GWS_.ARC RECID=43 STAMP=789638833
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_26\O1_MF_1_185_8114M
B2G_.ARC RECID=44 STAMP=789640938
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_26\O1_MF_1_186_811XO
5M1_.ARC RECID=45 STAMP=789666603
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_27\O1_MF_1_187_813ZZ
DVT_.ARC RECID=46 STAMP=789734509
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_30\O1_MF_1_188_81CNT
MQG_.ARC RECID=47 STAMP=789985238
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_30\O1_MF_1_189_81DM8
Q3X_.ARC RECID=48 STAMP=790016409
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_30\O1_MF_1_190_81DN1
6FO_.ARC RECID=49 STAMP=790017190
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_07_31\O1_MF_1_191_81GD6
TB8_.ARC RECID=50 STAMP=790074714
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_01\O1_MF_1_192_81K23
BRW_.ARC RECID=51 STAMP=790162668
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_01\O1_MF_1_193_81K7P
43X_.ARC RECID=52 STAMP=790168389
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_02\O1_MF_1_194_81N1G
XQG_.ARC RECID=53 STAMP=790260318
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_03\O1_MF_1_195_81P6B
QRF_.ARC RECID=54 STAMP=790330840
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_03\O1_MF_1_196_81PB1
50Z_.ARC RECID=55 STAMP=790334631
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_03\O1_MF_1_197_81PH3
V2G_.ARC RECID=56 STAMP=790339838
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_09\O1_MF_1_198_8260N
NC7_.ARC RECID=57 STAMP=790849301
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_09\O1_MF_1_199_826JT
BYR_.ARC RECID=58 STAMP=790865869
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_10\O1_MF_1_200_828X3
2OH_.ARC RECID=59 STAMP=790943971
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_10\O1_MF_1_201_829LM
9C7_.ARC RECID=60 STAMP=790965994
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_13\O1_MF_1_202_82JMV
8BQ_.ARC RECID=61 STAMP=791196648
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_13\O1_MF_1_203_82K6B
G3F_.ARC RECID=62 STAMP=791215567
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_13\O1_MF_1_204_82K6Y
YRF_.ARC RECID=63 STAMP=791216223
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_16\O1_MF_1_205_82RNT
MOH_.ARC RECID=64 STAMP=791459796
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_08_24\O1_MF_1_206_83G70
KPG_.ARC RECID=65 STAMP=792166548
58 EXPIRED 对象已删除

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

释放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=136 设备类型=DISK
db_unique_name 为 ORCL 的数据库的归档日志副本列表
=====================================================================

关键字     线程序列     S 时间下限
------- ---- ------- - ----------
66      1    207     A 24-8月 -12
        名称: F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_09_19\O1_MF_1_207_85L949
L2_.ARC

是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除的归档日志
归档日志文件名=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_09_19\O1_MF_1_207_85L94
9L2_.ARC RECID=66 STAMP=794396941
1 对象已删除

RMAN> exit;

恢复管理器完成。

C:\Documents and Settings\Administrator>sql sys/sys as sysdba
'sql' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Documents and Settings\Administrator>sqlplus sys/sys as sysdba

SQL*Plus: Release 11.1.0.7.0 - Production on 星期三 9月 19 17:31:40 2012

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

连接到:
Oracle Database 11g Release 11.1.0.7.0 - Production

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
CONTROL FILE                          0                         0
              0

REDO LOG                              0                         0
              0

ARCHIVED LOG                       33.4                         0
             14

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
BACKUP PIECE                        4.8                       3.2
              9

IMAGE COPY                            0                         0
              0

FLASHBACK LOG                         0                         0
              0

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
FOREIGN ARCHIVED LOG                  0                         0
              0

已选择7行。

SQL> shutdown
ORA-00449: 后台进程 'MMON' 因错误 8181 异常终止
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  535662592 bytes
Fixed Size                  1348508 bytes
Variable Size             327158884 bytes
Database Buffers          201326592 bytes
Redo Buffers                5828608 bytes
数据库装载完毕。
SQL> alter database noarchivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> alter system set db_recovery_file_dest_size=7G scope=both;

系统已更改。

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01531: 实例已打开数据库

SQL> show parameter log_archive_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest                     string
log_archive_dest_1                   string
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string
log_archive_dest_9                   string

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_1             string      enable
log_archive_dest_state_10            string      enable
log_archive_dest_state_2             string      enable
log_archive_dest_state_3             string      enable
log_archive_dest_state_4             string      enable
log_archive_dest_state_5             string      enable
log_archive_dest_state_6             string      enable
log_archive_dest_state_7             string      enable
log_archive_dest_state_8             string      enable
log_archive_dest_state_9             string      enable
SQL> show parameter recover;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      F:\app\Administrator\flash_rec
                                                 overy_area
db_recovery_file_dest_size           big integer 7G
recovery_parallelism                 integer     0
SQL> exit;
从 Oracle Database 11g Release 11.1.0.7.0 - Production 断开

C:\Documents and Settings\Administrator>

抱歉!评论已关闭.