現場故障 案例:控制檔案損壞
1、手工切歸檔時出錯;
2、檢視告警資訊;
3、轉儲/disk2下的控制檔案;
4、啟庫,切歸檔;
5、手工執行0級全備。
時間目的
操作09:50
正常巡檢,開啟告警日誌,
檢查資料庫時間、狀態
sql> select sysdate from dual;
sysdate
-----------------
21-05-14 09:50:24
sql> select status from v$instance;
status
------------
open
09:51
發現告警日誌中
一條cannot提示資訊
wed may 21 09:47:15 2014
thread 1 cannot allocate new log, sequence 104
checkpoint not complete
current log# 3 seq# 103 mem# 1: /disk1/metro/redofile/redo03a.log
thread 1 advanced to log sequence 104
current log# 1 seq# 104 mem# 1: /disk1/metro/redofile/redo01a.log
09:53
發現告警日誌中
連續出現ora-00202告警資訊
wed may 21 09:53:25 2014
corrupt block relative dba: 0x00000001 (file 0, block 1)
completely zero block found during control file header read
wed may 21 09:53:25 2014
ora-00202: control file: '/disk2/metro/control_file/control03.ctl'
wed may 21 09:53:26 2014
ora-00227: corrupt block detected in control file: (block 1, # blocks 1)
ora-00202: control file: '/disk2/metro/control_file/control03.ctl'
10:10
到資料庫下進行手工歸檔,
報錯並斷開連線
sql> alter system switch logfile;
alter system switch logfile
*error at line 1:
ora-03135: connection lost contact
10:12
嘗試啟庫,失敗,報錯
sql> startup
oracle instance started.
total system global area 612368384 bytes
fixed size 2022800 bytes
variable size 226493040 bytes
database buffers 377487360 bytes
redo buffers 6365184 bytes
ora-00205: error in identifying control file, check alert log for more info
10:13
根據啟庫時提示資訊
及告警日誌資訊,
初判控制檔案存在問題
ora-00205: error in identifying control file, check alert log for more info
ora-00202: control file: '/disk2/metro/control_file/control03.ctl'
10:16
根據提示轉儲disk2下控制檔案
[oracle@aix203]$cd /disk2/metro/control_file
[oracle@aix203]$ls
control03.ctl
[oracle@aix203]$mv control03.ctl control03.ctl.bak
[oracle@aix203]$cd /disk1/metro/control_file
[oracle@aix203]$ls
control02.ctl
[oracle@aix203]$cp control02.ctl /disk2/metro/control_file/control03.ctl
10:19
啟庫,成功
sql> startup;
oracle instance started.
total system global area 612368384 bytes
fixed size 2022800 bytes
variable size 226493040 bytes
database buffers 377487360 bytes
redo buffers 6365184 bytes
database mounted.
database opened.
10:20
刪除有問題的控制檔案
[oracle@aix203]$ls
control03.ctl control03.ctl.bak
[oracle@aix203]$rm control03.ctl.bak
[oracle@aix203]$ls
control03.ctl
10:22
0級全備
[oracle@aix203]$cd /home/oracle/
[oracle@aix203]$ls
ctl.sh scripts smit.log smit.script smit.transaction
[oracle@aix203]$cd scripts
[oracle@aix203]$ls
bin log tmp
[oracle@aix203]$cd bin
[oracle@aix203]$ls
rmanlevel0.sh rmanlevel0.sh.bak rmanlevel1.sh rmanlevel1.sh.bak
[oracle@aix203]$sh rmanlevel0.sh
10:28
完成全備
10:29
切歸檔sql> alter system archive log current;
system altered.
作者資訊和本宣告 。關於涉及版權事宜,作者有權追究法律責任。
現場故障小結 非當前日誌組損壞情況
現場故障小結 非當前日誌組損壞情況 環境 aix 5300 08 oracle10g 10.2.0.1.0 64bit 情況一 非當前日誌組成員被誤刪除 方法一 使用clear將損壞日誌組內容清除 資料庫宕機 告警日誌報錯 無法找到日誌組 啟庫到nomount狀態 清理日誌組 sql alter d...
控制檔案損壞的恢復
一 控制檔案損壞的恢復 乙個檔案 損壞單個控制檔案是比較容易恢復的,因為一般的資料庫系統,控制檔案都不是乙個,而且所有的控制檔案都互為映象,只要拷貝乙個好的控制檔案替換壞的控制檔案就可以了。方法1 使用spfile多路復用 sql shutdown immediate 資料庫已經關閉。已經解除安裝資...
關於nginx訊號控制的「故障」案例
關於nginx訊號控制的 故障 案例 最近幾天發現nginx的日誌老切割不成功,遂來查詢問題。最開始以為是logrotate的指令碼問題,遂手動切割,執行以下的命令 logrotate vf etc logrotate.d nginx 發現執行這個是沒有問題的,終於,在service nginx r...