ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
テーブルスペースとは
Oracle のテーブルスペースは論理的なデータ格納領域で、1 つ以上のデータファイル(OS の物理ファイル)から構成されます。テーブル・インデックス等のデータは特定のテーブルスペースに格納されます。
主要なテーブルスペース:
- SYSTEM: データディクショナリ
- SYSAUX: 補助システム情報
- TEMP: 一時表領域(ソート等)
- UNDOTBS1: UNDO データ
- USERS: ユーザデータ(デフォルト)
容量確認
① テーブルスペース全体のサイズ
SELECT
tablespace_name,
ROUND(SUM(bytes) / 1024 / 1024, 2) AS total_mb
FROM dba_data_files
GROUP BY tablespace_name
ORDER BY tablespace_name;
# 結果例
TABLESPACE_NAME TOTAL_MB
--------------- --------
SYSTEM 800
SYSAUX 600
USERS 1024
② 使用容量・空き容量
SELECT
df.tablespace_name,
ROUND(df.total_mb, 2) AS total_mb,
ROUND(df.total_mb - NVL(fs.free_mb, 0), 2) AS used_mb,
ROUND(NVL(fs.free_mb, 0), 2) AS free_mb,
ROUND((df.total_mb - NVL(fs.free_mb, 0)) / df.total_mb * 100, 2) AS used_pct
FROM
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS total_mb
FROM dba_data_files GROUP BY tablespace_name) df
LEFT JOIN
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS free_mb
FROM dba_free_space GROUP BY tablespace_name) fs
ON df.tablespace_name = fs.tablespace_name
ORDER BY used_pct DESC;
# 結果例
TABLESPACE_NAME TOTAL_MB USED_MB FREE_MB USED_PCT
--------------- -------- ------- ------- --------
USERS 1024 950 74 92.77 ← 危険
SYSTEM 800 720 80 90.00
SYSAUX 600 400 200 66.67
③ データファイル個別の情報
SELECT
tablespace_name,
file_name,
ROUND(bytes / 1024 / 1024, 2) AS size_mb,
autoextensible AS auto_ext,
ROUND(maxbytes / 1024 / 1024, 2) AS max_mb,
ROUND(increment_by * (SELECT block_size FROM dba_tablespaces WHERE tablespace_name = ddf.tablespace_name) / 1024 / 1024, 2) AS increment_mb
FROM dba_data_files ddf
ORDER BY tablespace_name;
④ 一時表領域・UNDO 表領域
-- 一時表領域
SELECT
tablespace_name,
ROUND(SUM(bytes_used)/1024/1024, 2) AS used_mb,
ROUND(SUM(bytes_free)/1024/1024, 2) AS free_mb
FROM v$temp_space_header
GROUP BY tablespace_name;
-- UNDO 表領域
SELECT
tablespace_name,
ROUND(SUM(bytes)/1024/1024, 2) AS total_mb
FROM dba_data_files
WHERE tablespace_name IN (SELECT value FROM v$parameter WHERE name = 'undo_tablespace');
容量拡張
方法 1: 既存データファイルを RESIZE
-- データファイルのサイズを 2GB に拡大
ALTER DATABASE DATAFILE '/u01/oradata/users01.dbf' RESIZE 2G;
-- 1GB → 5GB
ALTER DATABASE DATAFILE '/u01/oradata/users01.dbf' RESIZE 5120M;
-- 縮小も可(空き領域がある場合のみ)
ALTER DATABASE DATAFILE '/u01/oradata/users01.dbf' RESIZE 500M;
方法 2: データファイル追加
-- 既存テーブルスペースにデータファイルを追加
ALTER TABLESPACE users
ADD DATAFILE '/u01/oradata/users02.dbf' SIZE 2G;
-- 自動拡張も同時に設定
ALTER TABLESPACE users
ADD DATAFILE '/u01/oradata/users02.dbf'
SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE 10G;
-- 確認
SELECT file_name, bytes/1024/1024 AS size_mb
FROM dba_data_files WHERE tablespace_name = 'USERS';
方法 3: 自動拡張を有効化
-- 既存ファイルの自動拡張を ON
ALTER DATABASE DATAFILE '/u01/oradata/users01.dbf'
AUTOEXTEND ON
NEXT 100M -- 100MB ずつ拡張
MAXSIZE 10G; -- 10GB が上限 (UNLIMITED も可)
-- UNLIMITED の場合
ALTER DATABASE DATAFILE '/u01/oradata/users01.dbf'
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
-- 自動拡張を OFF
ALTER DATABASE DATAFILE '/u01/oradata/users01.dbf' AUTOEXTEND OFF;
方法 4: BIGFILE テーブルスペース(単一巨大ファイル)
-- BIGFILE 形式(1 つのデータファイルが最大 128TB)
CREATE BIGFILE TABLESPACE huge_data
DATAFILE '/u01/oradata/huge_data.dbf' SIZE 100G
AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED;
一時表領域の拡張
-- 一時データファイル追加
ALTER TABLESPACE temp
ADD TEMPFILE '/u01/oradata/temp02.dbf'
SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE 10G;
-- 既存一時ファイルのサイズ変更
ALTER DATABASE TEMPFILE '/u01/oradata/temp01.dbf' RESIZE 5G;
UNDO 表領域の拡張
-- UNDO データファイル追加
ALTER TABLESPACE undotbs1
ADD DATAFILE '/u01/oradata/undotbs02.dbf'
SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE 5G;
新規テーブルスペース作成
-- 通常 (SMALLFILE) テーブルスペース
CREATE TABLESPACE app_data
DATAFILE '/u01/oradata/app_data01.dbf' SIZE 1G
AUTOEXTEND ON NEXT 100M MAXSIZE 10G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
-- BIGFILE
CREATE BIGFILE TABLESPACE app_huge
DATAFILE '/u01/oradata/app_huge.dbf' SIZE 10G
AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED;
テーブルスペースの監視(運用向け)
-- 使用率 80% 超のテーブルスペースを抽出(アラート対象)
SELECT
df.tablespace_name,
ROUND((df.total_mb - NVL(fs.free_mb, 0)) / df.total_mb * 100, 2) AS used_pct
FROM
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS total_mb
FROM dba_data_files GROUP BY tablespace_name) df
LEFT JOIN
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS free_mb
FROM dba_free_space GROUP BY tablespace_name) fs
ON df.tablespace_name = fs.tablespace_name
WHERE (df.total_mb - NVL(fs.free_mb, 0)) / df.total_mb * 100 > 80
ORDER BY used_pct DESC;
注意点
- 事前のバックアップ: データファイル変更前は必ずバックアップ
- RESIZE は一括: ファイル拡張中は短時間のロックあり、本番では計画停止
- 自動拡張の落とし穴: MAXSIZE UNLIMITED にすると気付かぬ間にディスクフル
- OS のディスク容量: テーブルスペース拡張前に
df -hで OS 側を確認 - SYSTEM 表領域はあまり拡張しない: 通常 800MB 程度で足りる、肥大化するのはユーザデータが入り込んでいるサイン
- 権限: 拡張操作は
SYSDBAやALTER TABLESPACE権限が必要
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Spring Framework 記事一覧31件|DI・設定・例外の対処 2026-09-07 07:45:13
- Laravel 記事一覧55件|環境構築・ルーティング・DB・エラー対処 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Javaの定数 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- hostnameコマンドの使い方|Windows・Linux・macOSでホスト名確認 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Oracle DROP USERでユーザー削除|CASCADE・接続中ユーザーの対処 2026-09-07 07:45:13
- SQLとは|DDL・DMLとリレーショナルデータベース操作の基本 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- NetBeansでTomcatを起動する手順|サーバ登録・ポート・トラブル対処 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?