SYSTEM表領域のデータファイルや制御ファイルなどをRAWデバイスに格納している場合、考えられるバックアップ方法は二通りある。
前提知識として、コールドバックアップに取得すべきファイルは以下
- 初期化パラメタファイル
- 制御ファイル
- すべてのデータファイル
- オンラインREDOログファイル
- パスワードファイル
方法1:dd コマンドを使用する
以下の例では、db_block_size=8k の環境でSYSTEM表領域のデータファイルを sdb2 に、ブロック単位でファイルをコピーしている。
dd if=/dev/sda1/system of=/dev/sda2/system_bk bs=8192
それぞれのコマンドの意味。
- if:読み込まれるファイル名
- of:書き込まれるファイル名
- bs:dd がコピーに使うバッファサイズ
事前にバックアップを取得するRAWデバイスを用意しておく必要がある
方法2:RMAN COPY コマンドを使用する
dd コマンドの代替として、RMAN COPY を使うことでも RAW デバイスにファイルをコピーすることが可能。
COPY DATAFILE 4 TO '/dev/sdb2/system_test';
実行例
RMAN> COPY DATAFILE 4 TO '/dev/sdb2/system_test';
copyが開始されました(開始場所: 20-06-13)
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: データ・ファイル4をコピーしました
出力ファイル名=/dev/sdb2/system_test レコードID=45 スタンプ=493275043
copyが完了しました(完了場所: 20-06-13)
RMAN> list copy of tablespace tools;
データ・ファイル・コピーのリスト
Key File S 終了時刻 Ckp SCN Ckp時刻 Name
------- ---- - -------- ---------- -------- ----
45 4 A 20-06-13 4357918214286 20-06-13 /dev/sdb2/system_test
バックアップ先をファイルシステムに指定することも可能