码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-14 10:44:54      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:备份策略   七天   tab   归档   day   over   查看   删除日志   有一个   

查看了下V$FLASH_RECOVERY_AREA_USAGE,看看归档目录使用的情况。看情况是归档满了。

SQL> SELECT * FROM  V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

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

CONTROLFILE                   0                         0               0

ONLINELOG                     0                         0               0

ARCHIVELOG                  99.9                         0               200

BACKUPPIECE                   0                         0               0

IMAGECOPY                     0                         0               0

FLASHBACKLOG                  0                         0               0

注:可以看出,ARCHIVELOG日志已经达到99.9%了。造成归档满的原因是因为有一个用户在做大量更新操作,由于更新操作产生大量重做日志,
归档日志切换频繁。解决方法是要把大量归档日志清除掉!
有两种方式可以解决该问题。
一使用RMAN清除归档日志。
二修改闪回恢复区的大小DB_RECOVERY_FILE_DEST_SIZE。

第一种使用RMAN清除归档日志。

C:\Documents and Settings\Administrator>rman

RMAN> connect target system/or@devdb

注:system为oracle用户,myoracle为oracle用户密码,orcl为连接的数据库名称SID。

RMAN> crosscheck archivelog all;

RMAN> delete noprompt expired archivelog all;

注:删除过期的归档

这样就把归档文件删除了。再进入sqlplus 查看ARCHIVELOG日志使用率!

 

第二种方法就是增大闪回恢复区的大小。如下:

SQL>alter system set DB_RECOVERY_FILE_DEST_SIZE=8G;

在归档数据中要制定备份策略。以免造成该问题。
configure retention policy to recovery window of 15 days;

或者在备份时删除日志信息。

DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7‘; //删除七天前的归档   

DELETE ARCHIVELOG FROM TIME ‘SYSDATE-7‘; //删除最近七天到现在的归档

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

标签:备份策略   七天   tab   归档   day   over   查看   删除日志   有一个   

原文地址:https://www.cnblogs.com/zhangyingbin/p/12490818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!