共有プール

1、の共有プールの組成は
三つの領域:無料、ライブラリ・キャッシュ、行キャッシュ
のV $ = a.nameのSGASTAT、「ライブラリ・キャッシュ」からSELECT *;
SELECT * Vから$ = a.pool SGASTAT、「共有プール」 = a.nameと'空きメモリ';
SELECT * Vの$ = a.nameのSGASTAT、 '行キャッシュ'から;
説明データディクショナリ

図2に示すように、ハード解析は、ソフト解析
ハード解析ステップを、解析ステップは、ソフト
メモリブロック構造の共有プール説明
二つの概念:カテナのalberghieraを、チャンク
ORA-4031は、エラーである
; X $ KSMSPからSELECT COUNT(*)
SELECT COUNT(*)DBA_OBJECTSから。
X $ KSMSPからSELECT(*)をCOUNT;
SHARED_POOLにフラッシュシステムを改変すること。

ハードとソフトの解析状況
選択名、五$ sysstatの値から名「%を解析」のような


図3に示すように、SQLは、共有変数結合
SQL文の静的部分の動的部分
CURSOR_SHARINGを

v_sql VARCHAR2(50)を宣言する。
1..10000ループにおけるiについて始める
= '(:1)挿入/ *ハロー* /テスト(ID)値に' v_sql。
私を使用して即時v_sqlを実行します。
ループを終了します。
コミット;
終わり;

SQL_TEXTのようにV $ SQLからSQL_ID、SQL_TEXT、実行を選択

4、無共有SQL文を調べるには
、カーソルがSQLを共有することはできません見つけるために、どのように
これらの文を頻繁に実行されるかどうかを確認し、SQLには、V $ SQLで実行するSQL文の数が少ないを見つけます。
V $ SQL SELECT WHERE = EXECUTIONSからSQL_FULLTEXT 'Tから%%'のような1およびSQL_TEXT;
SELECT SQL SQL_FULLTEXTのV $ = EXECUTIONSからSQL_TEXT 1つのORDER BY。

5、解析命中率
を選択合計(PINHITS)/合計五$ LIBRARYCACHEから(ピン)* 100;
選択合計(取得)、合計(GETMISSES)、100 *和(取得-GETMISSES)/五$ ROWCACHEからの和(取得)> 0の修整を受けます。

図6は、4031错误的方法解决方
1、システムフラッシュSHARED_POOLを変えます。
2、共享SQL
sharable_mem> 10000五$ DB_OBJECT_CACHEからSELECT * 3、
および(タイプ= 'PACKAGE'やタイプ= 'パッケージのBODY'またはタイプ= 'FUNCTION'またはタイプ= 'PROCEDURE')
と= 'NO'を保ちました。
执行DBMS_SHARED_POOL.KEEP( '对象名')。
DBMS_SHARED_POOL
?@ / RDBMS /管理/ dbmspool.sql
4、保留区
V $ SHARED_POOL_RESERVEDから選択REQUEST_MISSES。
5、增加共有プール空间
コンポーネントの選択、V $ SGA_DYNAMIC_COMPONENTSからCURRENT_SIZE。
表示パラメータSGA_TARGETの
表示パラメータSGA_MAX_SIZE
システム設定SHARED_POOL_SIZE = 150Mの範囲を変える=両方;

 

図7は、する実行計画を表示
テーブルから*(dbms_xplan.display_cursor( '選択 g4pkmrqrgxg3bを'));

図8に示すように、サブOracle10gの中の共有プール複数の1Gより共有プールで提供することができる可能

 


设置共有プール的には大小
SELECT
、shared_pool_size_for_estimate "SP"を
"EL"をestd_lc_size、
"ELM"をestd_lc_memory_objects、
"ELT"をestd_lc_time_saved、estd_lc_time_saved_factor "ELTS"、
estd_lc_memory_object_hits "ELMO"
五$ SHARED_POOL_ADVICE FROM;

'共有プール'成分、shared_pool_size_for_estimate estd_sp_size、estd_lc_time_saved_factor parse_time_factor、SELECT
CASEを
current_parse_time_elapsed_s + adjustment_s <0 WHEN
THEN 0
ELSEの
current_parse_time_elapsed_s + adjustment_s
ENDのRESPONSE_TIME
(FROMはshared_pool_size_for_estimate、shared_pool_size_factor、estd_lc_time_saved_factor、a.estd_lc_time_saved、e.VALUE / 100 current_parse_time_elapsed_s、Cを選択します。 estd_lc_time_saved -五$ SHARED_POOL_ADVICE FROM a.estd_lc_time_saved adjustment_s、E、(NAMEは= '時間経過を解析'は、V $ SYSSTAT SELECT * FROM)(五$ SHARED_POOL_ADVICE FROM estd_lc_time_saved選択する場所shared_pool_size_factor = 1)、C);


