1. Shared pool 作用
(1) 将 sql 语句解析成执行计划
(2) 对执行计划进行执行,读取数据
(3) 将读取到的数据返回给客户端
2. Shared pool 组成
① free 空间
② 库缓存,用于缓存 SQL 语句和执行计划
③ 字典缓存,存储数据库自己本身的信息,包括数据字典
3. 查询 shared pool 各部分大小
SQL> select * from v$sgastat a where a.name= ’ library cache ’ ;
SQL> select * from v$sgastat a where a.pool ='shared pool' and a.name='free memory';
SQL> select * from v$sgastat a where a.name='row cache';
4. 硬解析和软解析
在 shard pool 中,前台进程会将 SQL 语句解析成执行计划,这部分中解析方式有两种:硬解析和软解析。
( 1 )硬解析( hard parse ) : 当一条 SQL 语句进入共享池后,没有解析成执行计划的缓存,就需要进行硬解析。
( 2 )软解析( soft parse ) : 当一条 SQL 语句进入共享池后,共享池中有执行计划的缓存,就进行软解析。
SQL> select name,value from v$sysstat where name like 'parse%';
NAME VALUE
---------------------------------------------------------------- ----------
parse time cpu 1479
parse time elapsed 2524
parse count (total) 60356
parse count (hard) 6524
parse count (failures) 16
parse count (describe) 50
在这个结果中, parse count (total) 代表从数据库启动之后,发生的全部解析数目。上述中当失败解析和硬解析量比较大,说明有问题了。
------------ end -------------
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529886/viewspace-2640863/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31529886/viewspace-2640863/