在文件 tnsnames.ora 下增加GFS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.4.95)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pay)
)
)
此文件在%oracle_home%\product\10.1.0\Db_1\NETWORK\ADMIN
服務啟動的是后臺進程,這類似 于Unix中的守護進程。當Oracle數據庫服務啟動時,系統中沒有典型的Oracle進程運行。相反,該服務進程等待來自SQL*Plus的最初連 接,這引起一個前臺進程啟動并創建該系統全局區域SGA的后臺進程。當Oracle數據庫關閉時,所有創建的進程被終止。但是該進程自身仍在繼續運行,等 待下一個連接請求和啟動命令。這就是當我們通過Windows中的Oracle Service啟動了數據庫實 例,但在SQL*Plus或Oracle企業管理器中關閉了數據庫實例后,然而Windows中的OracleService服務仍處于“已啟動”狀態的 原因。只有停止Windows中的Oracle Service服務(即進程),才能保證不啟動數據庫。當然,當OracleService服務停止后,還可通過其他方式啟動數據庫實例。有多種方式可實 現對Windows中有關Oracle服務的管理,具體內容可詳見后面相關章節。
Oracle 網絡監聽器(Net Listener)是另一個重要的服務。該服務必須在用戶能連接到Oracle數據庫之前啟動運行。該進程關閉與否并不影響已經在客戶端與數據庫之間建立 起的連接和用戶對數據庫的使用。以SQL*Plus為例,當Oracle網絡監聽器的服務OracleTNSListener啟動之前,啟動 SQL*Plus并連接至數據庫,系統出現錯誤信息“ORA-12541:TNS:nolistener”。原因是沒有啟動監聽服務或者監聽器損壞;當 Oracle網絡監聽器的服務啟動SQL*Plus并連接至數據庫后,若停止OracleTNSListener服務,則對SQL*Plus沒有任何影 響,只要沒有斷開連接,SQL*Plus仍可與數據庫進行數據交互。其中,TNS(Transparent Network Substrate)代表透明網絡層。
2.可用的Oracle服務
根據安裝的產品不同,在Windows中產生的Oracle服務也不同,其實也正是這一點說明了數據庫服務器與其所使用的操作系統是緊密相關的。
Oracle Database 10g安裝后生成多個服務,這些都是Oracle Database 10g運行中所必需的。
通常當創建數據庫并完成安裝后,以下兩個主要服務會自動啟動:
·Oracle Service (Oracle數據庫服務)
·OracleTNSListener (Oracle數據庫監聽服務)
如果安裝了Oracle Enterprise Manager Database
Control,則OracleDBConsole服務自動啟動。若配置了Automatic Storage
Management,則OracleCSService和OracleASMService+ASM服務也會出現在服務列表中。
與Oracle 10g不同,Oracle9i安裝完成后產生12個與其有關的服務,為便于比較,下面是幾個與Oracle9i數據庫相關的服務:
(1)Oracle Service
數據庫服務。該服務為數據庫實例系統標識符SID而創建,SID是Oracle安裝期間輸入的數據庫服務名字(如OracleServiceTEST)。該服務是強制性的,它擔負著啟動數據庫實例的任務。
如果沒有啟動該服務,則當使用任何Oracle工具如SQL*Plus時,將出現ORA-12560的錯誤信息提示。該信息內容是“ORA-12560 TNS:
protocol adapter error”,這也意味著數據庫管理系統的管理對象沒有啟動,即數據庫沒有工作。當系統中安裝了多個數據庫時,會有多個Oracle Service,SID會因數據庫不同而不同。一般將服務的啟動類型設置為“自動”,這樣,當計算機系統啟動后該服務自動啟動。
(2)OracleTNSListener
監聽器服務。例如,Oracle
OraHome92TNSListener 承擔著監聽并接受來自客戶端應用程序的連接請求的任務。當Windows計算機重新啟動后,該服務將自動啟動。如果該服務沒有啟動,那么當你使用 Oracle企業管理器控制臺或一些圖形化的工具進行連接時,將出現錯誤信息“ORA-12541 TNS: no listener”。但對一般的連接并無影響。例如,在MS-DOS提示符中用sqlplus/ @net_service_name形式啟動SQL*Plus并進行連接時,則不會出現錯誤信息提示。一般將該服務的啟動類型設置為“自動”,這樣,當計 算機系統啟動后該服務自動啟動。也可通過手動方式啟動服務:C:\>net start OracleTNSListener。
注意 在連接上出現的問題,多數都與監聽器有關。
(3)OracleAgent
代理服務。該服務是Oracle企業管理器產品的一部分。執行作業和監視Oracle服務性能及監聽器、數據庫、Oracle HTTP
Server和Oracle應用程序等目標需要使用智能代理(Intelligent Agent)。智能代理還為Capacity
Planner和Performance Manager等收集靜態數據。Capacity Planner和Performance
Manager是用于Oracle診斷包的數據收集應用程序。一般將該服務的啟動類型設置為“自動”,這樣,當計算機系統啟動后該服務自動啟動。
如 果該代理服務沒有啟動,則在啟動OEM Console時,系統無法通過OracleAgent找到數據庫所在的節點。因此,在使用Enterprise Manager Console打開控制臺時,因無法找到數據庫所在的節點而不能顯示該數據庫。OracleAgent是否啟動也影響著數據庫的遠程連接。
在網絡中,Oracle Intelligent
Agent是一個在遠程節點上的自治進程。代理作為服務與Oracle數據庫服務器駐留在同一個節點上,并提供和完成下列功能:
·提供本地服務或調用依賴于操作系統的服務,以便與本地管理的目標節點交互。
·檢查事件,向OEM報告排隊的結果事件。
·運行Oracle Enterprise Manager作業,搜集其結果和輸出,并為結果排隊。
·處理數據集合。
·取消那些由控制臺或其他應用程序控制的作業或事件等。
(4)OracleHTTPServer
該服務使用端口號3339,為基于瀏覽器的企業管理器及資料檔案庫啟動Oracle HTTP Server。它對應于Apache Server,即Web
Server。 它也是運行iSQL*Plus所必需的中間層。可根據實際情況將該服務的啟動類型設置為“自動”或“手動”。當設置為“自動”后,Oracle HTTPServer將隨著計算機的啟動而自動啟動;否則,可通過菜單組中的“Start HTTP Server powered by Apache”來啟動Oracle HTTP Server。
(5)OracleManagementServer OMS(Oracle Management Server)服務在客戶端與所管理目標之間起著集中管理和分布式的控制作用,與代理協同工作,處理監視信息和作業信息并使用管理資料檔案庫存儲其管理數據。
久久不醉