ORACLE數(shù)據(jù)庫的啟動(dòng)和關(guān)閉之二
2024-08-29 13:41:45
供稿:網(wǎng)友
一、啟動(dòng)監(jiān)聽和掛載數(shù)據(jù)庫示例:
首先以用記Oracle進(jìn)入系統(tǒng):
su - oracle
lsnrctl start
然后以sys用戶進(jìn)入
sqlplus /NOLOG
CONNECT SYS/密碼 AS SYSDBA
STARTUP
這樣就可啟動(dòng)數(shù)據(jù)庫,并掛載數(shù)據(jù)庫示例了。
需要注重的是:oracle數(shù)據(jù)庫和其他的數(shù)據(jù)并不一樣。例如我們熟悉的MySQL, postgresql等,都是只要啟動(dòng)數(shù)據(jù)庫,即已經(jīng)預(yù)備好了接受訪問并接受客戶的請求,但是在oracle中并非如此。啟動(dòng)數(shù)據(jù)庫具體的說6應(yīng)該是這樣三個(gè)步驟,啟動(dòng)數(shù)據(jù)庫,掛載數(shù)據(jù)庫示例, 打開數(shù)據(jù)庫。
我們可以使用sql命令一步一步來完成這些動(dòng)作。
比如說我們啟動(dòng)數(shù)據(jù)庫,便是并不掛載數(shù)據(jù)庫示例:
STARTUP NOMOUNT
然后可以使用
ALTER DATABASE MOUNT 來掛上數(shù)據(jù)庫。
可以使用: STARTUP MOUNT來啟動(dòng)數(shù)據(jù)庫,并掛載上數(shù)據(jù)庫,但是保持?jǐn)?shù)據(jù)庫的關(guān)閉狀態(tài)。
稍后可以使用ALTER DATABASE OPEN來打開數(shù)據(jù)庫。
還可以在數(shù)據(jù)庫的啟動(dòng)過程中限制數(shù)據(jù)庫的訪問:
STARTUP RESTRICT來啟動(dòng)并裝載打開數(shù)據(jù)庫示例。
稍后可以使用:ALTER SYSTEM DISABLE RESTRICTED session來取消數(shù)據(jù)庫的受限制狀態(tài)。在數(shù)據(jù)庫受限制的過程中,只有對數(shù)據(jù)庫擁有CREATE SESSION權(quán)限的用戶才能夠連接到數(shù)據(jù)庫。這種狀態(tài)有利于對數(shù)據(jù)庫進(jìn)行備份,恢復(fù),導(dǎo)入,導(dǎo)出等操作。
還有一個(gè)命令就是強(qiáng)迫數(shù)據(jù)庫示例啟動(dòng):
STARTUP FORCE
二、改變數(shù)據(jù)庫的狀態(tài):
1、當(dāng)你只是啟動(dòng)數(shù)據(jù)庫,但是并不有裝數(shù)據(jù)庫時(shí),也即是使用:STARTUP NOMOUNT來啟動(dòng)數(shù)據(jù)庫時(shí),必須使用ALTER DATABASE MOUNT來裝載數(shù)據(jù)庫,并啟動(dòng)示例。
2、打開一個(gè)關(guān)閉的數(shù)據(jù)庫:
當(dāng)你只是裝載了數(shù)據(jù)庫,但是保持?jǐn)?shù)據(jù)庫關(guān)閉的情況,也即是使用: STARTUP MOUNT來啟動(dòng)數(shù)據(jù)庫時(shí),必須使用: ALTER DATABASE OPEN來打開一個(gè)關(guān)閉的數(shù)據(jù)庫。
3、以只讀或者是可讀可寫的方法打開數(shù)據(jù)庫。
注重:可讀可寫是默認(rèn)的操作:
ALTER DATABASE OPEN READ ONLY
恢復(fù)以;
ALTER DATABASE OPEN READ WRITE
4、在使用過程中對數(shù)據(jù)庫進(jìn)行限制:
ALTER SYSTEM ENABLE RESTRICTED SESSION
取消限制:
ALTER SYSTEM DISABLE RESTRICTED SESSION
即可取消對數(shù)據(jù)庫的限制:
三、數(shù)據(jù)庫的關(guān)閉:
oracle的數(shù)據(jù)庫關(guān)閉只有一個(gè)命令:SHUTDOWN,但是這個(gè)命令還有幾個(gè)選項(xiàng):
NORMAL, IMMEIDATE, TRANSACTION, ABORT, 其中NORMAL是默認(rèn)選項(xiàng)。表示正常的關(guān)閉,等候客戶的請求完成,所有的事務(wù)提交,拒絕再次進(jìn)行連接。
IMMEIDATE:立即關(guān)閉數(shù)據(jù)庫,不答應(yīng)新連接,事務(wù)回滾,下一次啟動(dòng)不需要任何恢復(fù)過程。
TRASACTION:不答應(yīng)新連接,完成事務(wù)后,有連接的用戶將被解除連接,下一次啟動(dòng)不需要任何恢復(fù)過程。
ABORT:不答應(yīng)新連接,馬上斷開所有的用戶連接,終止事務(wù),不回滾事務(wù)。
下一次啟動(dòng)需要恢復(fù)過程。
忘了一個(gè)操作,那就是在使用SHUTDOWN ARORT進(jìn)行關(guān)閉數(shù)據(jù)庫后,需要使用:STARTUP OPEN RECOVER 進(jìn)行啟動(dòng)示例,裝載數(shù)據(jù)庫并啟動(dòng)數(shù)據(jù)庫介質(zhì)恢復(fù)過程。
這樣的,你就可以關(guān)閉數(shù)據(jù)庫了。
SHUTDOWN
EXIT退出sqlplus
然后關(guān)閉監(jiān)聽器:
lsnrctl stop
退出oracle用戶,exit,這樣你的oracle操作就完成了。