ヘッダーをスキップ

Oracle Database 2日でデータベース管理者
10g リリース2(10.2)

B19197-03
目次
目次
索引
索引

戻る 次へ

5 Oracleインスタンスの管理

この章では、Oracleインスタンスおよびデータベースについて説明します。

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

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

Oracleデータベースは、一連のオペレーティング・システム・ファイルで構成されています。オペレーティング・システム・ファイルには、ユーザーまたはアプリケーションによって入力されるデータと、メタデータと呼ばれるデータベース自体に関する構造情報が含まれます。情報は、これらのファイルに永続的に格納されます。

ユーザーおよびアプリケーションがデータベース内のデータを表示または更新できるようにするには、Oracleでは、バックグラウンド・プロセスと呼ばれる一連のプロセスを起動し、データベース操作中に使用するメモリーを割り当てる必要があります。このバックグラウンド・プロセスおよびOracleが割り当てたメモリーで、インスタンスが構成されます。データベースに対して読取りおよび書込みを行うには、インスタンスを起動する必要があります。ただし、データベースの保持には、インスタンスの実行は必要はありません。

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

データベース・インスタンスのプロパティは、インスタンスの初期化パラメータを使用して指定します。インスタンスを起動すると、初期化パラメータ・ファイルが読み取られ、それに応じてインスタンスが構成されます。

この項では、インスタンスとその管理の概念の一部について説明します。この項の内容は次のとおりです。

初期化パラメータについて

インスタンス管理には、データベース・インスタンスの基本操作に影響するパラメータの設定が含まれます。これらのパラメータは初期化パラメータと呼ばれます。Oracleデータベース・サーバーは、データベースの起動時にこれらのパラメータを読み取り、データベースの実行中に監視します。これらのパラメータはメモリーに格納され、その多くは、メモリー内で動的に変更できます。パラメータ・ファイルには2つのタイプがあり、これらの動的変更がデータベースの停止から起動までの間一貫性を維持しているかどうかは、使用しているパラメータのタイプによって異なります。

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

サーバー・パラメータ・ファイルは、初期化パラメータ・ファイルの優先される形式であり、データベースによって書込みおよび読取りが可能なバイナリ・ファイルです。手動では編集しないでください。 このファイルはOracleが実行されているマシンに常駐し、このファイルに対する変更は停止や起動に関係なく維持されます。

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

このタイプの初期化パラメータ・ファイルは、データベース・サーバーによって読取りはできますが、書込みはできません。このファイルでは、テキスト・エディタを使用して初期化パラメータを設定でき、停止や起動の間も維持されます。

インスタンスのメモリー構造

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

DBCAを使用してデータベースを作成すると、データベース・ワークロード(データ・ウェアハウス、汎用目的、トランザクション処理など)に基づいて、メモリー・パラメータが最適な値に自動的に設定されます。ただし、データベースの使用率の増加に応じて、メモリー・パラメータの設定を変更できます。

Oracleでは、メモリーのサイズ調整での問題の特定、およびメモリー・パラメータに対する適切な値の判断に有効なアラートおよびアドバイザが提供されます。

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

SGAは、インスタンスのデータおよび制御情報を含む共有メモリー領域です。複数のユーザーがこのメモリー領域内でデータを共有でき、物理ディスクから繰返し行われる時間の要するアクセスを回避できます。最適なパフォーマンスを得るには、頻繁なディスク読取りおよび書込みの必要がないように、十分な大きさのSGAが必要です。

SGAには、次に示すサブコンポーネントがあります。

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

バッファ・キャッシュ 

データベース内に格納されたデータの問合せまたは変更を行うには、データがディスクから読み取られ、バッファ・キャッシュのメモリー内に格納される必要があります。データベースに接続されるすべてのユーザー・プロセスは、バッファ・キャッシュへのアクセスを共有します。 

共有プール 

共有プールは、ユーザー間で共有可能な次の情報をキャッシュします。

  • 再利用可能なSQL文

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

  • ストアド・プロシージャ(データベースに格納されている実行可能コード)

 

REDOログ・バッファ 

このバッファは、ディスクに格納されている物理REDOログ・ファイルに適切な時期に一度に書き込むことができるまで、インスタンスのリカバリに使用するREDO情報をキャッシュしてパフォーマンスを向上させます。REDO情報およびREDOログ・ファイルについては、「オンラインREDOログ・ファイル」を参照してください。 

ラージ・プール 

このオプション領域は、様々なサーバー・プロセスに対する大量のI/O要求のバッファに使用されます。 

Javaプール 

Javaプールのメモリーは、Java Virtual Machine(JVM)内のすべてのセッション固有のJavaコードおよびデータに使用されます。 

Streamsプール 

