ホームページ  >  記事  >  データベース  >  オラクルsgaとは何ですか

オラクルsgaとは何ですか

青灯夜游
青灯夜游オリジナル
2022-04-18 11:54:385843ブラウズ

sgaとは「システムグローバル領域」のことで、ORACLEがインスタンスに割り当てた共有バッファ記憶領域の集合で、データベースの管理・運用を実現するためのデータベースデータや制御情報を格納するために使用されます。データ。 SGA は主に共有プール、データ バッファ、REDO ログ バッファで構成されます。データ バッファは、データ ファイルから最近読み書きされたデータを格納するために使用されます。

オラクルsgaとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

メモリ構造は、Oracle データベースの最も重要なコンポーネントの 1 つです。データベースでの操作は多かれ少なかれメモリに依存しており、これはデータベースのパフォーマンスに影響を与える重要な要素です。Oracle データベースには 3 つの基本的なメモリ構造が含まれています。

オラクルsgaとは何ですか

メモリ構造におけるいくつかの sga を紹介します。

oracle sga の紹介

sga の正式名称は「System Global Area」です。これは中国語で「システム グローバル エリア」を意味します。 ORACLE によってインスタンスに割り当てられる共有バッファ記憶領域の集合で、主にデータベース データと制御情報の格納に使用され、この情報はデータベース プロセスによって共有され (PGA は共有できません)、データベース データの管理と操作を実現します。

Oracle サーバーのデータと制御情報が含まれています。Oracle サーバーが存在するコンピュータの実メモリに割り当てられます。実メモリが足りない場合は、仮想メモリに書き込まれます。

SGA は、すべてのサービスとバックグラウンド プロセスによって共有される一連の共有メモリ構造です。データベース インスタンスが起動すると、システム グローバル領域メモリが自動的に割り当てられます。データベース インスタンスがシャットダウンされると、SGA メモリが再利用されます。 SGA はメモリの中で最も多くの量を占有する領域であり、データベースのパフォーマンスに影響を与える重要な要素でもあります。

SGA 領域のクエリ:

SQL> show SGA

Total System Global Area 3290345472 bytes
Fixed Size            2217832 bytes
Variable Size         1795164312 bytes
Database Buffers     1476395008 bytes
Redo Buffers           16568320 bytes
SQL> select * from v$sga;

NAME              VALUE
-------------------- ----------
Fixed Size        2217832
Variable Size         1795164312
Database Buffers     1476395008
Redo Buffers           16568320
  • 固定サイズは、SGA の各コンポーネントに関する情報を格納する固定領域を表します。サイズは変更できません。

  • 可変サイズは、共有プール、Java プール、大規模プールなどの可変領域を表します。

  • データベース バッファーは、データベースの高速バッファーを表します。

  • Redo Buffer はログ バッファを表します。

SGA には主に次のものが含まれます。

システム グローバル ドメイン SGA は主に、共有プールとデータの 3 つの部分で構成されます。バッファ、ログバッファ。

1. 共有プール (共有プール) : 最近実行された SQL ステートメントおよび最近使用されたデータ ディクショナリ データを格納するために使用されます。

主に 2 つのメモリ構造: ライブラリ キャッシュとデータ ディクショナリ キャッシュで構成されます。

共有プールのサイズを変更します: ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

ライブラリ キャッシュキャッシュとは、実行されたSQLおよびPL/SQLに関連する情報、つまりSQL文のテキスト、分析されたコード、および実行計画です。よく使う文の共有を実現し、LRUアルゴリズムで管理 共有SQL領域と共有PL/SQL領域の2つの構造で構成されます

データディクショナリキャッシュは使用するデータベース定義をキャッシュし、格納します関連するテーブル、列、その他のオブジェクトの定義と権限。これには、データベース ファイル、テーブル、インデックス、列、ユーザー、権限、およびその他のデータベース オブジェクトに関する情報が含まれます。構文分析フェーズでは、サーバー プロセスはデータ ディクショナリ内の情報にアクセスして、オブジェクト名を解析し、アクセス操作を検証します。データ ディクショナリ情報はメモリにキャッシュされ、応答時間の向上に役立ちます。

2. データ バッファー (データベース バッファー キャッシュ): データ ファイルから最近読み書きされたデータを保存するために使用されます。

Oracleシステムが使用するデータブロック(ユーザー高速バッファ)はデータ高速バッファに格納され、データベースへのデータの書き込みはデータ単位で読み書きされます。高速バッファがいっぱいになると、システムはユーザーが頻繁にアクセスしない一部のデータを自動的に削除します。ユーザーが確認したいデータがデータ キャッシュにない場合、Oracle はそのデータをディスクから自動的に読み取ります。データ高速バッファには 3 種類の領域が含まれます。

1) ダーティ データ領域 (ダーティ バッファ): 変更され、データ ファイルに書き戻す必要があるデータ ブロックが含まれます。

2) フリー バッファ: データが含まれておらず、書き換え可能な領域。Oracle は、この領域のデータ ファイルからデータ ブロックを読み取ることができます。

3) 予約領域 (固定バッファ): この領域には、処理中の領域、または将来の使用のために明示的に予約されている領域が含まれます。

3. REDO ログ バッファ (REDO ログ バッファ) : サービスまたはバックグラウンド プロセスの操作をデータベースに記録するために使用されます。

主に各変更記録を復元するために使用されるものを REDO エントリと呼びます。変更は、「やり直し」エントリの情報を使用してやり直すことができます。

さらに、SGA には 2 つのオプションのメモリ構造があります:

4. Java プール: Java コードを保存するために使用されます。

5. 大規模プール: SQL に直接関係しない大規模なメモリ構造を格納するために使用されます。バックアップと復元の使用。

推奨チュートリアル: 「Oracle チュートリアル

以上がオラクルsgaとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。