日期:2013-12-24  浏览次数:20624 次


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毫秒)
        #==========