ヘッダーをスキップ

Oracle Database 2日でデータベース管理者
11g リリース1(11.1)

E05759-03
目次
目次
索引
索引

戻る 次へ

5 Oracleインスタンスの管理

この章では、Oracleインスタンスに関するバックグラウンド情報およびインスタンスの管理方法について説明します。

この章は次の項で構成されています。

Oracleインスタンスおよびインスタンス管理の概要

Oracle DatabaseシステムはデータベースおよびOracleインスタンスで構成されます。

データベース: データベースは、ユーザー・データおよびメタデータを格納する一連のディスク・ファイルで構成されます。メタデータ(「データに関するデータ」)はデータベースの構造情報、構成情報および制御情報で構成されます。

Oracleインスタンス: Oracleインスタンス(データベース・インスタンスともいう)には、格納されたデータを操作するOracle Databaseのバックグラウンド・プロセス、およびバックグラウンド・プロセスの作業のために割り当てられた共有メモリーが含まれます。

インスタンスを起動して、データベースへの情報の読取りおよび書込みを行う必要があります。Oracle Database Configuration Assistant(DBCA)ユーティリティの指示によって、またはCREATE DATABASE SQL文を受け取ったときに、実際にデータベースを作成するのはインスタンスです。

データベース・インスタンスが使用できない場合でも、データベース内のデータは安全ですが、他のユーザーまたはアプリケーションからはアクセスできません。

Oracleインスタンスのプロパティは指定したインスタンス初期化パラメータを使用します。インスタンスが開始されたとき、初期化パラメータ・ファイルが読み込まれ、インスタンスが適宜構成されます。

この項では、Oracleインスタンスおよびその管理に関するいくつかの概念について説明します。内容は次のとおりです。

初期化パラメータの概要

Oracleインスタンスの管理には、Oracleインスタンスの基本的な操作に影響を与えるパラメータの構成が含まれます。これらのパラメータは初期化パラメータと呼ばれます。Oracleインスタンスは、パラメータを起動する際にファイルから初期化パラメータを読み取ります。

インストール時に、DBCAで事前構成済のデータベース・ワークロードのいずれかを選択すると、指定した環境で通常どおりに使用できるように初期化パラメータが最適化されます。データベース・ユーザーの数およびワークロードが増加するに従い、初期化パラメータの一部を変更する必要が生じることがあります。この変更は、Oracle Enterprise Manager Database Control(Database Control)の初期化パラメータ・ページ、または、メモリー・アドバイザなどのOracle Database付属のアドバイザのいずれかを使用して行うことができます。詳細は、「メモリー・アドバイザの使用」を参照してください。

ファイルに読み込まれた後、初期化パラメータはメモリーに保持されます。ここでそれらの値は動的に変更できます。これらのパラメータが読み込むことができるファイルには、テキスト初期化パラメータ・ファイルおよびサーバー・パラメータ・ファイルの2種類があります。インスタンスを起動するために使用されるファイルのタイプは、作成した動的初期化パラメータの変更がデータベースの起動および停止で持続されるかを決定します。

サーバー・パラメータ・ファイル: サーバー・パラメータ・ファイルは、初期化パラメータ・ファイルの優先形式で、データベースが読取りおよび書込み可能なバイナリ・ファイルです。手動では編集しないでください。サーバー・パラメータ・ファイルはOracle Databaseで実行されるホスト・コンピュータ上に格納されます。変更内容は、データベースの停止および起動後も保持されます。Database Controlを使用して1つ以上の初期化パラメータを変更する場合、またはOracle Databaseが自己チューニング目的で変更する場合に変更が実行されます。


注意:

サーバー・パラメータ・ファイル内の初期化パラメータを変更する場合は、変更が現行インスタンスにただちに反映されるように、メモリー内の値も変更するかどうかを指定できます。メモリー内の値を変更しない場合は、データベースを停止して再起動するまで変更は有効になりません。 


テキスト初期化パラメータ・ファイル: 初期化パラメータ・ファイルのこのタイプはOracleインスタンスに読み込まれますが、インスタンスによって書き込まれたものではありません。テキスト・エディタを使用してテキスト初期化パラメータ・ファイルを変更できますが、変更を有効にするにはOracleインスタンスを停止し再起動します。ファイルのこのタイプを使用してインスタンスを開始した場合、Database Controlを使用する多くの初期化パラメータを動的に変更できますが、変更できるのは現行のインスタンスのみです。テキスト初期化パラメータ・ファイルの編集および同一の変更を行わない場合、データベースを停止および再起動したときに変更は失われます。

DBCA(「DBCAを使用したデータベースの作成および管理」を参照)を使用してデータベースを作成すると、サーバー・パラメータ・ファイルが作成されます。このファイルはデータベースが起動するたびに作成されます。

SQL文ではテキスト初期化ファイルからのサーバー・パラメータ・ファイルの作成、すべての初期化パラメータの現行値(メモリー内にある)からのサーバー・パラメータ・ファイルの作成、およびサーバー・パラメータ・ファイルからのテキスト初期化パラメータ・ファイルの作成を行います。

