oracle 啓動階段

image.png

啓動時分紅三個步驟:數據庫

1.nomount階段,該階段是實例啓動,根據參數文件進行系統分配內存,啓動後臺進程。session

2.mount階段,根據控制文件來進行數據文件和日誌文件的名稱和位置檢查,把實例和數據庫鏈接起來。oracle

3.open階段,就是數據庫打開階段,打開是就須要檢查文件是否正常,有沒有發生文件丟失或者不一致的狀況,丟失則報錯,不一致則進行實例恢復。ide


中止數據庫:rest

sysdba & sysoper 才能夠啓停數據庫!日誌


查看數據庫的當前狀態:orm

select status from v$instance;blog


中止數據庫:進程

shutdown normal = shutdown事務

1.新的鏈接不容許創建

2.等待查詢結束

3.等待事務結束

4.產生檢查點(將buffer cache裏面的髒數據寫盤)

5.關閉數據文件

6.關閉控制文件

7.關閉實例(中止全部的後臺進程,釋放共享內存段)


shutdown transactional

1.新的鏈接不容許創建

*2.不等待查詢結束

3.等待事務結束

4.產生檢查點(將buffer cache裏面的髒數據寫盤)

5.關閉數據文件

6.關閉控制文件

7.關閉實例(中止全部的後臺進程,釋放共享內存段)


shutdown immediate (最經常使用的選項)

1.新的鏈接不容許創建

1.新的鏈接不容許創建

*2.不等待查詢結束

*3.事務被回退

4.產生檢查點(將buffer cache裏面的髒數據寫盤)

5.關閉數據文件

6.關閉控制文件

7.關閉實例(中止全部的後臺進程,釋放共享內存段)


前三種停庫參數,數據庫是乾淨的,從新啓動時不須要實例恢復!


shutdown abort (至關於拔電源)

從新啓動時須要實例恢復! --> smon


ps -ef | grep pmon

ipcs -sm

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

啓動數據庫:

分三個階段

1.分配實例 nomount:

須要參數文件

須要保存trace文件的目錄(實例管理的目錄)

ps -ef | grep pmon

ipcs -sm


2.加載控制文件 mount

只須要控制文件


3.加載聯機日誌和數據文件 open

須要聯機日誌和數據文件


startup = startup open

三個臺階連續啓動


分階段啓動數據庫:

啓動數據庫到第一階段:nomount

startup nomount -->只啓動實例(共享內存段和後臺進程)

SQL> select status from v$instance;

STATUS

------------

STARTED


啓動數據庫到第二階段:mount

數據若是是shutdown狀態:

startup mount

數據若是是STARTED狀態:不能使用startup命令,只能使用修改數據庫的命令

alter database mount;

SQL> select status from v$instance;

STATUS

------------

MOUNTED


啓動數據庫到第三階段:open

數據若是是shutdown狀態:

startup

數據若是是STARTED狀態:

alter database mount;

alter database open;

alter database open read only;

數據若是是MOUNTED狀態:

alter database open;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

startup 命令:

startup nomount

startup mount

startup open = startup

startup pfile='/home/oracle/initdemo.ora'

startup restrict

*startup force = shut abort + startup --> 強制重啓(慎用)


conn / as sysdba

alter system enable restricted session;

alter system disable restricted session;


alter database mount;

alter database open;

alter database open read only; -->只能查詢不能dml,能夠寫本地管理的temp表空間

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相關文章
相關標籤/搜索