Procedure created.
c.创建Procedure(proc_pkgs_keep)用来保存调用dbms_shared_pool包的结果(注:如果没有dbms_shared_pool包,可以用dbmspool.sql脚本生成)
SQL> CREATE OR REPLACE PROCEDURE sys.proc_pkgs_keep AS
2 own varchar2(64);
3 nam varchar2(100);
4 cursor pkgs is
5 select owner ,name
6 from sys.list_tab;
7 BEGIN
8 open pkgs;
9 loop
10 fetch pkgs into own, nam;
11 exit when pkgs%notfound;
12 SYS.dbms_shared_pool.keep(’’|| own || ’.’ || nam || ’’);
13 end loop;
14 sys.dbms_shared_pool.keep(’SYS.STANDARD’);
15 sys.dbms_shared_pool.keep(’SYS.DIUTIL’);
16 END;
17 /
Procedure created.
2.编译、测试Procedure
SQL> execute sys.proc_pkgs_list;
PL/SQL procedure successfully completed.
SQL> execute sys.proc_pkgs_keep;
PL/SQL procedure successfully completed.
3.创建Triger
a. 在Instance shutdown之前的triger