清除共享池(Shared Pool) 共享池主要用于存储SQL和PL/SQL代码以及数据字典缓存。要清除共享池,可以使用以下SQL命令: sql ALTER SYSTEM FLUSH SHARED_POOL; 这个命令会强制清空共享池,从而释放其中存储的所有SQL和PL/SQL代码以及数据字典缓存。 清除数据缓冲区缓存(Buffer Cache) 数据缓冲区缓存用于存储从数据文件中...
1、alter system flush shared_pool; 这条命令是清除Shared Pool里缓存的所有数据,自然可以删除想要删除的SQL对就的执行计划,但负作用是它把Shared Pool里的所有数据都清除了,影响太大。生产系统一定要谨慎使用这个命令。 执行两个查询,并查看在Shared Pool里的缓存 zx@MYDB>selectobject_namefroms1whereobject_id=2...
(1)alter system flush shared_pool; (2)共享sql (3)dbms_shared_pool.keep('大的对象名'); (4)保留区(在shared pool中单独划分出一个空间来,只用来放大对象) 把保留区设置的足够大,可减少很多4031的错误。 1 selectrequest_missesfromv$shared_pool_reserved; 查询结果应该是0.如果大于0,要调整shared_pool...
第一种:治标不治本 altersystem flush shared_pool; 这种方法可以立即有效果,但是不是根本的解决办法,一小时左右又开始报上面的错误了,再次执行就可以了。 第二种:治标又治本 查看: SHOW PARAMETERS SHARED_POOL_SIZE 更改: altersystemsetSHARED_POOL_SIZE='50M'SCOPE=both; 上面这句话必须在sys用户下或是用db...
alter system flush shared_pool; (慎用flush命令,之后会产生大量的硬解析,能解决4031错误,但治标不治本。) Q:如何减少硬解析? A:共享sql,让sql完全相同。统一书写风格;使用绑定变量。 sql=>ASCII码值=>hash值=>运算=>挂哪个链上。 --使用绑定变量使得sql共享 ...
SQL> alter system flush shared_pool; 系统已更改。 启动会话级的 SQL追踪功能。 SQL> alter session set sql_trace=true; 会话已更改。 执行 SQL查询语句并通过 TKPROF解释该追踪文件。例子 26-51 执行 SQL查询语句 SQL> select ename,sal,mgr from scott.emp where sal>4000; ENAME SAL MGR KING 5000 ...
图5-2 shared pool逻辑结构 从上图中可以看到,当SQL语句(比如select object_id,object_name from sharedpool_test)进入library cache时,Oracle会到dictionary cache中去找与sharedpool_test表有关的数据字典信息,比如表名、表的列等,以及用户权限等信息。如果发现dictionary cache中没有这些信息,则会将system表空间里...
altersystem flush shared_pool; 1. (慎用flush命令,之后会产生大量的硬解析,能解决4031错误,但治标不治本。) Q:如何减少硬解析? A:共享sql,让sql完全相同。统一书写风格;使用绑定变量。 sql=>ASCII码值=>hash值=>运算=>挂哪个链上。 --使用绑定变量使得sql共享 ...
alter system flush shared_pool ; EOS 执行很简单, 但是如果高并发情况下, 重新生成统计信息可能会导致CPU瞬间升高. 当然了如果服务器CPU够猛可以不考虑, 如果是那种跟自己工龄还长的服务器CPU, 不建议挑战物理规律. 第三个: 使用工具逐个清理 可能存在一些异常情况, 并且需要dba的权限,不是非常建议采用此类方式...
SQL>altersystem flush shared_pool; System altered. SQL>setlinesize 1200; SQL>select*fromscott.deptwheredeptno=40; DEPTNO DNAME LOC --- --- --- 40 OPERATIONS BOSTON SQL>selectsql_id, first_load_time 2fromv$sql 3wheresql_textlike'select * from...