IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Windows平臺上Oracle數(shù)據(jù)庫服務(wù)解析

Windows平臺上Oracle數(shù)據(jù)庫服務(wù)解析

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

? 如果在Windows操作系統(tǒng)上部署Oracle數(shù)據(jù)庫系統(tǒng),會將起動過程寫入到操作系統(tǒng)的服務(wù)列表中。并且一些主要的服務(wù)都會被設(shè)置為自動啟動。如此的話,當(dāng)操作系統(tǒng)啟動的時候,數(shù)據(jù)庫會自動啟動。當(dāng)關(guān)閉操作系統(tǒng)時這些服務(wù)也會自動關(guān)閉。如下圖所示,就是在Windows操作系統(tǒng)下的Oralce數(shù)據(jù)庫系統(tǒng)的典型服務(wù)。

Oracle服務(wù)

? 一、了解主要的Oracle數(shù)據(jù)庫服務(wù)。

? 雖然上圖中列舉出了很多的Oracle數(shù)據(jù)庫服務(wù),但是在實際過程中我們用到的只是其中的四種。分別為OracleTNSListener(上圖中的第二個服務(wù),這服務(wù)對應(yīng)于數(shù)據(jù)庫的監(jiān)聽程序)、OracleServiceDTM123(上圖中的第一個服務(wù),對應(yīng)于數(shù)據(jù)庫例程)、OracleDBConsoledmt123(上圖中最后一個服務(wù),對應(yīng)于數(shù)據(jù)庫的企業(yè)管理器)、OracleiSQL*Plus(上圖中的第五個服務(wù),對應(yīng)于數(shù)據(jù)庫的Isql*plus工具)。數(shù)據(jù)庫管理員必須要對這四個服務(wù)的作用以及相互之間的關(guān)系了如指掌。因為有時候處于維護的需要,數(shù)據(jù)庫管理員需要通過這個服務(wù)列表來管理數(shù)據(jù)庫的啟動與關(guān)閉。

? 如當(dāng)啟動這些數(shù)據(jù)庫服務(wù)的時候,會占用比較多的內(nèi)存、CPU等系統(tǒng)資源。有時候在Windows操作系統(tǒng)上安裝Oracle數(shù)據(jù)庫系統(tǒng)可能只是出于測試、培訓(xùn)等目的。為此沒有必要讓這些數(shù)據(jù)庫服務(wù)一直運行著,而影響操作系統(tǒng)上的其它服務(wù)。所以有時候數(shù)據(jù)庫管理員不希望這些數(shù)據(jù)庫服務(wù)隨著操作系統(tǒng)的啟動而自動啟動。他們希望能夠在需要的時候手工啟動這些服務(wù)。如此的話,在不需要用到數(shù)據(jù)庫的時候,這些服務(wù)就不會占用寶貴的例程。此時數(shù)據(jù)庫管理員就需要更改這些服務(wù)的啟動方式。如上圖所示,可以將以上四種服務(wù)設(shè)置為"手動"啟動方式。如此的話,數(shù)據(jù)庫系統(tǒng)不會隨著操作系統(tǒng)的啟動而自動啟動。如果需要更改這些服務(wù)的啟動方式,只需要選中以上對應(yīng)的服務(wù),雙擊這個服務(wù),會打開一個服務(wù)管理的對話框。在這個對話框內(nèi)我們可以發(fā)現(xiàn)有一個啟動類型的下拉列表,只要選擇"手動",即可以更改這些服務(wù)的啟動方式。默認(rèn)情況下,這個啟動類型為"自動"。如果一直不需要使用這些服務(wù),甚至可以將啟動類型設(shè)定為"已禁用"。

? 二、了解各種服務(wù)之間的關(guān)系。

