ヘッダーをスキップ
Oracle Database管理者リファレンス
11gリリース1(11.1) for Linux and UNIX-Based Operating Systems
E05786-05
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

B HP-UXシステムでのOracle Databaseの管理

この付録では、HP-UXシステムでOracle Databaseを管理する方法について説明します。次の項目について説明します。

B.1 Oracleインスタンス用のHP-UX共有メモリー・セグメント

Oracle Databaseインスタンスの起動時に、Oracle DatabaseはOracle共有グローバル領域(SGA)の作成用に割り当てられた共有メモリーをHP-UX shmmaxカーネル・パラメータの値で除算して、メモリー・セグメントを作成します。たとえば、1つのOracleインスタンスに割り当てられた共有メモリーが64GBで、shmmaxパラメータの値が1GBの場合、Oracle Databaseはそのインスタンスに対して64個の共有メモリー・セグメントを作成します。

1つのOracleインスタンスに対して複数の共有メモリー・セグメントが作成されると、パフォーマンスが低下する可能性があります。これは、Oracle Databaseでインスタンスが作成される際に、各共有メモリー・セグメントが一意の保護キーを受け取るためです。使用できる保護キーの数は、次の表に示すように、システム・アーキテクチャにより異なります。

アーキテクチャ 保護キーの数
PA-RISC 6
Itanium 14

Oracleインスタンスが作成する共有メモリー・セグメントが保護キーの数より多い場合、HP-UXオペレーティング・システムは、保護キー・フォルトを表示します。

shmmaxパラメータの値を、システムで使用できる物理メモリーの量に設定することをお薦めします。この設定により、1つのOracleインスタンスの共有メモリー全体が1つの共有メモリー・セグメントに割り当てられ、インスタンスに必要なプロテクション・キーが1つですみます。

システムのアクティブな共有メモリー・セグメントのリストを表示するには、次のコマンドを実行します。

$ ipcs -m

Oracle Databaseがインスタンスに対して保護キーの数よりも多いセグメントを作成する場合は、shmmaxカーネル・パラメータの値を大きくします。


関連項目:

推奨されるカーネル・パラメータの最小値については、『Oracle Databaseインストレーション・ガイド』を参照してください。

B.2 HP-UX SCHED_NOAGEスケジューリング・ポリシー

HP-UXシステムでは、ほとんどのプロセスは、タイム・シェアリング・スケジューリング・ポリシーを使用します。タイム・シェアリングが適用されると、ラッチの保持などの重要な処理が実行される際にOracleプロセスがスケジュールから除外されるため、パフォーマンスが低下する場合があります。HP-UXでは、特にこの問題に対処した修正済のスケジューリング・ポリシーであるSCHED_NOAGEが使用されます。通常のタイム・シェアリング・ポリシーとは異なり、SCHED_NOAGEによりスケジュールが設定されたプロセスは、優先順位が上下する、または優先使用されることがありません。

オンライン・トランザクション処理環境では、重要なリソースを対象に競合が発生する場合があるため、この機能は、オンライン・トランザクション処理環境に適しています。オンライン・トランザクション処理環境で、Oracle DatabaseでSCHED_NOAGEポリシーを使用した場合、パフォーマンスが10%以上も向上する可能性があります。

SCHED_NOAGEポリシーを意思決定支援環境で使用しても、同じレベルのパフォーマンス上の効果は得られません。これは、リソースの競合がほとんど発生しないためです。アプリケーションとサーバーの環境はそれぞれ異なるため、使用している環境にSCHED_NOAGEポリシーが適切かどうかをテストおよび検証する必要があります。SCHED_NOAGEを使用する場合、Oracleプロセスに最も高い優先順位を割り当てる際には注意が必要です。SCHED_NOAGEポリシーを最も高い優先順位でOracleプロセスに割り当てると、システムのCPUリソースを使い果し、他のユーザー・プロセスの応答が停止する可能性があります。

B.2.1 Oracle DatabaseでのSCHED_NOAGEの有効化

