oracle資料庫例項狀態

智慧先行者發表於2015-01-11


1、已啟動/不裝載(NOMOUNT)。啟動例項,但不裝載資料庫。
該模式用於重新建立控制檔案,對控制檔案進行恢復或重新建立資料庫。
2、已裝載(MOUNT)。裝載資料庫,但不開啟資料庫。
該模式用於更改資料庫的歸檔模式或執行恢復操作,資料檔案的恢復。
3、開啟(OPEN)。
4、關閉。


關閉資料庫:
1、shutdown normal
oracle不再接受新的連線,資料庫會一直等待當前連線到資料庫的使用者都斷開連線後,再關閉資料庫例項。
2、shutdown immediate
資料庫將不允許建立新的連線,也不允許開始新的事務。所有未提交的事務都會被執行回滾操作。
3、shutdown transactional
資料庫將不允許建立新的連線,也不允許開始新的事務。在完成事務處理後斷開所有已連線的使用者,然後關閉資料庫。
4、shutdown abort
不允許建立新的連線,也不允許開始新的事務。所有正在執行的客戶端SQL語句將被立即中止,沒有提交的事務也不回滾,立即切斷所有線上使用者的連線。


限制模式啟動資料庫:startup restrict
1、執行資料匯入和匯出
2、使用SQL*Loader提取外部資料庫中的資料
3、需要暫時拒絕普通使用者訪問資料庫
4、進行資料庫移植或升級操作


(quiesce)停頓資料庫:
此狀態下,只允許具有DBA許可權的使用者執行事務、查詢和更新語句等。
1、切換資料庫為停頓狀態
alter system quiesce restricted;
2、從停頓恢復正常
alter system unquiesce;
3、檢視例項活動狀態
SQL> select active_state from v$instance;

ACTIVE_ST
---------
NORMAL

v$blocking_quiesce.SID=v$session.SID檢視被停頓操作阻塞的會話資訊
SQL> desc v$blocking_quiesce
Name Null? Type
---------- -------- ----------------------------
SID NUMBER

SQL> desc v$session
Name Null? Type
----------------------------------------- -------- ----------------------------
SADDR RAW(8)
SID NUMBER
SERIAL# NUMBER
AUDSID NUMBER
PADDR RAW(8)
USER# NUMBER
USERNAME VARCHAR2(30)
COMMAND NUMBER

掛起(suspend)資料庫:
所有到資料檔案和控制檔案的I/O被中止,對資料庫新的訪問將被切換至停頓狀態。
1、掛起資料庫
alter system suspend;
2、恢復正常
alter system resume;
3、檢視資料庫狀態
SQL> select database_status from v$instance;

DATABASE_STATUS
-----------------
ACTIVE

 

相關文章