参照:

  • 「初期化パラメータの表示と変更」

  • サーバー・パラメータ・ファイルのデフォルトの名前と位置、およびサーバー・パラメータ・ファイルまたはテキスト初期化パラメータ・ファイルを作成するコマンドの詳細は、『Oracle Database管理者ガイド』を参照してください。

 

バックグラウンド・プロセスについて

Oracleインスタンス管理メモリー構造、データをディスク上のファイルに書き込むI/Oの非同期式の実行および通常のメンテナンス・タスクの実行のバックグラウンド・プロセス。バックグラウンド・プロセスは各ユーザー・プロセスの実行を行う複数のOracle Databaseプログラムによる処理のかわりに機能を統合します。よりよいパフォーマンスおよび信頼性のための並列化を提供するために他のOracle Databaseプロセスを監視します。

現在のバックグラウンド・プロセスはデータベースで使用される機能によって決定します。最も重要なバックグラウンド・プロセスは表5-1で説明します。

表5-1    Oracle Databaseのバックグラウンド・プロセス 
バックグラウンド・プロセス  説明 

データベース・ライター(DBWn) 

データベース・ライターはディスクにあるファイルに対してデータベース・バッファ・キャッシュから変更ブロックを書き込みます。Oracle Databaseは最高で20のデータベース・ライター・プロセスを行います。 

ログ・ライター(LGWR) 

ログ・ライター・プロセスは、ディスクにREDOログ・エントリを書き込みます。REDOログ・エントリはシステム・グローバル領域(SGA)のREDOログ・バッファで生成され、ログ・ライター・プロセスによってオンラインREDOログ・ファイルに順次書き込まれます。 

チェックポイント 

特定の時間にSGA内の変更されたすべてのデータベース・バッファが、データベース・ライター・プロセス(DBWn)によりデータファイルに書き込まれます。このイベントはチェックポイントと呼ばれます。チェックポイント・プロセスがDBWnを呼び出し、データベースのデータファイルおよび制御ファイルを更新し、この更新の時間を記録します。 

システム監視(SMON) 

障害インスタンスが再開すると、システム監視でインスタンス・リカバリが実行されます。 

プロセス・モニター(PMON) 

ユーザー・プロセスが失敗した場合に、プロセス・モニターはリカバリを実行します。これはキャッシュをクリーン・アップし、失敗したプロセスが使用していたリソースを解放します。 

アーカイバ(ARCn) 

ログ・ファイルが一杯になるかログ・スイッチが発生した場合、アーカイバ・プロセスによりREDOログ・ファイルがアーカイブ記憶域にコピーされます。アーカイブ・プロセスを実行するためにデータベースはアーカイブ・ログ・モードである必要があります。詳細は、第9章「バックアップおよびリカバリの実行」を参照してください。 

管理性モニター(MMON) 

このプロセスでは、次のような様々な管理関連のバックグラウンド・タスクが実行されます。

  • 指定のメトリックがしきい値に違反した場合のアラートの発行

  • 追加処理の生成によるスナップショットの作成

  • 最近変更されたSQLオブジェクトの統計の値の取得

 

サーバーおよびクライアント・プロセスについて

Oracle Databaseでは、バックグラウンド・プロセスに加えて、ユーザー・プロセスまたはクライアント・プロセスの接続要求を処理するサーバー・プロセスを作成できます。ユーザー接続は次の2つの異なる要素で構成されています。

サーバー・プロセスは専用または共有のいずれかです。サーバー・プロセスが専用である場合は、Oracle Databaseは専用サーバー・モードで実行されます。サーバー・プロセスが共有である場合は、Oracle Databaseは共有サーバー・モードで実行されます。専用サーバー・モードでは、各クライアント・プロセスに独自のサーバー・プロセスがあります。専用サーバー・プロセスは長時間実行の問合せおよび管理タスクに適していますが、アイドル・プロセスまたは多すぎる専用プロセスにより、結果的にリソースの使用が非効率的になる可能性があります。

共有サーバー・モードを使用すると、各接続の専用サーバー・プロセスの必要性が排除されます。共有サーバー・モードでは、各クライアントの接続リクエストがdispatcherに送信されます。これは、接続されたユーザー・プロセスから大量の共有サーバー・プロセスへのリクエストのルーティングおよび適切なユーザー・プロセスへのレスポンスに対応しているプロセスです。アイドル共有サーバー・プロセスでは、共通のキューからリクエストが取り出されます。つまり、少量の共有サーバーで専用サーバーと同量のプロセスを実行できます。各ユーザーに必要なメモリーの量が比較的少ない場合、メモリーおよびプロセスに必要な管理も少なく、より多くのユーザーをサポートできます。

共有サーバー・モードは短時間実行の問合せを頻繁に行う複数のクライアント・プログラムをサポートする点でより効果的です。

インスタンス・メモリー構造について

