oracle 常見問題

  • ora-00257 archiver error. connect as sysdba only until resolved

The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is that the destination device is out of space to store the redo log file. Another possible cause is that a destination marked as MANDATORY has failed.

resolve:

該錯(cuò)誤是由于歸檔日志滿了,造成的。
查看了下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               255
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0

注:可以看出,ARCHIVELOG日志已經(jīng)達(dá)到99.9%了。造成歸檔滿的原因是因?yàn)橛幸粋€(gè)用戶在做大量更新操作,由于更新操作產(chǎn)生大量重做日志,歸檔日志切換頻繁。解決方法是要把大量歸檔日志清除掉!有兩種方式可以解決該問題。一使用RMAN清除歸檔日志。二修改閃回恢復(fù)區(qū)的大小DB_RECOVERY_FILE_DEST_SIZE。
第一種使用RMAN清除歸檔日志:

$rman target /
RMAN> crosscheck archivelog all;
RMAN> delete noprompt expired archivelog all;

第二種方法就是增大閃回恢復(fù)區(qū)的大小:

SQL>alter system set DB_RECOVERY_FILE_DEST_SIZE=8G;

在歸檔數(shù)據(jù)中要制定備份策略。以免造成該問題。

configure retention policy to recovery window of 15 days;

或者在備份時(shí)刪除日志信息。

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //刪除七天前的歸檔   
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; //刪除七天到現(xiàn)在的歸檔   
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容