標籤:oracle
startup nomount
##啟動執行個體,啟動第一步,ORACLE首先尋找參數檔案,然後根據參數檔案中的設定(記憶體配置設定),建立執行個體,分配記憶體、啟動後台進程,nomount過程也就是啟動資料庫執行個體的過程,
首先根據ORACLE_SID來決定和尋找spfile<ORACLE_SID>參數檔案啟動執行個體,在ORACLE執行個體啟動時,在作業系統上fork的進程就依據這個ORACLE_SID來建立。
DB_NAME用來定義資料庫名稱,必須是一個不超過8個字元的文本串,DB_NAME代表了執行個體即將掛載的資料庫名稱,在資料庫建立過程中,DB_NAME被記錄在資料檔案,控制檔案和記錄檔中,另外還記錄在spfile參數檔案中,在執行個體啟動過程中,參數檔案中必須至少要有DB_NAME參數,而且如果在資料庫啟動mount階段中參數檔案中的DB_NAME和控制檔案中的資料庫名稱不一樣,則資料庫不能啟動
alter database mount
##啟動資料庫到mount狀態 startup mount
啟動到nomount狀態以後,oracle就可以從參數檔案中獲得控制檔案的位置資訊,找到控制檔案,並且根據控制檔案中記錄的資料檔案位置進行資料檔案的存在性判斷。
alter database open
##啟動資料庫到open狀態
控制檔案中記錄了資料庫中資料檔案,記錄檔的位置資訊,檢查點資訊等重要訊息,在資料庫open階段,ORACLE將根據控制檔案中記錄的這些資訊找到這些檔案,然後進行檢查點及完整性檢查,如果不存在問題就可以啟動資料庫。
open過程中,ORACLE進行的檢查包括以下二項:
第一次檢查資料檔案頭中的檢查點計數(checkpoint CNT)是否和控制檔案中的檢查點計數(checkpoint CNT)一致,此步驟檢查用以確認資料檔案是來自同一版本,而不是從備份中恢複過來
第二次檢查資料檔案頭的開始SCN和控制檔案中記錄的該檔案的結束SCN是否一致,如果控制檔案中記錄的結束SCN等於資料檔案頭的開始SCN,則不需要對那個檔案進行恢複。
本文出自 “夫臣” 部落格,謝絕轉載!
ORACLE啟動三階段