インスタンス・メモリー構造のサイズはOracle Databaseのパフォーマンスに影響し、初期化パラメータによって制御されます。

インストール時に、データベースによる自動メモリー管理を選択するか、ある程度の手動メモリー管理を構成することができます。手動メモリー管理を構成する場合、Oracle Database付属のアドバイザを使用して、メモリー・パラメータの適切な値を決定できます。手動と自動どちらのメモリー管理を行う場合も、メモリーのサイズ設定に関して注意の必要な問題が発生すると、そのことを示すアラートが送信されます。

次の項では、監視とサイズ設定が可能な2つの重要なメモリー領域について説明します。

システム・グローバル領域

システム・グローバル領域(SGA)は、インスタンスのデータおよび制御情報を含む共有メモリー領域です。複数のユーザーがこのメモリー領域内のデータを共有でき、物理ディスクからのアクセスの繰返しによる処理時間の消費を回避できます。

SGAには、表5-2に示すサブコンポーネントがあります。

表5-2    SGAコンポーネント 
コンポーネント  説明 

バッファ・キャッシュ 

データベースに格納されているデータの問合せまたは変更が可能になる前に、ディスクから読み取り、バッファ・キャッシュ内のメモリーに格納する必要があります。データベースに接続されているすべてのユーザー・プロセスでバッファ・キャッシュへのアクセスを共有します。最適なパフォーマンスには、頻繁なディスクの読取りおよび書込みの回避に十分な容量がバッファ・キャッシュに必要です。 

共有プール 

共有プール・キャッシュの情報はユーザー間で共有されます。

  • 再利用できるSQL文

  • ユーザー・アカウント・データ、表および索引の説明、および権限などのデータ・ディクショナリからの情報

  • データベースに保存されている実行可能コードのストアド・プロシージャ

 

REDOログ・バッファ 

このバッファは、REDO情報がディスクに保存されている物理REDOログ・ファイルに書き込まれるまで、REDO情報をキャッシュしてパフォーマンスを改善します。REDO情報とREDOログ・ファイルの詳細は、「オンラインREDOログ・ファイルについて」を参照してください。 

ラージ・プール 

このオプション領域は様々なサーバー・プロセスの大きいI/Oリクエストをバッファするために使用されます。 

Javaプール 

JavaプールはJava Virtual Machine(JVM)内のすべてのセッションに特化したJavaコードおよびデータに対して使用されているメモリーの領域です。 

Streamsプール 

Streamsプールは、Oracle Streams機能で使用されるメモリー領域です。Oracle Streamsの詳細は、『Oracle Streams概要および管理』を参照してください。 

結果キャッシュ 

結果キャッシュは問合せ結果をバッファします。問合せがすでに結果キャッシュになっていた場合、データベースは問合せを再起動するかわりに結果キャッシュから結果を戻します。頻繁に行う問合せの実行を早くします。 

プログラム・グローバル領域

プログラム・グローバル領域(PGA)は、単一のOracle Databaseサーバー・プロセスで使用されるメモリー領域です。Oracle Databaseインスタンスに接続する際に、クライアントとデータベース・インスタンス間の通信にサーバー・プロセスを使用するセッションを作成します。各サーバー・プロセスには独自のPGAがあります。

PGAは、SQL文を処理し、ログオンその他のセッション情報を保持するために使用されます。PGAの大部分は、ソートその他のSQL処理に使用する作業用メモリー領域であるSQL作業領域に使用されます。

PGAメモリーの使用量とPGAの内容は、インスタンスが専用サーバー・モードと共有サーバー・モードのどちらで実行されているかによって異なります。詳細は、『Oracle Database概要』を参照してください。共有サーバー・モードと共有サーバー・モードの詳細は、「サーバーおよびクライアント・プロセスについて」を参照してください。

個々のPGAすべてが使用するメモリーの合計をインスタンスPGAメモリー合計と呼びます。また、個々のPGAの集合をインスタンスPGA合計、または単にインスタンスPGAと呼びます。Oracle Enterprise Manager Database Controlでは、個々のPGAではなく、インスタンスPGAのサイズを設定します。

インスタンスの起動および停止について

インストール後、Oracleインスタンスが起動し、データベース・アカウントを持つユーザーがアクセスできるようにデータベースがオープンされます。どこかの時点でインスタンスを停止して再起動する必要が生じることがあります。この項では、起動プロセスおよび停止プロセスについて説明します。

多くの場合、「Oracleインスタンスの起動および停止」という言葉と「データベースの起動および停止」という言葉は同じ意味で使用されます。

この項の内容は次のとおりです。

起動および停止の管理権限について

Oracleインスタンスを起動および停止するには、特別な接続権限でインスタンスに接続する必要があります。これらの権限には次の2つがあります。SYSDBAは完全に権限を付与されたデータベース管理者が対象で、SYSOPERはデータベースを起動および停止するがユーザーのオブジェクトにアクセスする権限を持たないユーザーが対象です。

