[备忘.问题处理]ORA-00257 归档日志占满

1、查看归档日志文件存储路径及空间占用率

sqlplus> sys@orcl as sysdba
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;  --查看归档日志空间占用率
SQL> show parameter recover;

2、更改归档日志存储文件大小

SQL> shutdown abort      --关闭进程  
SQL> startup mount       --装载数据库  
SQL> select * from v$recovery_file_dest;               --查询归档日志  
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=100g; --更改大小
SQL> alter database open; --开启数据库

3、登录RMAN删除归档日志文件

RMAN> connect target sys/<pwd>@<ip>:1521/<实例名>
RMAN> crosscheck archivelog all;
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';  --删除截止到前一天的所有archivelog
RMAN> delete expired archivelog all;  --删除过期的归档

这次遇到的问题,以及结果过程如下:

一、发现归档日志满了,执行“步骤3”的命令卡住无响应。

二、尝试了下,通过以下办法解决:

  a)手工将归档日志目录下的文件移走

位置通常在:
D:\app\administrator\oradata\recovery_area\ORCL\ARCHIVELOG

以防万一,我保留了时间最近的一个目录。

  b)执行“步骤2”将归档日志存储大小改大

这么做的原因:期间关闭了数据库后发现启动不了(记得应该是因为归档日志占满了导致 <- 这有点坑啊)。好像也遇到 ORA-03113,ORA-01034

   c)执行“步骤3”完成清理。手工强删归档文件不会直接生效,因为信息在oracle还是有记录,需要通过这一步进行清理

注意:改了归档日志文件大小后,记得要把数据库打开(alter database open)。

本文链接:[备忘.问题处理]ORA-00257 归档日志占满_俊哥V

posted @ 2022-05-07 14:25  俊哥V  阅读(221)  评论(0编辑  收藏  举报