ヘッダーをスキップ
Oracle® Database 2日でデータベース管理者
11gリリース2(11.2)
B56320-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 Oracleインスタンスの管理

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

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

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

Oracle Databaseシステムは、Oracle DatabaseとOracleインスタンスで構成されます。

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

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

それぞれのインスタンスには、システムID(SID)とも呼ばれるインスタンスIDがあります。ホスト・コンピュータに複数のOracle Databaseが存在し、それぞれが固有のデータファイル・セットを持っている可能性があるため、接続するインスタンスを識別する必要があります。ローカル接続では、オペレーティング・システムの環境変数ORACLE_SIDおよびORACLE_HOMEを設定して、インスタンスを識別します。リモート接続では、ネットワーク・アドレスとデータベース・サービス名を指定して、インスタンスを識別します。

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

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

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

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


関連項目:

  • Oracle Databaseインスタンスの概要は、『Oracle Database概要』を参照してください。


初期化パラメータの概要

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

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

ファイルに読み込まれた後、初期化パラメータはメモリーに保持されます。ここでそれらの値は動的に変更できます。パラメータ・ファイルには2種類あります。インスタンスの起動に使用するファイルのタイプにより、動的な初期化パラメータの変更が、データベースの停止および起動後も保持されるかどうかが決まります。パラメータ・ファイルのタイプは次のとおりです。

  • サーバー・パラメータ・ファイル

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


    注意:

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

  • テキスト初期化パラメータ・ファイル

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

SQL文を使用して、次のものを作成できます。

  • テキスト初期化ファイルに基づくサーバー・パラメータ・ファイル

  • すべての初期化パラメータの現在の値(メモリー内の値)に基づくサーバー・パラメータ・ファイル

  • サーバー・パラメータ・ファイルに基づくテキスト初期化パラメータ・ファイル

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


関連項目:

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

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

  • パラメータ・ファイルの概要は、『Oracle Database概要』を参照してください。


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

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

現在のバックグラウンド・プロセスはデータベースで使用される機能によって決定します。表5-1に、基本的な一部のバックグラウンド・プロセスの説明を示します。

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

バックグラウンド・プロセス 説明

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

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

ログ・ライター(LGWR)

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

チェックポイント(CKPT)

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

システム監視(SMON)

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

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

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

アーカイバ(ARCn)

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

管理性モニター(MMON)

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

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

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

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

ジョブ・キュー・プロセス(CJQ0およびJnnn)

ジョブ・キュー・プロセスでは、多くの場合バッチ・モードでユーザー・ジョブを実行します。ジョブは、1回以上実行するようスケジュールされるユーザー定義タスクです。





関連項目:

  • Oracle Databaseバックグラウンド・プロセスの完全なリストは、『Oracle Databaseリファレンス』を参照してください。

  • バックグラウンド・プロセスの概要は、『Oracle Database概要』を参照してください。


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

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

  • Oracle Enterprise Manager(Enterprise Manager)、SQL*Plus、アプリケーションなどのユーザーのかわりとして機能するクライアント・プログラム

  • SQL文の解析や実行、およびクライアント・プログラムに取得された結果や戻された結果など、クライアント・プログラムにかわってデータベースへの接続を処理するサーバー・プロセスおよびクライアント・プログラムの作業の多くを実行するサーバー・プロセス

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

共有サーバー・モードを使用すると、ユーザー接続ごとに専用サーバー・プロセスを使用する必要がなくなり、ユーザー接続ごとに必要とするメモリーが削減され、より多くのユーザーがデータベースにアクセスできるようになります。共有サーバー・モードでは、実行時間の短い問合せが頻繁に行われるため、複数のクライアント・プログラムをサポートするのに効果的です。

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

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

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

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


関連項目:

  • 「メモリーの管理」

  • Oracle Databaseのメモリー・アーキテクチャの詳細は、『Oracle Database概要』を参照してください。


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

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

表5-2に、SGAのコンポーネントをリストします。

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

コンポーネント 説明

データベース・バッファ・キャッシュ

データベースに格納されているデータの問合せまたは変更を行う前に、データをディスクから読み取って、バッファ・キャッシュに格納する必要があります。データベースに接続されているすべてのユーザー・プロセスでバッファ・キャッシュへのアクセスを共有します。最適なパフォーマンスを得るには、バッファ・キャッシュに十分な容量を確保し、ディスクI/O操作が頻繁に行われないようにする必要があります。

共有プール

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

  • 再利用できる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概要および管理』を参照してください。

結果キャッシュ

結果キャッシュは問合せ結果をバッファします。問合せが、結果キャッシュに格納されている結果に対して実行されると、データベースは問合せを再実行するかわりに結果キャッシュから結果を戻します。このSGAコンポーネントは、頻繁に行う問合せの実行速度を向上させます。


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

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

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

