管理外部程序的流程

本部分包含:

  • 关于外部程序
  • DBA任务来启用外部过程调用

关于外部程序


外部程序是用C,C ++,Java或其他语言编写的程序,编译并存储在数据库之外,然后由用户会话调用。例如,PL / SQL程序单元可以调用执行特殊用途处理所需的一个或多个C例程。

这些可调用的例程存储在动态链接库(DLL)中,或者在Java类方法的情况下存储在libunit中,并且使用基本语言进行注册。 Oracle数据库提供了一个特殊用途界面,即调用规范(调用规范),使用户可以用其他语言调用外部过程。

当用户会话调用外部过程时,数据库会启动数据库主机上的外部过程代理。代理的默认名称是extproc。每个会话都有自己的专用代理。当会话终止时,数据库终止其代理。

用户应用程序将外部过程代理传递给DLL或libunit的名称,外部过程的名称以及任何相关参数。然后,外部过程代理加载DLL或libunit,运行外部过程,并将外部过程返回的任何值传回应用程序。

Oracle数据库高级应用程序开发人员指南“中有关外部过程的信息

 

DBA任务来启用外部过程调用


启用外部过程调用可能涉及以下DBA任务:

  • 配置侦听器以启动extproc代理
    默认情况下,数据库启动extproc进程。在以下情况下,您必须更改此默认配置,以便侦听器启动extproc进程:
    。你想使用多线程的extproc代理
    。数据库在Windows上以共享服务器模式运行
    。LIBRARY规范中的AGENT子句或PROCEDURE或FUNCTION规范中的AGENT IN子句将外部过程重定向到不同的extproc代理
    有关更改默认配置的说明,请参见“Oracle数据库高级应用程序开发人员指南”的“使用多种编程语言开发应用程序”一章中标题为“设置环境”的小节。
  • 管理库或授予与管理库有关的特权
    数据库要求通过名为库的模式对象访问DLL。出于安全目的,默认情况下,只有具有DBA角色的用户才能创建和管理库。因此,您可能会被要求:
    。使用CREATE LIBRARY语句来创建开发人员需要的库对象。
    。将以下权限授予开发人员:CREATE LIBRARY,CREATE ANY LIBRARY,ALTER ANTER LIBRARY,EXECUTE ANY LIBRARY,and EXECUTE ON library_name。
    只能将这些特权明确授予受信任的用户,而不能授予PUBLIC角色。如果您打算创建PL / SQL接口到库,那么只需授予PL / SQL接口的EXECUTE特权。不要在底层库上授予EXECUTE。您必须具有库的EXECUTE对象特权才能创建PL / SQL接口。但是,用户在他们自己的模式中自动拥有此权限。很少需要显式授予库上的EXECUTE对象权限。

 Oracle数据库PL / SQL语言参考了解有关CREATE LIBRARY语句的信息

 

参考资料


https://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN00501

转载于:https://www.cnblogs.com/ZeroTiny/p/9046304.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssh登陆慢/xhell访问主机慢

用ssh连其他linux机器,会等待10-30秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: DNS反向解析的问题 OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向…

围观神龙架构首次开箱,现场直播暴力拆机

围观神龙架构首次开箱,现场直播暴力拆机 发布时间:2018-05-16 13:43:01686人关注34人参与阿里云X-Dragon大事记2017年4月:阿里云X-Dragon项目立项;2017年10月:阿里云正式推出基于X-Dragon架构的弹性裸金属服务器&#…

windows-server-2012R2离线中文语言包安装

1、离线包下载地址http://download.csdn.net/detail/github_38358734/9858412 2、安装方法: 解压离线包 Dism /online /Add-Package /PackagePath:C:\test\LangPacks\lp.cab 大概10分钟,完成。 然后重启电脑,到控制面板语言区域选项&…

文字闪烁效果

效果图&#xff1a; HTML Code: <a class"blink" href"#" target"_blank"> 扁平化设计看上去非常简单、直观扁平化设计看上去非常简单、直去非化设计看上去非常简单、直观扁平化设计看上去非常简单、直观扁平常简单</a> JQuery Code…

SVN数据代码迁移Windows2012ServerR2

场景描述&#xff1a;服务器迁移&#xff0c;需要把SVN服务从主机A迁移到主机B 环境&#xff1a;两台服务器都是windows-server-2012R2 目录&#xff1a;A、B目录及结构相同 SVN-Server_Home: C:\Program Files\VisualSVN Server\bin Repositories_HOME:D:\Repositories 第一…

程序员怎样锻炼编程思维(学习方法)

1.明确学习目的 学习编程对大多数IT业人员来说都是非常有用的。学编程&#xff0c;做一名编程人员&#xff0c;从个人角度讲&#xff0c;可以解决在软件使用中所遇到的问题&#xff0c;改进现有软件&#xff0c;可以为自己找到一份理想的工作添加重要得砝码&#xff0c;有利于在…

