加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

如何在Oracle查询中禁用PL / SQL

发布时间:2021-01-10 13:30:05 所属栏目:百科 来源:网络整理
导读:这是我想阻止在我的服务器上运行的那种查询的示例: begin While True LOOP dbms_output.put_line('tst'); END LOOP;end 此查询(或其他类似的查询)可能通过Oracle JDBC瘦驱动程序访问我的Oracle服务器.我愿意阻止此查询在JDBC配置级别,数据库服务器配置级

这是我想阻止在我的服务器上运行的那种查询的示例:

begin
  While True
  LOOP
     dbms_output.put_line('tst');
  END LOOP;
end

此查询(或其他类似的查询)可能通过Oracle JDBC瘦驱动程序访问我的Oracle服务器.我愿意阻止此查询在JDBC配置级别,数据库服务器配置级别或通过架构中的用户权限运行.我希望用户能够继续运行正常的select / insert / update / delete查询.老实说,如果没有PL / SQL类型命令可用,我会很高兴,而只是标准SQL.

更新

我还要提一下,我希望用户能够继续在SQL查询中使用标准函数.我真的不希望他们做任何看起来像程序编程的事情(并且不得不担心这些事情的陷阱,如上所示).

解决方法

您无法阻止人们针对您的服务器编写程序性PL / SQL代码.但是,根据您尝试解决的问题的确切性质,您可能还有其他选择.两个选项让人想起……

您可以与强制执行各种资源限制的数据库用户关联create a profile.因此,您可以限制单个调用可以消耗的CPU量或它可以执行的读取次数.这使您可以自动终止执行类似无限循环编码的会话.请注意,RESOURCE_LIMIT初始化参数需要设置为TRUE,以便Oracle在配置文件中强制执行资源限制.

您可以使用Oracle Resource Manager来优先访问资源,以降低开发人员的错误将占用服务器上所有可用资源并使重要生产流程匮乏的风险.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读