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

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