? Oracle各種服務(wù)之間有著比較復(fù)雜的關(guān)系,這個復(fù)雜性主要體現(xiàn)在他們有很嚴(yán)格的相互依存關(guān)系。當(dāng)啟動某個服務(wù)或者關(guān)閉某個服務(wù)的時候往往需要按照一定的順序來啟動或者關(guān)閉。否則的話,可能會出現(xiàn)錯誤信息。如就以上面四種主要服務(wù)來說,他們之間的關(guān)系就比較復(fù)雜。一般情況下,只有先啟動OracleTNSListener(監(jiān)聽程序)服務(wù),才可以打開啟動服務(wù)。如果在沒有打開這個服務(wù)的情況下,而打開其他數(shù)據(jù)庫服務(wù),如OracleDBConsoledmt123(數(shù)據(jù)庫企業(yè)管理器)服務(wù),就會出現(xiàn)錯誤。系統(tǒng)會提示:"一些服務(wù)依賴于其它服務(wù)、系統(tǒng)驅(qū)動程序或者組的加載順序,如果系統(tǒng)組建被停止或者運行不正常,則依賴于它的服務(wù)會受到影響"。簡單的說,就是監(jiān)聽程序服務(wù)沒有打開的話,企業(yè)管理器服務(wù)就無法啟動。這兩個服務(wù)之間存在著依存的關(guān)系。類似的,企業(yè)管理器服務(wù)跟OracleServiceDTM123(數(shù)據(jù)庫例程)服務(wù)之間也存在著千絲萬縷的關(guān)系。如果要使用企業(yè)管理器服務(wù),那么必須先啟動數(shù)據(jù)庫例程服務(wù)。否則的話,又會拋出以上的異常信息。

? 數(shù)據(jù)庫服務(wù)在啟動的時候會受到以上限制因素的影響。在關(guān)閉這些服務(wù)的時候也是如此。不過比服務(wù)啟動的時候好的多,操作會在關(guān)閉服務(wù)的時候去自動檢測是否存在相關(guān)的依存服務(wù)。如果存在的話,會先自動關(guān)閉其它的服務(wù),然后再關(guān)閉這個服務(wù)。如現(xiàn)在操作系統(tǒng)中同時啟動了數(shù)據(jù)庫企業(yè)管理器服務(wù)與數(shù)據(jù)庫例程這兩個服務(wù)?,F(xiàn)在數(shù)據(jù)庫管理員暫時不用Oracle數(shù)據(jù)庫了,他就要關(guān)閉數(shù)據(jù)庫例程服務(wù)以釋放其占用內(nèi)存與CPU資源。此時在關(guān)閉這個服務(wù)的時候,操作系統(tǒng)發(fā)現(xiàn)現(xiàn)有啟動的服務(wù)(企業(yè)管理器)需要用到這個正在關(guān)閉的服務(wù)。此時操作系統(tǒng)會先關(guān)閉企業(yè)管理器服務(wù),然后再關(guān)閉數(shù)據(jù)庫例程服務(wù)。也就是說,服務(wù)在啟動的時候,如果服務(wù)之間存在依存關(guān)系,操作系統(tǒng)是不會自動啟動的。而是拋出異常信息,讓數(shù)據(jù)庫管理員手工啟動相關(guān)聯(lián)的服務(wù)。但是在關(guān)閉服務(wù)的時候,則如果遇到相互依存的服務(wù),操作系統(tǒng)會自動關(guān)閉相互依存的服務(wù)。為此在關(guān)閉某個服務(wù)的時候,數(shù)據(jù)庫管理員一定要了解他們之間相互依存關(guān)系。要防止為了關(guān)閉某個服務(wù),而同時關(guān)閉其它正在使用的服務(wù)。此時可能會給用戶造成不必要的損失。

? 三、利用服務(wù)啟動數(shù)據(jù)庫與利用命令啟動數(shù)據(jù)庫的差異。

