歸檔問題導致的資料庫無法啟動 80天

2021-09-28 13:14:41 字數 2590 閱讀 5003

本地有乙個小的環境,今天照例登上sqlplus,突然發現報了如下的錯誤。一看原來歸檔滿了。我記得前幾天做乙個批量操作臨時把temp檔案resize了很大,限於本地空間有限。準備改回去。把多餘的歸檔刪除了。

sqlplus n1/n1 ora-00257: archiver error. connect internal only, until freed.

這個時候sysdba的許可權發揮作用了,它可以照常登入。然後開始做resize操作。

sql> alter database tempfile '/u03/ora11g/oradata/test01/temp01.dbf' resize 100m;

但是等了好一會兒,一直沒有輸出。是不是hang住了。

看來得刪除歸檔檔案了。然後到歸檔目錄下嘗試刪除,結果這個時候rm似乎不管用了,命令執行了,但是歸檔檔案還在那。我想是不是有系統級的問題了。

決定重啟 ,重啟以後,mount狀態過後就很不留情的報了乙個03113的錯誤。

sql> startup

total system global area 313159680 bytes ora-03113: end-of-file on communication channel

檢視alert日誌檔案。看到重做日誌歸檔失敗。

arc3 started with pid=23, os id=8232 arch: encountered disk i/o error 19502 arch: closing local archive destination log_archive_dest_1: '/u03/ora11g/product/11.2.0/dbhome_1/dbs/arch1_216_837590339.dbf' (error 19502) (test01) arc2: encountered disk i/o error 19502 arc2: closing local archive destination log_archive_dest_1: '/u03/ora11g/product/11.2.0/dbhome_1/dbs/arch1_217_837590339.dbf' (error 19502) (test01) arc2: i/o error 19502 archiving log 1 to '/u03/ora11g/product/11.2.0/dbhome_1/dbs/arch1_217_837590339.dbf' arch: i/o error 19502 archiving log 3 to '/u03/ora11g/product/11.2.0/dbhome_1/dbs/arch1_216_837590339.dbf' arch: archival stopped, error occurred. will continue retrying oracle instance test01 - archival error ora-16038: log 1 sequence# 217 cannot be archived ora-19502: write error on file "", block number (block size=) ora-00312: online log 1 thread 1: '/u03/ora11g/oradata/test01/redo01.log' errors in file /u03/ora11g/diag/rdbms/test01/test01/trace/test01_ora_8220.trc: ora-16038: log 3 sequence# 216 cannot be archived ora-19502: write error on file "", block number (block size=) ora-00312: online log 3 thread 1: '/u03/ora11g/oradata/test01/redo03.log' user (ospid: 8220): terminating the instance due to error 16038

因為是測試環境,所以採用了如下的方法,啟動到mount階段之後

sql> startup mount

total system global area 313159680 bytes

sql> alter database clear unarchived logfile '/u03/ora11g/oradata/test01/redo01.log';

sql> alter database clear unarchived logfile '/u03/ora11g/oradata/test01/redo03.log';

sql> alter database open;

檢視日誌檔案情況

sql> select group#,sequence#,members,status,archived from v$log;

group# sequence# members status arc

1* select *from v$logfile

group# status type member is_recover

這個時候重新執行temp檔案的resize,就沒有問題了。

sql> alter database tempfile '/u03/ora11g/oradata/test01/temp01.dbf' resize 100m;

database altered.

非歸檔遭遇ORA 00333導致資料庫無法open

今天以前某客戶聯絡我,說有個庫無法啟動,花了幾分鐘遠端看了一下,alert log資訊如下 sun mar 16 20 27 49 2014 media recovery start parallel recovery started with 7 processes sun mar 16 20 2...

資料庫無法啟動

e mysql 5.7.15 net start mysql mysql 服務正在啟動 mysql 服務無法啟動。服務沒有報告任何錯誤。請鍵入 net helpmsg 3534 以獲得更多的幫助。方法 這個錯誤沒有仍和日誌記錄,原因是my.ini中datadir所設定的目錄不存在,路徑分隔符需要採用...

因spfile修改錯誤導致資料庫無法啟動的恢復方法

1.在pfile 中寫入兩行內容,後面的引數會覆蓋之前的引數生效 一行內容是 spfile 使用pfile啟動 資料庫 是log archive start 引數生效 sys ora10g startup pfile oracle home dbs initora10g.ora ora 32006 ...