作業系統:sun solaris 8
雙機軟體: sun cluster 3.0
資料庫:oracle 8.1.7.3
故障現象:
網通客戶反映mswitch軟交換系統中所有與資料庫相關的操作都無法完成,如oss、nms等介面的查詢、修改等操作都返回資料庫連線錯誤。在sqlplus中使用wacos等使用者登入時出現如下錯誤:
ora-00257: archiver error. connect internal only, until freed.
故障分析:
mswitch系統的資料庫執行模式為歸檔模式,當redo log被重寫前需要利用arch程序進行將該redo log進行備份生成歸檔日誌。如果在歸檔過程中歸檔日誌使用的卷磁碟空間滿,歸檔就無法進行,oracle將會一直處於等待歸檔完成狀態,此時任何與資料庫相關的操作都會無法完成,導致業務中斷。
故障處理:
如果現場的儲存裝置有空餘空間,可以增加歸檔日誌卷的空間,如果沒有多餘空間可以刪除部分歸檔日誌來騰出部分空間。
注意:歸檔日誌對資料庫的恢復非常重要,在刪除歸檔日誌前最好確保系統有成功的備份,所刪除的歸檔日誌也應該是備份前的歸檔日誌。
在確保歸檔日誌所在卷有一定的空間後,利用internal使用者登入資料庫進行如下的操作。
步驟一:確定歸檔日誌的目錄:
$svrmgrl
svrmgrl>connect internal/
svrmgrl>archive log list;
database log mode archive mode
automatic archival enabled
archive destination /opt/oracle/arch/orcl
oldest online log sequence 176
next log sequence to archive 178
current log sequence 178
svrmgrl>exit
輸出中的archive destination就是資料庫所在的歸檔目錄。
步驟二:更換歸檔日誌目錄:
$svrmgrl
svrmgrl>connect internal/
svrmgrl>alter system set log_archive_dest_1='location=/opt/oracle/arch';
svrmgrl>alter system switch logfile;
svrmgrl>exit;
將歸檔日誌的的目錄更換為新目錄,然後進行新的歸檔操作。
步驟三:將歸檔日誌目錄更換為原目錄:
$svrmgrl
svrmgrl>connect internal/
svrmgrl>alter system set log_archive_dest_1='location=/opt/oracle/arch/orcl';
svrmgrl>alter system switch logfile;
svrmgrl>exit;
將歸檔日誌目錄恢復為原目錄,並進行歸檔。
步驟四:將臨時目錄下的歸檔日誌拷貝回來
利用作業系統命令將步驟二產生的歸檔日誌拷貝回歸檔日誌的目錄。
步驟五:業務測試
資料庫恢復後進行各項業務的測試,確保業務正常。
步驟六:備份資料庫
根據現場資料庫的使用情況對資料庫進行備份。
日常維護:
為避免該問題的發生,在日常維護中需要進行歸檔日誌卷空間占用情況的檢查:
$df -k
如果發現歸檔日誌卷空間滿了,現場的儲存裝置有空餘空間的話,可以增加歸檔日誌卷的空間,如果沒有多餘空間可以刪除部分歸檔日誌來騰出空間。
oracle 日誌滿 資料庫空間不足的處理
客戶反映寬頻認證伺服器,認證日誌 認證詳單沒有且部分寬頻使用者有掉線現象 處理過程 1.檢視磁碟空間使用情況 df h 發現有一磁碟使用100 2.經過分析發現資料庫日誌異常大,清理相關日誌 10g 3.檢視資料庫空間使用情況 select dbf.tablespace name,dbf.total...
oracle資料庫清理歸檔日誌步驟
1.root登陸後切換oracle使用者 root localhost su oracle2.執行sqlplus as sysdba進入oracle資料庫 oracle localhost sqlplus as sysdba3.執行 select from v flash recovery area...
oracle資料庫清理歸檔日誌步驟
root登陸後切換oracle使用者 root localhost su oracle執行 sqlplus as sysdba進入oracle資料庫 oracle localhost sqlplus as sysdba執行 sqlplus as sysdba進入oracle資料庫 oracle lo...