在使用命令啟動數(shù)據(jù)庫的時候,可以利用不同的選項讓數(shù)據(jù)庫啟動在不同的狀態(tài)中。如通常情況下利用命令來啟動數(shù)據(jù)庫,帶上不同的選項,可以讓數(shù)據(jù)庫只啟動例程(帶上Nomount選項)、掛載數(shù)據(jù)庫而不打開數(shù)據(jù)庫(采用mount選賢)、打開數(shù)據(jù)庫(采用open選項)或者以受限模式(帶上restrict選項)打開數(shù)據(jù)庫系統(tǒng)。有時候以某種特定的方式來打開數(shù)據(jù)庫系統(tǒng)對于數(shù)據(jù)庫管理員維護數(shù)據(jù)庫是非常重要的。如數(shù)據(jù)庫管理員需要將某個數(shù)據(jù)庫文件移動到新的硬盤上以減少硬盤的I/Q沖突或者需要將數(shù)據(jù)庫從非歸檔模式轉(zhuǎn)換到歸檔模式的時候,就需要將數(shù)據(jù)庫啟動到掛載模式。即打開控制文件而沒有打開數(shù)據(jù)文件。此時可以更改控制文件中的內(nèi)容(控制文件已經(jīng)打開);也可以移動數(shù)據(jù)文件(數(shù)據(jù)文件在掛載模式下還沒有打開。只有在這個模式下才能夠完成對數(shù)據(jù)文件的更名、移動等操作。而且利用命令還可以在不同的模式下進行轉(zhuǎn)換。如現(xiàn)在處于數(shù)據(jù)庫掛載模式,則可以利用alter database open命令將數(shù)據(jù)庫轉(zhuǎn)換為打開模式。這些功能通過Oracle服務(wù)都是無法完成的。

? 而通過服務(wù)來控制數(shù)據(jù)庫的啟動與關(guān)閉,就不能夠做到這么精細(xì)的控制。一般情況下,只有監(jiān)聽程序服務(wù)、數(shù)據(jù)庫例程服務(wù)和數(shù)據(jù)庫企業(yè)管理器服務(wù)三個服務(wù)同時打開的情況下,對應(yīng)的數(shù)據(jù)庫才處于啟動狀態(tài)。或者說,只有數(shù)據(jù)庫企業(yè)管理器服務(wù)啟動時數(shù)據(jù)庫才處于打開狀態(tài)。因為只有有監(jiān)聽程序服務(wù)、數(shù)據(jù)庫例程服務(wù)這兩個服務(wù)啟動后,才可以啟動企業(yè)管理器服務(wù)。所以一般情況下,企業(yè)管理器服務(wù)啟動了,就表示這三個服務(wù)已經(jīng)同時啟動。如果有一個服務(wù)還處于關(guān)閉的狀態(tài),那么數(shù)據(jù)庫就是處于關(guān)閉狀態(tài)。

? 可見通過命令與通過服務(wù)來管理數(shù)據(jù)庫的啟動與關(guān)閉存在很多的差異。一般情況下筆者建議大家還是通過命令來維護數(shù)據(jù)庫的啟動與關(guān)閉操作為好。不過通過服務(wù),也可以起到一些命令無法實現(xiàn)的功能。如現(xiàn)在數(shù)據(jù)庫管理員不希望數(shù)據(jù)庫隨著操作系統(tǒng)的啟動而自動啟動,此時就可以通過更改對應(yīng)服務(wù)啟動類型來實現(xiàn)。如可以將上面的服務(wù)的啟動類型設(shè)置為"手工"啟動。此時當(dāng)操作系統(tǒng)啟動時,就不會自動啟動數(shù)據(jù)庫系統(tǒng)。不過這主要用于一些測試服務(wù)器或者培訓(xùn)服務(wù)器上。對于在企業(yè)生產(chǎn)環(huán)境中使用的數(shù)據(jù)庫服務(wù)器,往往要將這個服務(wù)設(shè)置為自動啟動。即讓操作系統(tǒng)啟動時自動啟動數(shù)據(jù)庫服務(wù),以減少數(shù)據(jù)庫管理員的工作量。所以說,雖然通過服務(wù)來管理數(shù)據(jù)庫的啟動與關(guān)閉進程,屬于粗放型的管理。但是有時候數(shù)據(jù)庫管理員確實也離不開它。

? 最后需要提醒的一點是,在Windows操作系統(tǒng)中,默認(rèn)情況下數(shù)據(jù)庫系統(tǒng)是會隨著操作系統(tǒng)的啟動而自動啟動的。而在Linux等到作系統(tǒng)平臺上,由于沒有這種服務(wù)的管理機制,所以在Linux操作系統(tǒng)部署Oracle數(shù)據(jù)庫系統(tǒng)的時候,默認(rèn)情況下是不會隨著操作系統(tǒng)的啟動而啟動的。如果數(shù)據(jù)庫管理員需要讓其隨著操作系統(tǒng)啟動而自動啟動,就需要在啟動列表中加入相關(guān)的指令才行。這是在兩個不同操作系統(tǒng)上部署Oracle數(shù)據(jù)庫的一個很明顯的區(qū)別。

關(guān)鍵詞標(biāo)簽:Windows,Oracle數(shù)據(jù)庫

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法