關於ORA-00257: archiver error. Connect internal only, until freed 錯誤的處理方法

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

解決辦法:

1,SecureCRT登錄服務器,切換用戶Oracle,連接oracle

[root@userbeta~]# su - oracle

[oracle@userbeta~]$ sqlplus /nolog

SQL> connect /as sysdba


2,檢查flash recovery area的使用情況,可以看見archivelog已經很大了,達到85.75 再加上 一個11.2的基本沒有空間了

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;


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

查詢日誌目錄位置

show parameter recover;

 

4,退出sqlplus,用root用戶登錄,將歸檔日誌備份後刪除

先進入一個目標地址;新建一個oracle歸檔日誌備份目錄

mkdir oracle歸檔日誌備份


進入歸檔日誌源文件目錄(UPRR數據庫實例名):

cd /mnt/install/ora_11g/app/oracle/flash_recovery_area/UPRR/archivelog/

先進入archivelog目錄外面:

cd ..

備份archivelog下面的歸檔日誌到之前新建的oracle歸檔日誌備份目錄下面:

cp -rf archivelog /mnt/oracle歸檔日誌備份/


等待備份完成之後,刪除已經備份的歸檔日誌

5,在刪除歸檔日誌後,必須用RMAN維護控制文件,否則空間顯示仍然不釋放

使用oracle用戶登錄服務器,進入RMAN維護:

rman target sys/pass


檢查一些無用的archivelog

RMAN> crosscheck archivelog all;

刪除截止到前一天的所有archivelog

RMAN> delete archivelog until time 'sysdate-1' ;

6,再次查詢flash recovery area的使用情況

先按照步驟1,進入sqlplus環境,然後使用下面命令查詢發現,只使用12.82%,說明清除歸檔日誌成功!

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;



轉自:http://blog.csdn.net/cw370008359/article/details/51023794


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章