以下の手順に従って、ファイルの代わりに共有 Raw I/O デバイスを使用する Oracle データベースを作成します。

  1. データベースを作成するために最低限必要なファイルの数とサイズを決めます。これには、制御ファイル、テーブルスペース、REDO ログが含まれます。それらのアイテムの一部をファイルとし、それ以外を Raw I/O デバイスとする混合セットアップも可能です。すべての Raw I/O デバイスが共有ディスクパーティションを使用する必要があります。
  1. 必要な数の Raw I/O デバイスを使用して、Raw I/O セットアップを作成します。

a. Oracle データベースを作成するときに指定するサイズ以上のサイズで RAW デバイスを作成します。

b. raw コマンドを使用して、システム初期化ファイル(つまり、boot.local または rc.local)にRAW デバイスマッピングを作成します。どの RAW デバイスがどの Oracle ファイルを表すのかを識別するために、意味のあるコメントを追加してください。これは、システムのリブートを行う場合に、マッピングを再確立できるようにするために必要です。Raw I/O デバイスが LifeKeeper の保護下に置かれたら、これらのマッピングは手動でファイルから削除してください。

  1. 以下のコマンドを使用して、RAW デバイスを Oracle データベースに書き込み可能にします。
    chown oracle:dba /dev/raw[0-9]*

ここで、オーナおよびグループは、Oracle インスタンスの構成に固有です。

  1. マッピングを含むファイルを実行して、RAW デバイスの設定をアクティブにします。 
  1. データベース作成スクリプトがすでに存在している場合は、ステップ 6 へ進みます。データベース作成スクリプトがない場合は、Oracle Java GUI ツールの 1 つ(dbassist または dbca)を使用して作成できます。どちらのツールを使用する場合も 「 Save As Script 」を選択してください。データベースの作成を選択しないでください。

注記:

  • dbca で、スクリプトを生成するには、 「 New Database 」 テンプレートを選択する必要があります。必要であれば、ファイル名を共有デバイスに変更し、構成の値を調整します。
  • この時点で DB 作成プロセスを開始しないでください。dbassist ツールは、各テーブルスペースに指定されたファイルがすでに存在しているかどうかをチェックし、ファイルが存在している場合は処理を行いません。dbca ツールはファイルを上書きするかどうかを確認するメッセージを表示しますが、RAW デバイスでは失敗します。どちらの場合も、これらのツールからRAW デバイスを直接使用することはできません。
  1. データベース作成スクリプト(既存のもの、もしくは dbassist または dbca で作成したもの)を編集する必要があります。該当するファイル名(パスを含む)を、Raw I/O デバイスのフルパス名に置き換えます。対象となるファイルには(最低限)データベース作成ファイル(CREATE DATABASE コマンド用)とテーブルスペース作成ファイル(CREATE TABLESPACE コマンド用)があります。選択した dbassist または dbca のオプションによっては、さらに別のファイルを編集しなければならない場合があります。また、必要に応じて、初期化ファイルを編集し、制御ファイルを Raw I/O デバイスに変更します。初期化ファイルは、作成スクリプトが存在するディレクトリにあります。データファイルの場合、編集結果は以下のようになります。

. . .

CREATE DATABASE “LK”

maxdatafiles 254

maxinstances 8

maxlogfiles 32

character set US7ASCII

national character set US7ASCII

DATAFILE ‘/dev/raw/raw1’ SIZE 260M AUTOEXTEND ON NEXT 10240K

logfile ‘/ora/LK/redo01.log’ SIZE 500K,

‘/ora/LK/redo02.log’ SIZE 500K,

‘/ora/LK/redo03.log’ SIZE 500K;

. . .

Raw I/O デバイスのサイズは、格納するデータのために Oracle が必要とする最低限のサイズにします。

  1. ここで、ステップ 5 で作成したスクリプトを実行してデータベースを作成します。
  1. 作成ログをチェックして、データベースまたはテーブルスペースのエラーが発生していないか確認します。
  1. 作成スクリプトでデータベースを作成中に問題が発生するか、後でRAW デバイスにテーブルスペースを追加する場合、適切なツール(dbassist または dbca)でデータベースを作成する必要があります。その後、sql ユーティリティから次のようなコマンドを実行して、Raw I/O デバイスデータファイルを追加します。

tablespace RAWTS
DATAFILE ‘/dev/raw/raw217’ SIZE 50M REUSE
DEFAULT STORAGE (INITIAL 50K NEXT 50K
MINEXTENTS 1 MAXEXTENTS 4) ONLINE

  1. udev の規則を追加して、RAW デバイスの権限および所有権をリブート、切り替え、フェイルオーバがあっても変わらないようにします。

Linux 2.6 カーネルでは、udev システムは、RAW デバイスなどの特殊ファイルの作成をカーネルが制御するためのデフォルトの方法です。RAW デバイスを Oracle で使用する場合、固有の所有権および権限の設定が必要です。このような固有の設定は、カーネルのデフォルトの設定と競合します。固有の設定をアドレス指定するには、udev の規則を使用して、LifeKeeper が保護する Oracle SID で使用する Oracle ユーザおよび Oracle グループにRAW デバイスの所有権を設定する必要があります。

注記: 一部の OS ディストリビューションでは、デバイスを作成するための規則とデバイス権限を設定するための規則を分ける必要があります。詳細については、OS ディストリビューションの udev ドキュメントを参照してください。

OS ディストリビューションで動作する udev 規則の例を下記に示します。

KERNEL==“raw10”, RUN+=”/bin/chown oracle:oinstall /dev/raw/raw10”

KERNEL==“raw[3-5]*”, OWNER=“oracle”, GROUP=“oinstall”, MODE=“660”

リソース階層を In Service にする前に、作成した udev の規則を LifeKeeper クラスタのすべてのノードに適用する必要があります。

フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信