最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle數(shù)據(jù)庫的啟動實現(xiàn)過程

 更新時間:2025年08月29日 09:36:36   作者:DG0913L  
Oracle數(shù)據(jù)庫啟動分nomount、mount、open三階段,各階段需不同文件并執(zhí)行特定操作,停庫有正常、事務級、立即、強制四種方式,影響數(shù)據(jù)庫狀態(tài)及數(shù)據(jù)一致性

1、Oracle 數(shù)據(jù)庫的啟動分為三個階段

shutdown —> nomount —> mount —> open

2、啟動數(shù)據(jù)庫到 nomount 階段

數(shù)據(jù)庫啟動到 nomount 階段時,將啟動數(shù)據(jù)庫實例, 讀取參數(shù)文件,寫審計文件和警報日志,不加載數(shù)據(jù)庫。

因此,數(shù)據(jù)庫啟動到 nomount 階段需要有正確的參數(shù)文件,需要正確的審計目錄(由參數(shù) audit_file_dest 指定)和跟蹤文件目錄(由 BACKGROUND_DUMP_DEST 參數(shù)指定)。

2.1 數(shù)據(jù)庫從關閉狀態(tài)啟動到 nomount 狀態(tài)會執(zhí)行如下操作:

  • (1)按如下順序讀取初始化參數(shù)文件:spfile.ora —> spfile.ora —> init.ora
  • (2)分配SGA、啟動后臺進程;
  • (3)啟動警報日志文件(alert_.log)和跟蹤文件。

2.2 在 nomount 階段可以進行如下操作

  • (1)可以修改參數(shù);
  • (2)可以查看內存和后臺進程的信息;
  • (3)可以創(chuàng)建數(shù)據(jù)庫;
  • (4)可以重建控制文件。

2.3 啟動數(shù)據(jù)庫到 nomount 階段的方法如下

shutdown --> nomount

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.

Total System Global Area 9395237080 bytes
Fixed Size   12685528 bytes
Variable Size 1543503872 bytes
Database Buffers 7818182656 bytes
Redo Buffers   20865024 bytes
SQL> select status from v$instance;

STATUS
------------------------------------
STARTED

2.4 查看警告日志關于 startup nomount 的信息

SQL> SELECT * FROM v$diag_info a WHERE a.name = 'Diag Trace';
   INST_ID NAME                                                             VALUE                                                                                CON_ID
---------- ---------------------------------------------------------------- -------------------------------------------------------------------------------- ----------
         1 Diag Trace                                                       /app/oracle/diag/rdbms/orcl/orcl/trace                                                    0
[oracle@node1 ~]$ cd /app/oracle/diag/rdbms/orcl/orcl/trace
[oracle@node1 trace]$ cat alert_orcl.log

由于 nomount 狀態(tài)下數(shù)據(jù)庫沒有加載,因此無法訪問數(shù)據(jù)字典。

nomount 狀態(tài)下參數(shù)文件已經(jīng)加載,可以查看參數(shù)。

SQL> select name from v$datafile;
select name from v$datafile
*
ERROR at line 1:
ORA-01507: database not mounted

數(shù)據(jù)庫參數(shù)已經(jīng)加載

SQL> show parameter open_cursor
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     300

3、啟動數(shù)據(jù)庫到 mount 階段

數(shù)據(jù)庫啟動到 mount 階段時,將啟動數(shù)據(jù)庫實例,加載控制文件的信息到內存,加載數(shù)據(jù)庫并保持數(shù)據(jù)庫關閉狀態(tài)。

數(shù)據(jù)庫啟動到 mount4 階段需要有正確的控制文件。

3.1 數(shù)據(jù)庫從nomount狀態(tài)啟動到mount狀態(tài)

會執(zhí)行如下操作:

  • (1)將先前啟動的實例與數(shù)據(jù)庫相關聯(lián);
  • (2)根據(jù)參數(shù)文件中保存的控制文件的位置找到控制文件并打開;
  • (3)從控制文件中讀取數(shù)據(jù)文件及聯(lián)機日志文件的位置與名稱。(此時并不檢查數(shù)據(jù)文件與聯(lián)機日志文件是否存在)。

3.2 數(shù)據(jù)庫啟動到mount狀態(tài)