Oracle DatabaseでSCHED_NOAGEスケジューリング・ポリシーを使用するには、OSDBAグループ(通常はdbaグループ)がRTSCHEDおよびRTPRIO権限を取得して、スケジューリング・ポリシーの変更、およびOracleプロセスの優先順位レベルの設定を行う必要があります。dbaグループにこれらの権限を付与するには、次の手順を実行します。

  1. rootユーザーでログインします。

  2. テキスト・エディタを使用して/etc/privgroupファイルを開くか、必要な場合は作成します。

  3. OSDBAグループの名前で始まる次の行を追加または編集し、システムが再起動するたびにこのグループに付与するRTPRIO権限とRTSCHED権限を指定します。

    dba RTPRIO RTSCHED
    
  4. ファイルを保存してテキスト・エディタを終了します。

  5. 次のコマンドを入力し、OSDBAグループに権限を付与します。

    # /usr/sbin/setprivgrp -f /etc/privgroup
    
  6. 次のコマンドを入力し、権限が正しく設定されていることを確認します。

    # /usr/sbin/getprivgrp dba
    

HPUX_SCHED_NOAGE初期化パラメータを各インスタンスのパラメータ・ファイルに追加し、このパラメータに対してプロセスの優先順位レベルを整数値で設定します。サポートされる値の範囲は178〜255です。値が小さくなるほど優先順位が高くなります。すべてのOracle DatabaseプロセスについてHPUX_SCHED_NOAGE初期化パラメータのデフォルト値は178です。LMSプロセスでは、_os_sched_high_priority初期化パラメータを設定すると、これを変更できます。_os_sched_high_priorityパラメータが31〜2の間の場合、LMSプロセスはSCHED_RRで設定された優先順位で実行されます。パラメータの値が178〜255の間の場合、プロセスはSCHED_NOAGEで設定された値で実行されます。ただし、LMSは、HPUX_SCHED_NOAGEの値より低い優先順位では実行されません。

HPUX_SCHED_NOAGEパラメータの設定が範囲外にある場合、Oracle Databaseは自動的にそのパラメータを許容値に設定し、新しい値が設定されたSCHED_NOAGEポリシーを使用して処理を続行します。また、新しい設定に関するメッセージをalert_sid.logファイルに生成します。ユーザーまたは自動再調整によって、Oracleプロセスに対して最高レベルの優先順位が割り当てられた場合、Oracle Databaseは、システムのCPUリソースが使い果される可能性があることを警告するメッセージをalert_sid.logファイルに生成します。このパラメータには、Oracleプロセスに必要な優先順位レベルを割り当てておくことをお薦めします。


関連項目:

優先順位ポリシーと優先順位の範囲の詳細は、HP-UXのドキュメント、およびrtsched(1)とrtsched(2)のmanページを参照してください。

B.3 軽量タイマーの実装

Oracle Database 11gでは、動的初期化パラメータSTATISTICS_LEVELTYPICAL(デフォルト)またはALLに設定されている場合、いつでもランタイム統計を収集できます。このパラメータ設定は、TIMED_STATISTICS初期化パラメータを暗黙的にtrueに設定します。HP-UXシステム上のOracle Databaseでは、gethrtime()システム・ライブラリ・コールを使用して、統計の収集中に経過時間を計算します。この軽量システム・ライブラリ・コールの使用により、パフォーマンスに影響を与えることなく、Oracleインスタンスを実行しながら、いつでもランタイム統計を収集できます。

TIMED_STATISTICS初期化パラメータが明示的にtrueに設定されているときに、gethrtime()システム・ライブラリ・コールを使用すると、使用しない場合に比べてOracleのパフォーマンスを最大10%向上できます。また、ランタイム統計の収集にgethrtime()システム・ライブラリ・コールを使用しても、Oracle Databaseのオンライン・トランザクション処理環境のパフォーマンスが低下することはありません。

B.4 非同期入出力

