Oracle 數據庫啟動過程的三階段、停庫四種模式詳解
數據庫的啟動過程(3個臺階)
1.nomount
shutdown –> nomount
startup nomount
select status from v$instance;
SQL> SQL> conn / as sysdba Connected to an idle instance. SQL> SQL> startup nomount ORACLE instance started. Total System Global Area 629145392 bytes Fixed Size 9137968 bytes Variable Size 197132288 bytes Database Buffers 415236096 bytes Redo Buffers 7639040 bytes SQL> SQL> SQL> SQL> SQL> select status from v$instance; STATUS ------------ STARTED SQL>
數據庫啟動到nomount做瞭什麼?
- 分配實例(ipcs -sm, ps -ef | grep ora_)
- 寫審計文件和警報日志
數據庫啟動到nomount需要什麼?
- 參數文件
- 需要審計目錄和診斷目錄
nomount狀態可以做什麼?
- 可以修改參數
- 可以查看內存和後臺進程的信息
- 可以創建數據庫
- 可以重建控制文件
SQL> SQL> select * from v$sgainfo; NAME BYTES RES CON_ID -------------------------------- ---------- --- ---------- Fixed SGA Size 9137968 No 0 Redo Buffers 7639040 No 0 Buffer Cache Size 411041792 Yes 0 In-Memory Area Size 0 No 0 Shared Pool Size 197132288 Yes 0 Large Pool Size 4194304 Yes 0 Java Pool Size 0 Yes 0 Streams Pool Size 0 Yes 0 Shared IO Pool Size 0 Yes 0 Data Transfer Cache Size 0 Yes 0 Granule Size 4194304 No 0 NAME BYTES RES CON_ID -------------------------------- ---------- --- ---------- Maximum SGA Size 629145392 No 0 Startup overhead in Shared Pool 193465328 No 0 Free SGA Memory Available 0 0 14 rows selected. SQL> select name from v$bgprocess where paddr<>'00'; NAME ----- PMON CLMN PSP0 VKTM GEN0 MMAN M000 GEN1 SCMN DIAG OFSD NAME ----- SCMN DBRM VKRM SVCB PMAN DIA0 DBW0 LGWR CKPT LG00 SMON NAME ----- LG01 SMCO RECO W000 LREG W001 PXMN FENC D000 MMON MMNL NAME ----- S000 TMON 35 rows selected. SQL>
2.mount
shutdown –> mount
- startup mount
nomount –> mount
- alter database mount;
SQL> SQL> select status from v$instance; STATUS ------------ STARTED SQL> alter database mount; Database altered. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL>
數據庫啟動到mount做瞭什麼?
- 加載控制文件的信息到內存
數據庫啟動到mount狀態需要做什麼?
- 控制文件
mount狀態可以做什麼?
- 可以備份、還原、恢復
- 可以移動數據庫文件
- 可以進行數據文件的offline
- 可以打開和關閉歸檔模式
- 可以打開和關閉閃回數據庫的功能
SQL> SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u02/oradata/CDB1/system01.dbf /u02/oradata/CDB1/sysaux01.dbf /u02/oradata/CDB1/undotbs01.dbf /u02/oradata/CDB1/pdbseed/system01.dbf /u02/oradata/CDB1/pdbseed/sysaux01.dbf /u02/oradata/CDB1/users01.dbf /u02/oradata/CDB1/pdbseed/undotbs01.dbf /u02/oradata/CDB1/pdb1/system01.dbf /u02/oradata/CDB1/pdb1/sysaux01.dbf /u02/oradata/CDB1/pdb1/undotbs01.dbf /u02/oradata/CDB1/pdb1/users01.dbf 11 rows selected. SQL> select name from v$tempfile; NAME -------------------------------------------------------------------------------- /u02/oradata/CDB1/temp01.dbf /u02/oradata/CDB1/pdbseed/temp012022-11-02_15-16-24-663-PM.dbf /u02/oradata/CDB1/pdb1/temp01.dbf SQL> SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u02/oradata/CDB1/redo03.log /u02/oradata/CDB1/redo02.log /u02/oradata/CDB1/redo01.log SQL>
3.open
shutdown –> open
- startup
nomount —-> open
- alter database mount;
- alter datbase open;
隻讀方式去打開數據庫
SQL> SQL> startup mount ORACLE instance started. Total System Global Area 629145392 bytes Fixed Size 9137968 bytes Variable Size 197132288 bytes Database Buffers 415236096 bytes Redo Buffers 7639040 bytes Database mounted. SQL> SQL> SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> SQL> alter database open read only; Database altered. SQL> SQL> select status from v$instance; STATUS ------------ OPEN SQL> SQL> SQL> SQL> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY SQL>
SQL> SQL> startup ORACLE instance started. Total System Global Area 629145392 bytes Fixed Size 9137968 bytes Variable Size 197132288 bytes Database Buffers 415236096 bytes Redo Buffers 7639040 bytes Database mounted. Database opened. SQL>
數據庫啟動到open做瞭什麼?
- 加載聯機日志和數據文件
數據庫啟動到open需要什麼?
- 聯機日志和數據文件
open狀態可以做什麼?
數據庫的停止(四種模式)
1.正常停庫: shutdown normal = shutdown
- 普通用戶的連接不允許建立
- 等待查詢結束
- 等待事務結束
- 產生檢查點(數據同步)
- 關閉聯機日志和數據文件
- 關閉控制文件
- 關閉實例
2.事務級停庫: shutdown transactional
- 普通用戶的連接不允許建立
- 查詢被終止
- 等待事務結束
- 產生檢查點(數據同步)
- 關閉聯機日志和數據文件
- 關閉控制文件
- 關閉實例
3.立即停庫 : shutdown immediate (生產庫最常用的停庫方式)
- 普通用戶的連接不允許建立
- 查詢被終止
- 事務被回退
- 產生檢查點(數據同步)
- 關閉聯機日志和數據文件
- 關閉控制文件
- 關閉實例
4.強制停庫 : shutdown abort
相當於拔電源
(停止之後的數據庫是臟庫)
註意:這些命令需要慎用
startup force = shutdown abort + startup startup force nomount = shutdown abort + startup nomount startup force mount = shutdown abort + startup mount
到此這篇關於Oracle 數據庫啟動三階段、停庫四種模式的文章就介紹到這瞭,更多相關Oracle 數據庫啟動內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Oracle數據庫的備份與恢復案例詳解
- Oracle11g調整SGA方法詳解
- ORA-00349|激活 ADG 備庫時遇到的問題及處理方法
- 通過LogMiner實現Oracle數據庫同步遷移
- Oracle手動建庫安裝部署超詳細教程