數據庫的啓動,停止,監控(思考與探究)

數據庫的啓動:分三個階段 (nomount、 mount、 open)


1個階段:nomount
數據庫做了什麼?
啓動實例&寫跟蹤文件
 
需要什麼?
參數文件
實例管理的目錄
 
我們能做什麼?
查看參數
修改參數
查看內存和後臺進程的使用情況
創建數據庫
重建控制文件

不能nomount的原因有什麼?
參數文件有問題
審計文件目錄有問題
診斷文件目錄有問題
 
怎樣將數據庫啓動到nomount
shutdown --> nomount
startup nomount
SYS> select status from v$instance;
 
STATUS
------------
STARTED --> nomount

查看後臺啓動進程
select name from v$bgprocess where paddr<>'00';

~~~~~~~~~~~~~~~~~~~~~~
2個階段:mount
數據庫做了什麼?
加載控制文件的信息到內存
 
需要什麼?
控制文件
 
我們能做什麼?
查看存儲相關的信息
可以備份、還原、恢復
移動日誌文件和數據文件
將數據文件offline
打開和關閉歸檔模式
打開和關閉閃回數據庫的功能
刪除數據庫

不能啓動到mount的原因?
控制文件損壞,丟失
 
怎樣將數據庫啓動到mount?
shutdown --> mount
startup mount
nomount --> mount
alter database mount;
 
SYS> select status from v$instance;
 
STATUS
------------
MOUNTED
~~~~~~~~~~~~~~~~~~~~~~
3個階段:open
數據庫做了什麼?
打開聯機日誌和數據文件,檢查數據一致性
 
需要什麼?
開聯機日誌和數據文件
 
我們能做什麼?
任何操作

不能啓動到open狀態的原因?
數據文件有問題
日誌文件有問題

怎樣將數據庫啓動到open?
shutdown --> open
startup
mount --> open
alter database open;
nomount --> open
alter database mount;
alter database open;
 
所有的oracle數據庫都可以使用read only方式打開,
不是所有的oracle數據庫都可以使用read write方式打開(physical standby);
alter database open read only;
SQL> select open_mode from v$database;
 
OPEN_MODE
--------------------
READ ONLY

alter database close後就不能使用alter database open
因爲一個實例的生命週期內只能打開一個數據庫,只有重新建立一個實例纔可以。









#################################################################################################################################
數據庫的停止:四種模式 shutdown
*正常停庫: shutdown normal = shutdown
新的連接不允許建立(普通用戶)
等待查詢結束 (等待會話結束disconnect)
等待事務結束(commit & rollback)
強制產生檢查點
關閉聯機日誌和數據文件
關閉控制文件
關閉實例
 
*事務級停庫:shutdown transactional
新的連接不允許建立(普通用戶)
不等待查詢(查詢被終止)
等待事務結束(commit & rollback)
強制產生檢查點
關閉聯機日誌和數據文件
關閉控制文件
關閉實例
 
*立即停庫:shutdown immediate (生產庫最常用的方式)
新的連接不允許建立(普通用戶)
不等待查詢(查詢被終止)
不等待事務(事務被強制rollback)
強制產生檢查點
關閉聯機日誌和數據文件
關閉控制文件
關閉實例
 
*強制停庫:shutdown abort
相當於拔電源!數據庫是髒庫!重啓的時候需要實例的恢復!


 
starup force的使用 :
startup force = shutdown abort + startup
startup force nomount = shutdown abort + startup nomount
startup force mount = shutdown abort + startup mount
 




利用下面命令監控實例啓動狀態
ipcs -s
ipcrm -s
 
在系統級彆強制停庫:
ps -ef | grep ora_
kill -9 ### ### ###

使用oracle自帶腳本,系統級別停庫(可以使用該選項dbstart實現數據庫的自起,相關實驗筆記以後寫)
dbshut


======================================================================

由於本人能力有限,存在字面,表達錯誤請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章