Oracle Databaseを作成すると、SYSおよびSYSTEMの2つの初期管理ユーザー・アカウントが自動的に作成されます。この2つのユーザーは、データベース管理の完全な権限を持っていますが、最初はSYSOPER権限で接続できるのはユーザーSYSまたはSYSTEMのみです。したがって、SYSOPER権限を他のユーザーに付与するまでは、インスタンスを起動および終了する際、ユーザーSYSまたはSYSTEMとしてOracleインスタンスに接続する必要があります。ユーザーSYSとして接続(ログイン)しているときは、AS SYSDBAに接続していることを常に指定する必要があります。

参照:

 

インスタンスの起動について

Oracleインスタンスを起動させると、通常、データベースがオープンになり、ユーザー接続できる状態になります。ただし、データベースがマウント済の状態でインスタンスを起動する場合は開きません。インスタンスはデータベースがマウント済かオープンのいずれかの場合でのみ起動できます。したがって、インスタンスを起動するには3つの段階があります。

  1. 次のいずれかの方法でインスタンスを起動します。

    インスタンスは初期化パラメータ・ファイルを読み込み、SGAメモリーの分割およびバックグラウンド・プロセスを実行します。

  2. データベースをマウントした場合、インスタンスによりデータベースの制御ファイルが開かれますが、データファイルは開かれません。データベースはマウント状態になります。この状態では、他のユーザーがデータベースにアクセスしているときには実行できない特定の管理機能を実行できます。この機能には、REDOログ・ファイルのアーカイブの有効化および無効化などがあります。REDOログのアーカイブの詳細は、「アーカイブREDOログ・ファイルについて」を参照してください。

  3. データベースをオープンした場合、インスタンスは最初にマウントされ、その後データベースのREDOログ・ファイルおよびデータファイルが開かれます。データベースがオープンされ、すべてのユーザーがアクセスできるようになります。

デフォルトの起動動作は3段階を透過的に順序どおりに完了します。明示的に他を指定していない場合、インスタンスが起動され、データベースがマウントおよびオープンされます。

インスタンスの停止について

インスタンスの停止はインスタンスの起動と逆です。停止は次の3つの手順で行われます。

  1. 「インスタンスの起動について」で説明されているいずれかの方法でデータベースを停止します。SGAにキャッシュされてディスクへまだ書き込まれていない変更済データ・ブロックが存在する場合、そのデータが書き込まれます。REDOログ・バッファの内容がディスクに書き込まれた後、REDOログ・バッファがクリアされます。データファイルのチェックポイントが実行され、ヘッダーにデータベースがクローズされた時刻がマークされます。データファイルおよびログ・ファイルが閉じられ、ユーザーはデータベースにアクセスできなくなります。

  2. Oracleインスタンスは制御ファイルで正しく停止されるのを記録するためデータベースおよび更新関連エントリをディスマウントします。制御ファイルはクローズ状態になります。データベースは現在クローズ状態でディスマウントしています。インスタンスのみが残ります。

  3. Oracleインスタンスはバックグラウンド・プロセスを停止し、SGAが使用している共有メモリーを割当て解除します。

Oracleインスタンスの停止および起動

この項では、Oracleインスタンスの起動または停止に使用できる2つの方法についての操作を説明します。

Oracle Enterprise Manager Database Controlを使用した停止および起動

Oracle Enterprise Manager Database Control(Database Control)のデータベースのホームページからOracleインスタンスを終了および起動できます。

Database ControlでOracleインスタンスを停止および起動するには、次の手順を実行します。
  1. データベースのホームページに移動します。

    詳細は、「データベースのホームページのアクセス」を参照してください。

  2. データベースのホームページの「一般」セクションで、「停止」をクリックします。


    画像の説明

    資格証明の起動/停止ページが表示されます。


    画像の説明

  3. 次の資格証明を入力します。

    1. Oracle DatabaseをインストールしたユーザーまたはSQL*Plusを使用する権限のあるユーザーのホスト・コンピュータ資格証明を入力します。

    2. ユーザー名SYSおよびインストール時にSYSに割り当てられたパスワードから構成されるデータベース資格証明を入力します。

    3. 「接続モード」リストから、値「SYSOPER」を選択します。

  4. (オプション)このページが次回表示されるときに自動的にこれらの資格証明を入力する場合、「優先資格証明として保存」オプションを選択します。

  5. 「OK」をクリックします。

    確認ページが表示されます。

  6. 「はい」をクリックします。

    起動/停止: アクティビティ情報ページが表示され、データベースが停止中であることを示します。

  7. 続いて「リフレッシュ」をクリックするとデータベースのホームページに戻ります。

    データベースのホームページはデータベース・インスタンスが停止中であることを示しています。


    画像の説明

  8. 「起動」をクリックし、データベースを起動します。

    資格証明の起動/停止ページが再度表示されます。

  9. 資格証明を入力して、「OK」をクリックします。

    確認ページが表示されます。

  10. 「はい」をクリックします。

    起動/停止: アクティビティ情報ページが表示され、データベースが起動中であることを示します。起動が完了すると、ログイン・ページが表示されます。

  11. データベース(およびDatabase Control)へログインします。

    データベースのホームページで、データベース・インスタンスのステータスが稼働中であることが表示されます。

