***********************************************
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.在此期間,Oracle伺服器將校正所偶的資料檔案和聯機記錄檔能否開啟並對資料庫作一致性檢查
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 警示檔案
記錄了資料庫啟動、關閉時間和一些重要操作及錯誤警告資訊,包含錯誤號碼ora-,由dba管理
位置由background_dump_dest
維護alertSID.log,定期轉移,系統會自動產生新的alert_sid.log
b.後台進程追蹤檔案:
記錄了後台進程的一些重要訊息和警告、錯誤等
位置:$ORACLE_BASE/admin/vvorcl/bdump/vvorcl_lgwr_15135.trc
c.使用者追蹤檔案:
由使用者進程產生也能由伺服器處理序產生,跟蹤使用者的SQL語句的統計資訊,也包括錯誤資訊
檔案位置由user_dump_dest
使用者跟蹤:
會話級:
alter session set sql_trace=true;
執行個體級:
alter system set set sql_trace=true;
追蹤檔案的大小由max_dump_file_size參數決定。跟蹤時最好要限制他的大小
四、動態效能檢視
記錄當前資料庫的活動,並且不停的更新,故不能保證讀取資料的一致性
監控和調整資料庫
所有者sys
以v$開頭
DICT和DICT_COLUMNS視圖包含了動態效能檢視描述及其列的描述
v$FIXED_TALBE包含了所有視圖的名字及相關資訊
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12