zoukankan      html  css  js  c++  java
  • OCP-1Z0-052-V8.02-59题

    59. In your database, the current status of a PL/SQL procedure has become INVALID. Which action

    would fix the problem and make the PL/SQL procedure usable?

    A.Recompile the PL/SQL procedure. 

    B.Modify the procedure to run with a definer's right.

    C.Modify the procedure to run with an invoker's right.

    D.Grant the EXECUTE privilege on the PL/SQL procedure to PUBLIC.

    Answer: A  

    答案解析:

    参考:http://blog.csdn.net/rlhua/article/details/12561191

    即PL/SQL procedure 变成无效时,可以自动或手动重新编译,就可以再次被使用。

     无效PL/SQL 对象:可通过查询数据字典来查看PL/SQL 对象的当前状态。可使用以下命令行查找到无效PL/SQL 对象:

    SELECT object_name, object_type FROM DBA_OBJECTS WHERE status = 'INVALID';
    默认情况下,每24 小时会检查一次“所有者的无效对象计数”度量。如果单个所有者的对象数超过两个,就会发出预警。
    如果查找到INVALID状态的PL/SQL 对象,需要回答的第一个问题是“此对象曾经是VALID的吗?”应用程序开发人员常常会忘记清除不起作用的代码。如果PL/SQL 对象因代码错误而无效,则除了纠正代码错误之外,没有什么别的方法。如果该过程在过去曾经有效,最近才变为无效,则可选择以下两种方法解决这个问题:
    • 不做任何处理。如果需要,大多数PL/SQL 对象在被调用时会自动重新编译。用户在对象重新编译时会经历短暂的延迟。(大多数情况下,这种延迟不十分明显。)
    • 手动重新编译无效对象
    使用Enterprise Manager 或通过SQL 命令可手动重新编译无效的PL/SQL 对象:
    ALTER PROCEDURE HR.add_job_history COMPILE;
    手动重新编译PL/SQL 数据包,需要执行以下两个步骤:
    ALTER PACKAGE HR.maintainemp COMPILE;
    ALTER PACKAGE HR.maintainemp COMPILE BODY;

  • 相关阅读:
    第9章 使用ssh服务管理远程主机。
    Linux下的网络管理工具—OpenNMS
    第8章 Iptables与Firewalld防火墙
    Linux下更好用的帮助命令—cheat
    第7章 使用RAID与LVM磁盘阵列技术
    收藏的博客
    linux下vi编辑器常用命令
    搜索引擎高级使用技巧
    七牛云配置二级域名
    软考-系统架构师备考知识(一)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13316998.html
Copyright © 2011-2022 走看看