一 啓動數據庫數據庫
Oracle啓動過程涉及幾種模式,這些模式涉及不一樣的文件,每一個狀態下數據庫作不一樣的事情,同時這些模式適用於不一樣的維護需求,主要的模式有三種:NOMOUNT、MOUNT、OPEN。安全
1 NOMOUNT:啓動數據庫實例, 此時讀取參數文件,可是不加載數據庫;測試
2 MOUNT:啓動數據庫實例,加載數據庫,可是數據庫處於關閉狀態;spa
3 OPEN: 啓動數據庫實例,加載並打開數據庫;3d
4 FORCE: 終止實例並重啓數據庫,這種模式在數據庫關閉或者啓動遇到問題時使用,這種方式不到萬不得已時不要使用,會有數據丟失;日誌
1 NOMOUNTblog
這種模式只會建立實例(建立Oracle實例的各類內存結構與服務進程,其中有5個進程必須啓動, DBWR、LGWR、SMON、PMON、CKPT),並不加載數據庫,也不會打開任何數據文件。進程
先關閉數據庫事務
startup nomount內存
數據庫的啓動過程記錄在警告追蹤文件中,該警告追蹤文件中包括數據庫啓動信息,它存放在參數BACKGOUND_DUMP_DEST定義的目錄下,警告日誌的名字爲alert_orcl.log
進入到目錄查看警告日誌關於startup nomount過程記錄
測試在nomount狀態時數據字典是否打的開,下圖說明數據庫字典在nomount狀態下是沒法訪問的,由於數據字典須要從控制文件獲取文件的信息,而此時控制文件沒有打開因此沒法查看。
可是在nomount下能夠經過參數文件得到控制文件的位置,由於此時參數文件已經打開
2 MOUNT
這種模式將啓動實例,加載數據庫並保持數據庫關閉狀態。數據庫啓動到MOUNT狀態有兩種方式,一是能夠直接啓動數據庫到MOUNT,二是若是數據庫已經啓動到NOMOUNT狀態,使用alter database mount把數據庫切換到MOUNT狀態;
alert database mount
startup mount
此時咱們能夠查看數據字典,由於控制文件已經打開
可是此時咱們不能訪問數據庫的數據文件(表,視圖),文件此時數據文件沒有打開。
3 OPEN
這種模式將啓動實例,加載並打開數據庫,這是常規的啓動模式,用戶想要對數據庫進行多種操做就必須使用OPEN模式啓動數據庫,啓動到OPEN狀態,有兩種方式,一是直接啓動到OPEN狀態(使用startup或者startup open),二是若是數據庫處於NOMOUNT或者MOUNT狀態,能夠經過alter database open切換到OPEN狀態。
此時能夠訪問數據文件了。
4 FORCE
這種模式將終止實例並重啓數據庫,這是一種強制性啓動模式,只有在啓動或者關閉出現問題時才使用,而且有必定的風險,會丟失數據,形成意外的問題。
二 關閉數據庫
與啓動數據庫順序相反,也分三個步驟:關閉數據庫(CLOSE 關閉數據文件),卸載數據庫(關閉控制文件 DISMOUNT),關閉Oracle實例(SHUTDOWN)。同時關閉模式也有多種常見的有:
1 NORMAL
正常的關閉方式,若是對於關閉數據庫的時間沒有限制,一般採用這種方式,以NORMAL方式關閉數據庫,Oracle將執行以下操做:
A 阻止任何用戶創建新的鏈接;
B 等待當前全部正在鏈接的用戶主動斷開鏈接;
C 當前全部用戶的都斷開鏈接後,將當即關閉數據庫;
2 TRANSACTION
事務關閉方式,它的首要任務是保證當前全部活動的事務均可以被提交,並在儘量短的時間內關閉數據庫。以事務方式關閉,Oracle將執行以下操做:
A 阻止用戶創建新鏈接和開始新事務;
B 等待全部活動事務提交後,再斷開用戶鏈接;
C 當全部活動事務提交完畢,用戶斷開鏈接後,關閉數據庫;
3 IMMEDIATE
當即關閉方式,能夠較快且安全的關閉數據庫,是DBA常常採用的關閉數據庫的方式,當即關閉方式,Oracle執行以下操做:
A 阻止用戶創建新的鏈接和開始新的事務;
B 中斷當前事務,回滾未提交事務;
C 強制斷開全部用戶鏈接和執行檢查點把髒數據寫到數據文件中;
D 關閉數據庫