一、啟動與關閉過程
啟動(startup):shutdown→nomount(例程啟動)→mount→open-
關閉(shutdown):open→mount→nomount→shutdown
二、啟動例程(nomount)
啟動例程讓數(shù)據庫處于nomount狀態(tài)一般用于創(chuàng)建數(shù)據庫或重新創(chuàng)建控制文件過程中
啟動例程包括下列任務
按下列順序從$Oracle_HOME/dbs讀取初始化文件:
首先讀取spfileSID.ora
如果找不到,則讀取spfile.ora
如果仍然找不到,則讀取initSID.ora
可以使用startup制定pfile參數(shù)以覆蓋缺省行為
分配SGA
啟動后臺進程
打開alertSID.log
三、加載數(shù)據庫(mount)
啟動例程并加載數(shù)據庫,但不要打開數(shù)據庫讓數(shù)據庫處于mount狀態(tài)一般用于執(zhí)行特定的維護操作:例如重命名數(shù)據庫文件,啟用和禁用重做日志歸檔選項,執(zhí)行完全數(shù)據庫恢復。
加載數(shù)據庫包括以下任務
使數(shù)據庫與以前啟動的例程關聯(lián)
定位并打開參數(shù)文件中指定的控制文件
讀取控制文件以獲取數(shù)據文件和重做日志文件的名稱和狀態(tài)。但是在此時不進行數(shù)據文件和重做日志文件是否存在的檢查。
四、打開數(shù)據庫(open)
打開數(shù)據庫讓數(shù)據庫處于open狀態(tài)任何有效的用戶都可以連接到數(shù)據庫并執(zhí)行一般的數(shù)據訪問
打開數(shù)據庫包括一下任務
打開聯(lián)機數(shù)據文件
打開聯(lián)機重做日志文件
Oracle服務器驗證所有數(shù)據文件和重做日志文件是否可以打開并檢查數(shù)據的一致性,如果需要,系統(tǒng)監(jiān)視(SMON)后臺進程將啟動例程恢復操作。
五、startup命令
若要啟動例程,可使用以下命令
startup 【force】 【restrict】 【pfile=filename】 【open 【recover】 【database】 | mount | nomount 】
其中:
open:使用戶能夠訪問數(shù)據庫
mount:為某些DBA活動加載數(shù)據庫,但不允許用戶訪問數(shù)據庫
nomount:創(chuàng)建SGA并啟動后臺進程,但不允許訪問數(shù)據庫
pfile=filename:允許使用非缺省參數(shù)文件配置例程
force:執(zhí)行正常啟動前終止運行的例程(一般情況不建議使用,有可能造成數(shù)據庫損壞,并無法啟動)
restrict:只允許覺有restrict session權限的用戶訪問數(shù)據庫
recover:在數(shù)據庫啟動時開始進行介質恢復(一般情況下不建議使用,容易丟數(shù)據)
六、alter databasa命令
要將數(shù)據庫從nomount更改為mount階段或者從mount更改為open階段,請使用alter database命令
alter database {mount | open}
若要紡織數(shù)據被用戶事務修改,可以以只讀模式打開數(shù)據庫
alter database open 【read write | read only】
read write:以讀寫模式打開數(shù)據庫,以便用戶生成重做日志
read only:將用戶限制為只能執(zhí)行只讀事務,紡織用戶生成重做日志
此模式可用于
執(zhí)行查詢
使用本地管理的表空間執(zhí)行磁盤排序
使數(shù)據文件(而不是表空間)脫機和聯(lián)機
執(zhí)行脫機數(shù)據文件和表空間的恢復
七、以受限模式打開數(shù)據庫
當執(zhí)行結構維護或數(shù)據庫導入導出時,以受限模式啟動數(shù)據庫,這樣,只有具有restrict session權限的用戶才可以使用數(shù)據庫。使用alter system SQL命令也可以將數(shù)據庫設為受限模式:
alter system 【{enable | disable} restricted session】
enable:僅允許具有restricted session權限的用戶在以后登陸
disable:禁用restrict session以允許沒有該權限的用戶可以登陸
將例程置于受限模式后,可以使用一下命令來終止所有當前會話
alter system kill session ‘integer1,integer2’
integer1:V$session視圖中的SID列的值
integer2:V$session視圖中的serial#列的值
執(zhí)行該命令后,PMON會執(zhí)行一下操作
回退用戶當前事務
釋放所有當前持有的表或行鎖定
釋放用戶當前保留的所有資源
八、關閉數(shù)據庫
關閉數(shù)據庫這一操作將導致對所有物理結構進行操作系統(tǒng)脫機備份,并使修改過的靜態(tài)初始化參數(shù)在重新啟動后生效,有四種模式:abort、immediate、transactional、normal
關閉數(shù)據庫必須以sysoper或sysdba身份使用一下命令操作
shutdown 【normal | transactional | immediate | abort】
九、干凈的關閉數(shù)據庫
使用正常關閉(normal)、事務處理關閉(transactional)、立即關閉(immediate)等操作能干凈的關閉數(shù)據庫,干凈的關閉數(shù)據庫的流程
在關閉過程中將數(shù)據庫緩沖區(qū)告訴緩存的內容寫入數(shù)據文件
回退未提交的更改
釋放資源
在啟動過程中沒有發(fā)生例程恢復
正常關閉
正常關閉(normal)是缺省的關閉模式。正常的護具看關閉在下列情況下進行
未建立新連接
Oracle服務器等待所有用戶斷開后才完成關閉
數(shù)據庫和重做緩存區(qū)(redo log buffer)中的內容已寫入磁盤
后臺進程終止,SGA已從內存中刪除
Oracle在關閉例程前將關閉并卸載數(shù)據庫
下次啟動將不要求例程恢復
事務處理關閉(transactional)防止客戶機丟失工作,在下列情況下進行
沒有客戶機可以在此特定例程上啟動新事物
當客戶機結束正在進行的事務時,斷開客戶機
當所有事務都已完成后立即關閉
下次啟動將不要求例程恢復
立即關閉(immediate)在下列情況下進行
由Oracle處理的當前SQL語句未完成
Oracle服務器不等待當前連接到數(shù)據庫的用戶斷開
Oracle回退活動的事務并斷開所有連接的用戶
Oracle在關閉例程前將關閉并卸載數(shù)據庫
下次啟動將不要求例程恢復
十、不正常關閉數(shù)據庫
使用關閉終止(abort)操作關閉數(shù)據庫一般用在正常和立即關閉數(shù)據庫不起作用時,操作所經歷的步驟為:
在關閉過程中發(fā)生修改的緩存區(qū)內容不寫入數(shù)據文件
不回退未提交的更改
使用關閉終止強制關閉數(shù)據會造成數(shù)據庫不一致
在啟動過程中會使用重做日志重新應用更改
使用撤銷段回退未提交的更改
釋放資源
這種操作容易造成數(shù)據庫故障,導致再無法開啟,不建議使用
使用該操作一般用于以下幾種情況
Oracle服務器所處理的當前SQL語句被立即終止。
Oracle不等待當前連接數(shù)據庫的用戶斷開
數(shù)據庫和重做緩沖區(qū)中的內容不寫入磁盤
未提交的事務不回退
在不關閉文件的情況下例程被終止
數(shù)據庫不關閉或被卸載
下次啟動要求恢復例程,該操作將自動進行
建議不要備份處于不一致狀態(tài)的數(shù)據庫 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|