Oracle資料庫啟動的3個階段

2021-10-10 07:29:25 字數 1409 閱讀 2709

oracle資料庫服務包括資料庫和例項,而例項又包括系統全域性區sga和相應的後台程序。

1、資料庫nomount階段:startup nomount

載入讀取引數檔案--->初始化記憶體空間--->sga(各個記憶體區域的大小)+ pga

引數檔案分為兩種:

預設的路徑及命名方式:$oracle_home/dbs/initsid.ora

(2)、spfile(二進位制引數檔案)(優先順序較高)

路徑及命名方式:$oracle_home/dbs/spfilesid.ora;

修改spfile檔案的方法:alter system set 引數=值 [scope=memory|spfile|both] scope;

注:scope=memory 引數修改立刻生效,但不修改spfile檔案;

scope=spfile 修改了spfile檔案,重啟後生效;

scope=both 前兩種都要滿足。要求spfile引數檔案存在;

如果不寫scope限定詞,預設both,但不如both嚴格,即spfile如果不存在,僅僅修改記憶體中引數。

2、資料庫mount 階段:alter database mount; //  startup mount

控制檔案功能和特點:

(1)、記錄資料庫當前物理狀態(物理檔案路徑,資料檔案,重做日誌檔案)

(2)、維護資料庫的一致性(一致性驗證)

(3)、是乙個二進位製小檔案

(4)、在mount 階段被讀取

(5)、記錄rman備份的元資料

(6)、記錄redo的當前日誌序列和arch資訊

預設情況下:資料庫dbca建庫建立兩個控制檔案

1.$oracle_base/oradata/$oracle_sid/control01.ctl

2.快速恢復區內 $oracle_base/fast_recovery_area/$oracle_sid/control02.ctl

檢視控制檔案路徑:select name from v$controlfile;

control01.ctl和control02.ctl的內容一模一樣,多乙個作為冗餘備份,同時寫入兩個ctl

3、資料庫open 階段:alter database open; //  startup

open 階段會讀取3大類資料檔案(資料檔案+控制檔案+redo日誌檔案)

(1)、檢查所有的datafile、redo log、 group 、password file正常

(2)、檢查資料庫的一致性(controlfile、datafile、redo file的檢查點是否一致)

redo日誌檔案的作用:主要用於資料recovery(恢復);記錄dml,ddl操作生成日誌

redo日誌檔案的特徵:二進位制,每組大小相同,至少要保持兩組redo,每組可以有多個member成員,但資料內容都是相同的

啟動oracle資料庫

每乙個啟動的資料庫至少對應乙個例程,例程是oracle用來管理資料庫的乙個實體,例程是由一組邏輯記憶體結構和一系列後台服務程序組成的。當啟動資料庫時,這些記憶體結構和服務程序得到分配 初始化和啟動,這樣一來oracle才能夠管理資料庫,使用者才能與資料庫進行通訊,可以簡單的將例程理解成oracle資...

oracle資料庫啟動

遇到個白痴問題,放假停電,回來時啟動資料庫,發現無法進入oracle管理員介面。如下輸入,但是顯示的命令無效。oracle crm001 database sqlplus assysdba bash sqlplus command not found 用oracle使用者到oracle宿主目錄下,執...

oracle資料庫啟動的過程

第一步 啟動資料庫到nomount狀態時,會先查詢引數檔案,引數檔案存放了一些引數資訊,如資料庫緩衝區大小 重做日誌緩衝大小等。根據引數分配記憶體。然後啟動必須的後台程序,有5個後台程序是必須啟動的,它們是dbwr 資料庫寫程序 lgwr 日誌寫程序 smon 系統監控程序 pmon 程序監控過程 ...