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

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

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

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

shutdown —> nomount —> mount —> open

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

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

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

2.1 數(shù)據(jù)庫從關(guān)閉狀態(tài)啟動(dòng)到 nomount 狀態(tài)會(huì)執(zhí)行如下操作:

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

2.2 在 nomount 階段可以進(jìn)行如下操作

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

2.3 啟動(dòng)數(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 查看警告日志關(guān)于 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、啟動(dòng)數(shù)據(jù)庫到 mount 階段

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

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

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

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

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

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

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

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

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

3.3.1 數(shù)據(jù)庫處于關(guān)閉狀態(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ù)庫啟動(dòng)到 mount 階段可以訪問所有的動(dòng)態(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、啟動(dòng)數(shù)據(jù)庫到 open 階段

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

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

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

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

4.2.1 數(shù)據(jù)庫處于關(guān)閉狀態(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停庫與啟動(dòng)數(shù)據(jù)庫順序相反,也分三個(gè)步驟:

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

5.2 關(guān)閉的方式有四種

5.2.1 正常停庫

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

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

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 事務(wù)級(jí)停庫

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

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

5.2.2.1 事務(wù)級(jí)停庫的語法如下:

shutdown transactional

5.2.2.1 事務(wù)級(jí)停庫的操作

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

5.2.3 立即停庫

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

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

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 強(qiáng)制停庫

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

  • (1)強(qiáng)制結(jié)束當(dāng)前正在執(zhí)行的SQL語句;
  • (2)任何未遞交的事務(wù)都不被回退!

以強(qiáng)制停庫方式停止數(shù)據(jù)庫之后,數(shù)據(jù)庫可能存在臟數(shù)據(jù)。重啟數(shù)據(jù)庫實(shí)例時(shí)會(huì)自動(dòng)做實(shí)例恢復(fù)。

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.

總結(jié)

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

相關(guān)文章

最新評(píng)論

中山市| 绿春县| 武夷山市| 襄樊市| 葫芦岛市| 偏关县| 密山市| 松溪县| 怀安县| 阿拉善盟| 利津县| 黎川县| 常州市| 黑河市| 原平市| 卓尼县| 贵定县| 四平市| 江孜县| 苍梧县| 兴化市| 吴堡县| 湛江市| 抚远县| 通渭县| 六盘水市| 陈巴尔虎旗| 关岭| 峨山| 高密市| 漾濞| 威海市| 凉山| 南充市| 从化市| 闸北区| 桑日县| 山阳县| 视频| 昌邑市| 白玉县|