Streamsプールは、Oracle Streams製品によって使用されます。 

プログラム・グローバル領域(PGA)

プログラム・グローバル領域(PGA)は、単一のOracleサーバー・プロセスによって使用されるメモリー領域です。サーバー・プロセスは、クライアントの要求を処理するプロセスです。プロセスの起動時、各サーバー・プロセスには、その固有の非共有PGAがあります。

PGAは、SQL文を処理し、ログオンおよびその他のセッションに関する情報を保持するために使用されます。

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

参照:

「メモリー・パラメータの管理」 

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

Oracleは、インスタンスの一連のバックグラウンド・プロセスを作成します。これらのバックグラウンド・プロセスは、メモリー構造を管理し、非同期にI/Oを実行してデータをディスクに書き込み、一般的な保守タスクを実行します。バックグラウンド・プロセスは、(バックグラウンド・プロセスがなければ)各ユーザー・プロセスのために実行される複数のOracleプログラムが処理する機能を統合します。また、他のOracleプロセスを監視し、パフォーマンスと信頼性を向上させるための並列性を向上させます。

存在するバックグラウンド・プロセスは、データベースで使用されている機能によって異なります。最も一般的な(管理者に直接関係がある)バックグラウンド・プロセスを、表5-2「Oracleバックグラウンド・プロセス」に示します。

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

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

データベース・ライターは、変更されたブロックをデータベース・バッファ・キャッシュからディスクのファイルに書き込みます。Oracleでは、最大20のデータベース・ライター・プロセスを使用できます。 

ログ・ライター(LGWR) 

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

チェックポイント 

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

システム・モニター(SMON) 

システム・モニターは、障害が発生したインスタンスの再起動時にクラッシュ・リカバリを実行します。 

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

プロセス・モニターは、ユーザー・プロセスで障害が発生した場合にリカバリを実行します。キャッシュのクリーンアップ、および障害が発生したプロセスで使用されていたリソースの解放を実行します。 

アーカイバ(ARCn) 

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

データベースへのアクセス

データベース・インスタンスは、Oracleインスタンスへの特別な接続権限を持つデータベース管理者のみが起動できます。データベース・インスタンスは、起動後、データベース・アカウントを持つユーザーのアクセスに対していつもオープン状態になります。

データベース管理者権限

Oracleインスタンスおよびデータベースを起動する管理者は、特別な接続権限でインスタンスに接続する必要があります。これらの権限には、完全な権限を与えられたデータベース管理者用のSYSDBA、およびユーザー・オブジェクトにアクセスする権限なしでデータベースを操作するユーザー用のSYSOPERがあります。これらの権限に対する認可は、オペレーティング・システムまたは特別なパスワード・ファイルのいずれかによって付与されます。

Oracleデータベースを作成すると、自動的に作成されるSYSおよびSYSTEMという2つの主要な管理ユーザー・アカウントがあります。これらの両方のユーザーは完全なデータベース管理権限を所有していますが、ユーザーSYSのみがSYSDBA権限で最初に接続できます。

Oracleデータベースの起動

インスタンスおよびデータベースを起動するプロセスは次のとおりです。

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

    Oracleは、初期化パラメータ・ファイルを読み取り、SGAメモリーを割り当て、インスタンスのバックグラウンド・プロセスを起動します。

  2. データベースのマウントを選択した場合、インスタンスはデータベースの制御ファイルを開きます。データベースがマウント状態になります。この状態で、管理者は、他のユーザーがデータベースにアクセスしている場合に実行可能な特定の管理機能を実行できます。

  3. データベースのオープンを選択した場合、インスタンスはデータベースのREDOログ・ファイルおよびデータファイルを開きます。データベースがオープン状態になり、すべてのユーザーがアクセスできるようになります。

    デフォルトの起動操作では、前述の3つの手順を実行します。別の方法で明示的に指定しないかぎり、インスタンスが起動され、データベースがマウントされてオープン状態になります。

Oracleデータベースの停止

データベースを停止するには、起動プロシージャを無効にします。

  1. 「Oracleデータベースの起動」に示す方法のいずれかを使用して、データベースを停止します。SGAにキャッシュされ、ディスクに書き込まれていない変更されたすべてのデータ・ブロックが、この時点でディスクに書き込まれます。REDOログ・バッファもフラッシュされます。データファイルにはチェックポイントが設定され、それらのヘッダーは、データベースがクローズされた時点で「現行」とマークされます。データファイルおよびログ・ファイルが閉じられます。ユーザーはデータベースにアクセスできなくなります。

  2. Oracleインスタンスは、データベースをディスマウントし、制御ファイル内の関連エントリを更新して、正常な停止を記録します。制御ファイルが閉じられます。データベースがクローズされ、インスタンスのみがそのままの状態になります。

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

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

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

