DBA_DATA_FILES はデータベースファイルを示すOracleデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL | 説明 |
|---|---|---|---|
| FILE_NAME | VARCHAR2(513) | データベースファイル名 | |
| FILE_ID | NUMBER | NOT NULL | データベースファイルのファイル識別番号 |
| TABLESPACE_NAME | VARCHAR2(30) | NOT NULL | ファイルが属する表領域の名前 |
| BYTES | NUMBER | ファイルサイズ(バイト単位) | |
| BLOCKS | NUMBER | NOT NULL | ファイルサイズ(ブロック単位) |
| STATUS | VARCHAR2(9) | ファイルの状態 | |
| RELATIVE_FNO | NUMBER | 相対ファイル番号 | |
| AUTOEXTENSIBLE | VARCHAR2(3) | 自動拡張可能かどうか | |
| MAXBYTES | NUMBER | ファイルの最大サイズ(バイト単位) | |
| MAXBLOCKS | NUMBER | ファイルの最大サイズ(ブロック単位) | |
| INCREMENT_BY | NUMBER | 自動拡張の増分値(ブロック数) | |
| USER_BYTES | NUMBER | ユーザのデータに使用できるファイルサイズ(バイト単位) | |
| USER_BLOCKS | NUMBER | ユーザのデータに使用できるファイルサイズ(ブロック単位) | |
| ONLINE_STATUS | VARCHAR2(7) | ファイルのオンライン状態 |
SELECT ANY DICTIONARY システム権限を持つユーザーだけが DBA_DATA_FILES データ・ディクショナリ・ビューを参照できる。
必要な権限が無いと、表またはビューが存在しないというエラーが発生する。
SQL> SELECT * FROM DBA_DATA_FILES;
SELECT * FROM DBA_DATA_FILES
*
行1でエラーが発生しました。:
ORA-00942: 表またはビューが存在しません。
Oracleデータ・ディクショナリ・ビュー「DBA_DATA_FILES」の「STATUS」列は、ファイルの状態を示す。
| 値 | 説明 |
|---|---|
| AVAILABLE | ファイル番号が使用されている |
| INVALID | ファイル番号が使用されていない |
Oracleデータ・ディクショナリ・ビュー「DBA_DATA_FILES」の「INCREMENT_BY」列は、自動拡張の増分値をブロック数で示す。
Oracleデータベースのブロックサイズは、初期化パラメータ「DB_BLOCK_SIZE」で指定する。データベース作成後にブロックサイズは変更できない。ただし、表領域毎のブロックサイズは変更できる。
ブロックサイズはSHOW PARAMETER文で確認できる。
SQL> SHOW PARAMETER db_block_size
NAME TYPE VALUE
---------------- ---------- -------------
db_block_size integer 8192
Oracleデータ・ディクショナリ・ビュー「DBA_DATA_FILES」の「ONLINE_STATUS」列は、ファイルのオンライン状態を示す。
| 値 |
|---|
| SYSOFF |
| SYSTEM |
| OFFLINE |
| ONLINE |
| RECOVER |
データベース・ファイルに関するデータ・ディクショナリ・ビューには、次のものがある。
| データ・ディクショナリ・ビュー | 説明 |
|---|---|
| DBA_DATA_FILES | データベース・ファイルを示す。 |
データベース・ファイルに関する動的パフォーマンス・ビューには、次のものがある。
| 動的パフォーマンス・ビュー | 説明 |
|---|---|
| V$RECOVER_FILE | メディア・リカバリを必要としているファイルの状態を示す。 |
データベース・ファイルに関するSQL文には、次のものがある。
| SQL | 説明 |
|---|---|
| CREATE DATABASE | データベースを作成する。 |
| CREATE TABLESPACE | 表領域を作成する。 |
| ALTER DATABASE | データベースを変更する。 |
| ALTER TABLESPACE | 表領域を変更する。 |
| DROP DATABASE | データベースを削除する。 |
| DROP TABLESPACE | 表領域を削除する。 |
データベース・ファイルに関するSQL*Plusコマンドには、次のものがある。
| コマンド | 説明 |
|---|---|
| RECOVER DATAFILE | 表領域を作成する。 |
オラクル・データベースのデータ・ディクショナリ・ビューには次のものがある。