• 検索結果がありません。

Operating Systems

D.4 非同期入出力

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

HP-UXで非同期入出力を使用するには、データベース・ファイルの記憶域オプションとし

てRAWパーティションを使用する自動ストレージ管理ディスク・グループを使用する必要があり ます。

関連項目:

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

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

注意: Oracle Database 11gリリース1では、ファイル・システムに対し

てDISK_ASYNCH_IOパラメータをFALSEに設定する必要がありませんでした。しか し、Oracle Database 11gリリース2からは、データベース・ファイルの格納にファイル・

システムを使用する場合、初期化パラメータDISK_ASYNCH_IOをFALSEに設定する必要 があります。デフォルトでは、DISK_ASYNCH_IOの値はTRUEです。

DISK_ASYNCH_IOパラメータをTRUEに設定する必要があるのは、データベース・ファ イルの格納にRAWパーティションを使用する場合のみです。

System Administrator Managementユーティリティを使用して非同期ディスク・ドライバを追加し、

カーネルを構成するには、次の手順を実行します。

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

# sam

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

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

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

5. 「Actions」→「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. 「Actions」→「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. /dev/asyncが存在しない場合は、次のコマンドを使用して作成します。

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

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

マイナー番号 説明

0x0 これは、/dev/asyncのHP-UXのデフォルト値です。

0x4 永久的に再試行するかわりに、ディスク・デバイス・タイムアウトが完了して エラー・コードが表示されるようになります。アプリケーション・レベルのデ ィスク・ミラー化には、障害が発生したディスク・デバイスの修復をアプリケ ーションが永久的に待機する状況を回避するために、この設定が必要で

す。Oracle RDBMSユーザーは、自動ストレージ管理のミラーリング/レプリケー

ション(内部冗長性)を使用する場合、この機能を有効にする必要がありま す。SGAはメモリー内でロックされます。

タイムアウト値はasyncdsk_io_timeoutを使用してチューニングできます。

これは、HP-UX 11i v3で使用可能な、プライベートかつ動的なチューナブルで

す。asyncdsk_io_timeoutのデフォルト値は30秒です。このチューナブルの 有効値の範囲は10から300までです。kctune(1M)を起動する

とasyncdsk_io_timeoutチューナブル値を変更できます。

HP-UX論理ボリューム・マネージャ(LVM)で構成されているボリュームの場

合、タイムアウトはHP-UX LVMによって制御されるため、このフラグは必要あ りません。

0x100 asyncdsk_open(2)のコール時の、非同期ドライバによるメモリー・ページのオン

デマンド・ロックが可能になります。オーバーヘッドの低いルーチンが、I/O 作の際にページをメモリー内にロックするために使用されます。

オンデマンド・ロックは、Oracleの自動メモリー管理機能(メモリー使用量の制 御にinit.oraファイルのMEMORY_TARGETを使用)を使用する場合、非常に重

要です。動的nParまたは動的vPar機能を利用するRDBMSデプロイメントでは、

オンデマンド・ロックも構成する必要があります。

従来のRDBMSデプロイメントでは、オンデマンド・ロックの明らかな効果を踏

まえてその使用を検討できます。一般に、SGA全体がメモリー内に即時にロッ クされないため、RDBMSの起動が速くなります。ただし、メモリー・ページ I/Oリクエストごとに動的にロック/ロック解除されるため、オンデマンド・ロ ックによってランタイム・パフォーマンスがわずかに低下するインスタンスも あります。

0x104 これは、0x100および0x4の組合せです。どちらの機能も有効になります。

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