Windowsサービス・プログラムを使用した停止および起動

Windowsでは、「コントロール パネル」の「サービス」プログラムを使用してOracle Databaseを起動および停止することもできます。次のサービスも起動または停止する必要があります。

前述のサービス名では、SIDはインスタンスのシステム識別子を、Oracle_homeはOracleホーム名を表します。

Oracle Databaseサービスを起動または停止するには、次の手順を実行します。
  1. 次の操作を1つ実行します。

    • Windows XPおよびWindows Server 2003では「スタート」をクリックし、「コントロール パネル」を選択します。

    • Windows 2000 Serverでは「スタート」をクリックし、「設定」を選択して「コントロール パネル」を選択します。

    コントロール パネル・ウィンドウが開きます。

  2. 「管理ツール」アイコンをダブルクリックし、「サービス」アイコンをダブルクリックします。

    サービス・ウィンドウを開くと、ご使用のシステムで使用可能なすべてのWindowsのサービスが表示されます。

  3. このセクションの先頭にリストされているOracle Databaseサービスに移動します。たとえば、SIDがorclの場合は、次のサービスへ移動します。

    • OracleServiceORCL

    • OracleOraDb11g_home1TNSListener

    • OracleDBConsoleorcl

  4. 各サービスに対し次の手順を使用してこれらの3つのサービスを開始するか、終了します。

    1. サービス名を選択します。

    2. 「アクション」メニューで「開始」または「停止」をクリックします。

初期化パラメータの表示と変更

この項では、データベースの初期化パラメータ設定を参照する方法およびこれらのパラメータを変更する方法を提供します。初期化パラメータを変更する3つのシナリオを説明します。

初期化パラメータを表示または変更するには、次の手順を実行します。
  1. データベースのホームページの上部で、「サーバー」リンクをクリックし、サーバー・サブページを表示します。

  2. 「データベース構成」で、「すべての初期化パラメータ」をクリックします。

    Oracle Enterprise Manager Database Control(Database Control)に、初期化パラメータ・ページが表示されます。


    画像の説明

    初期化パラメータ・ページは2つのサブページを持っています。

    • 現行: このサブページ(デフォルト)には現在Oracleインスタンスで(メモリー内で)アクティブである初期化パラメータの値がすべて表示されます。

    • SPFile: このサブページにはサーバー・パラメータ・ファイルの初期化パラメータ設定が表示されます。このサブページはサーバー・パラメータ・ファイルを使用して現行のインスタンスが開始されたときのみ存在します。ファイルの場所はサブページの上部に表示されます。

    フィールドの説明は、オンライン・ヘルプの初期化パラメータ・ページを参照してください。

  3. (オプション)いずれかのサブページで次のいずれかまたは両方を実行して「実行」をクリックし、表示される初期化パラメータの数を削減します。

    • 「名前」フィールドにテキストを入力します。

    • 「名前」フィールドの横にある1つ以上のリストから選択します。

    たとえば、パラメータ名にdestというテキストが含まれる初期化パラメータのみを表示するには、「名前」フィールドにdestと入力して、「実行」をクリックします。

  4. 現在のインスタンスのみに影響を与え、次回のインスタンス再起動時には変更内容が消去されているようにサーバー・パラメータ・ファイルの1つ以上の初期化パラメータを変更するには、次の手順を実行します。

    1. 現行サブページの「値」列に初期化パラメータの新しい値を入力します。

    2. 「現在実行中のインスタンス・モードでの変更をSPFileに適用します」が選択されていないことを確認してください。

    3. (オプション)「コメント」列に、変更の理由を説明するテキストを入力します。

    4. 「適用」をクリックします。

      確認メッセージが表示されます。

  5. 現在実行されているインスタンスの初期化パラメータを変更し、またデータベース再起動後も変更を保持してサーバー・パラメータ・ファイルに変更を記録するには、次の手順を実行します。

    1. 現行サブページの「値」列に初期化パラメータの新しい値を入力します。

    2. 「現在実行中のインスタンス・モードでの変更をSPFileに適用する - 静的パラメータの場合、データベースを再起動する必要があります。」を選択します。

    3. (オプション)「コメント」列に、変更の理由を説明するテキストを入力します。

    4. 「適用」をクリックします。

      確認メッセージが表示されます。

  6. 現在のインスタンスには影響を与えず、次回データベース再起動時にのみ変更内容が適用されるようにサーバー・パラメータ・ファイルの初期化パラメータのみを変更するには、次の手順を実行します。

    1. 「SPFile」リンクをクリックしSPFileサブページを表示します。

    2. (オプション)手順3の説明に従って、初期化パラメータ・リスト内のエントリの数を減らします。

    3. 「値」列に初期化パラメータの新しい値を入力します。

    4. (オプション)「コメント」列に、変更の理由を説明するテキストを入力します。

    5. 「適用」をクリックします。

      確認メッセージが表示されます。


      注意:

      初期化パラメータへの変更はアラート・ログにALTER SYSTEM文として記録されます。アラート・ログの詳細は、『Oracle Database管理者ガイド』を参照してください。 