まず、ORA-04031エラーが発生した破片のライブラリ・キャッシュ、共有プールに予約されているスペースによって引き起こされるかどうかを判断します。提出下のクエリ:
SELECT FREE_SPACE、avg_free_size、used_space、avg_used_size、REQUEST_FAILURES、
last_failure_size
$ SHARED_POOL_RESERVEDからV;
場合:
> 0 REQUEST_FAILURESとLAST_FAILURE_SIZE> SHARED_POOL_RESERVED_MIN_ALLOC
その後、ORA-04031エラーが原因連続した領域の不足にあるため、共有プールに予約された領域です。この問題を解決するために、共有プールに予約スペースにオブジェクトの数を削減し、使用可能なメモリと共有プールに予約領域を増やすためにSHARED_POOL_RESERVED_SIZE SHARED_POOL_SIZEを増やすためにバッファSHARED_POOL_RESERVED_MIN_ALLOCを増やすことを検討してください。
もし:
REQUEST_FAILURES> 0とLAST_FAILURE_SIZE <SHARED_POOL_RESERVED_MIN_ALLOC
または
0とLAST_FAILURE_SIZE <SHARED_POOL_RESERVED_MIN_ALLOCに等しいREQUEST_FAILURES
キャッシュが連続した空間エラーORA-04031でライブラリ結果に欠落しているため、その後。
最初のステップは、共有プールに予約スペースに複数のオブジェクトを入れて、SHARED_POOL_SIZEを高めるためにSHARED_POOL_RESERVED_MIN_ALLOCを下げることを検討するべきです。


21GはMEMORY_MAX_TARGET構成の下で見て、その後、オペレーティングシステムは15Gに到達することによって使用されるメモリを表示するので、MEMORY_MAX_TARGET値と
OSのメモリ使用量が大幅にメモリを割り当てるために、従ってエラーをもたらす、合理的な調整を物理メモリの値を超えましたこの問題は解決された後。

あなたは、現在のメモリ使用量、表示するには、「自由」コマンドを使用することができます
使用され、物理メモリの合計サイズ:メモリサイズが使用されている。フリー:合計以下の意味が、ここで利用可能なメモリサイズを、共有する:複数のプロセスを共有します総メモリ、バッファ/キャッシュされた:ディスク・キャッシュのサイズ。
二行目(MEM)は/フリー3行目に使用される( - / +バッファ/キャッシュ) /使用されるメモリは、オペレーティングシステムの観点から、「Memの」占有ように、異なる角度から区別してフリーOSのために、キャッシュされたバッファは、/、使用される+アプリケーション(X、オラクル等を使用して(OS)を含むカーネルメモリの合計属する ) キャッシュ+バッファ+を使用します。「 - / +バッファ/キャッシュ」アプリケーションの観点から参照されるバッファ/キャッシュされたファイルはのパフォーマンスを改善するために読み込まれるので、ときに、アプリケーションのニーズ、アプリケーションのために、バッファ/キャッシュされたメモリは、提供されていますメモリを使用する場合、バッファ/キャッシュされたが、すぐに回復されます。

フリー(オプション)
オプション
; -bは、バイトのメモリ使用量を表示し
、KB表示メモリ使用量に:-k
MBディスプレイのメモリ使用量で; -m
-o:カラム非表示バッファを調整します;
-S <interval秒>:メモリ使用量を連続的に観察される。
-t:列は、総メモリを示す;
-V:ディスプレイバージョン情報。

CURSOR_SHARING = SIMILAR設定システムを変更します| 力;

プール=「プールを共有する」五$ SGASTATからの和(バイト)を選択します。

選択プール、合計(バイト)/ / 1024×1024のV $ SGASTATグループからプールサイドで。


五$ SGASTATから合計(バイト)/ 1024/1024メガバイトを選択する場所プール=「共有プール」;

Xの$ FROM KSMCHCLS CLASS、COUNT(KSMCHCLS)NUM、SUM(KSMCHSIZ)SIZ、TO_CHAR(((SUM(KSMCHSIZ)/ COUNT(KSMCHCLS)/ 1024))、 '999,999.00')|| 'K' "AVGサイズ"を選択KSMCHCLS BY KSMSP GROUP。

KSMCHIDX、KSMCHDUR、KSMCHCLS CLASS、COUNT(KSMCHCLS)NUM、SUM(KSMCHSIZ)SIZ、TO_CHAR(((SUM(KSMCHSIZ)/ COUNT(KSMCHCLS)/ 1024))、 '999,999.00')|| 'K'「AVGサイズを選択「1,2,3によってKSMCHCLS順序X $ KSMSP GROUP BY KSMCHIDX、KSMCHDUR、FROM;

おすすめ

転載: www.cnblogs.com/dbalightyear/p/11241873.html