Oracle 資料庫例項啟動關閉過程
--================================
-->Oracle 資料庫例項啟動關閉過程
--================================
/*
Oracle資料庫例項的啟動,嚴格來說應該是例項的啟動,資料庫僅僅是在例項啟動後進行裝載。Oracle資料啟動的過程被劃分為
幾個不同的步驟,在不同的啟動過程中,我們可以對其實現不同的操作,系統修復等等工作,因此瞭解Oracle資料啟動、關閉是非常
有必要的。下面詳細了Oracle Database 10g 資料庫啟動及關閉的過程。
一、資料庫例項的啟動
啟動命令:starup [force][restrict] [pfile=...] [nomount] [mount] [open]
啟動過程:nomount ---> mount ---> open(startup不帶引數將逐步一一完成)
1.nomount階段(即例項的啟動)
例項的啟動通常包含下列任務:
a.按以下順序在$ORACLE_HOME/dbs[win平臺為database]目錄下搜尋下列檔案,即如果第一個沒找到,就找下一個
spfile<SID>.ora ---> spfile.ora ---> init<SID>.ora
b.分配SGA
c.啟動後臺程序
d.開啟並修改告警<SID>.log檔案及跟蹤檔案
使用場景:
多用於資料庫建立、控制檔案重建、特定的備份恢復等
注意:
此階段不開啟任何的控制檔案及資料檔案。
2.mount階段
mount階段完成的任務:
a.啟動例項並開啟控制檔案,將資料庫與例項關聯起來
b.利用引數檔案中的說明,開啟並鎖定控制檔案
c.讀取控制檔案以獲取資料檔案和重做日誌檔案的名字和狀態資訊,但不檢查資料日誌檔案是否存在
使用場景:
a.重新命名資料檔案,移動資料檔案位置等(資料庫開啟,表空間離線的情況下也可以重新命名資料檔案)
b.啟用或關閉重做日誌檔案的歸檔及非歸檔模式
c.實現資料庫的完全恢復
注意:
這一步會讀控制檔案,如果這一步有一個控制檔案損壞就無法啟動
3.open階段
mount階段完成的任務:
a.開啟資料檔案
b.開啟聯機日誌檔案
注意:
a.在此期間,
b.如果出現一致性錯誤,SMON程序將啟動例項恢復
c.如果任一資料檔案或聯機日誌檔案丟失,Oracle伺服器將報錯
4.特殊的方式開啟資料庫
只讀模式:
startup open read only;
如果現在在mount
alter database open read only;
受限模式:
有時進行資料庫維護護,希望一般的使用者不能登入。可以啟動到該模式,這樣只有使用者具有
restricted session 許可權,才可登入到資料庫。
啟動方法:
startup restrict;
取消受限:
alter system disable restricted session;
二、資料庫例項的關閉
關閉命令:shutdowm abort | immediate | transactional | normal(shutdown不帶引數將預設為normal)
關閉選項:
normal--->不准許新的連線,等待當前的session 結束,等待當前的事務結束,強制檢查點並關閉檔案
transactional--->不准許新的連線,不等待當前的session結束,等待當前的事務結束,強制檢查點並關閉檔案。
immediate--->不准許新的連線,不等待當前的session結束,不等待當前的事務結束,強制檢查點並關閉檔案。
abort--->不准許新的連線,不等待當前的session結束,不等待當前的事務結束,不作強制檢查點。
三、幾類診斷檔案
包含有重要意義時間的具體資訊,用於解決問題,用於日常更好的管理資料庫
a.alterSID.log告警檔案