oracle啟動過程涉及幾種模式,這些模式涉及不同的檔案,每個狀態下資料庫做不同的事情,同時這些模式適用於不同的維護需求,主要的模式有三種:nomount、mount、open。
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-8dufpt8p-1605278103608)(…/…/…/images/oracle資料庫的啟動過程和關閉模式/資料庫啟動.png)]
nomount:啟動資料庫例項, 此時讀取引數檔案,但是不載入資料庫;
mount:啟動資料庫例項,載入資料庫,但是資料庫處於關閉狀態;
open: 啟動資料庫例項,載入並開啟資料庫;
force: 終止例項並重啟資料庫,這種模式在資料庫關閉或者啟動遇到問題時使用,這種方式不到萬不得已時不要使用,會有資料丟失;
這種模式只會建立例項(建立oracle例項的各種記憶體結構與服務程序,其中有5個程序必須啟動, dbwr、lgwr、smon、pmon、ckpt),並不載入資料庫,也不會開啟任何資料檔案。其任務為:
①先關閉資料庫
startup nomount
命令啟動例程。通常使用資料庫的這種狀態來建立乙個新的資料庫,或建立乙個新的控制檔案。
backgound_dump_dest
定義的目錄下,警告日誌的名字為alert_orcl.log
③ 進入到目錄檢視警告日誌關於startup nomount過程記錄
④ 測試在nomount狀態時資料字典是否打的開,下圖說明資料庫字典在nomount狀態下是無法訪問的,因為資料字典需要從控制檔案獲取檔案的資訊,而此時控制檔案沒有開啟所以無法檢視。
但是在nomount下可以通過引數檔案獲得控制檔案的位置,因為此時引數檔案已經開啟
這種模式將啟動例項,載入資料庫並保持資料庫關閉狀態。資料庫啟動到mount狀態有兩種方式:
此時我們可以檢視資料字典,因為控制檔案已經開啟
**注意:**但是此時我們不能訪問資料庫的資料檔案(表,檢視),檔案此時資料檔案沒有開啟。
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-igsihmtq-1605278103624)(
mount下改變狀態:
改變歸檔模式
archive log list
alter
database archivelog;
alter
database noarchivelog;
暫停和重新開始資料庫
alter system suspend;
alter system resume;
執行資料庫備份時,為了避免控制檔案和資料檔案之間的i/o衝突,可以使用alter system語句來暫停和重新開始資料庫。暫停之後,禁止在控制檔案和資料檔案上進行任何i/o操作.
使用startup open(或startup)命令啟動例程、裝在資料庫並開啟資料庫這種模式將啟動例項,載入並開啟資料庫,這是常規的啟動模式,使用者想要對資料庫進行多種操作就必須使用open模式啟動資料庫,啟動到open狀態,有兩種方式:
此時可以訪問資料檔案了。
這種模式將終止例項並重啟資料庫,這是一種強制性啟動模式,只有在啟動或者關閉出現問題時才使用,並且有一定的風險,會丟失資料,造成意外的問題。
與啟動資料庫順序相反,也分三個步驟:關閉資料庫(close 關閉資料檔案),解除安裝資料庫(關閉控制檔案 dismount),關閉oracle例項(shutdown)。同時關閉模式也有多種常見的有:
正常的關閉方式,如果對於關閉資料庫的時間沒有限制,通常採用這種方式,以normal方式關閉資料庫,oracle將執行如下操作:
a 阻止任何使用者建立新的連線;事務關閉方式,它的首要任務是保證當前所有活動的事務都可以被提交,並在盡可能短的時間內關閉資料庫。以事務方式關閉,oracle將執行如下操作:b 等待當前所有正在連線的使用者主動斷開連線;
c 當前所有使用者的都斷開連線後,將立即關閉資料庫;
a 阻止使用者建立新連線和開始新事務;立即關閉方式,可以較快且安全的關閉資料庫,是dba經常採用的關閉資料庫的方式,立即關閉方式,oracle執行如下操作:b 等待所有活動事務提交後,再斷開使用者連線;
c 當所有活動事務提交完畢,使用者斷開連線後,關閉資料庫;
a 阻止使用者建立新的連線和開始新的事務;b 中斷當前事務,回滾未提交事務;
c 強制斷開所有使用者連線和執行檢查點把髒資料寫到資料檔案中;
d 關閉資料庫
Oracle資料庫學習筆記 一
微軟 sql server 和 access 瑞典mysql ab公司 mysql ibm公司 db2 美國sybase公司 sybase ibm公司 informix 美國oracle公司 oracle 小型資料庫 access 中型資料庫 sql server mysql informix 大型...
資料庫 Oracle學習筆記(1)
類class class student 學生物件public class student byte b 100 int i 10000 double d 3.14 char c 我 boolean f true id name age1001 張三30 1002 李四25 nickname pas...
資料庫 Oracle學習筆記(4)
select from emp 查詢表中所有列 select ename,sal from emp 查詢表中ename列,和sal列 select concat ename,的工資是 from emp smith的工資是 smith的工資是 sal smith的工資是800 select conca...