• 把存储过程内嵌到内存中,提供运行效率(转帖)


    建一个触发器,当数据库启动后,触发dbms_shared_pool.keep()的执行

    创建该存储过程

    SQL>@...\dbmspool.sql

    查看该包是否创建

    SQL>desc dbms_shared_pool

      创建触发器

     SQL>conn hr/hr;

    SQL>CREATE OR REPLACE TRIGGER "HR".HR_START_TR AFTER
        STARTUP ON DATABASE

        begin
        sys.DBMS_SHARED_POOL.KEEP('HR.ADD_JOB_HISTORY');
        end;

    授权给HR

    grant  execute on dbms_shared_pool to HR;

     

    在关闭数据库之前验证内存中是否有add_job_history

    select owner,name,type from v$db_object_cache

    where owner='HR' and type='PROCEDURE';

     

    重启数据库 再次查看下内存中是否有该存储过程

    select owner,name,type from v$db_object_cache

    where owner='HR' and type='PROCEDURE';

  • 相关阅读:
    面试问题记录-C++
    面试问题记录-网络
    二叉树
    75. Sort Colors 荷兰国旗问题
    桶排序
    数据结构-堆
    快速排序
    第六章 数据库原理
    第五章 Java Web
    第四章 java基础知识
  • 原文地址:https://www.cnblogs.com/honliv/p/1995110.html
Copyright © 2020-2023  润新知