甲骨文怎么固定对象到共享池

介绍

本篇内容主要讲解“甲骨文怎么固定对象到共享池”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“甲骨文怎么固定对象到共享池”吧!

,,,, PL/SQL一般来说很大,将这样的对象装载到共享池中,需要去寻找大段的连续内存空间,如果连续装载的话,那么必然会将很多热点内存年龄从出共享池。这样一来势必会影响数据库性能。

所以将常用的PL/SQL或SQL游者标固定到共享池中,可以解决上述问题。包括可能出现的ora - 04031报的错。

1。固定PL/SQL到共享池

SYS@cdbtest1祝辞(明);exec sys.dbms_shared_pool.keep (& # 39; ming.p_hello& # 39;, & # 39; p # 39;);

PL/SQL过程成功完成。

可以通过下述sql的保留字段查看是否固定到共享池中。

SELECT * FROM v $ db_object_cache所有者=& # 39;明# 39;以及类型=& # 39;程序# 39;;

解决固定的方法:

SYS@cdbtest1祝辞(明);exec sys.dbms_shared_pool.unkeep (& # 39; ming.p_hello& # 39;, & # 39; p # 39;);

PL/SQL过程成功完成。

2。固定SQL游标到共享池的方法

对于固定SQL游标,需要明白如下:

。固定游标需要得到游标的地址和hash_value

b。对于一个父游标下面的多个子游标,它们的地址和hash_value都是一样的

MING@ming祝辞(明);变量p数量;

MING@ming祝辞(明);执行:p:=10;

PL/SQL过程成功完成。

MING@ming祝辞(明);选择/* test2 */count (*),从t1 a<: p;

,COUNT (*)

- - - - - - - - - - -

,,,,36

MING@ming祝辞(明);设置行100

MING@ming祝辞(明);从v $ sql选择sql_id sql_text sql_text像& # 39;% test2%& # 39;;

SQL_ID ,,,SQL_TEXT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

1 anf7skpasz1a选择/* test2 */count (*),从t1 a<: p

5 ybns6qudvgcm选择sql_id sql_text从v $ sql sql_text像& # 39;% test2%& # 39;

MING@ming祝辞(明);选择sql_id,地址、hash_value version_count从v $ sqlarea sql_id=& # 39; 1 anf7skpasz1a& # 39;;

SQL_ID ,,,ADDRESS ,,,,HASH_VALUE VERSION_COUNT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

1 anf7skpasz1a 000000007267 da48 2863430698,,,,,,,1

固定游标

exec sys.dbms_shared_pool.keep (& # 39; 000000007267 da48, 000000007267 & # 39;, & # 39; c # 39;);

解除游标固定

exec sys.dbms_shared_pool.unkeep (& # 39; 000000007267 da48, 000000007267 & # 39;, & # 39; c # 39;);

到此,相信大家对“甲骨文怎么固定对象到共享池”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

甲骨文怎么固定对象到共享池