メモリーの管理

この項では、Oracleインスタンスのメモリー管理に関するバックグラウンド情報を提供し、Oracleインスタンスのメモリーの割当てを調整する方法についての操作を説明します。内容は次のとおりです。

メモリー管理について

メモリー管理では、データベースでの需要の変化に応じて、Oracleインスタンスのメモリー構造の最適なサイズを維持する必要があります。管理の対象となるメモリーは、システム・グローバル領域(SGA)メモリーとインスタンスのプログラム・グローバル領域(インスタンスPGA)メモリーです。インスタンスPGAメモリーは、すべての個別PGAに割り当てられているメモリーの集合です。

リリース11g から、Oracle DatabaseはSGAメモリーとインスタンスPGAメモリーを完全に自動的に管理できるようになりました。インスタンスで使用される合計メモリー・サイズを指定するだけで、Oracle Databaseが必要に応じてSGAとインスタンスPGAの間でメモリーを動的に交換し、処理ニーズに対応します。この機能を自動メモリー管理と呼びます。このメモリー管理モードでは、Oracle Databaseは個別SGAコンポーネントのサイズと個別PGAのサイズも動的にチューニングします。

SGAとインスタンスPGAのサイズを直接制御するには、Database Controlのメモリー・アドバイザ・ページを使用して自動メモリー管理を無効化し、自動共有メモリー管理を有効化します。これを行うと、自動PGAメモリー管理も暗黙的に有効化されます。自動共有メモリー管理では、SGAのターゲット・サイズと最大サイズを設定します。すると、SGAの合計サイズが指定したターゲットに合わせてチューニングされ、すべてのSGAコンポーネントのサイズも動的にチューニングされます。自動PGAメモリー管理では、インスタンスPGAのターゲット・サイズを設定します。すると、インスタンスPGAのサイズがターゲットに合わせてチューニングされ、個別PGAのサイズも動的にチューニングされます。

個別SGAコンポーネントのサイズを完全に制御するには、Database Controlのメモリー・アドバイザ・ページを使用して、自動メモリー管理と自動共有メモリー管理の両方を無効化します。これにより、手動共有メモリー管理が事実上有効化されます。このモードでは、複数の個別SGAコンポーネントのサイズを設定することで、SGA全体のサイズを決定します。その後、個別SGAコンポーネントを継続的に手動でチューニングします。このモードは、熟練したDBAのみを対象としています。このモードでは自動PGAメモリー管理は有効なままですので注意してください。


注意:

自動PGAメモリー管理を無効化することは可能ですが、お薦めしません。また、Database Controlのメモリー・アドバイザ・ページでは自動PGAメモリー管理を無効化することはできません。 


表5-3は、Database Controlのメモリー・アドバイザ・ページで設定可能な各種メモリー管理モードをまとめたものです。

表5-3    Oracle Databaseメモリー管理モード 
メモリー管理モード  ユーザー設定  Oracle Databaseによる自動チューニング 

自動メモリー管理 

  • このインスタンスの合計メモリー・サイズ

  • (オプション)このインスタンスの最大メモリー・サイズ

 
  • SGAの合計サイズ

  • SGAコンポーネント・サイズ

  • インスタンスPGAのサイズ

  • 個別PGAのサイズ

 

自動共有メモリー管理と自動PGAメモリー管理

(自動メモリー管理は無効) 

  • SGAターゲット・サイズ

  • (オプション)SGAの最大サイズ

  • インスタンスPGAのターゲット・サイズ

 
  • SGAコンポーネント・サイズ

  • 個別PGAのサイズ

 

手動共有メモリー管理と自動PGAメモリー管理

(自動メモリー管理と自動共有メモリー管理は無効) 

  • 共有プール・サイズ

  • バッファ・キャッシュ・サイズ

  • Javaプール・サイズ

  • ラージ・プール・サイズ

  • インスタンスPGAのターゲット・サイズ

 
  • 個別PGAのサイズ

 


注意:

自動メモリー管理は、一部のプラットフォームでは使用できません。サポートされているプラットフォームの詳細は、『Oracle Database管理者ガイド』を参照してください。 


データベースをインストールする際に基本インストール・オプションを選択すると、自動メモリー管理が有効になります。拡張インストールを選択すると、DBCAによって3つのメモリー管理モードから選択できるようになります。自動メモリー管理をお薦めします。

どのメモリー管理モードを選択しても、データベースまたはホスト・コンピュータの変更を要求してメモリー設定を調整する場合があります。メモリー設定を調整する理由は次のとおりです。

メモリー・アドバイザを使用してメモリー・サイズを調整できます。メモリー・アドバイザを使用した例は、「メモリーの設定の変更: 自動共有メモリー管理」を参照してください。

