概述
Oracle 数据库的外部存储过程特性提供了在 C 语言(或能通过 C 调用的其他语言)中实现代码逻辑然后在数据库中通过 PLSQL 运行的功能。
怎样来做?
首先,C 代码需要编译,然后需要从它创建共享库文件(.so)或动态链接库(DLL)(在使用 Windows 的情况下)。需要在数据库中创建一个 library 对象才能从 PLSQL 代码引用这个共享库文件或 DLL。该 Library 需要通过调用规范发布,使用特殊语法,例如 CREATE OR REPLACE 语句的 IS|AS LANGUAGE 子句。换言之,这只是一个 PLSQL 封装器(也称为外部过程)单元,它告诉什么库需要被调用和库中的哪个函数需要运行。
Oracle 数据库提供了一个"extproc"代理,来帮助 Oracle 和共享库之间的通信。这个代理装载 library,传递任何(如果有的话)参数到这个 library,运行它并且返回结果到调用会话。
extproc 代理如何配置?
有几个方法可以配置 extproc 代理。
使用默认配置,Oracle 数据库每当调用一个外部存储过程时创建一个代理。
编辑 listener.ora 和 tnsnames.ora 来创建一个监听配置覆盖掉默认的配置。在这种情况下,extproc 在每次调用外部存储过程时由 listener 创建。
当使用多线程 extproc agent 或使用 AGENT IN 语句来定义 library 时,必须使用 listener 创建的代理。Oracle 数据库和 listener 创建的代理都是独立的代理。换言之,Oracle 数据库和 listener 创建的都是独立的代理,如果外部存储过程使用得很多,就会影响性能。这可以通过配置多线程代理来解决(MTA)。
MTA 模式
在 MTA 模式中,可以指定在任何给定时间点运行的 extproc 代理的***数量。 请求由多线程代理根据负载来进行提取和服务。MTA可以使用"agtctl"工具来配置。
常用的服务器推送方式,大致分为四种。 1.短轮询:在客户端,定时的去请求服务器...
美国vip服务器多少钱一个月?通常来说在租用服务器时,服务商提供的付款方式一般...
小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程...
在当今相互连接的世界中,消费者正在以新的方式使用和采用新兴的数字技术。 他们...
在租用高防服务器时,选择哪家租用商是十分重要的。如果没有选好租用商,可能会...
随着越来越多的企业开始在网上拓展企业业务,所以网站的需求量越来越多,在网站...
越南百兆服务器怎么样?要想明白这个问题首先要搞清楚越南百兆服务商的基本情况...
如今,人工智能产业风发泉涌,随着机器学习带来算法训练的大规模应用,快速安全...
由于国内服务器需要繁琐的备案手续,因而很多中小型企业的站长都喜欢采用免备案...
大流行愈发加速了IT部门改善数字客户体验的需求。IT领导者渐渐开始向人工智能求...