ORACLE啟動步驟

xmlct78發表於2007-11-12

1 啟動到NOMOUNT狀態

n 查詢引數檔案,查詢步驟spfile.ora—spfile.ora—init.ora

檢視是否使用了SPFILE

Show parameter spfile;

n 根據引數檔案中的設定,建立例項,分配記憶體,啟動後臺程式


2 啟動到MOUNT狀態

n 從引數檔案中獲得控制檔案的位置,找到並鎖定控制檔案

Show parameter control_files;---nomount

Select * from v$controlfile;--mount

n 透過口令檔案登入系統

檔案格式:UNIX-orapw.ora

WIN—pwd.ora

命令:orapwd file= password= entries=users

3 啟動到OPEN狀態

n 根據控制檔案記錄的資訊,進行檢查點及完整性檢查,如果不存在問題,就可以啟動資料庫;

n 第一次檢查資料檔案頭中的檢查點計數(Checkpoint cnt)是否和控制檔案中的檢查點計數(Checkpoint cnt)一致。

此步驟檢查用以確認資料檔案是否來自同一版本,而不是從備份中恢復而來。(因為Checkpoint cnt不會被凍結,會一直被修改)

n 第二次檢查資料檔案頭的開始SCN和控制檔案中記錄的該檔案的結束SCN是否一致,如果一致,就不需要進行恢復。

n 完成資料檔案的檢查後,開啟資料庫,鎖定資料檔案,同時將每個資料檔案的結束SCN設定為無窮大。

n 完成資料庫的驗證和恢復過程後,資料庫處於一致狀態,資料庫還需要進行一系列處理過程:將UNDO段線上等操作,然後資料庫可以提供訪問,同時SMON可以開始進行事務回滾等。

n 在每次資料庫的啟動中,還需要判斷控制檔案的字符集和資料庫的字符集是否相符,如果不相符,則以資料庫中的字符集為準更新控制檔案的字符集。

4 BOOTSTRAP$

ORACLEmountopen的過程中,首先在記憶體中建立bootstrap$,然後從資料檔案中裝載了bootstrap$的內容,遞迴從該表中讀取資訊,建立資料庫系統基本物件,從而開啟資料庫。

5 參考SQL

n 獲取SCN

select dbms_flashback.get_system_change_number from dual;

n DUMP控制檔案

ALTER SESSION SET EVENTS 'immediate trace name controlf level 10';

n 獲取CHENKPOINT SCN

Select file#,checkpoint_change#,to_char(checkpoint_time,’yyyy-mm-dd hh24:mi:ss’) CPT from v$datafile;

Select dbid,checkpoint_change# from v$database;

n Tkprof格式化跟蹤檔案輸出

tkprof mestest_ora_212.trc 212.txt explain=system/oracle aggregate=yes sys=yes waits=yes sort=fchela

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69204/viewspace-45360/,如需轉載,請註明出處,否則將追究法律責任。

相關文章