用途
file_specification
構文のいずれかを使用すると、ファイルをデータファイルまたは一時ファイルとして指定できます。また、1つ以上のファイルのグループを1つのREDOログ・ファイル・グループとして指定することもできます。Oracle Automatic Storage Management (Oracle ASM)ディスク・グループにファイルを格納する場合、そのファイルをディスク・グループ・ファイルとしても指定できます。
file_specification
は次の文に指定できます。
CREATE
CONTROLFILE
(「CREATE CONTROLFILE」を参照)
CREATE
DATABASE
(「CREATE DATABASE」を参照)
ALTER
DATABASE
(「ALTER DATABASE」を参照)
CREATE
TABLESPACE
(「CREATE TABLESPACE」を参照)
ALTER
TABLESPACE
(「ALTER TABLESPACE」を参照)
ALTER
DISKGROUP
(「ALTER DISKGROUP」を参照)
構文
file_specification::=
(size_clause::=を参照)
(size_clause::=を参照)
ASM_filename ::=
autoextend_clause::=
(size_clause::=を参照)
maxsize_clause::=
(size_clause::=を参照)
セマンティクス
この項では、file_specification
のセマンティクスについて説明します。詳細は、データファイル、一時ファイル、REDOログ・ファイルまたはOracle ASMディスク・グループやディスク・グループ・ファイルを指定するSQL文の説明を参照してください。
datafile_tempfile_spec
データベース記憶域がファイル・システム内、RAWデバイス上またはOracle ASMディスク・グループ内に存在する場合、この句を使用してデータファイルと一時ファイルの属性を指定します。
redo_log_file_spec
データベース記憶域がファイル・システム内、RAWデバイス上またはOracle ASMディスク・グループ内に存在する場合、この句を使用してREDOログ・ファイルの属性を指定します。
filename
filename
は、ファイル・システム内またはRAWデバイス上に格納されたファイルに使用します。filename
は、新しいファイルまたは既存のファイルを指定できます。新しいファイルを指定する場合、次のことに注意します。
Oracle Managed Filesを使用していない場合は、filename
とSIZE
句の両方を指定しないと、文は失敗します。サイズを指定せずにファイル名を指定すると、Oracleは既存のファイルを再利用し、ファイルが存在しない場合はエラーを戻そうとします。
Oracle Managed Filesを使用している場合は、filename
や残りの句は必須ではありません。この場合、Oracle Databaseによってファイルに一意の名前が作成され、そのファイルが次のいずれかの初期化パラメータで指定されるディレクトリに保存されます。
DB_RECOVERY_FILE_DEST
(ログ・ファイルと制御ファイルに有効)
DB_CREATE_FILE_DEST
初期化パラメータ(すべてのファイル・タイプに有効)
DB_CREATE_ONLINE_LOG_DEST_
n
初期化パラメータ(ログ・ファイルに対してはDB_CREATE_FILE_DEST
とDB_RECOVERY_FILE_DEST
より優先される)。
既存のファイルを指定する場合は、データファイル、一時ファイルまたはREDOログ・ファイル・メンバーの名前を指定します。filename
には、7ビットASCIIキャラクタ・セットまたはEBCDICキャラクタ・セットのシングルバイト文字のみを使用できます。マルチバイト文字は無効です。
filenameには、パス接頭辞を含めることができます。パス接頭辞を指定しない場合は、データベースによってデフォルトの格納場所(プラットフォームによって異なる)のパス接頭辞が追加されます。
REDOログ・ファイル・グループは、1つ以上のメンバー(コピー)で構成されます。filename
は、使用するオペレーティング・システムの表記規則に従って、完全な名前で指定する必要があります。
データベースがfilename
を解析する方法は、SIZE
句およびREUSE
句の指定によっても異なります。
filename
のみを指定する場合、またはREUSE
句を指定してSIZE
句を指定しない場合、そのファイルはすでに存在している必要があります。
filename
の指定に、SIZE
句を指定して、REUSE
句を指定しない場合、そのファイルは新しいファイルである必要があります。
filename
の指定に、SIZE
句とREUSE
句の両方を指定する場合、そのファイルは新しいファイル、既存のファイルのどちらでもかまいません。ファイルがすでに存在している場合は、そのファイルが新しいサイズで再利用されます。また、ファイルが存在しない場合は、データベースはREUSE
キーワードを無視し、指定のサイズで新しいファイルを作成します。
関連項目: Oracle Managed Filesの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。また、「データファイルの指定例」および「ログ・ファイルの指定例」も参照してください。 |
Oracle ASMディスク・グループに格納されたファイルには、ASM_filename
の形式を使用します。この構文でデータファイル、一時ファイルおよびREDOログ・ファイルを作成または参照できます。
すべてのASM_filename
形式は、プラス記号(+)で始まりディスク・グループ名が続きます。すべてのOracle ASMディスク・グループの名前を確認するには、V$ASM_DISKGROUP
ビューを問い合せます。
関連項目: Oracle ASMの使用については、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
fully_qualified_file_name
Oracle ASMディスク・グループにファイルを作成する場合、そのファイルにはシステム生成の完全修飾されたOracle ASMファイル名が付けられます。既存のOracle ASMファイルを参照する場合にのみ、この形式を使用できます。そのため、ファイル作成時にこの形式を使用する場合は、REUSE
も指定する必要があります。
db_name
は、DB_UNIQUE_NAME
初期化パラメータの値です。この名前はファイルが存在するデータベースの名前と同じです。ただし、プライマリ・データベースとスタンバイ・データベースの両方が存在する場合は、パラメータはこれらを区別して異なる値になります。
file_type
とfile_type_tag
は、データベース・ファイル・タイプです。表8-1に、すべてのファイル・タイプとそれに対応するOracle ASMタグを示します。
filenumber
とincarnation_number
は、システム生成の識別子で、これによって一意性が保証されます。
完全修飾されたOracle ASMファイル名を確認するには、そのファイル・タイプに適切な動的パフォーマンス・ビュー(データファイルではV$DATAFILE
、制御ファイルではV$CONTROLFILE
など)を問い合せます。また、V$ASM_FILEビューを問い合せることによって、完全修飾された名前の
filenumberと
incarnation_numberの部分を取得できます。
表8-1 Oracleファイル・タイプとOracle ASMファイル・タイプ・タグ
Oracle ASM file_type | 説明 | Oracle ASM file_type_tag | コメント |
---|---|---|---|
|
制御ファイルとバックアップ制御ファイル |
Current Backup |
— |
|
データファイルとデータファイル・コピー |
|
ファイルが追加される表領域です。 |
|
オンライン・ログ |
|
— |
|
アーカイブ・ログ |
|
— |
|
一時ファイル |
|
ファイルが追加される表領域です。 |
|
データファイルとアーカイブ・ログのバックアップ・ピース(データファイルの増分バックアップ・ピース) |
|
|
|
永続パラメータ・ファイル |
|
— |
|
Data Guard構成ファイル |
|
Data Guardでは、 |
|
フラッシュバック・ログ |
|
— |
|
ブロック・チェンジ・トラッキング・データ |
|
増分バックアップ中に使用されます。 |
|
データ・ポンプ・ダンプ・セット |
|
ダンプ・セット・ファイルは、ユーザー名、ダンプ・セットが作成されたジョブ番号およびファイル番号をタグの一部としてエンコードします。 |
|
データファイル変換 |
|
— |
|
自動バックアップ・ファイル |
|
|
numeric_file_name
数値のOracle ASMファイル名は、一意のfilenumber.incarnation_number
文字列のみが使用されることを除き、完全修飾されたファイル名に類似しています。既存のファイルを参照するためにのみ、この形式を使用できます。そのため、ファイル作成時にこの形式を使用する場合は、REUSE
も指定する必要があります。
incomplete_file_name
不完全なOracle ASMファイル名は、ファイルの作成時にのみ使用されます。ディスク・グループ名のみを指定した場合、Oracle ASMではそのファイル・タイプに適したデフォルトのテンプレートが使用されます。たとえば、CREATE
TABLESPACE
文でデータファイルを作成する場合、Oracle ASMではデフォルトのDATAFILE
テンプレートを使用してOracle ASMデータファイルが作成されます。ディスク・グループ名とテンプレートを指定した場合、Oracle ASMでは指定したテンプレートを使用してファイルが作成されます。いずれの場合も、Oracle ASMによって完全修飾されたファイル名が作成されます。
template_name テンプレートは、属性の名前付きコレクションです。テンプレートを作成して、ディスク・グループのファイルに適用できます。すべてのOracle ASMテンプレートの名前を確認するには、V$ASM_TEMPLATE
データ・ディクショナリ・ビューを問い合せます。Oracle ASMテンプレートを作成する手順は、「diskgroup_template_clauses」を参照してください。
template
は、ファイルの作成時にのみ指定できます。これは、ASM_filename
の構文図の不完全なファイル名形式および別名形式に示されています。
ディスク・グループ名の直後にtemplate
を指定した場合、Oracle ASMでは指定したテンプレートを使用してファイルが作成され、そのファイルに完全修飾されたファイル名が付けられます。
別名を指定した後にtemplateを指定した場合、Oracle ASMでは指定したテンプレートを使用してファイルが作成され、そのファイルに完全修飾されたファイル名が付けられます。また、後でファイルの参照に使用できる別名も作成されます。指定した別名が既存のファイルを参照している場合は、REUSE
を指定しないかぎり、Oracle ASMではテンプレートの指定が無視されます。
alias_file_name
別名は、Oracle ASMファイルのわかりやすい名前です。ファイルの別名は、ファイルの作成または参照時に使用できます。ファイルの作成時にのみ、別名とともにテンプレートを指定できます。Oracle ASMファイルの別名を確認するには、V$ASM_ALIAS
データ・ディクショナリ・ビューを問い合せます。
ファイルの作成時に別名を指定する場合、完全な別名を指定する手順は、「diskgroup_directory_clauses」および「diskgroup_alias_clauses」を参照してください。
ファイルのサイズをバイト単位で指定します。K
、M
、G
またはT
を使用して、KB、MB、GBまたはTB単位で指定することもできます。
UNDO表領域の場合、各データファイルに対してSIZE
句を指定する必要があります。その他の表領域の場合、ファイルがすでに存在するとき、またはOracle Managed Fileを作成するときには、このパラメータを省略できます。
Oracle Managed Fileの作成時にこの句を指定しないと、100MBのファイルが作成されます。
表領域は、中に含まれるオブジェクトのサイズの合計より1ブロック大きいサイズである必要があります。
BLOCKSIZE句
BLOCKSIZE
を指定すると、オペレーティング・システム依存のセクター・サイズを上書きします。この句を省略した場合、オペレーティング・システム依存のセクター・サイズがブロック・サイズとして使用されます。
512バイト・セクターのディスク、または512バイトをエミュレートする4KBセクターのディスクにREDOログ・ファイルを追加する場合は、新しいファイルのブロック・サイズがプラットフォーム・ベースの元のサイズ(4KB)である必要があります。
512バイト・セクターのディスクにREDOログ・ファイルを追加する場合は、使用しているプラットフォームに応じて、ブロック・サイズを512または1024(1K)に指定する必要があります。
4KBセクターのディスク(ネイティブ)にREDOログ・ファイルを追加する場合は、ブロック・サイズを4096(4K)に指定する必要があります。
512バイトをエミュレートする4KBセクターのディスクにREDOログ・ファイルを追加する場合は、使用しているプラットフォームに応じて、ブロック・サイズを512、1024(1K)または4096(4K)のいずれかに指定できます。
ログ・グループ内のすべてのログが、同じブロック・サイズである必要があります。別々のディスクに2つのログ・グループを作成する場合は、ブロック・サイズが異なっていてもかまいません。ただし、構成が異なっていると、ログ・スイッチのたびにオーバーヘッドが発生します。すべてのログ・ファイルのブロック・サイズを同じにすることをお薦めします。
この句は、使用しているセクター・サイズが4Kの場合に、パフォーマンスよりもディスク使用量を重視して最適化する場合に有効です。この場合、BLOCKSIZE
512(HP-UXの場合はBLOCKSIZE
1024)を指定してオペレーティング・システムのセクター・サイズを上書きできます。
REUSE
は、既存ファイルの再利用を可能にします。
ファイルがすでに存在する場合、ファイル名が再利用され、新しいサイズが適用されるか(SIZE
を指定する場合)、または元のサイズのままとなります。
ファイルが存在していない場合、この句は無視され、ファイルが作成されます。
REUSE句の制限事項: filename
を指定しないかぎり、REUSE
は指定できません。
既存のファイルが使用される場合は、そのファイルに入っていた内容は失われます。
autoextend_clause
はデータファイルと一時ファイルに有効ですが、REDOログ・ファイルには有効ではありません。この句は、新しいデータファイル、既存のデータファイルまたは一時ファイルの自動拡張を使用可能または使用禁止にします。この句を指定しない場合、次のようになります。
Oracle Managed Filesの場合
SIZE
を指定すると、指定したサイズのファイルが作成され、AUTOEXTEND
が使用禁止になります。
SIZE
を指定しないと、100MBのファイルが作成され、AUTOEXTEND
が使用可能になります。自動拡張が必要な場合、データベースは元のサイズまたは100MB(いずれか小さい方)のサイズ単位でファイルを拡張します。NEXT
句を指定して、このデフォルトの動作を上書きできます。
ユーザー管理ファイルの場合、SIZE
の指定/未指定にかかわらず、AUTOEXTEND
が使用禁止にされたファイルが作成されます。
ON ON
を指定すると、自動拡張を使用可能にします。
OFF OFF
を指定すると、自動拡張を使用禁止にします。自動拡張を使用禁止にする場合は、NEXT
およびMAXSIZE
の値を0(ゼロ)に設定します。後続の文で自動拡張を使用可能に戻す場合は、これらの値を設定しなおす必要があります。
NEXT NEXT
句を使用すると、エクステントがさらに必要になった場合にデータファイルに自動的に割り当てられるディスク領域の増分サイズを、バイト単位で指定できます。デフォルトのサイズは1データ・ブロックです。
MAXSIZE MAXSIZE
句を使用すると、データファイルの自動拡張で使用されるディスク領域の最大サイズを指定できます。
UNLIMITED データファイルまたは一時ファイルに割り当てられるディスク領域を制限しない場合は、UNLIMITED
句を使用します。
autoextend_clauseの制限事項: この句はCREATE CONTROLFILE
文のdatafile_tempfile_spec
の一部、または
ALTER
DATABASE
CREATE
DATAFILE
句には指定できません。
例
ログ・ファイルの指定例 次の文は、payable
という名前のデータベースを作成します。このデータベースには各グループにメンバーを2つ持つREDOログ・ファイル・グループが2つと、データファイルが1つ設定されています。
CREATE DATABASE payable LOGFILE GROUP 1 ('diska:log1.log', 'diskb:log1.log') SIZE 50K, GROUP 2 ('diska:log2.log', 'diskb:log2.log') SIZE 50K DATAFILE 'diskc:dbone.dbf' SIZE 30M;
LOGFILE
句の最初のファイル指定は、REDOログ・ファイル・グループにGROUP 1
の値を指定します。このグループには、'diska:log1.log
'および'diskb:log1.log
'というメンバーがあり、サイズはそれぞれ50KBです。
LOGFILE
句の2番目のファイル指定は、REDOログ・ファイル・グループにGROUP 2
の値を指定します。このグループには、'diska:log2.log
'および'diskb:log2.log
'というメンバーがあり、サイズはそれぞれ50KBです。
DATAFILE
句のファイル指定では、'diskc:dbone.dbf
'という名前のデータファイルが指定されています。このファイルのサイズは30MBです。
各ファイル指定はSIZE
パラメータの値を指定し、REUSE
句は指定していないため、指定のファイルがすでに定義されていることはありません。Oracleが新しくファイルを作成します。
ログ・ファイルの追加例 次の文は、2つのメンバーで構成される新しいREDOログ・ファイル・グループを、payable
データベースに追加します。
ALTER DATABASE payable ADD LOGFILE GROUP 3 ('diska:log3.log', 'diskb:log3.log') SIZE 50K REUSE;
ADD
LOGFILE
句のファイル指定は、REDOログ・ファイル・グループにGROUP 3
の値を指定します。このグループには、'diska:log3.log
'および'diskb:log3.log
'というメンバーがあり、サイズはそれぞれ50KBです。このファイル指定ではREUSE
句が指定されているため、各メンバーはすでに存在している可能性があります(ただし、存在していなくてもかまいません)。
次の文は移行先のディスク4k_disk_a
および4k_disk_b
上にメンバー・ログ・ファイルを持つログ・ファイル・グループ5を追加します。この文の実行後は、switch_logfile_clauseを使用して、ブロック・サイズが512バイトのディスク上にある既存のログ・ファイルを、ブロック・サイズが4Kのログに切り替えることができます。
ALTER DATABASE ADD LOGFILE GROUP 5 ('4k_disk_a:log5.log', '4k_disk_b:log5.log') SIZE 100M BLOCKSIZE 4096 REUSE;
データファイルの指定例 次の文は、stocks
という名前の表領域を作成します。また、この表領域にはデータファイルが3つあります。
CREATE TABLESPACE stocks DATAFILE 'stock1.dbf' SIZE 10M, 'stock2.dbf' SIZE 10M, 'stock3.dbf' SIZE 10M;
このデータファイルのファイル指定は、'diskc:stock1.dbf
'、'diskc:stock2.dbf
'および'diskc:stock3.dbf
'という名前のファイルを指定します。
データファイルの追加例 次の文は、stocks
表領域を変更し、新しいデータファイルを追加します。
ALTER TABLESPACE stocks ADD DATAFILE 'stock4.dbf' SIZE 10M REUSE;
このファイル指定は、'stock4.dbf
'という名前のデータファイルを指定します。このファイル名が存在しない場合、REUSE
キーワードは無視されます。
完全修飾されたOracle ASMデータファイル名の使用例 次の文は、Oracle ASMを使用する際に、fully_qualified_file_name
句を使用して、仮想データベースtestdb
のデータファイルをオンラインにする方法を示します。
ALTER DATABASE testdb DATAFILE '+dgroup_01/testdb/datafile/system.261.1' ONLINE;