2026年の最新リリースである Oracle Database 26ai(バージョン 23.26.1 以降)では、データベース作成時の標準設定として Oracle 26ai 表領域(KW1)が Bigfile 形式で構成されるようになっています。従来の Oracle ビッグファイル表領域(KW2)は大規模データ向けのみに推奨されていましたが、26ai ではデフォルトの挙動が変更されており、従来の Smallfile 運用を前提としているとトラブルの元になります。本記事で最新仕様(23.26)の確認方法を解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
結論・最短手順
Oracle 26ai において、意図せず Bigfile 表領域が作成されるのを防ぐ、または現在の設定を確認する手順は以下の通りです。
- 現在の属性確認:
CDB_TABLESPACESのBIGFILE列を確認(YESなら Bigfile)。 - 容量拡張の作法:
ADD DATAFILEではなくALTER TABLESPACE ... RESIZEを使用する。 - Smallfile 指定での作成:
CREATE SMALLFILE TABLESPACE ...と明示的に指定して作成する。 - デフォルトの恒久変更:
ALTER DATABASE SET DEFAULT TABLESPACE TYPE SMALLFILE;を実行。
背景と基礎:26ai(23.26)における変更
Oracle Database には、データファイルの管理方式として 2 つのタイプが存在します。
- Smallfile 表領域(従来型): 複数のデータファイル(最大 1,022 個)で構成。1 ファイルあたり最大 32GB 程度。
- Bigfile 表領域(26ai 標準): 単一の巨大なデータファイルで構成。最大 128TB まで拡張可能。
最新の 26ai(23.26)では、運用効率化とクラウドネイティブな構成への最適化のため、ユーザー表領域(USERS)だけでなく、システム表領域(SYSTEM/SYSAUX)までもがデフォルトで Bigfile 形式としてプロビジョニングされます。
初心者向け一口メモ 「ファイルを追加して容量を増やす」という 20 年来の慣習が、26ai では通用しなくなっています。「既存ファイルをリサイズする」のが 26ai 流の作法です。
手順・実装:デフォルト表領域の判定
実機(Oracle Linux / Oracle Database 23.26.1)にて、インストール直後の構成を確認します。
sqlplus / as sysdbaでログイン。- 以下の SQL で表領域のタイプを一括確認。
BIGFILE項目のYES/NOを判定。
| 表領域名 | 19c / 21c | 26ai (23.26) | 運用上の制約 |
|---|---|---|---|
| SYSTEM | Smallfile | Bigfile (YES) | ファイル追加不可(リサイズのみ) |
| SYSAUX | Smallfile | Bigfile (YES) | ファイル追加不可 |
| USERS | Smallfile | Bigfile (YES) | ファイル追加不可 |
| TEMP | Smallfile | Smallfile (NO) | 一時表領域は従来通りが多い |
実行例:26ai (23.26) での確認ログ
実機での確認結果、主要な表領域がすべて BIGFILE=YES となっていることが確認できます。
-- 権限:SYSDBA、環境:CDB/PDB構成
-- 23.26.1.0.0 での実行結果を確認
SELECT
TABLESPACE_NAME,
BIGFILE,
CON_ID
FROM
CDB_TABLESPACES
ORDER BY
CON_ID, TABLESPACE_NAME;
実行結果の解説:
SQL> SELECT
2 TABLESPACE_NAME,
3 BIGFILE,
4 CON_ID
5 FROM
6 CDB_TABLESPACES
7 ORDER BY
8 CON_ID, TABLESPACE_NAME;
TABLESPACE_NAME BIG CON_ID
------------------------------ --- ----------
SYSAUX YES 1
SYSTEM YES 1
TEMP NO 1
UNDOTBS1 YES 1
USERS YES 1
APP_DATA NO 3
SYSAUX YES 3
SYSTEM YES 3
TEMP NO 3
UNDOTBS1 YES 3
USERS YES 3
11 rows selected.
[解説] BIG 列が YES と表示されているものはすべて Bigfile 表領域です。従来の ALTER TABLESPACE ... ADD DATAFILE コマンドはエラーになります。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
実演:Smallfile 表領域を明示的に作成する
26ai のデフォルト設定(Bigfile)に依らず、従来のように複数のデータファイルを管理したい場合は、CREATE 文の直後に SMALLFILE キーワードを付与します。
PDB側(PDB01)で Smallfile 表領域を作成する例:
-- PDBへ切り替え
ALTER SESSION SET CONTAINER = PDB01;
-- SMALLFILE キーワードを明示して作成
CREATE SMALLFILE TABLESPACE APP_DATA
DATAFILE '/u01/app/oracle/oradata/ORCL/pdb01/app_data01.dbf' SIZE 100M
AUTOEXTEND ON;
-- 確認クエリ
SELECT TABLESPACE_NAME, BIGFILE FROM USER_TABLESPACES WHERE TABLESPACE_NAME = 'APP_DATA';
-- 結果:BIGFILE は "NO" となります
[解説] 26ai では明示しない限り BIGFILE になるため、管理要件上ファイルを分けたい場合はこの指定が必須となります。
SQL> ALTER SESSION SET CONTAINER = PDB01;
Session altered.
SQL> CREATE SMALLFILE TABLESPACE APP_DATA
2 DATAFILE '/u01/app/oracle/oradata/ORCL/pdb01/app_data01.dbf' SIZE 100M
3 AUTOEXTEND ON;
Tablespace created.
SQL> SELECT TABLESPACE_NAME, BIGFILE FROM USER_TABLESPACES WHERE TABLESPACE_NAME = 'APP_DATA';
TABLESPACE_NAME BIG
------------------------------ ---
APP_DATA NO
トラブルシューティング:発生しやすい ORA エラー
26ai で従来の「ファイル追加」操作を行うと、以下のエラーに直面します。
| エラーコード | 原因 | 対処法 |
|---|---|---|
| ORA-32771 | Bigfile 表領域にファイルを追加しようとした | RESIZE コマンドを使用する |
| ORA-01144 | ファイルが OS の上限(または 128TB)を超えた | ファイルを分けるには表領域を分ける必要がある |
エラー再現例:
SQL> ALTER TABLESPACE USERS ADD DATAFILE '/u01/app/oracle/oradata/ORCL/users02.dbf' SIZE 1G;
ALTER TABLESPACE USERS ADD DATAFILE '/u01/app/oracle/oradata/ORCL/users02.dbf' SIZE 1G
*
ERROR at line 1:
ORA-32771: cannot add file to bigfile tablespace
Help: https://docs.oracle.com/error-help/db/ora-32771/
運用・監視・セキュリティ上の注意
- メリット: データファイル数が激減するため、制御ファイルの肥大化を防ぎ、チェックポイント処理のオーバーヘッドが減少します。
- デメリット: 1 ファイルが数 TB に及ぶ場合、ファイルシステムレベルのコピーや移動に時間がかかります。
- 戻し方: どうしても Smallfile が必要な場合は、DB 作成直後に以下のコマンドを実行してください。
ALTER DATABASE SET DEFAULT TABLESPACE TYPE SMALLFILE;
FAQ(よくある質問)
Q: 26ai ではなぜ Bigfile がデフォルトなのですか? A: ストレージの仮想化やクラウド環境(OCI 等)では、ファイルを細かく分けるよりも、単一の大きなボリュームとして扱う方が管理効率とパフォーマンスに優れるためです。
Q: Bigfile 表領域を後から Smallfile に戻せますか? A: 直接の変換は不可能です。データをエクスポート(Data Pump)し、Smallfile 表領域へインポートし直す必要があります。
Q: バックアップの時間に影響はありますか? A: RMAN を使用する場合、SECTION SIZE パラメータを使用することで、1 つの巨大なファイルを並列でバックアップできるため、大きな遅延は防げます。
まとめ
- Oracle Database 26ai (23.26) では、主要表領域がデフォルトで Bigfile 形式。
- 容量不足時は
ALTER DATABASE DATAFILE ... RESIZEで対応する。 - 既存の監視スクリプト等で
ADD DATAFILEを使っている場合は修正が必須。 - 互換性を重視する場合は、DB 作成時にデフォルトタイプを変更しておく。
[参考]
BIGFILEはSYSAUX、SYSTEMおよびUSER表領域でのデフォルト
本記事は Oracle Database 26ai (23.26.1) を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント