How to depoly the environment of C External Oracle Procdure on Oracle Server?
1. Deploy
There are two files need to focus on: at ORACLE_HOME\network\admin\Listener.ora and tnsnames.ora
The Listener.ora must be like this:
#====================Begin=========================
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.27)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(HOST = 192.168.16.27)(KEY = EXTPROC))#Map to the ADDRESS in tnsnames.ora
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)#Map to the SID in tnsnames.ora
(ORACLE_HOME = E:\oracle\ora90)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = lbs)
(ORACLE_HOME = E:\oracle\ora90)
(SID_NAME = lbs)
)
)
#===================End============================
And the tnsnames.ora must be like this:
#===================Begin===========================
EXTPROC_CONNECTION_DATA.CASWSOFT.CASW.COM =
(DESCRIPTION =
(ADDRESS_LIST = #Map to the ADDRESS_LIST in the Listener.ora
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) #Must match the KEY of ADDRESS_LIST in the Listener.ora
)
(CONNECT_DATA = (SID = PLSExtProc)(PRESENTATION = RO))#SID must equals to the SID_NAME in the Listener.ora
)
#===================End==============================
2. Validate
a. Validate the program of External Procedure
Execute ORACLE_HOME\bin\extproc.exe, if display those information
#==================================
Oracle Corporation --- 星期三 11月 03 2004 21:02:58.931
Heterogeneous Agent Release 9.0.1.1.1
#======================================
,it is OK!
b. Validate the database environment
Compare the Listener.ora and tnsnames.ora file strictly following to the sample listed on the head of this file.
c. Validate the Listener
Confirm the Listener.ora file is correct firstly.
Then with command: tnspint extproc_connect_data.DEFAULT_DOMAIN(in this case is extproc_connect_data.caswsoft.casw.com), if the tip information is:
#================================================
已使用的参数文件:
E:\oracle\ora90\network\ADMIN qlnet.ora
E:\oracle\ora90\network\ADMIN\tnsnames.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)
(KEY = EXTPROC))) (CONNECT_DATA = (SID = PLSExtProc)(PRESENTATION = RO)))
OK(20毫秒)
#==========