はじめに
RMAN(Recovery Manager)は、Oracle Databaseのバックアップやリカバリを自動化するためのツールです。RMANを利用することで、効率的なバックアップ運用が可能になります。本記事では、RMANで実行できる主なコマンドを詳細に解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. RMANの起動と接続
RMANの起動
以下のコマンドでRMANを起動し、ターゲットデータベースに接続します。
$ rman target /
またはリモート接続する場合は、
$ rman target sys/password@tns_alias
カタログデータベースを使用した接続
カタログデータベースを使用する場合、以下のように接続します。
$ rman target / catalog rman_user/rman_password@catalog_db
2. バックアップ関連コマンド
データベース全体のバックアップ
RMAN> BACKUP DATABASE;
RMAN> BACKUP DATABASE;
backupを25-02-01で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=84 デバイス・タイプ=DISK
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=/u01/app/oracle/oradata/V19/system01.dbf
入力データファイル ファイル番号=00003 名前=/u01/app/oracle/oradata/V19/sysaux01.dbf
入力データファイル ファイル番号=00004 名前=/u01/app/oracle/oradata/V19/undotbs01.dbf
入力データファイル ファイル番号=00007 名前=/u01/app/oracle/oradata/V19/users01.dbf
チャネルORA_DISK_1: ピース1 (25-02-01)を起動します
チャネルORA_DISK_1: ピース1 (25-02-01)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/013glmqg_1_1_1 タグ=TAG20250201T013720 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:25
backupを25-02-01で終了しました
Control File and SPFILE Autobackupを25-02-01で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250201-00 コメント=NONE
Control File and SPFILE Autobackupを25-02-01で終了しました
RMAN>
アーカイブログのバックアップ
RMAN> BACKUP ARCHIVELOG ALL;
制御ファイルとSPFILEのバックアップ
RMAN> BACKUP CURRENT CONTROLFILE;
RMAN> BACKUP SPFILE;
増分バックアップの取得
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
特定の表領域のバックアップ
RMAN> BACKUP TABLESPACE users;
バックアップセットのリストを表示
RMAN> LIST BACKUP;
3. リストアおよびリカバリ関連コマンド
データベース全体のリストアとリカバリ
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
特定の表領域のリストア
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
制御ファイルのリストア
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
4. バックアップ管理関連コマンド
期限切れのバックアップを表示
RMAN> CROSSCHECK BACKUP;
不要なバックアップを削除
RMAN> DELETE OBSOLETE;
特定のバックアップを削除
RMAN> DELETE BACKUP TAG 'backup_20240201';
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
5. データベースのメンテナンス関連コマンド
アーカイブログを削除
RMAN> DELETE ARCHIVELOG ALL;
フラッシュバックログを削除
RMAN> DELETE FLASHBACK LOG;
6. RMANの設定関連コマンド
バックアップの保持ポリシーを設定
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
デフォルトのバックアップ先を設定
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/%U';
アーカイブログの自動削除を設定
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DISK;
7. その他の重要なコマンド
LIST コマンド(バックアップやリカバリのリスト表示)
RMAN> LIST BACKUP;
RMAN> LIST ARCHIVELOG ALL;
RMAN> LIST COPY OF DATABASE;
REPORT コマンド(データベースの状況を報告)
RMAN> REPORT NEED BACKUP;
RMAN> REPORT OBSOLETE;
DUPLICATE コマンド(データベースの複製)
RMAN> DUPLICATE TARGET DATABASE TO standby_db FROM ACTIVE DATABASE;
CATALOG コマンド(バックアップのカタログ登録)
RMAN> CATALOG START WITH '/backup/';
SQL コマンド(SQLの実行)
RMAN> SELECT NAME,LOG_MODE,OPEN_MODE FROM V$DATABASE;
RMAN> SELECT NAME,LOG_MODE,OPEN_MODE FROM V$DATABASE;
NAME LOG_MODE OPEN_MODE
--------- ------------ --------------------
V19 ARCHIVELOG READ WRITE
RMAN>
8. RMANのスクリプト活用
バッチスクリプトを使用したバックアップ
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP DATABASE;
RELEASE CHANNEL c1;
}
まとめ
本記事では、RMANで使用できる主要なコマンドをカテゴリ別に詳細に解説しました。バックアップ戦略の構築、定期的なチェック、およびスクリプトを活用した自動化により、安定した運用を実現できます。実際の運用では、適切なポリシーの設定と定期的な検証が重要です。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c




コメント