數(shù)據(jù)庫可以進行如下操作:

  • (1)可以備份、還原、恢復;
  • (2)可以查看所有的動態(tài)視圖;
  • (3)可以移動數(shù)據(jù)庫文件;
  • (4)可以進行數(shù)據(jù)庫文件的offline;
  • (5)可以打開和關閉歸檔模式;
  • (6)可以打開和關閉閃回數(shù)據(jù)庫的功能。

3.3 啟動數(shù)據(jù)庫到mount階段的方法如下

3.3.1 數(shù)據(jù)庫處于關閉狀態(tài)(shutdown --> mount)

startup mount;

SQL> shutdown
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> sas
SP2-0042: unknown command "sas" - rest of line ignored.
SQL> select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0


SQL> startup mount
ORACLE instance started.

Total System Global Area 8002730448 bytes
Fixed Size    8915408 bytes
Variable Size 1308622848 bytes
Database Buffers 6677331968 bytes
Redo Buffers    7860224 bytes
Database mounted.
SQL> select status from v$instance;

STATUS
------------------------------------
MOUNTED

3.3.2 數(shù)據(jù)庫處于 nomount 狀態(tài)(nomount --> mount)

alter database mount

SQL> select status from v$instance;

STATUS
------------------------------------
STARTED

SQL> alter database mount;

Database altered.

SQL> select status from v$instance;

STATUS
------------------------------------
MOUNTED

數(shù)據(jù)庫啟動到 mount 階段可以訪問所有的動態(tài)視圖:

SQL> select name from v$datafile;
NAME
/app/oracle/oradata/ORCL/system01.dbf
/app/oracle/oradata/ORCL/test01.DBF
/app/oracle/oradata/ORCL/sysaux01.dbf
/app/oracle/oradata/ORCL/undotbs01.dbf
/app/oracle/oradata/ORCL/wms01.DBF
/app/oracle/oradata/ORCL/users01.dbf
6 rows selected.

4、啟動數(shù)據(jù)庫到 open 階段

  • 數(shù)據(jù)庫啟動到 open 階段時,將啟動數(shù)據(jù)庫實例,加載聯(lián)機日志和數(shù)據(jù)文件并打開數(shù)據(jù)庫。
  • 數(shù)據(jù)庫啟動到 open 階段需要有正確的數(shù)據(jù)文件和聯(lián)機日志文件。
  • 數(shù)據(jù)庫處于 open 狀態(tài)時可以對數(shù)據(jù)庫進行所有正常的操作。

4.1 數(shù)據(jù)庫從 mount 狀態(tài)啟動到 open 狀態(tài)會執(zhí)行如下操作:

  • (1)打開數(shù)據(jù)文件;
  • (2)打開聯(lián)機日志文件(打開數(shù)據(jù)庫時如果數(shù)據(jù)文件或聯(lián)機日志文件中的任何一個不存在,會出現(xiàn)錯誤);
  • (3)Oracle 數(shù)據(jù)庫驗證數(shù)據(jù)文件和聯(lián)機日志文件是否能夠打開,并檢驗數(shù)據(jù)庫的一致性。如果不一致,SMON 后臺進程將啟動實例恢復。

4.2 啟動數(shù)據(jù)庫到 open 階段的方法如下:

4.2.1 數(shù)據(jù)庫處于關閉狀態(tài)(shutdown --> open)

startup

SQL> startup
ORACLE instance started.

Total System Global Area 8002730448 bytes
Fixed Size    8915408 bytes
Variable Size 1308622848 bytes
Database Buffers 6677331968 bytes
Redo Buffers    7860224 bytes
Database mounted.
Database opened.
SQL> select status from v$instance;

STATUS
------------------------------------
OPEN

4.2.2 數(shù)據(jù)庫處于 nomount 狀態(tài)(nomount --> mount)

alter database mount;

alter database open;

SQL> select status from v$instance;

STATUS
------------------------------------
STARTED

SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

SQL> select status from v$instance;

STATUS
------------------------------------
OPEN

4.2.3 數(shù)據(jù)庫處于 mount 狀態(tài)(mount --> mount)

alter database open;

SQL> select status from v$instance;

STATUS
------------------------------------
MOUNTED
SQL> alter database open;
Database altered.
SQL> select status from v$instance;

STATUS
------------------------------------
OPEN

5、數(shù)據(jù)庫的停止