参照:

 

自動共有メモリー管理有効化

データベースのインストールおよび構成時に自動メモリー管理を有効化しなかった場合は、熟練したDBAが明確な理由によりメモリー・サイズを手動でチューニングする場合を除き、インストール後に有効化することをお薦めします。自動メモリー管理では、Oracleインスタンスがすべてのメモリー・コンポーネントを動的にチューニングし、ワークロードの変化に合わせてパフォーマンスを最適化します。

自動メモリー管理を有効にするには、次の手順を実行します。
  1. データベースのホームページに移動し、SYSユーザーとしてログインします。

    詳細は、「データベースのホームページのアクセス」を参照してください。


    注意:

    SYSユーザーとしてログインし、静的初期化パラメータである最大メモリー・サイズを変更する必要があります。 


  2. ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。

  3. 「データベース構成」セクションで、「メモリー・アドバイザ」をクリックします。

    メモリー・アドバイザ・ページが表示され、デフォルトで「SGA」サブタブが表示されます。

  4. データベースに割り当てる合計メモリー・サイズ以上の正の数値が「最大SGAサイズ」フィールドにすでに表示されている場合は、手順13に進みます。

  5. 「最大SGAサイズ(MB)」フィールドに、データベース・メモリーの最大許容サイズを入力します。

    SGAとインスタンスPGAの現在のサイズの合計を目安として使用し、オプションで増加分の余裕を持たせます。

  6. 「適用」をクリックします。

    確認ページが表示されたら、データベースを再起動する必要があります。

  7. 「はい」をクリックします。

    データベースの再起動: ホストとターゲット・データベースの資格証明の指定ページが表示されます。

  8. ホスト資格証明およびデータベース資格証明を入力します。

    SQL*Plusの実行権限を持つすべてのオペレーティング・システムのユーザーにホスト資格証明を指定します。SYSDBA権限(SYSユーザーなど)を持つデータベース・ユーザーにはデータベース資格証明を指定します。

  9. 「OK」をクリックします。

    データベースの再起動: 確認ページが表示されます。

  10. 「はい」をクリックして、データベースの起動を続行します。

  11. 数分間待機した後、「リフレッシュ」をクリックします。

    データベースのホームページが表示されます。

  12. メモリー・アドバイザ・ページに戻ります。

  13. 自動メモリー管理無効化の横にある「有効化」をクリックします。

    自動メモリー管理有効化ページが表示されます。

  14. 自動メモリー管理の合計メモリー・サイズというタイトルのフィールドで、目的のメモリーの量を入力してデータベースに割り当て、「OK」をクリックします。

    確認メッセージが表示されます。

    参照:

     

メモリー設定の変更: 自動メモリー管理

自動メモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用して合計メモリー・サイズの設定を変更する必要があります。この設定を変更する手順は、目的の新しい設定が最大メモリー・サイズの現在の設定を超えるかどうかによって異なります。新しい設定が最大メモリー・サイズの設定を超える場合は、まず新しい設定に合わせて最大メモリー・サイズを増やす必要があります。

合計メモリー・サイズを変更するには、次のようにします(新しい値が最大メモリー・サイズを超えない場合)。
  1. データベースのホームページに移動します。

    詳細は、「データベースのホームページのアクセス」を参照してください。

  2. ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。

  3. 「データベース構成」セクションで、「メモリー・アドバイザ」をクリックします。

    メモリー・パラメータ・ページが表示されます。


    画像の説明

  4. 次の操作を1つ実行します。

    • 「合計メモリー・サイズ」フィールドに、「最大メモリー・サイズ」フィールドの現在の値以下の新しい値を入力します。

    • メモリー・アドバイザを使用して新しいサイズを選択するには、「アドバイス」をクリックします。

      メモリー・サイズ・アドバイス・ページが表示されます。

      曲線上をクリックして合計メモリー・サイズを変更します。新しいサイズがグラフの下に表示されます。目的の値が表示されるまで曲線上をクリックし続け、「OK」をクリックします。

  5. メモリー・アドバイザ・ページで、「適用」をクリックします。

    確認メッセージが表示されます。