非同期入出力擬似ドライバをHP-UXシステム上で使用すると、Oracle DatabaseがRAWディスク・パーティションへの入出力を非同期方式で実行できるようになり、入出力のオーバーヘッドが減少してスループットが向上します。非同期入出力擬似ドライバは、HP-UXのサーバーとワークステーションの両方で使用できます。

この項では、次の項目について説明します。

B.4.1 MLOCK権限

Oracle Databaseで非同期入出力操作の処理を許可するには、OSDBAグループ(dba)にMLOCK権限を付与する必要があります。dbaグループにMLOCK権限を付与するには、次の手順を実行します。

  1. rootユーザーでログインします。

  2. テキスト・エディタを使用して/etc/privgroupファイルを開くか、必要な場合は作成します。

  3. OSDBAグループの名前で始まる次の行を追加または編集し、MLOCK権限を指定します。


    注意:

    このファイルでは、特定のグループに対する権限指定に1行のみを使用する必要があります。このファイルにdbaグループに関する行がすでに含まれている場合は、その行にMLOCK権限を追加してください。

    dba RTPRIO RTSCHED MLOCK
    
  4. ファイルを保存してテキスト・エディタを終了します。

  5. 次のコマンドを入力し、OSDBAグループに権限を付与します。

    # /usr/sbin/setprivgrp -f /etc/privgroup
    
  6. 次のコマンドを入力し、権限が正しく設定されていることを確認します。

    # /usr/sbin/getprivgrp dba
    

B.4.2 非同期入出力の実装

HP-UXシステムで非同期入出力を使用する場合、データベース・ファイルの記憶域オプションとしてRAWパーティションを使用する自動ストレージ管理ディスク・グループを使用する必要があります。


関連項目:

HP-UXシステムで自動ストレージ管理およびRAW論理ボリュームを構成する方法の詳細は、『Oracle Databaseインストレーション・ガイド』を参照してください。

いずれかの記憶域オプションを使用して非同期入出力を実装する前に、System Administrator Managementユーティリティを使用して、非同期ディスク・ドライバをHP-UXカーネルに設定する必要があります。

SAMユーティリティを使用して非同期ディスク・ドライバを追加し、カーネルを設定するには、次の手順を実行します。

  1. rootユーザーで次のコマンドを実行します。

    # sam
    
  2. 「Kernel Configuration」領域を選択します。

  3. 「Drivers」領域を選択します。

  4. 非同期ディスク・ドライバ(asyncdsk)を選択します。

  5. 「Action」→「Add Driver to Kernel」を選択します。

  6. 「List」→「Configurable Parameters」を選択します。

  7. MAX_ASYNC_PORTSパラメータを選択します。

  8. 「Action」→「Modify Configurable Parameter」を選択します。

  9. 次のガイドラインを使用して、パラメータに新しい値を指定し、「OK」をクリックします。

    MAX_ASYNC_PORTSパラメータは、設定可能なHP-UXカーネル・パラメータで、/dev/asyncファイルを同時に開ける最大プロセス数を制御します。

    最大数のプロセスが/dev/asyncファイルを開いた後で別のプロセスがそのファイルを開こうとすると、エラー・メッセージが表示されます。多数のシャドウ・プロセスやパラレル問合せスレーブが非同期入出力を実行しているシステムで、このエラーが発生すると、システムのパフォーマンスが低下する場合があります。このエラーは記録されません。このエラーを回避するには、/dev/asyncファイルにアクセスする可能性がある最大プロセス数を推定し、MAX_ASYNC_PORTSパラメータにその値を設定します。

  10. 「Action」「Process a New Kernel」を選択します。

  11. 次のオプションのいずれかを選択し、「OK」をクリックします。

    • 「Move Kernel Into Place and Shutdown System/Reboot Now」

    • 「Do Not Move Kernel Into Place: Do Not Shutdown/Reboot Now」

    2番目のオプションを選択した場合は、新しいカーネルvmunix_testとその作成に使用されるsystem.SAM構成ファイルが、/stand/buildディレクトリに作成されます。