5.1停庫與啟動數(shù)據(jù)庫順序相反,也分三個步驟:

  • (1)關閉數(shù)據(jù)庫(關閉數(shù)據(jù)文件);
  • (2)卸載數(shù)據(jù)庫(關閉控制文件, DISMOUNT);
  • (3)關閉 Oracle 實例(SHUTDOWN)。

5.2 關閉的方式有四種

5.2.1 正常停庫

數(shù)據(jù)庫正常的關閉方式,以正常停庫方式關閉數(shù)據(jù)庫,Oracle 將執(zhí)行如下操作:

  • (1)阻止任何用戶建立新的連接;
  • (2)等待查詢結束;
  • (3)等待事務結束;
  • (4)產(chǎn)生檢查點(數(shù)據(jù)同步);
  • (5)關閉聯(lián)機日志和數(shù)據(jù)文件;
  • (6)關閉控制文件;
  • (7)關閉數(shù)據(jù)庫實例。

5.2.1.1 正常停庫語法

  • shutdown normal
  • shutdown

5.2.1.2 正常停庫操作

SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.

 SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.

5.2.2 事務級停庫

以事務級停庫方式關閉數(shù)據(jù)庫,Oracle 將執(zhí)行如下操作:

  • (1)阻止任何用戶建立新的連接;
  • (2)查詢直接終止;(正常停庫等待查詢結束)
  • (3)等待事務結束;
  • (4)產(chǎn)生檢查點(數(shù)據(jù)同步);
  • (5)關閉聯(lián)機日志和數(shù)據(jù)文件;
  • (6)關閉控制文件;
  • (7)關閉數(shù)據(jù)庫實例。

5.2.2.1 事務級停庫的語法如下:

shutdown transactional

5.2.2.1 事務級停庫的操作

SQL> shutdown transactional
Database closed.
Database dismounted.
ORACLE instance shut down.

5.2.3 立即停庫

以立即停庫方式關閉數(shù)據(jù)庫,Oracle 將執(zhí)行如下操作:

  • (1)阻止任何用戶建立新的連接;
  • (2)查詢直接終止;
  • (3)中斷當前事務,回滾未提交事務;
  • (4)產(chǎn)生檢查點(數(shù)據(jù)同步);
  • (5)關閉聯(lián)機日志和數(shù)據(jù)文件;
  • (6)關閉控制文件;
  • (7)關閉數(shù)據(jù)庫實例。

5.2.3.1 立即停庫的語法如下:

生產(chǎn)庫最常用的停庫方式

shutdown immediate

5.2.3.2 立即停庫的操作

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

5.2.4 強制停庫

當數(shù)據(jù)庫出現(xiàn)故障時,如果以上三種方式都無法正常關閉數(shù)據(jù)庫,則使用強制停庫。以這種方法停庫,Oracle 將執(zhí)行如下操作:

  • (1)強制結束當前正在執(zhí)行的SQL語句;
  • (2)任何未遞交的事務都不被回退!

以強制停庫方式停止數(shù)據(jù)庫之后,數(shù)據(jù)庫可能存在臟數(shù)據(jù)。重啟數(shù)據(jù)庫實例時會自動做實例恢復。

5.2.4.1 立即停庫的語法如下(生產(chǎn)庫不建議操作)

shutdown abort
startup force = shutdown abort + startup
startup force nomount = shutdown abort + startup nomount
startup force mount = shutdown abort + startup mount

5.2.4.1 立即停庫的操作

SQL> startup force nomount
ORACLE instance started.

Total System Global Area 8002730448 bytes
Fixed Size    8915408 bytes
Variable Size 1308622848 bytes
Database Buffers 6677331968 bytes
Redo Buffers    7860224 bytes
SQL> select status from v$instance;

STATUS
------------------------------------
STARTED
SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

SQL> shutdown abort
ORACLE instance shut down.

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

灵丘县| 镇平县| 航空| 蓬莱市| 茂名市| 玛曲县| 遵义市| 新龙县| 承德市| 东莞市| 平湖市| 湘乡市| 宁南县| 安平县| 桐柏县| 小金县| 沂水县| 定结县| 邛崃市| 页游| 江达县| 寻甸| 兴隆县| 曲麻莱县| 盖州市| 乌拉特后旗| 广南县| 安泽县| 桂林市| 象山县| 万荣县| 河池市| 临安市| 峨山| 岐山县| 玉树县| 丹棱县| 诸暨市| 泽库县| 曲松县| 尖扎县|