| この記事の要点 |
|
データファイルとは
Oracle Database におけるデータファイル (Datafile) は、表領域 (Tablespace) の実体としてオペレーティングシステムに作成される物理ファイルです。テーブル・インデックス・LOB データ・ロールバックセグメントなど、すべての永続データはデータファイルに保存されます。
論理構造との対応
| 論理単位 | 物理単位 | 説明 |
|---|---|---|
| データベース | 複数の表領域 | 1 つの Oracle インスタンスが管理する全データ |
| 表領域 (Tablespace) | 1〜N 個のデータファイル | 論理的な格納領域の単位 |
| セグメント (テーブル/索引) | 1〜N 個のエクステント | オブジェクト単位の領域 |
| エクステント | 連続したデータブロック群 | 領域割り当ての単位 |
| データブロック | OS ブロック × N | I/O の最小単位(既定 8KB) |
標準的な構成のデータファイル
| 表領域 | 役割 | 典型的ファイル名 |
|---|---|---|
| SYSTEM | データ辞書、PL/SQL ソース | system01.dbf |
| SYSAUX | AWR、サポートツールデータ | sysaux01.dbf |
| UNDOTBS1 | UNDO 情報(トランザクション巻き戻し) | undotbs01.dbf |
| TEMP | ソート / GROUP BY などの一時データ | temp01.dbf |
| USERS | ユーザーオブジェクト | users01.dbf |
データファイルの確認
-- 全データファイル
SELECT file_name, tablespace_name,
bytes/1024/1024 AS size_mb,
autoextensible, maxbytes/1024/1024 AS max_mb
FROM dba_data_files
ORDER BY tablespace_name;
-- 一時データファイル(TEMP 表領域)
SELECT * FROM dba_temp_files;
-- V$ ビュー: ファイル ID / ステータス
SELECT file#, name, status, bytes/1024/1024 AS size_mb
FROM v$datafile;
データファイルの追加
-- USERS 表領域にデータファイルを追加
ALTER TABLESPACE users
ADD DATAFILE '/u01/app/oracle/oradata/ORCL/users02.dbf'
SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 4G;
サイズ拡張・縮小
-- 手動でサイズ変更
ALTER DATABASE DATAFILE '/u01/.../users01.dbf' RESIZE 500M;
-- 自動拡張の ON/OFF
ALTER DATABASE DATAFILE '/u01/.../users01.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE 8G;
ALTER DATABASE DATAFILE '/u01/.../users01.dbf' AUTOEXTEND OFF;
-- データファイル単位のオフライン化(バックアップ等で使用)
ALTER DATABASE DATAFILE '/u01/.../users01.dbf' OFFLINE;
ALTER DATABASE DATAFILE '/u01/.../users01.dbf' ONLINE;
使用率の確認
SELECT df.tablespace_name,
df.file_name,
df.bytes / 1024 / 1024 AS allocated_mb,
(df.bytes - NVL(fs.free_bytes, 0)) / 1024 / 1024 AS used_mb,
ROUND((df.bytes - NVL(fs.free_bytes, 0)) / df.bytes * 100, 1) AS used_pct
FROM dba_data_files df
LEFT JOIN (
SELECT file_id, SUM(bytes) AS free_bytes
FROM dba_free_space
GROUP BY file_id
) fs
ON df.file_id = fs.file_id
ORDER BY used_pct DESC;
運用上の注意
- パス変更: データファイルを別ディスクに移動する場合は
ALTER DATABASE MOVE DATAFILEを使用(12c 以降は無停止可能) - 削除: 通常は表領域ごと削除 (
DROP TABLESPACE ... INCLUDING CONTENTS AND DATAFILES)。データファイル単独削除は限定的条件下のみ - サイズ計画: AUTOEXTEND を ON にしつつも MAXSIZE で上限を設定し、ディスクフルを防ぐ
- I/O 分散: 高負荷システムでは別ディスク / ASM ディスクグループに分割配置
子ページ
子ページはありません
同階層のページ
- データファイル
- 制御ファイル
- REDOログファイル (物理構造 Oracle)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- JP1/FTS(File Transmission Server/FTP)とは|伝送カードとftstranの使い方 NEW 2026-10-02 22:03:11
- 日立 JP1 (Job Management Partner 1) 完全ガイド (AJS3 / IM / Base / PFM) 2026-10-02 22:03:11
- JP1/Baseとは|ユーザー認証・ユーザーマッピング・イベントサービスの仕組みと主要コマンド NEW 2026-10-02 22:03:10
- JP1/IM(JP1/IM2・IM3)とは|JP1イベントによる統合監視の仕組みとJP1/Baseとの関係 NEW 2026-10-02 22:03:10
- JP1/AJS3 コマンド一覧|ajsentry・ajsshow・ajsrerunなど主要コマンドの使い方とオプション NEW 2026-10-02 22:03:09
- JP1/AJS3とは?ジョブネット・スケジュール・Manager/Agent/Viewの構成を初心者向けに解説 NEW 2026-10-02 22:03:09
- クラウドネットワークの記事一覧 2026-10-02 16:08:51
- ルーティングとスイッチング完全ガイド — 静的/動的ルーティング/RIP/OSPF/BGP/VLAN/STP 2026-10-02 16:08:51
- ネットワークのアドレッシング完全ガイド — IP/MAC/ポート/サブネット/CIDR/IPv6/NAT 2026-10-02 16:08:51
- 本番環境のdll内で参照しているdllファイルの置き場所 2026-10-02 16:08:50
- 【Visual Studio】 C#のForm自動生成時に「値が有効な範囲にありません」エラー 2026-10-02 16:08:50
- 【Laravelエラー】does not comply with psr-4 autoloading standard. Skipping. 2026-10-02 16:08:50
- 【Laravelエラー】could not find driver(Windows, MySQL編) 2026-10-02 16:08:49
- The following channel memory did not pass cpu memory test. 2026-10-02 16:08:49
- 【pycharm】connecting to console が終わらない 2026-10-02 16:08:49