Oracle啟動(dòng)模式的三個(gè)階段
Oracle啟動(dòng)是非?;镜牟僮?,下面就將為您詳細(xì)介紹Oracle啟動(dòng)模式的各個(gè)階段,希望可以讓你對(duì)Oracle啟動(dòng)模式有更多的了解。
當(dāng)我們發(fā)出startup命令時(shí),Oracle將開始啟動(dòng),如果成功啟動(dòng)的話,這個(gè)Oracle啟動(dòng)模式的過程分為3個(gè)階段。
1.Oracle啟動(dòng)模式的nomount階段
nomount,在這個(gè)啟動(dòng)階段里,Oracle主要做的事情,就是找到相關(guān)的啟動(dòng)參數(shù)文件,并且打開啟動(dòng)參數(shù)文件,根據(jù)啟動(dòng)參數(shù)里記錄的參數(shù)值。
啟動(dòng)實(shí)例,并且啟動(dòng)成功的話,打開告警文件alert_.ora文件,這個(gè)文件默認(rèn)在ORACLE_BASE/admin/SID /bdump下,并且記錄相關(guān)的啟動(dòng)信息。如果在startup里指定了pfile=''的話,Oracle將從你指定的文件作為啟動(dòng)參數(shù)文件,如果是沒有指定pfile的話,Oracle會(huì)先去默認(rèn)目錄($ORACLE_HOME/)下找spfileSID.ora,如果沒有找到,則找 spfile.ora,如果還是沒有,找initSID.ora,這個(gè)就是以前的靜態(tài)參數(shù)文件了,如果沒有則找init.ora;如果沒有找到的話,這時(shí)候,啟動(dòng)就會(huì)有,找不到參數(shù)文件的錯(cuò)誤,同時(shí)會(huì)動(dòng)態(tài)注冊(cè)實(shí)例名到監(jiān)聽服務(wù)里。
當(dāng)然,在使用startup pfile=''前,我們需要先用create pfile from spfile;把實(shí)例的動(dòng)態(tài)參數(shù)文件先export成靜態(tài)的文本參數(shù)文件,然后根據(jù)合適的參數(shù)修改這個(gè)文件,修改好了一個(gè)在用這個(gè)pfile啟動(dòng)。
2.Oracle啟動(dòng)模式的mount階段
當(dāng)達(dá)到了nomount階段以后,數(shù)據(jù)庫就只能一步一步的來進(jìn)行啟動(dòng)了,他的下一個(gè)啟動(dòng)的階段,就是mount。我們通過alter database mount;來從nomount階段或者通過startup mount來到達(dá)這個(gè)階段,到達(dá)這個(gè)階段,Oracle從啟動(dòng)參數(shù)文件里找到控制文件的路徑參數(shù)值,找到所有的控制文件,然后打開讀取控制文件的信息,控制文件里記錄了各種表空間文件,日志文件的信息,以及數(shù)據(jù)庫的字符集,其實(shí)就是控制文件里的記錄(控制文件是可以指定多個(gè)的,只要有個(gè)一個(gè)不能成功讀取,這個(gè)階段將會(huì)失敗),這時(shí),數(shù)據(jù)庫已經(jīng)讀取了相關(guān)系統(tǒng)文件的信息,也讀取了字符集信息,但是僅僅只是讀取,這些系統(tǒng)文件,并沒有真正的加載到數(shù)據(jù)庫里。
曾經(jīng)有人啟動(dòng)到mount的時(shí)候,出現(xiàn)問題,***一看原來是control文件這里已經(jīng)被刪除掉了,解決的辦法,就是從備份的控制文件來一個(gè)過來,然后做恢復(fù)就可以了。如果沒有備份,在nomount下,新建一個(gè)controlfile,就可以了。
3.Oracle啟動(dòng)模式的open階段
mount階段結(jié)束后,數(shù)據(jù)庫體系的所有信息已經(jīng)讀取全了,我們知道了redo文件,數(shù)據(jù)文件的信息,但是還沒有加載,到open狀態(tài),數(shù)據(jù)庫讀取所有的文件,如果有一個(gè)文件不能成功讀取,open階段就會(huì)失敗。這時(shí)候,我們能夠解決的就是通過錯(cuò)誤的提示,進(jìn)行數(shù)據(jù)恢復(fù),或者錯(cuò)誤排查。
這一個(gè)階段的錯(cuò)誤的各種原因最多,處理起來的方式也相對(duì)于前面的要復(fù)雜的多,不過基本上都是和數(shù)據(jù)文件,日志文件缺失,數(shù)據(jù)scn不一致,等等有關(guān),這時(shí)我們需要做的就是根據(jù)錯(cuò)誤的提示來進(jìn)行相應(yīng)的數(shù)據(jù)恢復(fù),和數(shù)據(jù)排查,這塊是數(shù)據(jù)庫恢復(fù)最有趣的地方。
【編輯推薦】
Oracle數(shù)據(jù)庫重新啟動(dòng)的方法