1. 程式人生 > >Oracle 資料庫例項啟動關閉過程

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.在此期間,

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告警檔案