HP-UX非同期デバイス・ドライバを使用して非同期入出力操作を有効にするには、次の手順を実行します。

  1. rootユーザーでログインします。

  2. 次のコマンドを入力し、デバイス・ファイルを作成します。

    # /sbin/mknod /dev/async c 101 0x100
    

    デフォルトでは、マイナー番号は0(ゼロ)に設定されます。次の表に、デバイス・ファイルの作成に使用できる8ビットのマイナー番号を示します。

    マイナー番号 説明
    0x0 これはデフォルト値です。
    0x1 これを設定すると、即時レポート作成がディスク・ライターで有効化されます。ディスク・デバイスをO_SYNCフラグを使用してオープンした場合、即時レポート作成は常に無効化されます。したがって、ディスク・ドライブで即時レポート作成を使用するには、次のようにします。
    • scsictlコマンドを使用して、即時レポート作成をディスク・デバイスで有効化します。

    • /dev/asyncマイナー番号を設定して、0x1ビットを指定します。

    • O_SYNCフラグを使用せずに、ディスク・デバイスをオープンします。

    0x2 これを設定すると、読取り要求の後、CPUキャッシュがフラッシュされます。この追加のキャッシュ・フラッシュは、アプリケーションがデバイスから読取り中のデータ・バッファを処理する場合にのみ必要です。このビットを設定することにより、パフォーマンスが多少向上します。
    0x4 これを設定すると、永久的に再試行するかわりに、ディスク・デバイス・タイムアウトが完了し、エラー・コードが表示されます。アプリケーションで独自のディスク・ミラー化を実行する必要がある場合は、このビットが必要です。そうでない場合、アプリケーションは、ディスク・デバイスが正しく修復されるまで永続的に待機します。たとえば、このマイナー番号は、自動ストレージ管理のミラーリング/レプリケーション(内部冗長性)の使用時に使用する必要があります。
    0x5 これは0x1および0x4の組合せです。
    0x7 これは0x1、0x2および0x4の組合せです。
    0x100 このビットを設定すると、主に、asyncdsk_open()の際、ページのロックを防ぐことができます。ページがすでにロックされている場合、非同期ドライバがロック・ビットをチェックして継続します。したがって、Oracle Databaseでは、起動時間(特にデータベースのSGAが大きい場合)が改善されます。また、MLOCK権限をOracleソフトウェア(dba)を所有しているグループに割り当てると、データベースがSGAをロックします。そのため、この場合非同期ドライバは、かわりにオーバーヘッドの低いルーチンを使用して、ページへの最初の入出力の際に各ページをロックします。このビットの設定により、その後も不要にページをロックする必要がなくなります。

  3. 次のコマンドを入力し、メジャー番号が101の/dev/asyncデバイス・ファイルが存在することを確認します。

    # ls -l /dev/async
    

    このコマンドの出力は、次のようになります。

    crw------- 1 oracle   dba     101 0x000000 Oct 28 10:32  /dev/async
    
  4. 必要に応じて、このデバイス・ファイルに対し、Oracleソフトウェア所有者およびOSDBAグループとの整合性があるオペレーティング・システム所有者とアクセス権を設定します。

    Oracleソフトウェア所有者がoracleで、OSDBAグループがdbaの場合は、次のコマンドを実行します。

    # /usr/bin/chown oracle:dba /dev/async
    # /usr/bin/chmod 660 /dev/async
    

B.4.3 非同期入出力の検証

非同期入出力を検証するには、最初に、HP-UX非同期ドライバがOracle Databaseに対して構成されていることを検証し、次に、Oracle DatabaseがHP-UXデバイス・ドライバを介して非同期入出力を実行していることを検証します。

B.4.3.1 HP-UX非同期ドライバがOracle Databaseに対して構成されているかどうかの検証

