Oracle資料庫體繫結構、啟動過程、關閉過程

來源:互聯網
上載者:User

標籤:recover   ota   包含   庫檔案   over   global   更改   方式   src   

一、Oracle資料庫體繫結構
體繫結構由下面組件組成:
1、Oracle伺服器(Server):由資料庫執行個體和資料庫檔案組成,另外在使用者建立與伺服器的串連時啟動伺服器處理序並分配PGA(程式全域區)
(1)資料庫執行個體(Instance)
資料庫執行個體由一些記憶體區和後台進程組成。
(a)記憶體區:共用池、資料庫快取、重做日誌緩衝、流池以及其他可選記憶體區
(b)後台進程:系統監控進程(SMON)、進程監控(PMON)、資料庫寫進程(DBWR)、日誌寫進程(LGWR)、檢驗點進程(CKPT)、其他進程
(2)資料庫檔案
資料庫檔案由資料檔案、控制檔案、重做記錄檔組成。
(a)資料檔案:資料庫中的實際資料
(b)控制檔案:包含維護資料庫和驗證資料庫完整性的資訊,是二進位檔案。
(c)重做記錄檔:包含資料庫發生變化的記錄,在發生故障時用於資料恢複。
2、伺服器處理序
3、使用者進程
4、參數檔案
也稱為資料庫初始設定檔案,定義資料庫執行個體的特性,包含為SGA中記憶體結構分配空間的參數。
分為pfile檔案和spfile檔案。
(a)pfile檔案:檔案名稱預設為init.ora,屬於靜態檔案,可以使用文字編輯器編輯,修改後需要重啟執行個體才生效。
(b)spfile檔案:檔案名稱預設為spfile<ORACLE_SID>.ora,屬於二進位的動態檔案,只能通過Oracle指令修改,修改後直接生效。
Oracle 11g預設使用spfile啟動,也可以使用pfile檔案啟動資料庫,如:startup pfile=‘d:\init_123.ora‘
5、密碼檔案
授予使用者啟動和關閉資料庫執行個體。
6、歸檔記錄檔

 


二、資料庫啟動過程
啟動過程涉及到三個狀態:nomount、mount、open
1、nomount狀態
只開啟資料庫執行個體。
使用startup nomount啟動。

C:\Users\LC>sqlplus /nolog
SQL> connect /as sysdba
已串連。
SQL> startup nomount
ORACLE 常式已經啟動。
Total System Global Area 1686925312 bytes
Fixed Size 2176368 bytes
Variable Size 989858448 bytes
Database Buffers 687865856 bytes
Redo Buffers 7024640 bytes
SQL> select * from v$controlfile;
未選定行
SQL> show parameter control_files;
NAME TYPE VALUE
---------------------------------------------------------------------------------------------------------------
control_files string D:\APP\LC\ORADATA\TESTDB\CONTROL01.CTL, D:\APP\LC\FLASH_RECOVERY_AREA\TESTDB\CONTROL02.CTL


說明:
select * from v$controlfile;用於測試此時控制檔案是否已開啟。
show parameter control_files;擷取控制檔案的位置。

2、mount狀態
根據參數檔案中控制檔案的位置找到並開啟控制檔案,讀取控制檔案中的各種參數資訊,如資料檔案和記錄檔的位置等。
啟動到mount狀態有二種方式,一是使用指令startup mount直接啟動到mount狀態,二是在資料庫是nomount狀態時使用alter指令切換到mount狀態。

SQL> alter database mount;
資料庫已更改。

此時使用select * from v$controlfile;能查詢到控制檔案的資訊。
但是此時資料庫並沒有開啟,資料檔案無法讀取,例如查詢表會出錯。

3、open狀態
將開啟資料檔案並進行一系列的檢查工作,這些檢查工作用於資料恢複;
啟動到open狀態有二種方式,一是使用指令startup(預設是open)或startup open直接啟動到open狀態,二是在資料庫是nomount或mount狀態時使用alter指令切換到open狀態。在啟動資料庫時,可以執行startup直接啟動資料庫到open狀態,這個過程仍然要經曆上面三個狀態。

SQL> alter database open;
資料庫已更改。


三、資料庫關閉過程
關閉過程和啟動相反,經曆了close、dismount、shutdown。
可以分步關閉,也可以直接關閉。
分步關閉:
1、close資料庫
關閉資料檔案、記錄檔等。

SQL> alter database close;
資料庫已更改。

2、dismount資料庫
關閉控制檔案。

SQL> alter database dismount;
資料庫已更改。

3、shutdown資料庫
關閉執行個體。
shutdown有4個參數:shutdown normal(預設)、shutdown immediate(推薦)、shutdown transactional、shutdown abort

SQL> shutdown
資料庫已經關閉。
已經卸載資料庫。
ORACLE 常式已經關閉。

 

另外,有一次測試中,shutdown immediate以後再startup 報錯:監聽程式當前無法識別串連描述符中請求的服務
關閉當前sqlplus視窗,在開始運行-> sqlplus / as sysdba -> startup

Oracle資料庫體繫結構、啟動過程、關閉過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.