ORACLE數(shù)據(jù)庫(kù)的啟動(dòng)與關(guān)閉
一、數(shù)據(jù)庫(kù)的啟動(dòng)(STARTUP)
要啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù),必須要以具有ORACLE管理員權(quán)限的用戶(hù)登陸,通常也就是以具有SYSDBA權(quán)限的用戶(hù)登陸。所以我們最好還是設(shè)置DBA用戶(hù)具有SYSDBA權(quán)限。
I)啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)需要三個(gè)步驟:
1、創(chuàng)建一個(gè)ORACLE實(shí)例(非安裝階段)
2、由實(shí)例安裝數(shù)據(jù)庫(kù)(安裝階段)
3、打開(kāi)數(shù)據(jù)庫(kù)(打開(kāi)階段)
命令:
a、STARTUP NOMOUNT(僅僅創(chuàng)建一個(gè)ORACLE實(shí)例)
b、STARTUP MOUNT(創(chuàng)建實(shí)例并且安裝數(shù)據(jù)庫(kù),但沒(méi)有打開(kāi)數(shù)據(jù)庫(kù))
c、STARTUP(創(chuàng)建實(shí)例、安裝數(shù)據(jù)庫(kù)、打開(kāi)數(shù)據(jù)庫(kù))
情況一:
STARTUP NOMOUNT;
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
情況二:
STARTUP MOUNT;
ALTER DATABASE OPEN;
情況三:
STARTUP;
II)其他打開(kāi)方式
除了前面介紹的三種數(shù)據(jù)庫(kù)打開(kāi)方式選項(xiàng)外,還有另外其他的一些選項(xiàng)。
(1) STARTUP RESTRICT
這種方式下,數(shù)據(jù)庫(kù)將被成功打開(kāi),但僅僅允許一些特權(quán)用戶(hù)(具有DBA角色的用戶(hù))才可以使用數(shù)據(jù)庫(kù)。這種方式常用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù),如數(shù)據(jù)的導(dǎo)入/導(dǎo)出操作時(shí)不希望有其他用戶(hù)連接到數(shù)據(jù)庫(kù)操作數(shù)據(jù)。
(2) STARTUP FORCE
該命令其實(shí)是強(qiáng)行關(guān)閉數(shù)據(jù)庫(kù)(shutdown abort)和啟動(dòng)數(shù)據(jù)庫(kù)(startup)兩條命令的一個(gè)綜合。該命令僅在關(guān)閉數(shù)據(jù)庫(kù)遇到問(wèn)題不能關(guān)閉數(shù)據(jù)庫(kù)時(shí)采用。
(3) ALTER DATABASE OPEN READ ONLY;
該命令在創(chuàng)建實(shí)例以及安裝數(shù)據(jù)庫(kù)后,以只讀方式打開(kāi)數(shù)據(jù)庫(kù)。對(duì)于那些僅僅提供查詢(xún)功能的產(chǎn)品數(shù)據(jù)庫(kù)可以采用這種方式打開(kāi)。
二、數(shù)據(jù)庫(kù)關(guān)閉(SHUTDOWN)
1、SHUTDOWN NORMAL
這是數(shù)據(jù)庫(kù)關(guān)閉SHUTDOWN命令的確省選項(xiàng)。也就是說(shuō)如果你發(fā)出SHUTDOWN這樣的命令,也即是SHUTDOWN NORNAL的意思。
發(fā)出該命令后,任何新的連接都將再不允許連接到數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)關(guān)閉之前,Oracle將等待目前連接的所有用戶(hù)都從數(shù)據(jù)庫(kù)中退出后才開(kāi)始關(guān)閉數(shù)據(jù)庫(kù)。采用這種方式關(guān)閉數(shù)據(jù)庫(kù),在下一次啟動(dòng)時(shí)不需要進(jìn)行任何的實(shí)例恢復(fù)。但需要注意一點(diǎn)的是,采用這種方式,也許關(guān)閉一個(gè)數(shù)據(jù)庫(kù)需要幾天時(shí)間,也許更長(zhǎng)。
2、SHUTDOWN IMMEDIATE
這是我們常用的一種關(guān)閉數(shù)據(jù)庫(kù)的方式,想很快地關(guān)閉數(shù)據(jù)庫(kù),但又想讓數(shù)據(jù)庫(kù)干凈的關(guān)閉,常采用這種方式。
當(dāng)前正在被Oracle處理的SQL語(yǔ)句立即中斷,系統(tǒng)中任何沒(méi)有提交的事務(wù)全部回滾。如果系統(tǒng)中存在一個(gè)很長(zhǎng)的未提交的事務(wù),采用這種方式關(guān)閉數(shù)據(jù)庫(kù)也需要一段時(shí)間(該事務(wù)回滾時(shí)間)。系統(tǒng)不等待連接到數(shù)據(jù)庫(kù)的所有用戶(hù)退出系統(tǒng),強(qiáng)行回滾當(dāng)前所有的活動(dòng)事務(wù),然后斷開(kāi)所有的連接用戶(hù)。
3、SHUTDOWN ABORT
這是關(guān)閉數(shù)據(jù)庫(kù)的最后一招,也是在沒(méi)有任何辦法關(guān)閉數(shù)據(jù)庫(kù)的情況下才不得不采用的方式,一般不要采用。如果下列情況出現(xiàn)時(shí)可以考慮采用這種方式關(guān)閉數(shù)據(jù)庫(kù)。
a、 數(shù)據(jù)庫(kù)處于一種非正常工作狀態(tài),不能用shutdown normal或者shutdown immediate這樣的命令關(guān)閉數(shù)據(jù)庫(kù);
b、 需要立即關(guān)閉數(shù)據(jù)庫(kù);
c、 在啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例時(shí)遇到問(wèn)題;
所有正在運(yùn)行的SQL語(yǔ)句都將立即中止。所有未提交的事務(wù)將不回滾。Oracle也不等待目前連接到數(shù)據(jù)庫(kù)的用戶(hù)退出系統(tǒng)。下一次啟動(dòng)數(shù)據(jù)庫(kù)時(shí)需要實(shí)例恢復(fù),因此,下一次啟動(dòng)可能比平時(shí)需要更多的時(shí)間。
4、SHUTDOWN TRANSACTIONAL
該選項(xiàng)僅在Oracle 8i后才可以使用。該命令常用來(lái)計(jì)劃關(guān)閉數(shù)據(jù)庫(kù),它使當(dāng)前連接到系統(tǒng)且正在活動(dòng)的事務(wù)執(zhí)行完畢,運(yùn)行該命令后,任何新的連接和事務(wù)都是不允許的。在所有活動(dòng)的事務(wù)完成后,數(shù)據(jù)庫(kù)將和SHUTDOWN IMMEDIATE同樣的方式關(guān)閉數(shù)據(jù)庫(kù)。
posted on 2011-12-15 14:44 DHC 閱讀(1183) 評(píng)論(0) 編輯 收藏