HP-UX非同期ドライバがOracle Databaseに対して構成されていることを検証するには、次の手順を実行します。

  1. パラレル問合せスレーブ・プロセスの数が少ないOracle Databaseを起動します。

  2. 次のコマンドを入力して、GlancePlus/UXユーティリティを起動します。

    $ gpm
    
  3. メイン・ウィンドウで、「Reports」「Process List」をクリックします。

  4. 「Process List」ウィンドウで、パラレル問合せスレーブ・プロセスを1つ選択し、「Reports」「Process Open Files」を選択します。

    パラレル問合せスレーブ・プロセスにより現在開かれているファイルのリストが表示されます。

  5. オープン・ファイルのリストで、/dev/asyncファイルまたは101 0x104000モードを検索します。

    いずれかがリストに含まれている場合、/dev/asyncファイルはパラレル問合せスレーブ・プロセスにより開かれ、HP-UX非同期デバイス・ドライバは、Oracleプロセスが非同期入出力を実行できるように正しく構成されています。/dev/asyncファイルのファイル記述子番号を書きとめてください。

B.4.3.2 Oracle Databaseが非同期入出力を使用しているかどうかの検証

Oracle DatabaseがHP-UX非同期デバイス・ドライバを介して非同期入出力を使用しているかどうかを検証するには、次の手順を実行します。

  1. HP-UXシステムのtuscユーティリティを、前の手順のGlancePlusで選択したものと同一のOracleパラレル問合せスレーブに連結します。

  2. 使用している環境で入出力バウンド問合せを実行します。

  3. tusc出力で読取り/書込みコールのパターンをチェックします。

    そのためには、たとえば、次のコマンドを入力します。pidは、非同期入出力を処理する予定のパラレル問合せスレーブのプロセスIDです。

    $ tusc -p pid > tusc.output
    
  4. 問合せの実行後、[Ctrl]キーを押しながら[C]キーを押してプロセスから切断し、tusc.outputファイルを開きます。

    次に、tusc.outputファイルのサンプルを示します。

    ( Attached to process 2052: "ora_p000_tpch" [ 64-bit ])
    ...................
    ........................
    [2052] read(9, "80\0\001\013  \b\0\0\0\0\0\0\0\0".., 388) .. = 28
    [2052] write(9, "\0\0\00e\0\0\0\080\0\001\013Ð \0".., 48) .. = 48
    [2052] read(9, "80\0\001\013¢ 18\0\0\0\0\0\0\0\0".., 388) .. = 28
    [2052] write(9, "\0\0\00e\0\0\0\080\0\001\01bd4\0".., 48) .. = 48
    
    
    
    

    DISK_ASYNCH_IO初期化パラメータが明示的にfalseに設定されていない場合(デフォルトのtrueになっている場合)、tusc.outputファイルには、同じファイル記述子(この例では9)の非同期read/writeコールのパターンが連続して表示されます。

    tusc.outputファイルのファイル記述子番号をGlancePlusの/dev/asyncファイルで使用されている番号にマップします。この番号は、特定のパラレル問合せスレーブ・プロセスに一致している必要があります。これにより、HP-UX非同期デバイス・ドライバを介した入出力が非同期であることが検証されます。同期入出力の場合またはDISK_ASYNC_IO初期化パラメータが明示的にfalseに設定されている場合、前述の非同期read/writeパターンは表示されません。かわりに、lseekまたはpread/pwriteのコールが表示されます。また、1つのファイル記述子のみでなく、多数の異なるファイル記述子(read/writeの最初の引数)が表示されます。

B.4.4 SGAの非同期フラグ

HP-UXシステム上のOracle Databaseでは、HP-UX非同期ドライバが提供する非ブロック・ポーリング機能を使用して、入出力操作の状態がチェックされます。このポーリングは、送信された入出力操作の状態に基づいて非同期ドライバが更新するフラグのチェックにより実行されます。HP-UXでは、このフラグが共有メモリーに読み込まれている必要があります。

Oracle Databaseでは、非同期フラグを各OracleプロセスのSGA内に構成します。HP-UXシステム上のOracle Databaseは、真の非同期入出力メカニズムを備え、以前に発行された入出力操作の一部が完了していなくても、入出力要求を発行できます。これにより、パフォーマンスが向上し、パラレル入出力プロセスのスケーラビリティが保証されます。

