標籤: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資料庫體繫結構、啟動過程、關閉過程