數(shù)據(jù)庫(kù)的啟動(dòng)
?
??? 今天學(xué)習(xí)一下數(shù)據(jù)庫(kù)最基本的操作技巧——數(shù)據(jù)庫(kù)的啟動(dòng)。沒(méi)什么特別需要說(shuō)明的,非常基本,完全掌握就是了。
?
一、啟動(dòng)數(shù)據(jù)庫(kù)
?
??? 1、啟動(dòng)數(shù)據(jù)庫(kù)的方法:
?
??? * 使用管理員權(quán)限登錄SQLPLUS,用STARTUP命令啟動(dòng)
??? * 用Recovery Manager來(lái)執(zhí)行STARTUP
??? * 使用Oracle Enterprise Manager圖形界面啟動(dòng)
?
??? 2、初始啟動(dòng)說(shuō)明
?
??? ① SQL> SQLPLUS /NOLOG
?????? SQL> CONNECT / AS SYSDBA --連接到數(shù)據(jù)庫(kù)
?
??? ② STARTUP命令需要有初始化參數(shù)文件
????? * 可以使用STARTUP pfile = '...' 命令啟動(dòng)
????? * 沒(méi)有指定pfile時(shí),會(huì)自動(dòng)讀取SPFILE
????? * SPFILE默認(rèn)文件夾:UNIX-$ORACLE_HOME/DBS;WINDOWS-$ORACLE_HOME/DATABASE
????? * 按一下次序搜索默認(rèn)SPFILE:
????????? spfile$ORACLE_SID.ora
????????? spfile.ora
????????? init$ORACLE_SID.ora
?
??? ③ 可以創(chuàng)建一個(gè)初始化文件,然后在默認(rèn)文件夾內(nèi)創(chuàng)建只包含SPFILE參數(shù)的ora文件
?????? * 將初始化參數(shù)文件設(shè)到 '/u01/oracle/dbs/test_spfile.ora'
?????? * 新建文件 '/u01/oracle/dbs/spf_init.ora'
?????? * test_spfile.ora中包含參數(shù):SPFILE = /u01/oracle/dbs/test_spfile.ora
?????? * 啟動(dòng)時(shí)STARTUP PFILE = /u01/oracle/dbs/spf_init.ora
?????? * 可以在客戶端讀取服務(wù)器的初始化參數(shù)文件
?
??? 3、啟動(dòng)模式:
?
????? ① STARTUP:?jiǎn)?dòng)實(shí)例并打開(kāi)數(shù)據(jù)庫(kù)
?????????? --用于正常模式下
?
????? ② STARTUP NOMOUNT:?jiǎn)?dòng)實(shí)例但不裝載數(shù)據(jù)庫(kù)
?????????? --用于數(shù)據(jù)庫(kù)創(chuàng)建過(guò)程中
?
????? ③ STARTUP MOUNT:?jiǎn)?dòng)且裝載數(shù)據(jù)庫(kù),但不打開(kāi)
?????????? --1、重命名數(shù)據(jù)庫(kù)
?????????? --2、添加、取消或重命名重做日志文件
?????????? --3、允許和禁止重做日志存檔選項(xiàng)
?????????? --4、執(zhí)行完整的數(shù)據(jù)庫(kù)恢復(fù)操作
?
????? ④ STARTUP RESTRICT:?jiǎn)?dòng)中限制訪問(wèn)
???????? ALTER SYSTEM DISABLE RESTRICT SESSION:再限制RESTRICT SEEEION權(quán)限
?????????? --1、執(zhí)行數(shù)據(jù)庫(kù)的導(dǎo)出或?qū)氩僮?/em>
?????????? --2、執(zhí)行數(shù)據(jù)庫(kù)裝載操作(用SQL*Loader)
?????????? --3、暫時(shí)阻止一般的用戶使用數(shù)據(jù)
?????????? --4、在某個(gè)移植過(guò)程和升級(jí)操作過(guò)程中
?
????? ⑤ STARTUP FORCE:迫使實(shí)例啟動(dòng)
?????????? --1、SHUTDOWN NORMAL/IMMEDIATE/TRANSACTION命令不能關(guān)閉當(dāng)前實(shí)例時(shí)
?????????? --2、啟動(dòng)實(shí)例遇到問(wèn)題時(shí)
?
????? ⑥ STARTUP OPEN RECOVER:?jiǎn)?dòng)中自動(dòng)啟動(dòng)恢復(fù)進(jìn)程
?????????? --已知需要介質(zhì)恢復(fù)時(shí)使用
?
????? ⑦ 分布數(shù)據(jù)庫(kù)中,可以啟動(dòng)遠(yuǎn)程實(shí)例和數(shù)據(jù)庫(kù)。
?
?
二、改變可用性
?
??? 1、為實(shí)例裝載數(shù)據(jù)庫(kù)
?
??? ALTER DATABASE MOUNT;
?
??? 2、打開(kāi)關(guān)閉的數(shù)據(jù)庫(kù)
?
??? ALTER DATABASE OPEN;
?
??? 3、只讀模式打開(kāi)數(shù)據(jù)庫(kù)
?
??? ALTER DATABASE OPEN READ ONLY;
??? ALTER DATABASE OPEN READ WRITE; --讀寫(xiě)模式
?
??? 4、限制打開(kāi)數(shù)據(jù)庫(kù)的訪問(wèn)
?
??? ALTER SYSTEM ENABLE RESTRICTED SESSION;
??? 注:必須以受限模式打開(kāi)實(shí)例
?
?
?
另注:若需要在啟動(dòng)服務(wù)時(shí)自動(dòng)啟動(dòng)數(shù)據(jù)庫(kù),則在注冊(cè)表ORA_SID_AUTOSTART值設(shè)置為T(mén)RUE。
?
?