クライアントとOracleが同じマシンで動作する場合、ユーザー・プロセスとそれに対応するサーバー・プロセスを組み合せて単一のプロセスにすると、システムのオーバーヘッドを削減できます。ただし、クライアントとOracleが異なるマシンで動作する場合は、常に、ユーザー・プロセスは個別のサーバー・プロセスを介してOracleと通信します。

サーバー・プロセスは、専用または共有のいずれかにできます。専用サーバー・モードでは、各クライアント・プロセスが専用のサーバー・プロセスを使用します。専用サーバー・プロセスは時間がかかる問合せおよび管理タスクに便利ですが、アイドル状態のプロセスがあったり、専用プロセスが多すぎると、リソースを効率的に使用することができません。

共有サーバー・モードを使用すると、接続ごとの専用サーバー・プロセスが不要になります。ディスパッチャは、受信ネットワーク・セッション要求を共有サーバー・プロセスのプールに送信します。アイドル状態の共有サーバー・プロセスは、共通のキューから要求を選択します。つまり、少数の共有サーバーが専用サーバーと同じ量の処理を実行できます。各ユーザーに必要なメモリーの量が比較的小さいため、メモリーおよびプロセス管理はほとんど必要なく、より多くのユーザーをサポートできます。

共有サーバー・モードは、複数のユーザーおよびクライアントが時間のかからない問合せを頻繁に行う場合に、より有効です。

ネットワーク接続

Oracle Netは、異なる物理マシンが、Oracleデータベースにアクセスするために通信を行うことを可能にするソフトウェアのレイヤーです。クライアント・マシンおよびデータベース・サーバーで実行されます。クライアント・マシンとデータベース・サーバーが同じマシンの場合があります。

Oracle Netを使用すると、クライアントおよびサーバーが、多くの一般的なネットワーク・プロトコルを使用してネットワーク上で通信できます。また、クライアント・マシンがサーバーの位置を認識する必要がないように、位置の透過性が提供されます。データベースを別の場所に移動する場合、Oracle Netの再構成のみを行う必要があります。クライアント・アプリケーションに必要な変更はありません。

Oracle Netは、個別に構成および起動して、データベースへのクライアント接続を処理する必要があります。Oracle Netは、Oracle Enterprise Managerまたは個別に起動されるOracle Net Managerと呼ばれるGUIツールを使用して構成できます。詳細は、第4章「ネットワーク環境の構成」を参照してください。

インスタンスを起動すると、リスナー・プロセスがOracleとの通信経路を確立します。ユーザー・プロセスで接続要求が行われると、リスナーは、共有サーバー・ディスパッチャ・プロセスまたは専用サーバー・プロセスのいずれを使用するかを判断し、適切な接続を確立します。

Enterprise Managerを使用したインスタンスおよびデータベースの停止および再起動

インスタンスまたはデータベースを停止した後、再起動する必要がある場合は、図5-1「データベースの「ホーム」ページの「停止」または「起動」ボタン」に示す「データベース」の「ホーム」ページの「一般」ヘッダーの下にある「停止」または「起動」ボタンをクリックすると、この操作を実行できます。

図5-1    データベースの「ホーム」ページの「停止」または「起動」ボタン


画像の説明

最初のページには、「起動/停止: ホストとターゲット・データベースの資格証明の指定」が表示されます。このページでは、SYSDBAまたはSYSOPER権限を使用して、Oracleが実行されているマシンおよびデータベース自体へのログインを求められます。次の画面では、オプションを指定して、データベースの停止または起動を実行できます。

Windowsでのデータベース・インスタンスの起動および停止

Windowsサービス・プログラムを使用して、Oracleデータベースを起動および停止できます。Oracleを起動するには、次のサービスを開始する必要があります。

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

これらのサービスを開始するには、次の手順を実行します。

  1. スタート」をクリックし、「設定」→「コントロール パネル」→「管理ツール」→「サービス」をクリックします。

    ご使用のシステムで選択可能なすべてのサービスが表示されます。

  2. この項の最初に示したOracleサービスを検索します。たとえば、SIDがorclの場合は、次のサービスを検索します。

    • OracleServiceORCL

    • OracleOraDb10g_home1TNSListener

    • OracleDBConsoleorcl

  3. 3つのサービスをすべて開始します。次の方法を使用できます。

    • サービスを右クリックして、「開始」を選択します。

    • 操作」メニューで、「開始」を選択します。

    • サービスをダブルクリックしてダイアログ・ボックスを開き、「開始」をクリックします。

データベースを停止するには、「開始」のかわりに「停止」をクリックします。

初期化パラメータの表示および変更

