この付録では、表領域のデータファイルをRAWパーティションに格納するためのシステム構成方法について説明します。
この付録の項目は次のとおりです。
注意: Oracle RACには、追加の構成ツールが必要になります。詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。Oracle RAC用のパーティションを作成する場合は、この付録を参照しないでください。 |
表領域のデータファイルは、ファイル・システムまたはRAWパーティションに格納できます。RAWパーティションは、最下位レベルでアクセスされる物理ディスクの一部です。ファイル・システムが配置されているパーティションへの入出力(I/O)と比べ、RAWパーティションへのI/Oではパフォーマンスが約5から10%向上します。
物理ディスクは、ディスク全体を示し、次のように指定します。
\Device\Harddiskx\Partition0
シンボリック・リンク名\\.\PhysicalDrive
x
は、コンピュータ内のすべてのハード・ディスクに対して、Windowsによって自動的に定義されます。たとえば、3つのハード・ディスクがあるコンピュータには、次のシンボリック・リンクがあります。
\\.\PhysicalDrive0 \\.\PhysicalDrive1 \\.\PhysicalDrive2
これらの名前は、内部的に次のように展開されます。
\\.\PhysicalDrive0 =\Device\Harddisk0\Partition0 \\.\PhysicalDrive1 =\Device\Harddisk1\Partition0 \\.\PhysicalDrive2 =\Device\Harddisk2\Partition0
Partition0
は、そのディスク上のパーティション・スキームが何であっても、物理ディスク全体を表す特別なパーティション番号です。Windowsにより、認識しているすべてのディスクの最初のブロックに署名が書き込まれます。ブロックの上書きを防ぐために、Oracle Databaseでは、Oracle Databaseデータファイルに使用される物理RAWパーティションの最初のブロックがスキップされます。
注意: 物理ディスクを使用することもできますが、論理パーティションの使用をお薦めします。 |
論理パーティションは、\Device\Harddisk
x
\Partition0
以外のドライブを示します。論理パーティションには、ドライブ名(\\.\
drive_letter
:)の付いた名前が最初に割り当てられ、シンボリック・リンク名(\\.\
symbolic link name
)が再度割り当てられるのが一般的です。たとえば、\\.\D
:にシンボリック・リンク名\\.\ACCOUNTING_1
が割り当てられているとします。ドライブ名とシンボリック・リンク名のいずれが使用されているかにかかわらず、論理パーティションはディスク全体ではなくディスク内の特定のパーティションを表すように定義されます。これらの名前は、内部的に次のように展開されます。
\\.\D:= \Device\Harddisk2\Partition1 \\.\ACCOUNTING_1= \Device\Harddisk3\Partition2
注意: Oracle Databaseでは、Oracle Databaseデータファイルに使用される論理RAWパーティションの最初のブロックはスキップされません。 |
使用するRAWパーティションを決定する際に、次のことを考慮してください。
物理ディスクは、ディスク全体を表すようWindowsによって自動的に定義されます。ユーザーが定義することはできません。
論理パーティションは、ディスク内の特定のパーティションを表すようにユーザーが定義する必要があります。これらのパーティションは、拡張パーティションに含まれる論理パーティションまたはドライブにしてください。Partition0
として定義することはできません。
Oracle Databaseデータファイル用にディスク全体(Partition0
)を使用することと、Oracle Databaseデータファイル用にディスク全体を占めるパーティションを使用することは、同じではありません。1つのパーティションがディスク全体を占めている場合でも、ディスクにはパーティションに含まれていないわずかな領域が残っています。
ディスク全体(Partition0
)をOracle Databaseデータファイル用に使用する場合は、Windowsが提供する定義済の物理RAW名を使用します。
特定のパーティションを使用し、そのパーティションがディスク全体を占める場合は、論理パーティションを使用します。
Windowsディスク管理ツールで作成した特定のパーティションを使用する場合は、(ディスク全体を占める場合でも)論理パーティション番号ではなくシンボリック・リンク名を定義して使用します。
注意: 物理RAW規則および論理RAW規則のいずれの場合も、バックアップ処理のためにRAWパーティションの内容を標準ファイル・システムに転送するにはOCOPYを使用します。 |
論理パーティションを作成し、それらの論理パーティションに物理ディスク規則名を定義できます。次に例を示します。
\\.\PhysicalDriveACCOUNTING_1 = \Device\Harddisk2\Partition1 \\.\PhysicalDriveACCOUNTING_2 = \Device\Harddisk3\Partition1
Oracle Databaseでは、実際には論理パーティションであったとしても、物理ディスク規則を使用してデータファイルを処理します。物理ディスク・ネーミング規則を使用しているかぎり、これによってデータが壊れたり失われたりすることはありません。できるだけ早い時期に論理パーティション規則に変換することをお薦めします。
Partition0
を表す論理名も作成できますが、これはお薦めしません。次に例を示します。
\\.\ACCOUNTING_1 = \Device\Harddisk1\Partition0
これは重大な問題を引き起こします。ディスク管理は通常、各ディスクの最初のブロックにシグネチャを書き込むため、データファイルのヘッダー部分が上書きされる可能性があります。これによってデータの損失が発生する可能性もあります。Partition0
を論理パーティション規則と組み合せて使用しないようにしてください。
物理的なレベルで行う規則では余分なブロックは処理されないため、物理パーティション規則と論理パーティション規則との間に互換性はありません。これは、パーティションの内容に互換性がないため、OCOPYを使用して物理ディスクから論理パーティションにコピーすることはできないことも意味します。
物理規則から論理規則に変換するには、次のようにします。
(ローカル)ファイル・システムに全データベースのエクスポートを実行します。
論理パーティションを作成し、これらのパーティションに論理名を定義します。
新しい論理パーティションを使用してデータベースを再作成します。
新しく作成したデータベースに全データベースのインポートを実行します。
データベースのインストールで論理パーティションに物理ディスク規則を使用している場合は、前述の手順に従ってできるだけ早い時期に論理パーティション規則に変換することをお薦めします。
関連項目: 拡張パーティションと論理パーティションの作成の詳細は、オペレーティング・システムのドキュメントを参照してください。 |
RAWパーティションを作成するには、最初に拡張パーティションおよび論理パーティションを生成する必要があります。拡張パーティションとは、データベース・ファイル用の複数の論理パーティションを割り当てられる、ディスク上のRAW領域を示します。拡張パーティションにより、論理パーティションを大量に定義して、Oracle Databaseサーバーを使用するアプリケーションに対応できるようになり、4つまでというパーティションの制限を回避できます。また、論理パーティションには、ドライブ文字を使用しなくてすむようにシンボリック・リンク名を付けることができます。
Windows Vista、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012およびWindows Server 2012 R2では、「新しいシンプル ボリューム」オプションを選択して、プライマリ・パーティションおよび論理ドライブを拡張パーティションに作成します。RAWデバイスを作成するには、「ドライブ文字またはドライブ パスを割り当てない」を選択します。RAWデバイスをマウントするには、ドライブ文字を割り当てて削除します。スパン・ボリュームやストライプ・ボリュームは使用しないでください。これらのオプションは、ボリュームをダイナミック・ディスクに変換します。自動ストレージ管理は、ダイナミック・ディスクをサポートしていません。
コマンドラインからディスク管理のためのdiskpart.exe
を使用することができます。これでディスクのボリューム・サイズを動的に増やしたり、パーティションやボリュームの作成、削除およびサイズ変更を実行したりできます。
ボリューム・マウント・ポイントは、ボリューム上の追加の記憶領域になります。異なるパーティションが単一の論理ボリュームとして認識されるため、26のドライブ文字の制限を回避できます。ドライブ文字のかわりとしてマウント・ポイントを使用してください。
関連項目: RAWパーティションとボリューム・マウント・ポイントの詳細は、次のMicrosoft Webサイトを参照してください。 |
RAWパーティション内にあるデータファイルを使用する表領域を作成するには、次のようにします。
SQL*Plusを起動します。
C:\> sqlplus
Oracle Databaseリポジトリ・データベースに接続します。
SQL> CONNECT SYSTEM
Enter password: password
ここで、ユーザー・アカウントSYSTEM
のpasswordは、デフォルトではMANAGER
です。このパスワードを変更した場合は、MANAGER
を正しいパスワードに置き換えます。
表領域を作成します。
SQL> CREATE TABLESPACE tablespace DATAFILE '\\.\
datafile' SIZE xm;
それぞれの意味は次のとおりです。
tablespace
は、表領域名
'\\.\'
は、RAWパーティションに割り当てられたドライブ文字またはシンボリック・リンク名
x
は、MB単位の表領域サイズ(最初の時点では、20MBが適切)
たとえば、accounting_1
というシンボリック・リンク名が割り当てられたaccounting_1
という表領域を作成する場合は、次のように入力します。
SQL> CREATE TABLESPACE accounting_1 DATAFILE '\\.\accounting_1' SIZE 502M;
注意: SQL スクリプトでデータベースを作成する場合は、\\.\ドライブ名: または\\.\シンボリック・リンク名 というネーミング規則を使用して、RAWパーティションに保存されているデータファイルを変更するようにしてください。 |
ダイレクト・アタッチド・ストレージ(DAS)またはストレージ・エリア・ネットワーク(SAN)で自動ストレージ管理を使用するには、asmtool
またはasmtoolg
(GUIバージョン)を使用して、ディスクにヘッダーを付ける必要があります。
関連項目: asmtoolgまたはasmtoolgの使用に関する説明は、 Oracle Databaseのインストレーション・ガイド に記載されている、自動ストレージ管理を実施するためのディスクの手動設定に関する項を参照してください。 |
DASディスクまたはSANディスクにはそれぞれ、1つずつパーティション表が必要です。ディスクごとに、全体を含むパーティションを1つのみ作成することをお薦めします。Microsoft Computer Managementまたはコマンドライン・ツールdiskpart
を使用して、パーティションを作成することをお薦めします。パーティションの作成が完了したら、asmtoolg
またはasmtool
を実行してください。これらのツールは、ディスクに意味のある永続的な名前を関連付けることによって、自動ストレージ管理でこれらのディスクを使用しやすくします。自動ストレージ管理ではディスクのグループを一目見てすぐに処理できるようにディスク文字列が使用されるため、asmtool
で名前を作成しておくと、Windowsのドライブ名を使用するときよりもディスクを扱いやすくなります。asmtool
で作成したディスク名には必ず、接頭辞ORCLDISK
が先頭に付加され、区別が付くようになっています。
自動ストレージ管理では、ディスク検出時に検索パスとして、初期化パラメータASM_DISKSTRING
の値を使用します。ASM_DISKSTRING
のデフォルト値は、\\.\ORCLDISK
n
です。別の検索パスを使用する場合は、このパラメータに別の値を指定する必要があります。
関連項目: 『Oracle Database管理者ガイド』の初期化パラメータと初期化パラメータ・ファイルに関する説明を参照してください。 |