ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
制御ファイルとは
制御ファイル(control file)は Oracle データベースを構成する物理ファイルの 1 つで、データベース全体の物理構造に関するメタ情報を保持するバイナリファイルです。サイズは数 MB 〜 数十 MB と小さいですが、これがないとデータベースは起動できないという極めて重要な役割を持ちます。
主な格納情報
| カテゴリ | 内容 |
|---|---|
| データベース識別子 | データベース名、DBID、作成タイムスタンプ |
| データファイル情報 | 各データファイルのパス、サイズ、ステータス |
| REDO ログ情報 | オンライン REDO ログのパス、サイズ、シーケンス番号 |
| 表領域情報 | 表領域とデータファイルの対応 |
| チェックポイント情報 | SCN(System Change Number)、リカバリ用情報 |
| バックアップ履歴 | RMAN を使った場合のバックアップ・コピー履歴 |
| アーカイブログ情報 | アーカイブ REDO ログの位置 |
インスタンス起動時の役割
Oracle インスタンスの起動は 3 段階で進みます。制御ファイルは MOUNT 段階で読み込まれます。
| 段階 | 処理 |
|---|---|
| NOMOUNT | SGA 確保、バックグラウンドプロセス起動(パラメータファイルのみ読み込み) |
| MOUNT | 制御ファイルを読み込み、データファイル / REDO ログの場所を確認 |
| OPEN | データファイル / REDO ログを開き、利用可能状態に |
多重化(多重制御ファイル)
制御ファイルが 1 つだけだと、それが壊れた瞬間に DB が起動不能になります。Oracle では同一内容を複数の物理ディスクに保存する多重化が推奨されます。
-- 現在の制御ファイル一覧
SHOW PARAMETER control_files
-- 複数指定(init.ora / spfile)
*.control_files='/u01/oracle/oradata/orcl/control01.ctl',
'/u02/oracle/oradata/orcl/control02.ctl',
'/u03/oracle/oradata/orcl/control03.ctl'
spfile を使っている場合は次の手順で追加します。
-- spfile を変更
ALTER SYSTEM SET control_files=
'/u01/.../control01.ctl',
'/u02/.../control02.ctl',
'/u03/.../control03.ctl'
SCOPE=SPFILE;
-- DB を停止
SHUTDOWN IMMEDIATE;
-- OS コマンドで新しい場所に物理コピー
-- cp /u01/.../control01.ctl /u02/.../control02.ctl
-- 起動
STARTUP;
バックアップ
制御ファイルは定期バックアップ必須です。次の 2 通りの方法があります。
-- バイナリコピー
ALTER DATABASE BACKUP CONTROLFILE TO '/backup/control_backup.ctl';
-- テキストの再作成スクリプトとして出力
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
-- → USER_DUMP_DEST の .trc ファイルに CREATE CONTROLFILE 文が出力される
RMAN を使う場合は、CONFIGURE CONTROLFILE AUTOBACKUP ON; で構造変更時に自動バックアップされる設定が可能です。
再作成
すべての制御ファイルが失われた場合は、CREATE CONTROLFILE 文で再作成できます(バックアップしておいた TRACE 出力を利用)。
STARTUP NOMOUNT;
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/oradata/orcl/redo01.log' SIZE 50M,
GROUP 2 '/u01/oradata/orcl/redo02.log' SIZE 50M
DATAFILE
'/u01/oradata/orcl/system01.dbf',
'/u01/oradata/orcl/sysaux01.dbf',
'/u01/oradata/orcl/users01.dbf'
CHARACTER SET AL32UTF8;
ALTER DATABASE OPEN;
確認用ビュー
| ビュー | 用途 |
|---|---|
V$CONTROLFILE | 制御ファイルのパス / ステータス |
V$CONTROLFILE_RECORD_SECTION | セクションごとのレコード使用状況 |
V$DATABASE | DBID、CONTROLFILE_TYPE |
運用ベストプラクティス
- 最低でも 2 つ以上、別の物理ディスクに配置
- spfile / pfile への
control_files設定を統一 - RMAN AUTOBACKUP を有効にして、DB 構造変更のたびに自動バックアップ
ALTER DATABASE BACKUP CONTROLFILE TO TRACEを定期取得しておく(緊急再作成用)
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- データファイル
- 制御ファイル
- 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アノテーションとは
最近更新/作成されたページ
- 【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
コメントを削除してもよろしいでしょうか?