リリース8.1.7以前のOracle Databaseのリリースでは、入出力操作は、HP-UX非同期ドライバを使用して共有メモリーからのみ実行できました。Oracle Database 11gは、新しいHP-UX非同期ドライバを使用して共有メモリーおよびプロセス・プライベート領域の両方から入出力操作を実行します。ただし、非同期ドライバを介した入出力操作は、本質的には非同期ではありません。Oracle Databaseでは、ブロック待機を実行して、非同期ドライバに送信された入出力操作の状態をチェックする必要があるためです。これにより、データベース・ライター・プロセスなど一部のOracleプロセスでは、本質的に同期入出力が処理されています。

B.5 大規模メモリーの割当ておよびOracle Databaseのチューニング

Oracle Database 11g上で実行するアプリケーションは、以前のリリースで実行するアプリケーションと比べて非常に大きいメモリーを使用できます。これは、HP-UXシステム上のOracle Database 11gで、仮想メモリー・データ・ページのデフォルト設定値がD(4KB)からL(4GB)に変更されたためです。

この項では、次の項目について説明します。

B.5.1 デフォルトの大規模仮想メモリー・ページ・サイズ

デフォルトでは、Oracle Databaseは、プロセス・プライベート・メモリーの割当てに、HP-UXシステムの使用可能な最大の仮想メモリー・ページ・サイズ設定を使用します。このサイズは、値L(最大)で定義され、現在HP-UX v2 (11i.23)です。この値は、Oracle実行可能ファイルのリンク時に、LARGE_PAGE_FLAGSオプションの1つとして設定されます。

仮想メモリー・ページ・サイズがLに設定されている場合、HP-UXは、使用可能なプロセス・プライベート・メモリーを、1GB制限まで、または割り当てられたメモリー量の合計に達するまで、1MB、4MB、16MBなどのサイズのページに割り当てます。Oracle PGAに十分なメモリーが割り当てられていて、大きなデータ・ページ・サイズ単位でのメモリー割当てが可能な場合は、オペレーティング・システムは、一度に最大のページ・サイズを割り当てます。たとえば、Oracle PGAに48MBを割り当てている場合、システムでは、16MBを3ページ設定するか、またはより小さい倍数の単位サイズのページを組み合せることができます。たとえば、1MBを4ページ、4MBを3ページおよび16MBを2ページに設定します。PGAに64MBを割り当てた場合、データ・ページ単位サイズと使用可能なメモリー量とが一致するため、1ページ(64MB)がオペレーティング・システムによって割り当てられます。

オペレーティング・システムが処理する必要のある仮想メモリー変換時のエラー数が減り、より多くのCPUリソースをアプリケーションに解放できるため、通常、大規模メモリー・ページによりアプリケーションのパフォーマンスが向上します。また、規模の大きいページにより、プロセス・プライベート・メモリーの割当てに必要なデータ・ページ数の合計も減ります。このため、プロセッサ・レベルでのTranslation Lookaside Bufferミスの可能性も減ります。

ただし、アプリケーションにメモリーの制約があり、非常に多くのプロセスを実行する傾向がある場合は、この大幅なページ・サイズの増加によりプロセスに大規模なメモリーの割当てが指示され、メモリー不足エラー・メッセージが発生する可能性があります。メモリー不足エラーが発生する場合は、ページ・サイズの値を小さくして、D(デフォルト)サイズの4KBとL(最大)サイズの4GBの間に設定する必要があります。

最小ページ・サイズ設定値(4KB)を使用すると、最大ページ・サイズ設定値を使用した場合よりもCPU使用率が20%以上高くなります。最大設定値Lを使用すると、4MBの設定値を使用した場合よりもメモリー使用率が50%高くなります。システムにメモリー制約がある場合は、使用できるメモリー・リソースの制約内で、ページ・サイズを特定のアプリケーションの要件と一致するように設定することをお薦めします。

