1. oracle數據庫實例的啓動:
oracle數據庫啓動有三種階段,在不同的啓動階段中oracle會實現不同的操作,系統修復等操作:
1)、starup nomount 階段:即實例的啓動,實例的啓動包含以下任務:
a、按以下的順序在$ORACLE_HOME/dbs(win平臺中爲database)目錄下搜索下列文件,即如果第一個沒有找到就找下一個spfile<SID>.ora-->spfile.ora-->init<SID>.ora
b、分配SGA
c、啓動後臺進程
d、打開並修改告警<SID>.log文件及跟蹤文件
使用場景:
多使用於數據庫創建、控制文件重建、特定的備份恢復等
注意:此階段不打開任何控制文件及數據文件
2)、starup mount 階段:在mount階段完成的任務有:
a、啓動實例並打開控制文件,將數據與實例關聯起來
b、利用參數文件中的說明,打開並鎖定控制文件
c、讀取控制文件以讀取數據文件和重做日誌文件的名字和狀態信息,但不檢查數據日誌文件是否從在
使用場景:
a、重命名數據文件、移動數據文件位置等(數據庫打開,表空間脫空的情況下可以重命名數據文件)
b、啓動或關閉重做日誌文件的歸檔或非歸檔模式
c、實現數據庫的完全恢復
注意:這一步會讀取控制文件,如果有一個控制文件損壞就無法啓動
3)、starup [open]階段:mount階段啓動任務的完成
a、打開數據文件
b、打開聯機日誌文件
注意:
a、在此期間,oracle服務器將校驗所連的數據文件和聯機日誌文件能否打開並進行一致性檢查
b、如果出現一致性錯誤,SMON進程將啓動實例恢復
c、如果任一數據文件或聯機日誌文件丟失,oracle會報錯
4)、特殊的方式打開數據庫
只讀模式:
Starup open read only
如果數據庫啓動到mount狀態;
Alter database open readonly
受限模式;
有時候要進行對數據庫的維護,希望一般用戶不能登錄,可以啓動到該模式,這樣只有該用戶具有restricted session 權限,纔可以登錄到數據庫
啓動方法:
Starup restrict
取消受限:
Alter system disablerestrict session
2、數據庫實例的關閉:
關閉命令:shutdown abort |immediate|transaction|normal(shutdown不帶參數爲normal)
關閉選項:
Normal:不允許新的連接,等到當前的session結束,等待當前的事務結束,強制檢測點並關閉文件
Transaction:不允許新的連接,不等到當前的session結束,等待當前的事務結束,強制檢查點關閉文件
Immediate: 不允許新的連接,不等待當前的session結束,強制檢查點關閉文件
Abort :不允許新的連接,不等待當前的session結束,等待當前的事務結束,不等待當前的事務結束,不做強制檢查點