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

huangdazhu發表於2014-03-28
解決ORA-00257: archiver error. Connect internal only, until freed
 
歸檔日誌滿了。
解決辦法:
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日誌已經達到99.9%了。要把它清除掉!
SQL> quit
C:\Documents and Settings\Administrator>rman target /
 也可以直接
rman 
rman >connect target system/myoracle@orcl

注:system為oracle使用者,myoracle為oracle使用者密碼,orcl為連線的資料庫名稱SID。
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
注:刪除過期的歸檔
這樣就把歸檔檔案刪除了。再進入sqlplus 檢視ARCHIVELOG日誌使用率!
 
第二種方法就是增大閃回日誌檔案的最大大小。如下:
alter system set DB_RECOVERY_FILE_DEST_SIZE=10g
 
以上處理方法是當遇到出現日誌寫滿報錯時的處理,建議最好做個任務,定時刪除日誌,如下:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //刪除七天前的歸檔   
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; //刪除七天到現在的歸檔   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28869493/viewspace-1131332/,如需轉載,請註明出處,否則將追究法律責任。

相關文章