1. 程式人生 > >Oracle歸檔日誌 ORA-00257:archiver error解決辦法 清理Oracle歸檔日誌

Oracle歸檔日誌 ORA-00257:archiver error解決辦法 清理Oracle歸檔日誌

ORA-00257:archiver error解決辦法

 

出現ORA-00257錯誤(空間不足錯誤),通過查詢資料,絕大部分說這是由於歸檔日誌太多,佔用了全部的硬碟剩餘空間導致的,通過簡單刪除日誌或加大儲存空間就能夠解決。

ORA-00257:archiver error解決辦法

工具/原料

  • 資料庫Oracle 10.2.0.1.0

  • SecureCRT 任意ssh連線工具都可以

方法/步驟

  1. SecureCRT登入伺服器,切換使用者oracle,連線oracle

    [[email protected]~]# su - oracle

    [[email protected]~]$ sqlplus /nolog

    SQL> connect /as sysdba

    ORA-00257:archiver error解決辦法

  2. 檢查flash recovery area的使用情況,可以看見archivelog已經很大了,達到99.94

    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

    ORA-00257:archiver error解決辦法

  3. 計算flash recovery area已經佔用的空間

    SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

    ORA-00257:archiver error解決辦法

  4. 修改FLASH_RECOVERY_AREA的空間修改為6GB,修改前確認磁碟有足夠空間

    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=8g;

    ORA-00257:archiver error解決辦法

  5. 現在來清理一下archivelog歸檔日誌,生產環境建議備份

    查詢日誌目錄位置

    show parameter recover;

    刪除歸檔日誌,USERDB是資料庫例項名

    cd /u01/app/oracle/flash_recovery_area/USERDB/archivelog

    使用root帳戶刪除該目錄下的檔案或者備份其它地方

    ORA-00257:archiver error解決辦法

  6. 使用rman 操作,內容太多,只做部分截圖

    [[email protected] archivelog]$ rman

    RMAN> connect target sys/sys_passwd

    crosscheck backup; 

    delete obsolete; 

    delete expired backup; 

    crosscheck archivelog all; 

    delete expired archivelog all; 

    //此步會有提示,輸入 YES 回車

    host;   //退出rman

    ORA-00257:archiver error解決辦法

  7. 確認是否操作成功

    #  sqlplus /nolog

    SQL>  connect /as sysdba

    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

    ORA-00257:archiver error解決辦法

  8. 刪除完成,重新連線資料庫

    ORA-00257:archiver error解決辦法

 

https://jingyan.baidu.com/article/3065b3b6e202ccbecef8a411.html