たとえば、設定値Lでは問題が発生するアプリケーションで、設定値4MBの仮想メモリー・ページを使用すると、適切なパフォーマンスが得られる場合があります。

B.5.2 チューニングに関する推奨事項

永続的なプライベートSQL領域および大規模仮想メモリー・ページ・サイズへのメモリー割当ての増加に対応してチューニングを行うには、必要に応じて、Oracle Databaseの仮想メモリー・データ・ページ・サイズを減らすことをお薦めします。次のコマンドを使用して、ページ・サイズ設定を変更します。

# /usr/bin/chatr +pd newsize $ORACLE_HOME/bin/oracle

この例のnewsizeは仮想メモリー・ページ・サイズの新しい値です。

chatrコマンドを次のように使用して、新しい設定を表示します。

# /usr/bin/chatr $ORACLE_HOME/bin/oracle

B.6 CPU_COUNT初期化パラメータおよびHP-UX動的プロセッサ再構成

HP-UX 11iでは、プロセッサ・セットの動的ランタイム再構成、および有効なユーザーによるプロセッサ・セット間の作業負荷の動的再割当てをサポートしています。

HP-UX Virtual Partitionsを使用すると、ユーザーは、各自のシステムを複数の論理パーティションで構成し、各パーティションに独自のプロセッサ、メモリーおよび入出力リソースのセットを割り当てて、HP-UXオペレーティング・システムの個別のインスタンスを実行できます。vParsに組み込まれているHP-UX Processor Setsを使用すると、仮想パーティションを再起動せずに、仮想パーティション間で動的プロセッサを移行できます。これにより、アプリケーション間でリソースのパーティション化を効率的に行い、HP-UXサーバー上で実行する各アプリケーションで必要なリソースの割当てに対する干渉および保証を最小限にできます。

Oracle DatabaseのCPU_COUNT初期化パラメータは、Oracle Databaseで使用可能なCPU数を指定します。HP-UX 11iシステムのOracle Database 11gでは、オペレーティング・システムを定期的に問い合せることにより、CPUホスト構成の変更を動的に検出できます。システムのCPU数が変更された場合、OracleはCPU_COUNTパラメータを適切な値に調整して、その内部リソースを再割当てします。これにより、新しい作業負荷は新しく追加されたプロセッサを利用できるため、高いCPU使用率が原因でボトルネックが発生している場合は、DBAによる変更を必要とせずに、データベースのパフォーマンスを改善できます。

初期化パラメータの一部の値は、システムの起動時にCPU_COUNT値に基づいて計算されます。システムの起動後にCPU数が変更された場合、Oracleではこれらの初期化パラメータは動的に更新されず、新しいCPU数は考慮されません。新しいCPU数が元のCPU数と大きく異なると、データベース構成が最適でなくなる場合もあります。システムでCPU数が大幅に増加すると、データベースは追加された処理能力を利用できない可能性があります。

たとえば、2から4のように、システムで増加したCPU数が小さい場合、処理は必要ありません。

たとえば、2から32のように、システムで増加したCPU数が大きい場合、次の手順に従ってください。

  1. 次のいずれかの方法を使用して、CPU_COUNT初期化パラメータを新しい値に設定します。

    • データベースでサーバー・パラメータ・ファイル(spfiledbname.ora)を使用している場合は、次のSQL*PlusコマンドをSYSユーザーで実行し、新しいパラメータ値を指定します。

      SQL> ALTER SYSTEM SET CPU_COUNT=32 SCOPE=SPFILE
      
    • データベースで初期化パラメータ・ファイル(initsid.ora)を使用している場合は、このファイルを編集して新しいパラメータ値を指定します。

  2. データベースを再起動します。

B.7 ネットワーク情報サービスの外部ネーミングのサポート

HP-UXシステムでは、ネットワーク情報サービス外部ネーミング・アダプタがサポートされています。ネットワーク情報サービス外部ネーミングの構成方法と使用方法の詳細は、『Oracle Database Net Services管理者ガイド』の「外部ネーミング・メソッドの構成」を参照してください。