ORA-00257: archiver error. Connect internal only, until freed
登录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显示上面的错误
以下是公司大师给出的步骤,谨记录备用:
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中的操作:
- Connected.
- SQL> shutdown immediate
- ORA-01013: user requested cancel of current operation
- //一直停不掉,就ctl+c中断了
- //再试一次
- SQL> shutdown immediate
- 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.
以上是网上搜索到的答案。重启服务后系统运行正常,真正原因还等待公司DBA的分析。