合計メモリー・サイズを変更するには、次のようにします(新しい値が最大メモリー・サイズを超える場合)。
  1. データベースのホームページに移動し、SYSユーザーとしてログインします。

    詳細は、「データベースのホームページのアクセス」を参照してください。


    注意:

    SYSユーザーとしてログインし、静的初期化パラメータである最大メモリー・サイズを変更する必要があります。 


  2. ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。

  3. 「データベース構成」セクションで、「メモリー・アドバイザ」をクリックします。

    メモリー・アドバイザ・ページが表示されます。

  4. 「最大メモリー・サイズ (MB)」フィールドに、データベースに割り当てる最大合計メモリーの新しい値を入力します。

    この値は、合計メモリー・サイズの新しい値以上であることが必要です。

  5. 「適用」をクリックします。

    確認ページが表示されたら、データベースを再起動する必要があります。

  6. 「はい」をクリックします。

    データベースの再起動ページが表示されます。

  7. ホスト資格証明およびデータベース資格証明を入力します。

    SQL*Plusの実行権限を持つすべてのユーザーにホスト資格証明を指定します。SYSDBA権限(SYSユーザーなど)を持つデータベース・ユーザーにはデータベース資格証明を指定します。

  8. 「OK」をクリックします。

    データベースの再起動: 確認ページが表示されます。

  9. 「はい」をクリックして、データベースの起動を続行します。

  10. 数分間待機した後、「リフレッシュ」をクリックします。

    データベースのホームページが表示されます。

  11. メモリー・アドバイザ・ページに戻ります。

  12. 次の操作を1つ実行します。

    • 「合計メモリー・サイズ」フィールドに、「最大メモリー・サイズ」フィールドの現在の値以下の新しい値を入力します。

    • メモリー・アドバイザを使用して新しいサイズを選択するには、「アドバイス」をクリックします。

      メモリー・サイズ・アドバイス・ページが表示されます。

      曲線上をクリックして合計メモリー・サイズを変更します。新しいサイズがグラフの下に表示されます。目的の値が表示されるまで曲線上をクリックし続け、「OK」をクリックします。

  13. メモリー・アドバイザ・ページで、「適用」をクリックします。

    確認メッセージが表示されます。

    参照:

     

メモリーの設定の変更: 自動共有メモリー管理

自動共有メモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用して合計SGAサイズを変更する必要があります。この項では、自動メモリー管理が無効、自動共有メモリー管理が有効になっており、合計SGAサイズの新しい値が最大SGAサイズの現在の値を超えないと想定しています。


注意:

新しい合計SGAサイズが最大SGAサイズの現在の値を超える場合は、まずSYSユーザーとしてログインし、最大SGAサイズを変更してからデータベースを再起動する必要があります。同様の手順が「合計メモリー・サイズを変更するには、次のようにします(新しい値が最大メモリー・サイズを超える場合)。」で説明されています。 


SGAの合計メモリー・サイズを変更するには、次のようにします。
  1. データベースのホームページに移動します。

    詳細は、「データベースのホームページのアクセス」を参照してください。

  2. ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。

  3. 「データベース構成」セクションで、「メモリー・アドバイザ」をクリックします。

    メモリー・アドバイザ・ページにSGAサブページが表示されます。


    画像の説明

  4. 「現行割当て」セクションで、次のいずれかを実行します。

    • 「合計SGAサイズ(MB)」フィールドに、SGAの新しい合計サイズを入力します。

    • SGAアドバイザを使用して新しいSGAサイズを選択するには、「アドバイス」をクリックします。

      SGAサイズ・アドバイス・ウィンドウが開きます。


      画像の説明

      SGAの合計サイズを変更する曲線の位置をクリックします。新しいSGAサイズがグラフの下に表示されます。該当する値が表示されるまで曲線をクリックし続け、「OK」をクリックします。

      この例のグラフでは、現時点でSGAサイズを大きくしてもパフォーマンスの向上は期待できません。

  5. メモリー・アドバイザ・ページで、「適用」をクリックします。

    確認メッセージが表示されます。

    参照:

     

メモリーの設定の変更: 自動PGAメモリー管理

自動PGAメモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用してインスタンスPGAのサイズを変更する必要があります。この項では、自動メモリー管理が無効、自動PGAメモリー管理が有効になっていると想定しています。


注意:

自動メモリー管理を無効化すると、デフォルトで自動PGAメモリー管理が有効化されます。 


インスタンスPGAのサイズを変更するには、次のようにします。
  1. データベースのホームページに移動します。

    詳細は、「データベースのホームページのアクセス」を参照してください。

  2. ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。

  3. 「データベース構成」セクションで、「メモリー・アドバイザ」をクリックします。

    メモリー・アドバイザ・ページにSGAサブページが表示されます。

  4. 「PGA」をクリックしてPGAサブページを表示します。


    画像の説明

  5. 次の操作を1つ実行します。

    • 「PGAターゲット総計」フィールドに、インスタンスPGAの新しいサイズを入力します。

    • PGAアドバイザを使用して新しいインスタンスPGAのサイズを選択するには、「アドバイス」をクリックします。

      PGA総計ターゲット・アドバイス・ウィンドウが開きます。曲線上をクリックしてインスタンスPGAのサイズを変更し、「OK」をクリックします。

    データベースの監視の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

  6. 「適用」をクリックします。

    確認メッセージが表示されます。

    参照:

    • メモリー・パラメータおよびそのチューニングの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

    • 「メモリー管理について」

     

インスタンス: Oracle by Example Series

Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。

インスタンスに関するOBEを参照するには、ご使用のブラウザで次のURLを指定します。

http://www.oracle.com/technology/obe/11gr1_2day_dba/instance/instance.htm

戻る 次へ
Oracle
Copyright © 2004, 2008, Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引