PGAメモリーの使用量とPGAの内容は、インスタンスが専用サーバー・モードと共有サーバー・モードのどちらで実行されているかによって異なります。

個々のPGAすべてが使用するメモリーの合計をインスタンスPGAメモリー合計と呼びます。また、個々のPGAの集合をインスタンスPGA合計、または単にインスタンスPGAと呼びます。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インスタンスを起動すると、通常は、データベースの状態がOPENになり、ユーザー接続できる状態になります。ただし、インスタンスを起動しても、データベースをMOUNTEDの状態でオープンしない場合があります。また、インスタンスを起動しても、データベースをマウントまたはオープンしないこともできます。このため、インスタンスの起動には3つの段階があります。

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

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

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

  3. パラメータ・ファイルおよび制御ファイルの読取り後にデータベースをオープンすると、データベースのオンラインREDOログ・ファイルおよびデータファイルが開かれます。ここで、データベースの状態はOPENになり、データへのユーザー・アクセスが可能になります。

データベースのデフォルトの起動モード(OPEN)では、3つの段階が順次完了されます。明示的に指定しないかぎり、インスタンスの起動、データベースのマウントおよびオープンが行われます。

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

インスタンスの停止は、インスタンスの起動の逆の操作です。Oracleインスタンスを停止する場合、デフォルト・モードはNORMAL停止で、ユーザーはデータベースに対して新しい接続を作成できませんが、現在接続されているすべてのユーザーがセッションを終了するまで停止処理は待機します。すべてのユーザーが切断されると、コミット済トランザクションがディスクに書き込まれ、データベース・ファイルが閉じ、インスタンスが停止します。ただし、ユーザーが自分で切断するまで待機しない場合(IMMEDIATEモード)、あるいはユーザーが切断される前に各ユーザーの現在のトランザクションを完了する場合(TRANSACTIONALモード)もあります。緊急の場合には、コミット済トランザクションがディスクに書き込まれるまで待機せずにデータベースを停止する(ABORTモード)こともできます。

インスタンスの停止には次の段階があります。

  1. すべてのユーザーがそのセッションを終了するか、または切断されると、Oracle DatabaseはSGA内のデータをデータファイルおよびオンラインREDOログ・ファイルに書き込みます。チェックポイントがデータファイル上で実行されて、そのヘッダーがインスタンスの停止時点でカレントとマーク付けされます。データファイルとオンラインREDOログ・ファイルが閉じ、データベースの状態がCLOSEDになります。制御ファイルはインスタンスに対してオープンされたままになります。

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

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

SHUTDOWN ABORTまたは異常終了が発生すると、オープン状態のデータベースのインスタンスはクローズされ、データベースはただちに停止されます。Oracle Databaseは、SGAのバッファ内のデータをデータファイルとREDOログ・ファイルに書き込みません。データベースを再度開くにはインスタンスのリカバリが必要であり、この処理はOracle Databaseで自動的に行われます。

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

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

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

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

Database ControlでOracleインスタンスを停止および起動するには、次の手順を実行します。

  1. データベースのホームページに移動します。

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

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

    hp-shutdown-r2.gifの説明が続きます。
    hp-shutdown-r2.gifの説明

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

    shutdown_credentials.gifの説明が続きます。
    shutdown_credentials.gifの説明

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

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

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

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

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

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

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

  6. 「はい」をクリックして、データベースのSHUTDOWN IMMEDIATE操作を開始します。

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

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

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

    database_down.gifの説明が続きます。
    database_down.gifの説明

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

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

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

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

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

    起動ページが表示されて、データベースが起動中であることが示されます。起動が完了すると、ログイン・ページが表示されます。

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

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

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

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

  • OracleServiceSID: 使用するOracleインスタンス。

  • OracleORACLE_HOMETNSListener: 使用するリスナー。リスナーには、データベースに接続するクライアントが必要です。

  • OracleDBConsoleSID: これによって、クライアントはDatabase Controlに接続できます。

前述のサービス名では、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つのいずれかの方法で変更できます。


注意:

ALTER SYSTEM文を使用して初期化パラメータを変更する場合、これらの3つのシナリオは、それぞれALTER SYSTEM SQL文のSCOPE=MEMORYSCOPE=BOTHSCOPE=SPFILE句の使用に対応します。

初期化パラメータを表示または変更するには、次の手順を実行します。

  1. データベースのホームページの上部で、「サーバー」をクリックし、サーバー・サブページを表示します。

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

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

    init_params.gifの説明が続きます。
    init_params.gifの説明

    初期化パラメータ・ページは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に割り当てられているメモリーの集合です。

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

