为监听程序配置外部过程
外部过程是从另一个程序调用的、用不同语言编写的过程。PL/SQL 程序为执行特殊处理而调用一个或多个所需的 C 语言例行程序,便是这样的示例。
可以配置监听程序来监听外部过程的调用情况。当应用程序调用外部过程时,监听程序启动默认情况下名为 extproc 的外部过程代理。应用程序使用由监听程序建立的网络连接,向该代理传递以下信息:
-
DLL 或共享库名称
-
外部过程名
-
任意参数
接下来,该代理将加载 DLL 和运行外部过程,并将外部过程返回的任何值传回应用程序。
代理可以驻留在数据库服务器所在的同一计算机上,也可以驻留在监听程序所在的远程计算机上。
对于连接到外部过程的 Oracle 数据库而言,请使用协议地址和外部过程服务信息配置 listener.ora 文件。
注:在安装 Oracle9i 或 Oracle8i 期间,Oracle Net Configuration Assistant 将在 listener.ora 文件中配置此信息。
要配置监听程序来监听外部过程的调用情况,请执行以下操作:
-
创建一个专门用于处理外部过程的监听程序:
-
a. 在导航器窗格中,展开 Oracle 网络配置 > 本地 > 监听程序。
b. 在工具栏中选择加号 (+) 或选择编辑 > 创建。此时将显示“选择监听程序名”对话框。
c. 在监听程序名字段中输入唯一的监听程序名。
d. 选择确定。
-
如果代理驻留在数据库服务器上,请在 listener.ora 文件中配置 TCP/IP 或 IPC 协议地址。如果外部过程代理驻留在远程计算机上,请在 listener.ora 文件中配置 TCP/IP 协议地址。以下过程描述了如何为默认外部过程代理 extproc 创建 IPC 地址:
-
a. 选择刚创建的监听程序。
b. 从右侧窗格的列表中选择监听位置。
c. 选择添加地址。此时将显示新的地址选项卡。
d. 从协议列表中选择 IPC,然后为密钥输入值。
-
在 listener.ora 文件中添加有关 extproc 的服务信息
-
a. 从右侧窗格的列表中,选择其他服务。
b. 选择添加服务。此时将显示新的服务选项卡。
c. 在程序名字段中输入 extproc,在此字段中输入例如 extproc 这样的系统标识符,并在 Oracle 主目录字段中输入 extproc 可执行文件所在的 Oracle 主目录。如果应用程序要求在启动代理之前先设置环境变量,则在环境字段中输入值。例如,如果应用程序要求将环境变量 MYAPPDIR 用于二进制位置,并将 APPID 用于 ID,则可以在环境字段中输入以下值:
'MYAPPDIR=/myappdir/bin','APPID=MYAPP'
-
如果配置了 TCP/IP 协议地址,请指定允许访问的远程客户机:
-
a. 在导航器窗格中,展开本地 > 概要文件。
b. 从右侧窗格的列表中,选择一般信息。
c. 选择访问权限选项卡。
d. 选择检查 TCP/IP 客户机访问权限选项。
e. 在允许访问的客户机字段中,输入希望包含或排除的客户机的主机名或 IP 地址,放置在同一行上的条目之间用逗号分隔。
-
在数据库服务器的 tnsnames.ora 文件中创建网络服务名,确保其连接描述符与 listener.ora 文件中配置的信息相匹配,如为外部过程配置连接描述符中所述。
- 选择文件 > 保存网络配置。
相关主题
版权所有 © 1996,2009,Oracle 和/或其子公司。保留所有权利。
Oracle 是 Oracle Corporation 和/或其子公司的注册商标。
其他名称可能是其各自所有者的商标。