首页 > 基础设施 > 正文

在 Oracle 中如何配置和运行外部存储过程

双色球中奖规则 www.9q9w.com.cn 2018-06-20 10:06:31  来源:搜狐

摘要:Oracle 数据库的外部存储过程特性提供了在 C 语言(或能通过 C 调用的其他语言)中实现代码逻辑然后在数据库中通过 PLSQL 运行的功能。
关键词: Oracle
  概述
 
  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"工具来配置。


第二十八届CIO班招生
法国布雷斯特商学院MBA班招生
法国布雷斯特商学院硕士班招生
责编:pingxiaoli
  • 韩国提东亚四国联合申办世界杯,中国足协:并无计划 2019-04-24
  • 赵建平当选晋中市人民政府市长 2019-04-22
  • 美容养颜 别忘了桃胶皂角米雪耳羹 2019-04-22
  • 周迅高圣远婚礼全记录 夫妻频拥吻恩爱爆棚 2019-04-19
  • 城区加大扬尘污染治理力度 所有施工现场必须安装视频监控 2019-04-17
  • “沙雕世界杯”作品亮相舟山 2019-04-17
  • 首页 春城壹网 七彩云南 一网天下 2019-04-15
  • 热心球迷!陈奕迅吴秀波惊现世界杯开幕式现场 2019-04-15
  • 经营者要想“我心换你心”,就要未雨绸缪,让不诚信的诱惑少一点,如此才能在市场中生存下来。反过来说,承担不起亏损就关门歇业,是否也是一种不诚信呢? 2019-04-09
  • 网友给太原市市长留言获回复 共计11条 2019-04-08
  • 石林旅行地中国国家地理网 2019-04-05
  • 为了民族复兴·英雄烈士谱 2019-04-05
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-01
  • 探秘“通天洞”  看四万年前人类的洞穴家园 2019-03-18
  • 盛世嘉园半夜狗叫声扰民哪个部门可以管 2019-03-18
  • 990| 734| 296| 595| 148| 208| 759| 838| 147| 109|