程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle歸檔日志寫滿(ora-00257)了怎麼辦,oracleora-00257

Oracle歸檔日志寫滿(ora-00257)了怎麼辦,oracleora-00257

編輯:Oracle教程

Oracle歸檔日志寫滿(ora-00257)了怎麼辦,oracleora-00257


oracle數據庫報錯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

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'; //刪除七天到現在的歸檔 

以上內容是關於Oracle歸檔日志寫滿(ora-00257)了的解決辦法,希望大家喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved