通過警報日誌瞭解oracle斷電後重新啟動的恢復過程
首先了解oracle的警報日誌檔案
警報日誌是oracle資料庫執行產生的日誌資訊,主要包含資料庫的啟動和關閉,資料庫內部執行的操作,資料庫報錯等資訊,主要用於DBA對資料庫的日常診斷。
當資料庫出現問題時,警報日誌會指出問題所在,比如說表不能增加儲存空間,回滾段問題等等都包含在警報日誌中,正因如此,每天都要檢查警報日誌,看看資料庫有沒有什麼異常。
可通過background_dump_dest引數檢視警報日誌的路徑:
SYS@orcl 05-SEP-14>show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/orc
l/orcl/trace
由於警報日誌是持續性寫入的,可以使用tail -f 檢視警報日誌檔案的內容,通過這個命令可以捕捉日誌的變化。
[oracle@localhost trace]$ tail -f alert_orcl.log
Current log# 2 seq# 14 mem# 0: /u01/app/oracle/oradata/orcl/redo02.log
Thread 1 advanced to log sequence 15 (LGWR switch)
Current log# 3 seq# 15 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
Fri Sep 05 18:57:26 2014
Archived Log entry 111 added for thread 1 sequence 14 ID 0x52835472 dest 1:
Archived Log entry 112 added for thread 1 sequence 14 ID 0x52835472 dest 2:
Fri Sep 05 19:01:46 2014
Starting background process SMCO
Fri Sep 05 19:01:46 2014
SMCO started with pid=37, OS id=19485
下面用shutdown abort關閉資料庫:
SYS@orcl 05-SEP-14>shutdown abort
ORACLE instance shut down.
再用tail -f檢視警報日誌的資訊:
Shutting down instance (abort)
License high water mark = 13
USER (ospid: 18818): terminating the instance
Instance terminated by USER, pid = 18818
Fri Sep 05 19:37:48 2014
Instance shutdown complete
再開啟資料庫:
SYS@orcl 05-SEP-14>startup
ORACLE instance started.
Total System Global Area 849530880 bytes
Fixed Size 1339824 bytes
Variable Size 587206224 bytes
Database Buffers 255852544 bytes
Redo Buffers 5132288 bytes
Database mounted.
Database opened.
警報日誌是oracle資料庫執行產生的日誌資訊,主要包含資料庫的啟動和關閉,資料庫內部執行的操作,資料庫報錯等資訊,主要用於DBA對資料庫的日常診斷。
當資料庫出現問題時,警報日誌會指出問題所在,比如說表不能增加儲存空間,回滾段問題等等都包含在警報日誌中,正因如此,每天都要檢查警報日誌,看看資料庫有沒有什麼異常。
可通過background_dump_dest引數檢視警報日誌的路徑:
SYS@orcl 05-SEP-14>show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/orc
l/orcl/trace
[oracle@localhost trace]$ tail -f alert_orcl.log
Current log# 2 seq# 14 mem# 0: /u01/app/oracle/oradata/orcl/redo02.log
Thread 1 advanced to log sequence 15 (LGWR switch)
Current log# 3 seq# 15 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
Fri Sep 05 18:57:26 2014
Archived Log entry 111 added for thread 1 sequence 14 ID 0x52835472 dest 1:
Archived Log entry 112 added for thread 1 sequence 14 ID 0x52835472 dest 2:
Fri Sep 05 19:01:46 2014
Starting background process SMCO
Fri Sep 05 19:01:46 2014
SMCO started with pid=37, OS id=19485
SYS@orcl 05-SEP-14>shutdown abort
ORACLE instance shut down.
Shutting down instance (abort)
License high water mark = 13
USER (ospid: 18818): terminating the instance
Instance terminated by USER, pid = 18818
Fri Sep 05 19:37:48 2014
Instance shutdown complete
SYS@orcl 05-SEP-14>startup
ORACLE instance started.
Total System Global Area 849530880 bytes
Fixed Size 1339824 bytes
Variable Size 587206224 bytes
Database Buffers 255852544 bytes
Redo Buffers 5132288 bytes
Database mounted.
Database opened.
在警報日誌檔案中可以看到如下恢復資訊:
Fri Sep 05 19:39:29 2014
ALTER DATABASE OPEN
Beginning crash recovery of 1 threads
Started redo scan
Completed redo scan
read 639 KB redo, 183 data blocks need recovery
Started redo application at
Thread 1: logseq 15, block 10756
Recovery of Online Redo Log: Thread 1 Group 3 Seq 15 Reading mem 0
Mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
Completed redo application of 0.33MB
Completed crash recovery at
Thread 1: logseq 15, block 12034, scn 1089266
183 data blocks read, 183 data blocks written, 639 redo k-bytes read
如果以shutdown abort方式關閉資料庫,資料庫不會進行檢查點操作,buffer cache中的髒資料沒有寫回到資料檔案中,資料庫不一致,重新啟動的時候需要進行資料庫恢復,恢復依賴於重做日誌檔案。Fri Sep 05 19:39:29 2014
ALTER DATABASE OPEN
Beginning crash recovery of 1 threads
Started redo scan
Completed redo scan
read 639 KB redo, 183 data blocks need recovery
Started redo application at
Thread 1: logseq 15, block 10756
Recovery of Online Redo Log: Thread 1 Group 3 Seq 15 Reading mem 0
Mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
Completed redo application of 0.33MB
Completed crash recovery at
Thread 1: logseq 15, block 12034, scn 1089266
183 data blocks read, 183 data blocks written, 639 redo k-bytes read
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29800581/viewspace-1265107/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL啟動恢復過程中日誌源的切換SQL
- oracle丟失inactive日誌檔案的恢復操作過程Oracle
- oracle丟失active或current日誌檔案的恢復操作過程Oracle
- oracle 中 alert 報警日誌過大的處理方法Oracle
- RAC網路中斷後自動恢復過程日誌ORA-16198: ORA-16198:
- 如何通過trn日誌檔案恢復SQL ServerSQLServer
- 通過Xtrabackup日誌來恢復檢查點檔案
- oracle goldengate 恢復過程OracleGo
- oracle redo 日誌刪除後的恢復Oracle Redo
- Oracle的啟動過程Oracle
- ORACLE寫日誌過程存在缺陷Oracle
- 恢復被覆蓋的儲存過程 oracle儲存過程Oracle
- MySQL恢復過程MySql
- 跳過歸檔日誌的非常規恢復(一)
- oracle 恢復重做日誌Oracle
- MySQL 5.6.26 通過frm & ibd 恢復資料過程MySql
- Oracle啟動的三個過程Oracle
- oracle的內部啟動過程Oracle
- Oracle 業務資料unload恢復過程Oracle
- ORACLE啟動過程淺析Oracle
- ORACLE啟動過程簡析Oracle
- 伺服器斷電資料丟失恢復原理和圖文過程伺服器
- 伺服器斷電Oracle資料庫修復資料過程伺服器Oracle資料庫
- 非歸檔模式下,丟失日誌檔案的一次恢復過程模式
- Oracle-解析啟動的全過程Oracle
- MySQL通過bin log日誌恢復資料|手撕MySQL|對線面試官MySql面試
- AIX系統儲存故障後的Oracle 10g RAC恢復過程AIOracle 10g
- DG中模擬備庫斷檔並恢復過程
- DG歸檔日誌斷檔時間過長如何處理(DG全庫恢復)
- oracle歸檔日誌丟失後的資料庫恢復Oracle資料庫
- ORACLE事務和例項恢復過程梳理Oracle
- 一次Oracle資料庫恢復過程Oracle資料庫
- 【DATAGUARD】手工恢復備庫日誌中斷
- 一次難忘的協助解決Oracle RAC恢復過程Oracle
- 資料庫恢復過程資料庫
- 通過事務日誌恢復SqlServer資料庫到一個特定的時間點SQLServer資料庫
- ORACLE監控系統錯誤日誌過程Oracle
- 深入理解ORACLE啟動過程Oracle