Oracle提供の事前構成済データベースのいずれかをインストールすると、初期化パラメータは、指定した環境での通常の使用に対応して最適化されます。この項では、データベースの初期化パラメータ設定の表示手順およびパラメータの変更手順について説明します。

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

  1. 「データベース」の「ホーム」ページで、「管理」プロパティ・ページをクリックします。図5-2に示す、「管理」ホームページが表示されます。

    図5-2    「データベース」の「管理」ページ


    画像の説明

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

    Enterprise Managerによって、「初期化パラメータ」ページが表示されます。このページには、データベース・インスタンスの各初期化パラメータの値が表示されます。このページの「SQL表示」、「元に戻す」および「適用」ボタンを使用して、初期化パラメータの値を変更できます。

    「初期化パラメータ」プロパティ・ページには、次の2つのタブが表示されます。

    • 現行: このページには、現在データベース・インスタンス用のメモリー内にある初期化パラメータの値がすべて表示されます。

      このページを使用して、現在実行中のインスタンスで、パラメータを動的に変更できます。「動的」とマークされたパラメータのみ変更できます。変更するには、新しい値を入力して「適用」をクリックします。

    • SPFile: このプロパティ・ページは、サーバー・パラメータ・ファイルを使用している場合に表示されます。ファイルの位置は、表の最上部に表示されます。このプロパティ・ページには、サーバー・パラメータ・ファイルのパラメータの設定が表示されます。

      このファイルのパラメータ設定に対する変更は、インスタンスの起動や停止の間も維持されます。一貫性を維持して初期化パラメータに永続的な変更を行うには、新しい値を入力して「適用」をクリックします。オプションで、SPFileでの変更を現在実行中のインスタンスに適用するように選択することによって、現在実行中のインスタンスに変更を適用できます。このボックスを選択しない場合、データベースが停止および再起動されるまで、変更は反映されません。

    基本」とマークされたパラメータは、すべての初期化パラメータのサブセットであり、データベースを正常に実行するために必要です。

    データベースのユーザー数が増加し、ワークロードが増加した場合、いくつかの初期化パラメータを変更する必要があります。これらの変更は、前述したとおり「初期化パラメータ」ページを使用して行うか、またはOracle提供のいずれかのアドバイザを使用して行うことができます。そのようなアドバイザの1つであるメモリー・アドバイザについては、「メモリー・パラメータの管理」を参照してください。

メモリー・パラメータの管理

メモリー・パラメータは初期化パラメータであり、システム・グローバル領域(SGA)とプログラム・グローバル領域(PGA)の合計サイズおよびSGAのサブコンポーネントの合計サイズを決定します。メモリー・パラメータの設定は、データベースのパフォーマンスに影響する場合があります。データベースをインストールすると、これらのパラメータは、指定した環境の要件を満たすようにチューニングされます。

データベースを構成したときに自動共有メモリー管理を使用可能にした場合、Oracleは、SGAのサブコンポーネント(共有プール、バッファ・キャッシュなど)のサイズを自動的に設定します。このような場合は、自動メモリー・チューニングを有効にすることをお薦めします。

自動共有メモリー管理が無効になっている場合、「メモリー・パラメータ」ページで有効にすることができます。「インスタンス」ヘッダーの下にある「メモリー・パラメータ」をクリックすると、「管理」ページからこのページに移動できます。このページから、自動共有メモリー管理を有効または無効にできます。また、これらのプロパティ・ページから、SGAおよびPGAメモリーの設定も表示できます。

メモリー・パラメータの変更

インスタンスを停止せずにSGAサブコンポーネントのサイズを変更するために、「メモリー・パラメータ」ページで自動共有メモリー管理を無効にすることができます。「メモリー・パラメータ」ページの「アドバイス」ボタンを使用すると、メモリー・アドバイザ(第10章「データベースの監視およびチューニング」「メモリー・アドバイザの使用」を参照)によって、最適なメモリーの設定に対するアドバイスが表示されます。メモリーの設定を手動で変更する場合は、新しいサイズを入力して、インスタンスの起動中に動的に変更を適用することができます。

また、「初期化パラメータ」ページの「現行」プロパティ・ページから、メモリー・パラメータの変更を行うこともできます。ただし、メモリー・パラメータの動的な変更にはいくつかの制限があります。詳細は、『Oracle Database管理者ガイド』を参照してください。

メモリー・パラメータに対して、インスタンスの起動や停止の間も維持される変更を行うには、パラメータ・ファイルを変更する必要があります。これには、「メモリー・パラメータ」ページから「SPFile」プロパティ・ページに移動し、このプロパティ・ページで変更を行います。

参照:

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

インスタンス: Oracle by Example Series

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

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

http://www.oracle.com/technology/obe/10gr2_2day_dba/instance/instance.htm

戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

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