一.啓動和關閉
1.sqlplus:
startup //啓動
shutdown immediate //關閉
selert open_mode v$database
2. grid---database:
srvctl startup database -d sidname(實例名) //打開實例
srvctl status database -d sidname //查看實例狀態
srvtcl stop database -d sidname //關閉實例
查看幫助
[oracle@up12 ~]$ srvctl
[oracle@up12 ~]$ srvctl start -h
[oracle@up12 ~]$ vim /home/oracle/.db
[oracle@up12 ~]$ srvctl status database -d maxdb
3. grid---grid
srvctl startup database -d sidname(實例名) //打開實例
srvctl status database -d sidname //查看實例狀態
srvtcl stop database -d sidname //關閉實例
crs_start ora.maxdb.db //打開實例
crs_status -all //查看狀態
crs_stop ora.maxdb.db
[oracle@up12 ~]$ . /home/oracle/.grid
[oracle@up12 ~]$ crs_stat
[oracle@up12 ~]$ crs_start ora.maxdb.db //crs_stop ora.maxdb.db
CRS-5702: Resource 'ora.maxdb.db' is already running on 'up12'
CRS-0223: Resource 'ora.maxdb.db' has placement error.
一.實例啓動的階段
1.sqlplus
啓動三個階段---startup 是一步完成三個步驟
a.nomunt ----實例啓動階段(參數文件)
start nomount;
根據參數文件的位置啓動實例,
根據參數文件中定義的數據庫名字,內存的分配,權限,位置,個數,將啓動信息寫到用戶日誌和告警日誌,啓動後臺進程初始化部分視圖(v$prameter,v$spprameter)。
b.mount---數據庫裝載階段(參數文件,控制文件)
alter database mount; //若是不成功則爲控制文件有問題 --初始化一部分試圖,寫入告警日誌和用戶日誌
根據參數文件中定義的控制文件個數,位置來裝載數據庫。
c.open ---數據庫打開階段(參數文件,控制文件,數據文件,日誌文件)
alter database open; //若是不成功必定會丟數據
根據控制文件中,定義的數據庫名,數據文件和日誌文件的名字位置,個數,(判斷驗證控制文件中記錄的SCN號和數據文件,日誌文件是否一致,若是一致,數據庫打開,若是不一致,啓動時作實例恢復)
通信有問題---日誌文件有問題
xx數據塊有問題---數據文件有問題
三.實例關閉的階段
1.close ---關閉數據庫
alter dabatabse close;
關閉數據文件和日誌文件
2.dismount---卸載數據庫
alter database dismount;
將實例與數據庫斷開鏈接
3.shutdown--關閉實例
shutdown
四.實例關閉的模式--工做中通常用第2、三種
1.shutdown normal --正常關閉
old connect---等待
ckpt ---保證三個文件SCN號一致,項目中不推薦使用,關閉時間長
2.shutdown immediate--- 一致性關閉
用戶的事務若是沒有完成,就會對進行回滾
會觸發ckpt
3.shutdown transactional---居於事務的關閉方式
old connct---等待事務的結束就關閉
ckpt
4.shutdown abort----強制關閉
新的鏈接不能鏈接,老的鏈接直接終端。當前面三種方式不能關閉時,咱們使用這種方式關閉,通常是數據庫出現了物理問題
五.生命週期
nomount----mount------open----close-----dismount------shutdown
sql