您的位置:首页 > 其它

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

2013-10-30 13:27 323 查看
ORA-00257: archiver error. Connect internal only, until freed 

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

的错误,之后怎么连接都连接不上。

之前也见过这种问题,想起可能是归档日志满了,%oracle_home%\10.1.0\flash_recovery_area\下面看了一下,大概有5个G的日志。

想应该是归档日志太大了,当时又是了几下,还是登录不上数据库。

看了些网上的资料,有用的较少。

本次的实验如下:

1)我把数据库的“tnsname”文件的共享模式改成专有模式。

2)重新启动了一下监听和服务

3)再次用sys用户登录

这次奇迹般的登录进去了。

sqlplus sys/password@oracle as sysdba。 sys是用户名,oracle是数据库名字

后面的就是清除归档文件了。

登录oracle显示上面的错误 

以下是公司大师给出的步骤,谨记录备用: 
1、手工删除归档日志的文件夹(按日期那种) 
2、在oracle用户下以rman target / 
3、crosscheck archivelog all; 
4、delete expired archivelog all;--这里删除了一些与第1步中删除的文件日期匹配的文件,目前研究还不深入,不清楚它们之间具体的联系 
5、exit; 

--如果发现归档日志的空间快使用完了,而没有出现00257的错误,只做到这一步就够了,不用再进行下面的步骤了 
--查询归档日志使用的sql:select * from v$flash_recovery_area_usage; 

6、接下来是在sqlplus中的操作: 

Oracle sqlplus代码  



SQL> conn / as sysdba  

Connected.  

SQL> shutdown immediate  

ORA-01013: user requested cancel of current operation  

//一直停不掉,就ctl+c中断了  

  

//再试一次  

SQL> shutdown immediate  

<
4000
span style="color:#000000;">ORA-01013: user requested cancel of current operation  

//还是停不掉,再次ctl+c中断  

  

//强行停止吧  

SQL> shutdown abort  

ORACLE instance shut down.  

  

//再次启动  

SQL> startup                                            

ORACLE instance started.  

  

Total System Global Area 1610612736 bytes  

Fixed Size                  1267740 bytes  

Variable Size             452986852 bytes  

Database Buffers         1140850688 bytes  

Redo Buffers               15507456 bytes  

Database mounted.  

ORA-16014: log 2 sequence# 101 not archived, no available destinations  

ORA-00312: online log 2 thread 1: '/oracle/oradata/orcl/redo02.log'  

ORA-00312: online log 2 thread 1:  

'/backup/oracle_archive/redo_data/redo2/redo021.log'  

//数据库没有打开,报上面的错误  

  

SQL> show parameter db_recovery_file_dest_size;  

  

NAME                                 TYPE        VALUE  

------------------------------------ ----------- ------------------------------  

db_recovery_file_dest_size           big integer 4G  

SQL> select group#,sequence#,archived,status from v$log;  

  

    GROUP#  SEQUENCE# ARC STATUS  

---------- ---------- --- ----------------  

         1        103 NO  CURRENT  

         3        102 NO  INACTIVE  

         2        101 NO  INACTIVE  

  

//搞一搞SEQUENCE号最小的一个  

SQL> alter database clear logfile group 2;  

alter database clear logfile group 2  

*  

ERROR at line 1:  

ORA-00350: log 2 of instance orcl (thread 1) needs to be archived  

ORA-00312: online log 2 thread 1: '/oracle/oradata/orcl/redo02.log'  

ORA-00312: online log 2 thread 1:  

'/backup/oracle_archive/redo_data/redo2/redo021.log'  

  

SQL> alter database clear unarchived logfile group 2;  

  

Database altered.  

  

SQL> alter database open;  

  

Database altered. 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: