对于使用 Oracle pl sql 的 http 请求,是不是有替代 utl_http 包的方法?

Posted

技术标签:

【中文标题】对于使用 Oracle pl sql 的 http 请求,是不是有替代 utl_http 包的方法?【英文标题】:Is there an alternative to utl_http package for http request using Oracle pl sql?对于使用 Oracle pl sql 的 http 请求,是否有替代 utl_http 包的方法? 【发布时间】:2017-09-14 12:10:07 【问题描述】:

我已经尝试并测试了使用 UTL_HTTP 包使用 oracle pl/sql 请求 http 但由于一些要求问题我不允许在我的工作中使用这个包,所以我正在寻找这个包在 oracle 中的替代品pl/sql 请求http。

【问题讨论】:

不使用UTL_HTTP的原因是什么? 您是否因为安全规则而试图避免 UTL_HTTP? @JonHeller ,是的,由于 DBA 的安全规则,我试图避免 UTL_HTTP 你可能用UTL_TCP 做点什么,但如果你的DBA 对UTL_HTTP 有非理性的恐惧,他们应该更害怕UTL_TCP... 【参考方案1】:

没有必要替代 UTL_HTTP,该包只是由于对安全规则的误解而无法使用。请您的 DBA 将 UTL_HTTP 上的执行权限授予公共、角色或您的帐户。

了解安全规则的来源以及何时不再适用非常重要。大多数 DBA 不知道他们的安全策略从何而来。他们中的大多数人只是从同事那里得到脚本或政策,而不是质疑它。如果您要追溯它,您组织中的某个人很可能收到了来自安全审计员的脚本。安全审计员几乎总是从国防部制作的安全技术实施指南 (STIG) 中逐字复制他们的脚本。

这意味着真正的安全策略可以在11g Oracle STIG 或12c Oracle STIG 中找到。

11g 指南的 XML 文件包含以下规则:SV-68213r1_rule,“必须从 PUBLIC 撤销受限 Oracle 软件包的执行权限。”该规则建议执行此命令:

revoke execute on UTL_HTTP from PUBLIC;

但指南明确表示可以将执行权限授予特定用户。规则只是撤销 PUBLIC 的授权,而不是阻止每个人使用该包。而这条规则甚至在 12c 中都不存在。

【讨论】:

以上是关于对于使用 Oracle pl sql 的 http 请求,是不是有替代 utl_http 包的方法?的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL Oracle 正则表达式对于零的出现不起作用

使用 Oracle 的块过程 PL/SQL

免安装Oracle客户端使用PL/SQL

PL/SQL重点难点

pl sql连接oracle设置

PL/SQL Developer 登录 Oracle 12c(转)