SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

Security Online Day 2022

2022年9月16日(金)10:00~17:10

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

使ってナットク!Oracle Database 11g最新機能

復習しておこう!Oracle Database 10gからの変更点

#7


第6回目である前回は、Oracle Database 11g Release 2へのアップグレード後に行う作業について解説しました。第7回目となる今回は、前バージョンであるOracle Database 10gからの変更点について解説します。

10gのこんな変更点、ご存じですか?

さて、アップグレード作業が完了したので早速Oracle Database 11gの新機能を解説したいところですが、まずは前バージョンであるOracle Database 10gでの重要な変更点について復習しておきたいと思います。数ある10gからの変更点の中から、今回はちょっと地味であまり知られていない(?)次の3点について解説します。

  1. 共有プールの計算方法
  2. ハッシュ・アルゴリズムによるグルーピング処理
  3. スリムになったCONNECTロール

共有プールの計算方法

Oracle Database 10g Release 1から、共有プールの計算方法が変更されました。10g Release 1より前のリリースでは、割り当てられる共有プール・メモリーの量は以下のように算出されます。

【割り当てられる共有プール・メモリーの量】 =
【SHARED_POOL_SIZE初期化パラメータの値】 +
【インスタンス起動時に計算された内部SGAオーバーヘッドの量】

『内部SGAオーバーヘッド』とは、他の複数の初期化パラメータの値に基づいて起動時にOracle Databaseによって割り当てられるメモリーです。

このメモリーは、SGAのさまざまなサーバー・コンポーネントの状態を維持するために使用されます。たとえば、SHARED_POOL_SIZEパラメータが64MBに設定されていて、算出された内部SGAオーバーヘッドの値が12MBである場合、共有プールの実際のサイズは64+12=76MBですが、SHARED_POOL_SIZEパラメータの値は64MBと表示されます。

10g Release 1以降のリリースでは、内部SGAオーバーヘッドのサイズは、ユーザーが指定するSHARED_POOL_SIZEの値に含まれます。つまり、起動時に割り当てられる共有プール・メモリーの量は、SHARED_POOL_SIZE初期化パラメータの値と等しくなります。

したがって、このパラメータには、必要な共有プール・サイズに内部SGAオーバーヘッドを加えた値を設定しなければなりません。前述の例の場合、起動時にSHARED_POOL_SIZEパラメータの値が64MBに設定されているとすると、内部SGAオーバーヘッドの値が変わっていなければ、起動後に使用可能な共有プールの値は64-12=52MBになります。起動後に共有プール・メモリーとして有効な値を64MB維持するには、SHARED_POOL_SIZEパラメータを64+12=76MBに設定する必要があります。

使用可能な共有プール

内部SGAオーバーヘッド(共有プールの起動オーバーヘッドとも呼ばれます)の正確な値は、V$SGAINFOビューから取得することができます。

SQL> CONNECT / AS SYSDBA
接続されました。
SQL> COLUMN NAME FORMAT A40
SQL> COLUMN BYTES FORMAT 999,999,999,990
SQL> COLUMN RESIZE FORMAT A6
SQL>
SQL> SELECT * FROM V$SGAINFO;

NAME                                                BYTES RESIZE
---------------------------------------- ---------------- ------
Fixed SGA Size                                  2,176,168 No
Redo Buffers                                    7,397,376 No
Buffer Cache Size                             956,301,312 Yes
Shared Pool Size                              469,762,048 Yes
Large Pool Size                                16,777,216 Yes
Java Pool Size                                134,217,728 Yes
Streams Pool Size                              16,777,216 Yes
Shared IO Pool Size                                     0 Yes
Granule Size                                   16,777,216 No
Maximum SGA Size                            1,603,411,968 No
Startup overhead in Shared Pool               100,663,296 No
Free SGA Memory Available                               0

ユーザー指定のSHARED_POOL_SIZEの値が小さすぎるために内部SGAオーバーヘッドの必要量にも満たない場合は、起動時にORA-00371エラー(「共有プール・メモリーが不足しています」)が発生しSHARED_POOL_SIZEパラメータの推奨値が提示されます。

また、10g Release 1より前のリリースから移行する場合、11gの移行ユーティリティでは、アップグレード前の環境の内部SGAオーバーヘッドの値とSHARED_POOL_SIZEパラメータの古い値に基づいて、SHARED_POOL_SIZEパラメータの新しい推奨値が提示されます。

なお、Oracle Database 10g Release 1から、共有メモリーの管理方式として新たに『自動共有メモリー管理モード』が提供されるようになりました。自動共有メモリー管理モードでは、Oracle Databaseが適切なSHARED_POOL_SIZE初期化パラメータのサイズを自動的に設定してくれるので、内部SGAオーバーヘッドや共有プールの計算方法を気にする必要はありません。特にシビアなチューニングを必要としない環境であれば、便利な自動共有メモリー管理モードの利用をお薦めます。

次のページ
ハッシュ・アルゴリズムによるグルーピング処理

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
使ってナットク!Oracle Database 11g最新機能連載記事一覧

もっと読む

この記事の著者

白砂 丈太郎(シラスナ ジョウタロウ)

日本オラクル(株)において、データベース事業のコアテクノロジー技術およびパフォーマンス技術のリーダーを務め、製品機能の検証および大規模/最重要プロジェクトでのベンチマークや実装を担当。現在は(株)ワン・オー・ワンにおいて、データベースとWeb技術を中心としたシステム構築およびコンサルティングに従事。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3254 2012/02/10 17:43

Job Board

PR

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

2022年9月16日(金)10:00~17:10

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング