通過警報日誌瞭解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 業務資料unload恢復過程Oracle
- MySQL恢復過程MySql
- ORACLE事務和例項恢復過程梳理Oracle
- 伺服器斷電Oracle資料庫修復資料過程伺服器Oracle資料庫
- 一次難忘的協助解決Oracle RAC恢復過程Oracle
- oracle關閉狀態刪除活動日誌報錯恢復(一)Oracle
- 伺服器斷電資料丟失恢復原理和圖文過程伺服器
- 通過示例瞭解Vue過渡和動畫Vue動畫
- vsan儲存資料恢復過程—虛擬機器故障恢復過程資料恢復虛擬機
- vim編輯過程中斷,恢復時出現警告
- 資料庫恢復過程資料庫
- 通過事務日誌恢復SqlServer資料庫到一個特定的時間點SQLServer資料庫
- (五)SpringBoot啟動過程的分析-重新整理ApplicationContextSpring BootAPPContext
- oracle dg 歸檔日誌恢復情況Oracle
- Oracle資料庫啟動過程及狀態詳解Oracle資料庫
- MySQL通過bin log日誌恢復資料|手撕MySQL|對線面試官MySql面試
- 通過 Systemd Journal 收集日誌
- phpMyadmin通過日誌寫webshellPHPWebshell
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- 用flashback恢復儲存過程儲存過程
- MySQL 崩潰恢復過程分析MySql
- MySQL 通過 binlog 恢復資料MySql
- 通過duplicat恢復資料庫資料庫
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- Angular的啟動過程Angular
- main的啟動過程AI
- oracle 10203啟動例項報警Oracle
- oracle 刪除過期的歸檔日誌Oracle
- mysql 誤刪除表內資料,透過binlog日誌恢復MySql
- 記一次驚魂的Win10啟動卡死問題恢復過程Win10
- Service啟動過程
- SpringBoot啟動過程Spring Boot
- Windows 啟動過程Windows
- PostgreSQL啟動恢復透過checkpoint open wal檔案SQL
- 伺服器癱瘓後的初檢和資料恢復過程伺服器資料恢復
- 通過 wireshark 抓包瞭解直播流媒體 RTMP 協議基本過程協議
- linux系統資料恢復成功的過程Linux資料恢復
- app的啟動過程(三)APP