1. 程式人生 > >Oracle 資料庫例項的啟動階段及關閉模式

Oracle 資料庫例項的啟動階段及關閉模式

  一、資料庫例項啟動的三個階段 啟動資料庫分為三個階段: Startup nomount;  --startup預設為startup open Alter database mount; Alter database open; 可以通過select status from v$instance;來檢視例項啟動到哪個狀態。 select * from v$database;
第一階段:Nomount
條件:
引數檔案存在
引數檔案中描述的目錄存在(adump,bdump,cdump,udump)
作用:
修改引數檔案
檢視部分v$資料字典
建立資料庫(後自動open)
建立控制檔案(後自動mount)
資料庫:(載入了例項)
載入了引數檔案
申請了記憶體(SGA)
啟動了後臺程序
命令:
startup nomount
alter database mount;
第二階段:Mount
條件:
控制檔案存在且已同步
並且必須是好的(名字一致,個數一致,路徑一致,scn號一致)
作用:
修改引數
檢視所有v$資料字典
把資料檔案離線
備份、恢復
修改資料庫的歸檔模式
把.dbf .log檔案搬家
資料庫:
載入了控制檔案
載入了所有的v$資料字典
命令:
Startup mount
alter database open;
alter database open read only;
第三階段:Open
條件:
資料檔案存在且已同步
日誌檔案存在
作用:
修改引數
可以查所有字典
把資料檔案離線
把表空間離線
操作資料(表,檢視)
資料庫:
申請了記憶體
啟動了後臺程序
載入了引數檔案
載入了控制檔案
根據控制檔案的描述,載入相應的資料檔案,和日誌檔案
載入了所有的字典
命令:
startup open
另外特別的:startup force 等同於 shutdown abort+startup open 二、資料庫例項關閉的四種模式 shutdown immediate
normal transactional immediate abort
允許新連線 0 0 0 0
等待會話結束 1 0 0 0
等待事務結束 1 1 0 0
檢查點並關閉檔案 1 1 1 0
做一個檢查點,
關閉資料檔案,
啟動時不需要例項恢復
做一個檢查點,
關閉資料檔案,
啟動時不需要例項恢復
做一個檢查點,
關閉資料檔案,
啟動時不需要例項恢復
不做檢查點,
不關閉資料檔案,
啟動時自動進行例項恢復(mount->open)
三、開啟資料庫後,如果有以下項丟失,資料庫會失敗: • 任何控制檔案 • 屬於系統表空間或還原表空間的資料檔案 • 整個重做日誌組(只要組中至少有一個成員可用,例項就會保持開啟狀態。) abort等同於停電,且在下次正常啟動恢復之前,不允許在mount狀態下修改引數,例如歸檔、閃回,檢查點是為了保證資料一致性,寫入資料檔案。 四、linux下dbstart,dbshut啟動關閉資料庫 參考文獻: