一、shared pool的組成
3塊區域:free、library cache、row cache
select * from v$sgastat a where a.name='library cache';
select * from v$sgastat a where a.pool='shared pool' and a.name='free memory';
select * from v$sgastat a where a.name='row cache';
二、硬解析、軟解析
硬解析步驟、軟解析步驟
講解shared pool記憶體塊組成結構
ora-4031錯誤
select count(*) from x$ksmsp;
select count(*) from dba_objects;
select count(*) from x$ksmsp;
alter system flush shared_pool;
軟硬解析的具體情況
select name,value from v$sysstat where name like 'parse%'
三、sql共享,繫結變數
sql語句組成,動態部分、靜態部分
cursor_sharing
delare
vl varchar2(10);
nl int;
begin
nl:=1;
select salary into vl from test where id=n1;
end;
select sql_id,sql_text,executions from v$sql where sql_text like
四、找出沒有共享的sql語句
如何找出不能共享cursor的sql
在v$sql查詢執行次數較小的sql語句,觀察這些sql語句是否是經常執行的。
select sql_fulltext from v$sql where exections=1 and sql_text like '%from t%';
select sql_fulltext from v$sql where exections=1 order by sql_text;
五、解析命中率
select sum(pinhits)/sum(pins)*100 from v$librarycache;
select sum(gets),sum(getmisses),100*sum(gets-getmisses)/sum(gets) from v$rowcache where gets>0;
六、解決4031錯誤的辦法
1、alter system flush shared_pool;
2、共享sql
3、select * from v$db_object_cache where sharable_mem > 10000
and (type = 'package' or type='package body' or type = 'function' or type = 'procedure')
and kept = 'no';
執行dbms_shared_pool.keep('物件名');
dbms_shared_pool
@?/rdbms/admin/dbmspool.sql
4、保留區
select request_misses from v$shared_pool_reserved;
5、增加shared pool空間
select component.current_size from v$sga_dynamic_components;
show parameter sga_target;
show parameter sga_max_target;
alter system set shared_pool_size=150m scope=both;
七、檢視執行計畫
select * from table(dbms_xplan.display_cursor('07hpk6hpb7pp8'));
SQL基礎語句解析
sql structuredquerylanguage 語句又叫結構化查詢語言,適用於關係型據庫比如mysql,oracle,sqlserver等資料庫.ddl 資料定義語言 用於運算元據庫和表 dml 資料操作語言 用於操作表中的記錄 dql 資料查詢語言 用於查詢表中的記錄 dcl 資料控制語言...
ibatis 繫結變數 sql硬軟解析
關於避免sql的硬解析 1.ibatis中,所有的 都是繫結變數,所有的 都不算繫結變數,所以盡量避免使用 但是對於in,中傳入的值,不被看成乙個整體,此在in條件中可以順利使用只是不是繫結變數如 1 2 3 4這種語句 如果in的值是 傳入的,則in查不到任何資料因為 裡面的東西被看成乙個整體。2...
SQL 語句的解析過程
由於最近需要做一些 sql query 效能提公升的研究,因此研究了一下 sql語句的解決過程。在園子裡看了下,大家寫了很多相關的文章,大家的側重點各有不同。本文是我在看了各種資料後收集總結的,會詳細的,一步一步的講述乙個 sql 一 sql語句的解析順序 簡單的說乙個 sql語句是按照如下的順序解...