SGAとインスタンスPGAのサイズをより直接的に制御するには、Database Controlのメモリー・アドバイザ・ページを使用して、自動メモリー管理を無効化し、自動共有メモリー管理を有効化します。

  • 自動共有メモリー管理では、SGAのターゲット・サイズと最大サイズを設定します。これによりOracle Databaseでは、SGAの合計サイズが指定したターゲットに合わせてチューニングされ、すべてのSGAコンポーネントのサイズも動的にチューニングされます。

  • 自動共有メモリー管理を有効化すると、自動PGAメモリー管理も暗黙的に有効化されます。自動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つのメモリー管理モードから選択できるようになります。自動メモリー管理をお薦めします。

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

  • メモリー関連のアラートまたはエラー・メッセージを受け取る。

  • 自動データベース診断モニター(ADDM)からメモリー関連の推奨事項を受け取る。

  • 将来的なメモリー需要の増大を見越してメモリーのサイズを設定する。

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

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

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

自動メモリー管理を有効にするには、次の手順を実行します。

  1. データベースのホームページに移動し、SYSユーザーとしてログインします。

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


    注意:

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

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

    サーバー・サブページが表示されます。

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

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

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

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

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

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

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

  7. 「はい」をクリックして、表示されている手順に従い、データベースを再起動します。

  8. データベースの再起動を開始してから数分後に、「リフレッシュ」をクリックします。

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

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

    データベースの再起動後にこのページを正しく表示するには、ログアウトしてから再度Enterprise Managerにログインする必要があることがあります。

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

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

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

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

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

自動メモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用して合計メモリー・サイズの設定を変更する必要があります。この設定を変更する手順は、目的の新しい設定が最大メモリー・サイズの現在の設定を超えるか超えないかによって異なります。どちらの手順の場合も、まず自動メモリー管理を有効にする必要があります。「自動メモリー管理の有効化」を参照してください。

合計メモリー・サイズを変更するには、次のようにします(新しい値が最大メモリー・サイズを超えない場合)。

  1. データベースのホームページに移動します。

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

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

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

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

    mem_param_auto.gifの説明が続きます。
    mem_param_auto.gifの説明

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

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

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

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

      memory_size_advice.gifの説明が続きます。
      memory_size_advice.gifの説明

  5. メモリー・アドバイザの使用を選択した場合は、合計メモリー・サイズを変更する曲線の位置をクリックします。それ以外の場合は、手順7に進みます。

    新しい合計メモリー・サイズがグラフの下に表示されます。

  6. 目的の値が表示されるまで曲線上をクリックし続け、「OK」をクリックします。

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

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

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

合計メモリー・サイズを変更するには、次のようにします(新しい値が最大メモリー・サイズを超える場合)。

  1. データベースのホームページに移動し、SYSDBA権限を使用してSYSユーザーとしてログインします。

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


    注意:

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

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

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

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

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

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

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

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

  6. 「はい」をクリックして、表示されている手順に従い、データベースを再起動します。

  7. データベースの再起動を開始してから数分後に、「リフレッシュ」をクリックします。

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

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

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

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

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

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

  10. メモリー・アドバイザの使用を選択した場合は、合計メモリー・サイズを変更する曲線の位置をクリックします。それ以外の場合は、手順12に進みます。

    新しいサイズがグラフの下に表示されます。

  11. 目的の値が表示されるまで曲線上をクリックし続け、「OK」をクリックします。

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

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

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


関連項目:


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

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


注意:

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

SGAの合計メモリー・サイズを変更するには、次のようにします。

  1. データベースのホームページに移動します。

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

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

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

    メモリー・アドバイザ・ページが表示されます。SGAサブページにスクロール・ダウンします。

    mem_current_allocation.gifの説明が続きます。
    mem_current_allocation.gifの説明

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

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

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

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

      mem_allocation_advice.gifの説明が続きます。
      mem_allocation_advice.gifの説明

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

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


      注意:

      このページで設定を変更できるのは、自動メモリー管理を無効化している場合のみです。

  5. SGAサイズ・アドバイザの使用を選択した場合は、合計メモリー・サイズを変更する曲線の位置をクリックします。それ以外の場合は、手順7に進みます。

    新しいサイズがグラフの下に表示されます。

  6. 目的の値が表示されるまで曲線上をクリックし続け、「OK」をクリックします。

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

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

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


関連項目:


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

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


注意:

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

インスタンスPGAのサイズを変更するには、次のようにします。

  1. データベースのホームページに移動します。

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

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

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

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

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

    mem_param_pga.gifの説明が続きます。
    mem_param_pga.gifの説明

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

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

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

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

  6. インスタンスPGAの新しいサイズを指定したら、「適用」をクリックします。

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


関連項目:

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

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


インスタンス: Oracle by Example Series

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

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

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/instance/instance.htm