■監(jiān)聽程序
#lsnrctl start ---> 啟動(dòng)
#lsnrctl stop ---> 停止
#lsnrctl status ---> 狀態(tài)
#lsnrctl help ---> 幫助
■一個(gè)例程只能訪問一個(gè)數(shù)據(jù)庫(kù),而一個(gè)數(shù)據(jù)庫(kù)可以由多個(gè)例程同時(shí)訪問.
例程由一組邏輯內(nèi)存結(jié)構(gòu)和一系列后臺(tái)服務(wù)進(jìn)程組成.
在啟動(dòng)數(shù)據(jù)庫(kù)的過程中,文件的使用順序是:參數(shù)文件、控制文件、數(shù)據(jù)文件和重做日志文件.
■啟動(dòng)模式
nomount模式 啟動(dòng)例程,但不裝載數(shù)據(jù)庫(kù),即只完成啟動(dòng)步驟的第1步。(讀取參數(shù)文件)
mount模式 啟動(dòng)例程,并裝載數(shù)據(jù)庫(kù),但不打開數(shù)據(jù)庫(kù)。即,只完成啟動(dòng)步驟的第1和第2步。
open模式 啟動(dòng)例程,裝載數(shù)據(jù)、打開數(shù)據(jù)庫(kù)、即完成全部3個(gè)啟動(dòng)步驟.
啟動(dòng)語(yǔ)法
startup [nomount|mount|open|force] [restrict] [PFILE=filename];
■NOMOUNT選項(xiàng)
只創(chuàng)建例程,不裝數(shù)據(jù)庫(kù),讀取參數(shù)文件,為例程創(chuàng)建各種內(nèi)存結(jié)構(gòu)和后臺(tái)服務(wù)進(jìn)程,用戶能與數(shù)據(jù)庫(kù)進(jìn)行通信,
但不能使用數(shù)據(jù)庫(kù)中的任何文件.
如果要執(zhí)行下列維護(hù)工作,就必須用NOMOUNT選項(xiàng)啟動(dòng)數(shù)據(jù)庫(kù)
◆ 運(yùn)行一個(gè)創(chuàng)建新數(shù)據(jù)的腳本
◆ 重建控制文件
在NOMOUNT啟動(dòng)模式下,只能訪問那些與SGA區(qū)相關(guān)的數(shù)據(jù)庫(kù)字典視圖,如V$PARAMETER,V$SGA,V$OPTION,
V$PROCESS,V$VERSION,V$INSTANCE等.這些視圖中的信息都是從SGA區(qū)中獲取的,與數(shù)據(jù)庫(kù)無關(guān).
■MOUNT選項(xiàng)
MOUNT選項(xiàng)不僅創(chuàng)建例程,還裝載數(shù)據(jù)庫(kù),但卻不打開數(shù)據(jù)庫(kù).讀取控制文件.管理員可以通過部分命令修改數(shù)據(jù)庫(kù),
用戶還無法與數(shù)據(jù)庫(kù)建立連接或會(huì)話.
如果要執(zhí)行下列維護(hù)工作,就必須用MOUNT選項(xiàng)啟動(dòng)數(shù)據(jù)庫(kù)
◆ 重命名數(shù)據(jù)文件
◆ 添加、刪除或重命名重做日志文件
◆ 執(zhí)行數(shù)據(jù)庫(kù)完全恢復(fù)操作
◆ 改變數(shù)據(jù)庫(kù)的歸檔模式
在MOUNT啟動(dòng)模式下,除了可以訪問那些與SGA區(qū)相關(guān)的數(shù)據(jù)字典視圖之外,還可以訪問到那些與控制文件相關(guān)的數(shù)據(jù)字典
視圖,如V$THREAD,V$CONTROLFILE,V$DATABASE,V$DATAFILE,V$LOGFILE等,這些視圖中的信息是從控制文件中獲取的.
■OPEN選項(xiàng)
OPEN選項(xiàng)不僅創(chuàng)建例程,還裝載數(shù)據(jù)庫(kù),并且打開數(shù)據(jù)庫(kù).這是正常啟動(dòng)模式.如果startup命令行上沒有指定任何
模式,默認(rèn)就是start open選項(xiàng)啟動(dòng)數(shù)據(jù)庫(kù).
■FORCE選項(xiàng)
如果在正常啟動(dòng)數(shù)據(jù)庫(kù)遇到困難,可以使用force啟動(dòng)選項(xiàng).例如服務(wù)器突然斷電.
FORCE選項(xiàng)與正常啟動(dòng)選項(xiàng)之間的差別還在于,無論數(shù)據(jù)庫(kù)處于什么模式,都是先異常關(guān)閉數(shù)據(jù)庫(kù),然后再重新啟動(dòng).
而不需要事先用SHUTDOWN語(yǔ)句關(guān)閉數(shù)據(jù)庫(kù).
■RESTRICT選項(xiàng)
RESTRICT選項(xiàng)啟動(dòng)數(shù)據(jù)庫(kù)并把它置入OPEN模式,但些時(shí)只有擁有RESTRICTED SESSION權(quán)限的用戶才能訪問數(shù)據(jù)庫(kù).
如果需要在數(shù)據(jù)庫(kù)處于OPEN模式下執(zhí)行維護(hù)任何,又要保證此時(shí)其他用戶不能在數(shù)據(jù)庫(kù)上建立連接和執(zhí)行任何,則應(yīng)該
使用RESTRICT選項(xiàng)來打開數(shù)據(jù)庫(kù),以便完成如下任務(wù):
◆ 執(zhí)行數(shù)據(jù)庫(kù)數(shù)據(jù)的導(dǎo)出或?qū)氩僮?
◆ 執(zhí)行數(shù)據(jù)裝載操作(用SQL*Loader)
◆ 暫時(shí)阻止一般的用戶使用數(shù)據(jù).
◆ 進(jìn)行數(shù)據(jù)庫(kù)移植或升級(jí)
當(dāng)工作完成后,可以用如下語(yǔ)句禁用RESTRICT SESSION權(quán)限,即:
alter system disable restricted session
■關(guān)閉選項(xiàng)
■NORMAL選項(xiàng)
按NORMAL選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),Oracle將執(zhí)行如下操作:
◆ 阻止任何用戶建立新的連接
◆ 等待當(dāng)前所有正在連接的用戶主動(dòng)斷開連接.正在連接的用戶能夠繼續(xù)他們當(dāng)前的工作,甚至能夠提交新的事務(wù).
◆ 一旦所有的用戶都斷開連接,才進(jìn)行關(guān)閉、制裁數(shù)據(jù)庫(kù),并終止例程。
注意:
按NORMAL選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),Oracle并不會(huì)斷開當(dāng)前用戶的連接,而是等待當(dāng)前用戶主動(dòng)斷開連接。在這個(gè)過程中,連接的用
戶甚至可以建立新的事務(wù)。此選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù),在下次啟動(dòng)數(shù)據(jù)庫(kù)時(shí)不需要任何恢復(fù)操作。關(guān)閉數(shù)據(jù)庫(kù)所耗費(fèi)的時(shí)間完全取決
于用戶主動(dòng)斷開連接的時(shí)間.
■TRANSACTIONAL選項(xiàng)
TRANSACTIONAL選項(xiàng)比NORMAL選項(xiàng)稍微主動(dòng)些。它能在盡可能短的時(shí)間內(nèi)關(guān)閉數(shù)據(jù)庫(kù)。
按NORMAL選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),Oracle將執(zhí)行如下操作:
◆ 阻止任何用戶建立新的連接,同時(shí)阻止當(dāng)前連接的用戶開始任何新的事務(wù)
◆ 等待所有當(dāng)前未提交的活動(dòng)事務(wù)提交完后,然后立即斷開用戶的連接
◆ 一旦所有的用戶都斷開連接,立即進(jìn)行關(guān)閉、制裁數(shù)據(jù)庫(kù),并終止例程
注意:
按TRANSACTIONAL選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù),既能保證用戶不會(huì)丟失當(dāng)前工作的信息,又可以盡可能快地關(guān)閉數(shù)據(jù)庫(kù),此選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù),在下次
啟動(dòng)數(shù)據(jù)庫(kù)時(shí)不需要任何恢復(fù)操作。
■IMMEDIATE選項(xiàng)
IMMEDIATE選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù),就能夠在盡可能短的時(shí)間內(nèi)關(guān)閉數(shù)據(jù)庫(kù)。
按IMMEDIATE選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),Oracle將執(zhí)行如下操作:
◆ 阻止任何用戶建立新的連接,同時(shí)阻止當(dāng)前連接的用戶開始任何新的事務(wù)
◆ 任何當(dāng)前未提交的事務(wù)均被回退
◆ Oracle不再等待用戶主動(dòng)斷開連接,而是直接關(guān)閉、制裁數(shù)據(jù)庫(kù),并終止例程
注意:
如果存在很多未提交的事務(wù),則按IMMEDIATE選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)仍然會(huì)耗費(fèi)很長(zhǎng)時(shí)間。此選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù),在下次啟動(dòng)數(shù)據(jù)庫(kù)時(shí)不需要任何
恢復(fù)操作。
■ABORT選項(xiàng)
如果上述三種選項(xiàng)都無法成功關(guān)閉數(shù)據(jù)庫(kù),就說明數(shù)據(jù)庫(kù)存在嚴(yán)重錯(cuò)誤。這時(shí)只能使用ABORT選項(xiàng)來關(guān)閉數(shù)據(jù)庫(kù)。
在下面幾種特殊情況中,可以考慮按ABORT選項(xiàng)來關(guān)閉數(shù)據(jù)庫(kù)。
◆ 數(shù)據(jù)庫(kù)本身或某個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序發(fā)生異常,并且使用其他選項(xiàng)均無效
◆ 出現(xiàn)緊急情況,需要立刻關(guān)閉數(shù)據(jù)庫(kù)(比如得到通知將在一分鐘內(nèi)發(fā)生停電)
◆ 在啟動(dòng)數(shù)據(jù)庫(kù)例程的過程中產(chǎn)生錯(cuò)誤。
按IMMEDIATE選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),Oracle將執(zhí)行如下操作:
◆ 阻止任何用戶建立新的連接,同時(shí)阻止當(dāng)前連接的用戶開始任何新的事務(wù)
◆ 立即結(jié)束當(dāng)前正在執(zhí)行的SQL語(yǔ)句
◆ 任何未提交的事務(wù)均不被回退
◆ 立即斷開所有用戶的連接,關(guān)閉、缺氧數(shù)據(jù)庫(kù),并終止全程.
注意:
按ABORT選項(xiàng)關(guān)閉數(shù)據(jù)庫(kù)時(shí),由于當(dāng)前未完成的事務(wù)并不會(huì)被回退,所以可能會(huì)丟失一部分?jǐn)?shù)據(jù)信息。這樣數(shù)據(jù)庫(kù)的完整性遭到損害,在下一次啟動(dòng)時(shí)需要
進(jìn)行恢復(fù)。因此建議盡量避免按ABORT選項(xiàng)來關(guān)閉數(shù)據(jù)庫(kù).
■在WINDOWS中啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)所使用的服務(wù)名稱及說明
Oracle<ORACLE_HOME_NAME>TNSListener 對(duì)應(yīng)于數(shù)據(jù)庫(kù)監(jiān)聽程序
OracleService<SID> 對(duì)應(yīng)于數(shù)據(jù)庫(kù)例程
OracleDBConsole<sid> 對(duì)應(yīng)于Oracle Enterprise Manager 或 OEM
Oracle<ORACLE_HOME_NAME>iSQL*Plus 對(duì)應(yīng)于iSQL*Plus
這幾個(gè)服務(wù)之間的關(guān)系是:
◆ 首先啟動(dòng)Oracle<ORACLE_HOME_NAME>TNSListener服務(wù),然后再啟動(dòng)其他服務(wù)。
◆ 如果不啟動(dòng)Oracle<ORACLE_HOME_NAME>TNSListener,則可以使用SQL*Plus,但不能使用OEM和iSQL*Plus。
◆ 因?yàn)镺racleDBConsole<sid>依賴于OracleService<SID>,所以必須先啟動(dòng)OracleService<SID>,之后再啟動(dòng)
OracleDBConsole<sid>.關(guān)閉反之。
============================
■提示:全局?jǐn)?shù)據(jù)庫(kù)名是數(shù)據(jù)庫(kù)的默認(rèn)服務(wù)名,由初始化參數(shù)文件中的SERVICE_NAMES參數(shù)指定.
■Oracle網(wǎng)絡(luò)配置分為服務(wù)器端配置和客戶機(jī)端配置,服務(wù)器端配置的目的就是配置監(jiān)聽程序的配置文件(listener.ora).
客戶機(jī)端配置的目的就是配置網(wǎng)絡(luò)服務(wù)名的配置文件(tnsnames.ora).服務(wù)器端本身也有一個(gè)網(wǎng)絡(luò)服務(wù)名的配置文件(
tnsnames.ora),在服務(wù)器端,一般不需要配置tnsnames.ora文件,但如果服務(wù)器要與其他服務(wù)器連接時(shí)(如在分布式網(wǎng)
絡(luò)環(huán)境中),同樣需要配置tnsnames.ora文件。根據(jù)網(wǎng)絡(luò)連接的實(shí)際情況,每個(gè)listener.ora和tnsnames.ora內(nèi)容都可能
不同,以便監(jiān)聽不同的連接請(qǐng)求信息或連接到不同的數(shù)據(jù)庫(kù).
聯(lián)系客服