Oracle SGA 設定
Oracle SGA (システム グローバル領域) は、システム レベルの共有メモリであり、Oracle データベース インスタンスの最も重要なメモリ領域の 1 つです。 SGAには、データ・バッファ、REDOログ・バッファ、共有プール、Javaプールなどを含む、すべてのデータベース・インスタンス・プロセス(プロセス)に共通のメモリー領域が含まれています。 Oracle SGA のサイズはデータベースのパフォーマンスと安定性に大きな影響を与えるため、SGA の設定はデータベース管理者が重点を置いて最適化する必要がある側面です。
Oracle データベースでは、ユーザーは SGA のサイズを手動設定と自動管理 (自動メモリ管理) の 2 つの方法で管理できます。
SGA サイズを手動で設定する
SGA サイズを手動で設定するには、Oracle データベース構成ファイル init.ora (Oracle 9i より前のバージョン) または spfile (Oracle 10g 以降のバージョン) にアクセスする必要があります。
SGA のサイズを手動で設定するには、次の点を考慮する必要があります。
- SGA のサイズを計算する
SGA を手動で設定する前に、まず、必要なサイズを計算する必要があります。 SGA に割り当てられます。このサイズは実際の状況に応じて設定する必要があり、次の側面に基づいて検討できます。
- ユーザー セッション数の計算
- メモリ オブジェクトの計算データベースに必要な
- SGA スペースの構成
その中で、ユーザー セッション数の計算とデータベースに必要なメモリ オブジェクトの計算には、特定の計算と見積もりが必要です。ここで説明されています。
SGA を構成するためのスペースは、次の式に従って計算できます。
SGA = データベース バッファ キャッシュ 共有プール 大規模プール REDO ログ バッファ Java プール ストリーム プール
これらのうち、データベース バッファ キャッシュは、データベース内のデータ ブロックをバッファリングするために使用されるデータ バッファです。共有プールは、共有 SQL および PL/SQL コードを格納するために使用される共有プールです。ラージ プールは、より大きなメモリ オブジェクトを格納するために使用される大規模なプールです。 REDO Log Buffer は REDO ログ キャッシュ領域であり、ユーザー操作記録の保存に使用されます。Java プールは Java オブジェクトの保存に使用される Java プールであり、Streams Pool は Streams プールで、STREAMS に必要なメモリの保存に使用されます。
- 初期化パラメータの変更
SGA のサイズ設定には、Oracle データベースの初期化パラメータ ファイルを変更する必要があります。$ORACLE_HOME/dbs/init.ora または spfile## を変更できます。 #.ora ファイルを満たします。一般に、初期化パラメータを設定するには spfile ファイルを使用することをお勧めします。
次のコマンドを使用して、spfile 内の SGA のサイズを設定します。
ALTER SYSTEM SET sga_max_size = xxxM SCOPE=SPFILE;
ALTER SYSTEM SET sga_target = xxxM SCOPE= SPFILE;
このうち、sga_max_size は SGA の最大値を表し、sga_target は SGA の期待値を表します。設定が完了したら、データベースを再起動して有効にする必要があります。
SGA サイズの自動管理
Oracle データベースの自動メモリ管理 (AMM) は、Oracle 11g 以降の新機能であり、SGA および PGA (プロセス グローバル エリア) のサイズを動的に管理できます。 AMM は、手動で設定することなく、データベースのニーズに応じて SGA と PGA のサイズを自動的に割り当て、調整できます。 AMM では、SGA を設定するパラメータはすべて無視されます。
AMM を有効にするには、次の手順を実行する必要があります。
SGA_TARGET パラメータを設定します。 - 次のパラメータ設定をデータベースに追加して、AMM を有効にします。
ALTER SYSTEM SET sga_target=xxxM SCOPE=SPFILE;
ここで、xxx は MB 単位の SGA メモリ サイズです。
データベース インスタンスを再起動します- SGA_TARGET の変更を有効にするには、データベース インスタンスを再起動する必要があります。
概要
SGA は、Oracle データベースの最も重要なメモリ領域の 1 つです。データベースのパフォーマンスと安定性に大きな影響を与えるため、データベース管理者の注意が必要です。 。 SGA サイズを手動で設定するには、データベースの実際の要件を計算し、要件に従って Oracle データベースの初期化パラメータ ファイルを変更する必要があります。 SGA サイズの自動管理では、手動設定を行わずに SGA と PGA のサイズを動的に管理できます。
以上がOracle sga の設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。