ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
表領域とは
表領域 (Tablespace) は Oracle Database における論理的なストレージの単位です。テーブル・索引・LOB などのスキーマオブジェクトは表領域に属し、表領域は物理的なデータファイル (Datafile) を 1 つ以上束ねます。データファイルが OS 上のファイルそのものなのに対し、表領域は「論理的なまとまり」を提供し、ユーザーやアプリは表領域名でストレージを扱えます。
表領域の種類
| 種別 | 主要表領域 | 用途 |
|---|---|---|
| 永続 (Permanent) | SYSTEM, SYSAUX, USERS | 通常のテーブル・索引 |
| 一時 (Temporary) | TEMP | ソート、ハッシュ結合、グローバル一時表 |
| UNDO | UNDOTBS1 | トランザクションの取り消し情報、読み取り一貫性 |
| ビッグファイル | 任意 | 1 つの巨大データファイルで構成 |
標準で作られる表領域
- SYSTEM: データディクショナリ。ユーザー表は置かないのが原則
- SYSAUX: AWR / Statspack / 各種メタ。SYSTEM の補助
- USERS: ユーザー作成オブジェクト用のデフォルト
- TEMP: 一時セグメント (ソート等)
- UNDOTBS1: UNDO データ
LMT vs Dictionary Managed
| 方式 | エクステント管理 | 備考 |
|---|---|---|
| LMT (Locally Managed) | 表領域内のヘッダにビットマップ | Oracle 9i 以降の標準。高速・断片化少 |
| Dictionary Managed | SYSTEM のディクショナリ表で管理 | レガシー。新規不可 |
Smallfile vs Bigfile
| 形態 | Datafile 数 | 最大サイズ | 用途 |
|---|---|---|---|
| Smallfile (既定) | 1 表領域に複数 | 1 Datafile = 4M ブロック × ブロックサイズ (例: 32GB) | 従来通り |
| Bigfile | 1 表領域に 1 つだけ | 4G ブロック × ブロックサイズ (例: 32TB / 128TB) | ASM / DWH 等の巨大 DB |
CREATE TABLESPACE 例
-- 永続表領域 (LMT + AUTOALLOCATE + AUTOEXTEND)
CREATE TABLESPACE app_data
DATAFILE '/u01/oradata/orcl/app_data01.dbf'
SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE 30G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
-- 複数 Datafile の Smallfile 表領域
CREATE TABLESPACE app_data2
DATAFILE
'/u01/oradata/orcl/app2_01.dbf' SIZE 4G,
'/u02/oradata/orcl/app2_02.dbf' SIZE 4G
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
-- Bigfile 表領域
CREATE BIGFILE TABLESPACE app_big
DATAFILE '/u01/oradata/orcl/app_big.dbf' SIZE 100G AUTOEXTEND ON;
-- 一時表領域
CREATE TEMPORARY TABLESPACE temp2
TEMPFILE '/u01/oradata/orcl/temp2.dbf' SIZE 4G AUTOEXTEND ON
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
-- UNDO 表領域
CREATE UNDO TABLESPACE undotbs2
DATAFILE '/u01/oradata/orcl/undotbs2.dbf' SIZE 4G AUTOEXTEND ON;
ALTER TABLESPACE (変更・拡張)
-- 表領域にデータファイル追加
ALTER TABLESPACE app_data
ADD DATAFILE '/u02/oradata/orcl/app_data02.dbf' SIZE 4G AUTOEXTEND ON;
-- 既存データファイルのリサイズ
ALTER DATABASE DATAFILE '/u01/oradata/orcl/app_data01.dbf' RESIZE 5G;
-- AUTOEXTEND 設定変更
ALTER DATABASE DATAFILE '/u01/oradata/orcl/app_data01.dbf'
AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED;
-- 読み取り専用化
ALTER TABLESPACE app_data READ ONLY;
ALTER TABLESPACE app_data READ WRITE;
-- オフライン化
ALTER TABLESPACE app_data OFFLINE;
ALTER TABLESPACE app_data ONLINE;
-- 削除
DROP TABLESPACE app_data INCLUDING CONTENTS AND DATAFILES;
監視ビュー
-- 表領域一覧と設定
SELECT tablespace_name, contents, status, extent_management,
allocation_type, segment_space_management, bigfile
FROM dba_tablespaces;
-- 表領域使用率
SELECT df.tablespace_name,
ROUND(SUM(df.bytes)/1024/1024, 2) total_mb,
ROUND(SUM(df.bytes - NVL(fs.free, 0))/1024/1024, 2) used_mb,
ROUND((SUM(df.bytes - NVL(fs.free, 0)) / SUM(df.bytes)) * 100, 2) used_pct
FROM dba_data_files df
LEFT JOIN (SELECT file_id, SUM(bytes) free FROM dba_free_space GROUP BY file_id) fs
ON df.file_id = fs.file_id
GROUP BY df.tablespace_name
ORDER BY used_pct DESC;
-- データファイル一覧
SELECT file_name, tablespace_name, bytes/1024/1024 mb,
autoextensible, maxbytes/1024/1024 max_mb
FROM dba_data_files;
-- TEMP の使用率
SELECT tablespace_name,
tablespace_size/1024/1024 size_mb,
allocated_space/1024/1024 alloc_mb,
free_space/1024/1024 free_mb
FROM dba_temp_free_space;
ユーザーのデフォルト表領域
-- データベースのデフォルト表領域
ALTER DATABASE DEFAULT TABLESPACE users;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
-- ユーザー単位
ALTER USER scott
DEFAULT TABLESPACE app_data
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON app_data
QUOTA 0 ON system;
-- ユーザーの設定確認
SELECT username, default_tablespace, temporary_tablespace FROM dba_users;
SELECT * FROM dba_ts_quotas WHERE username = 'SCOTT';
Tablespace 暗号化 (TDE)
Oracle Advanced Security の透過的データ暗号化 (TDE) で表領域単位の暗号化が可能。アプリ無改修で実現できます。
-- 暗号化された表領域の作成 (TDE Master Key 設定済み前提)
CREATE TABLESPACE app_enc
DATAFILE '/u01/oradata/orcl/app_enc01.dbf' SIZE 2G AUTOEXTEND ON
ENCRYPTION USING 'AES256'
DEFAULT STORAGE (ENCRYPT);
-- 既存表領域のオンライン暗号化 (12.2+)
ALTER TABLESPACE app_data ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
-- 確認
SELECT tablespace_name, encrypted, encryptionalg FROM dba_tablespaces;
FAQ
Q: 表領域とスキーマの関係
A: スキーマ (ユーザー) はオブジェクトの所有者、表領域は格納場所。1 つのスキーマで複数の表領域を使うことも、1 つの表領域に複数スキーマのオブジェクトを置くことも可能。
Q: AUTOEXTEND を OFF にすべきケースは?
A: 共有ディスクが満杯になると DB 全体が止まるため、テスト環境やパーティション内のディスク容量を厳密に制御したい本番ではあえて OFF にし、容量監視で先回り運用するケースもあります。
Q: Bigfile への移行
A: オンラインでの直接変換は不可。DBMS_REDEFINITION や Data Pump で対象オブジェクトを Bigfile 表領域へ移動するのが現実解。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 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 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?