Starting Up a Database
1、NOMOUNT
這個狀态下oracle server完成下列任務:
a.讀取初始化參數檔案;
b.為SGA配置設定記憶體;
c.啟動背景程序;
d.打開alertSID.log檔案和跟蹤檔案
資料庫必須被命名,即初始化檔案或在startup指令裡指定DB_NAME的值。
2、MOUNT
關聯一個資料庫與在nomount啟動的instance;定位并打開按參數檔案指定的control files;讀取資料檔案和重做日志檔案的名字和狀态。但在這個階段不會确認資料檔案和重做日志檔案的存在。
在這個階段隻能做一些指定資料庫維護工作,如:重命名資料檔案、開啟或關閉歸檔模式、資料恢複(這些操作隻能在此狀态下做)。
3、OPEN
打開資料庫檔案和重做日志檔案。這時資料庫就可以被正常通路。這個階段會确認相關檔案能否被打開和資料庫記錄的一緻性,否則會報錯。如果有必要SMON将開始恢複工作。
4、STARTUP Command
STARTUP [FORCE] [RESTRICT] [PFILE=filename][OPEN[RECOVER][database]|MOUNT|NOMOUNT]
force:強制啟動或關閉(相當于執行shutdown abort)正在運作的instance,并重新啟動。常在資料庫無法正常啟動(可能是由于上次關閉instance後記憶體空間配置設定不正常所緻)的情況下使用。?
restrict:隻允許有RESTRICTED SESSION特權的使用者通路
pfile:指定啟動的pfile檔案。
open recover db0:啟動時恢複資料。
nomount/mount:啟動資料庫至nomount或mount狀态。
5、将資料庫從nomount狀态轉變成mount狀态或從mount狀态轉變為open狀态:ALTER DATABASE { MOUNT | OPEN }。注意:不能從nomount狀态直接轉變為open狀态,啟動順序隻能是這樣:shutdown->nomount->mount->open->shutdown。
6、Restricted Mode
在限制模式下,隻有擁有限制會話特權的使用者可以登入。
進入限制模式有兩種方式:STARTUP RESTRICT 或 ALTER SYSTEM ENABLE RESTRICTED SESSION;
啟用或禁用restrict模式:ALTER SYSTEM [ {ENABLE|DISABLE} RESTRICTED SESSION ]。
7、終止一個會話
用于在将資料庫置于restrict模式下時可能要終止其他使用者的會話,或管理者主動終止某個使用者的會話。
ALTER SYSTEM KILL SESSION 'integer1,integer2'
? integer1: Value of the SID column in the V$SESSION view
? integer2: Value of the SERIAL# column in the V$SESSION view
終止會話過程:
a.復原使用者目前事務
b.釋放目前鎖定的表或行
c.釋放保留給客戶的資源
8、隻讀模式
在mount狀态下用下面指令可以切換到隻讀模式:
ALTER DATABASE OPEN READ ONLY;
在mount狀态下用下面指令可以切換到一般模式:
ALTER DATABASE OPEN READ WRITE;
隻讀模式隻是不産生redo log file,是以隻要不涉及産生重做資料的操作都可以做,如:資料庫恢複、資料庫檔案的offline和online 等。
注意:隻讀模式和一般模式不能互相切換。
問題:
SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-16005: database requires recovery
ALTER DATABASE OPEN [READ WRITE| READ ONLY]
解決方案:SQL> startup open recover lty(資料庫名字)
Shutting Down the Database
注:A = ABORT I = IMMEDIATE T = TRANSACTIONAL N = NORMAL
指令:SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]
shutdown normal:不建立新連接配接;将redo buffers裡的内容寫入磁盤;關閉instance前必須所有等待使用者主動斷開連接配接;
檢視未送出的事務:
SQL> select addr,status from v$transaction;
ADDR STATUS
-------- ----------------
59AF4CF4 ACTIVE
shutdown immediate:不建立新連接配接;中斷正在執行的sql語句;復原未送出的事務;斷開線上使用者;将redo buffers裡的内容寫入磁盤;關閉instance。
shutdown transactional:不建立新連接配接;用戶端無法發起新的事務;用戶端事務處理完成後斷開用戶端連接配接;将redo buffers裡的内容寫入磁盤;關閉instance。
shutdown abort:立即關閉instance;redo buffers裡的内容不會寫入磁盤;下次啟動會自動執行資料庫恢複程式。
本文轉自 d185740815 51CTO部落格,原文連結:http://blog.51cto.com/luotaoyang/280377,如需轉載請自行聯系原作者