vi或vim查找替换

1、查找 命令模式下 输入 向下查找 :/ 向上查找 :? 比如要查找带有DNS的 :/DNS 回车即可。 2、替换 &#xff1a;s/vivian/sky/ 替换当前行第一个 vivian 为 sky &#xff1a;s/vivian/sky/g 替换当前行所有 vivian 为 sky &#xff1a;n&#xff0c;$s/vivian/…

BZOJ 3295: [Cqoi2011]动态逆序对 cdq分治

https://www.lydsy.com/JudgeOnline/problem.php?id3295 这个妹妹我曾见过的~~~ 之前应该在校内oj写了&#xff0c;似乎还写过题解&#xff1f;发现没写博客就重新水一遍代码水一篇博客好了。 把找逆序对的过程想成一个一个往里塞数字然后找每个数字可以组成的逆序对&#xff…

mysql连接超时timeout问题

mysql默认连接超时时间为8小时&#xff0c;需要设置长一些 第一种方式直接改my.cnfvi /etc/my.cnf[mysqld] wait_timeout31536000 interactive_timeout31536000 需要重启mysql service mysqld restart 第二种方式&#xff0c;更改变量&#xff0c;不需重启mysqlmsyql> s…

windows server 2012 R2 standard 评估版过期重启

安装的windows server 2012 standard eval评估版&#xff0c;安装完成后有10天的激活时间&#xff0c;过期后&#xff0c;每隔一个小时自动关机。 解决方法&#xff1a;将评估版转成正式版后&#xff0c;再通过KMS激活。 将评估版转成standard正式版的方法&#xff1a; &…

p1、查询端口号占用,根据端口查看进程信息/p

2017年6月份的时候&#xff0c;我就着手在公司推广git&#xff0c;首先我自己尝试搭建了GitLab来管理代码&#xff0c;并且通过以下博客记录了GitLab的搭建&#xff0c;以及GitLab备份&#xff0c;GitLab升级等事情。 git学习——>在CenterOS系统上安装GitLab并自定义域名访…

删除注册表报错“无法删除所有指定的值”

更改文件的所以者及权限。 如删除RCM 右键“权限”—》“高级”—-》更改所有者&#xff0c;权限改为完全控制即可。

Mac本如何卸载MySQL

Mac本如何卸载MySQL 在Mac上卸载MySQL上一件非常麻烦的事&#xff0c;如果没有卸载干净&#xff0c;就会无法安装新的MySQL   怎样才能完全卸载MySQL呢&#xff1f;(包括所有数据库) 执行以下操作: #打开终端窗口 #使用mysqldump备份你的数据库 #停止数据库服务器 sudo rm…

从FTP拷贝文件报错无法从指定的位置下载

报错是因为IE安全选项设置禁用了文件下载

设计模式原则之里氏替换原则

转载自&#xff1a;https://mp.weixin.qq.com/s/Uq4g53cQ7YKAXP8TuRV2Gw 定义&#xff1a; 1&#xff1a;如果对每一个类型为 T1的对象 o1&#xff0c;都有类型为 T2 的对象o2&#xff0c;使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时&#xff0c;程序 P 的行为…

PXF webapp is inaccessible but tomcat is up

生产环境新增几个节点&#xff0c;安装pxf后&#xff0c;启动时报错 stderr: Traceback (most recent call last):File "/var/lib/ambari-agent/cache/common-services/PXF/3.0.0/package/scripts/pxf.py", line 120, in <module>Pxf().execute()File "…

point-position2修改版

说明&#xff1a; 在共面直线测试中&#xff0c;由于计算误差等原因&#xff0c;共面条件判断不准&#xff0c;但计算结果依然正确。 // point-position2.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include <stdio.h> #include <iostream&g…

Ambari安装client报错OSError:[Error 17] File exists

Ambari为集群新增扩容过程中&#xff0c;有一个节点安装多个client报错 Traceback (most recent call last):File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/after-INSTALL/scripts/hook.py", line 37, in <module>AfterInstallHook().execute()F…

Linux学习总结(十六)系统用户及用户组管理

先来认识两个文件/etc/passwd/etc/shadow我们打印出首尾三行&#xff0c;来了解下&#xff1a;每行由&#xff1a;分割为7段&#xff0c;每段含义为&#xff1a;第一段&#xff1a;用户名&#xff0c;比如root 用户&#xff0c;普通用户test,lv,test1第二段&#xff1a;早期存放…

linux修改hostname

1、临时修改&#xff0c;重启失效 hostname yourhostname 2、永久生效 2.1 vi /etc/sysconfig/network change HOSTNAME to yourhostname2.2 vi /proc/sys/kernel/hostnamechange to your hostnam