Oracle【ORA-00257错误】解决办法及归档模式切换总结整理

  • Post author:
  • Post category:其他


Oracle的archive log归档日志满了之后会报下列错误:

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

解决办法:

1、打开cmd登录sqlplus

2、找到日志recovery目录

SQL> show parameter recover;

3、到recovery目录下删除不要的归档日志

4、在cmd下进入RMAN,用RMAN维护控制文件,否则空间显示仍然不释放

rman target sys/pass

5、检查一些无用的archivelog

RMAN> crosscheck archivelog all;

6、删除所有过期的归档

--删除所有归档日志
RMAN> delete expired archivelog all;
--删除截止昨天的所有归档日志
RMAN> delete archivelog until time 'sysdate-1';

相关查询语句

--查看当前日志模式
SQL> archive log list;
--检查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;
--查看recovery文件路径
SQL> show parameter recover;

归档与非归档模式之间的切换

SQL> shutdown immediate;
SQL> startup mount;
--非归档模式
SQL> alter database noarchivelog;
--归档模式
SQL> alter database archivelog;