管理oracle實(shí)例
1. 數(shù)據(jù)庫(kù)啟動(dòng)順序
Database Contorl ------ Listener ------ Database
(1) Database Contorl作用: 用于管理一個(gè)數(shù)據(jù)庫(kù),每個(gè)實(shí)例都有對(duì)應(yīng)的Database Contorl
配置信息: 主機(jī)名與TCP端口號(hào)
啟動(dòng)方法: emctl start/stop/status dbconsole
使用emctl需要設(shè)置ORACLE_SID的環(huán)境變量
訪問方法:https://localhost:port/em
注:$ORACLE_HOME/install/portlist.ini 記錄OUI,DBCA所有端口
(2) 啟動(dòng)數(shù)據(jù)庫(kù)監(jiān)聽器:用于監(jiān)視一個(gè)端口的數(shù)據(jù)庫(kù)連接請(qǐng)求,使用Oracle Net協(xié)議通信。
啟動(dòng)方式:lsnrctl start/stop/status
Database Contorl
Windows服務(wù)
(3) sqlplus連接數(shù)據(jù)庫(kù)
#sqlplus /nolog
2. 啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)
(1)用戶登陸數(shù)據(jù)庫(kù)
注:普通用戶無(wú)法啟動(dòng)打開數(shù)據(jù)庫(kù),因?yàn)樵诖蜷_數(shù)據(jù)庫(kù)后才能使用數(shù)據(jù)字典驗(yàn)證
用戶連接格式: connect user/passwd [@connect_alias] as sysdba
Eg: connect sys/oracle @orcl as sysdba
Sql>show user 現(xiàn)實(shí)登陸系統(tǒng)的身份信息
(2) 數(shù)據(jù)庫(kù)的狀態(tài)及啟動(dòng)
*SHUTDOWN 數(shù)據(jù)庫(kù)關(guān)閉狀態(tài),實(shí)例不存在
*NOMOUNT 實(shí)例已經(jīng)構(gòu)建,但是沒有連接數(shù)據(jù)庫(kù)
*MOUNT 實(shí)例定位并且讀取數(shù)據(jù)庫(kù)控制文件
*OPEN 完全打開,所有數(shù)據(jù)庫(kù)都可以連接
Sql>startup 開啟數(shù)據(jù)庫(kù)
當(dāng)startup啟動(dòng)數(shù)據(jù)庫(kù),會(huì)自動(dòng)運(yùn)行以上狀態(tài),并且通過(guò)定位文件初始化實(shí)例
$ORACLE_HOME/dbs/spfileSID.ora 動(dòng)態(tài)
$ORACLE_HOME/dbs/spfile.ora 動(dòng)態(tài)
$ORACLE_HOME/dbs/initSID.ora 靜態(tài)
參數(shù)文件用于在內(nèi)存中構(gòu)建SGA和啟動(dòng)后臺(tái)進(jìn)程
Sql>show parameter background
(3) 關(guān)閉數(shù)據(jù)庫(kù)
與數(shù)據(jù)庫(kù)的啟動(dòng)順序完全相反
Shutdown normal/transactional/immediate/abort
*normal 不可建立新連接,繼續(xù)所有連接,直到所有用戶推出則關(guān)閉
*transactional 不建立新連接,會(huì)話的事務(wù)完成后就關(guān)閉
*immediate 不可建立新連接,當(dāng)前所有會(huì)話中止,活動(dòng)的事務(wù)回滾,隨后關(guān)閉
*abort 相當(dāng)于斷電 直接關(guān)閉
前三個(gè)模式,在會(huì)話中止后,PMON進(jìn)程會(huì)回滾任何未結(jié)束的事務(wù),CKPT進(jìn)程發(fā)布檢查點(diǎn),促使DBWn進(jìn)程將所有更新內(nèi)容從高速緩沖區(qū)寫入到數(shù)據(jù)文件中。LGWR進(jìn)程將內(nèi)存中的變化矢量轉(zhuǎn)存到日志文件。
Sql>startup force 相當(dāng)于 shutdown abort 然后再 startup