きさま!見ているなッ!!

【Oracle】RMANによるバックアップ・リカバリ計画

  • 2019-09-21
  • 2019-09-21
  • Oracle

DBA として、データベース障害に備えて、バックアップ・リカバリ計画を実装しておく必要があります。OracleDB では、バックアップとリカバリについて、下記のソリューションを使用できます。

ソリューション説明
Recovery Manager(RMAN)RMANというツールを使用して、バックアップとリカバリを行う。
ユーザー管理バックアップOSコマンドのファイルコピーなどで、バックアップとリカバリを行う。

今回は、Oracle で推奨されている RMAN を使用したバックアップとリカバリについて、ご紹介します。

環境

・環境情報

OSRDBMS
CentOS 7.6Oracle Database 12c R2 Enterprise Edition

・CDB 情報

データベース名CDB1
データベースタイプ単一インスタンス
アーキテクチャマルチテナント
データベース記憶域ローカル・ストレージ
高速リカバリ領域ローカル・ストレージ
UNDOモードローカル
データベース・ログ・モードアーカイブ・モード

・PDB 情報

PDB名PDB1
PDBローカル管理者PDB1ADM
PDBのデータファイルの場所/u01/app/oracle/oradata/pdb1/

PDB の作成については、こちらの記事をどうぞ。

バックアップ

アーカイブ・モード

$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 金 9月 20 23:03:18 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.



Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL> 
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

SQL> 
SQL> archive log list
データベース・ログ・モード     アーカイブ・モード
自動アーカイブ                 有効
アーカイブ先                    USE_DB_RECOVERY_FILE_DEST
最も古いオンライン・ログ順序   44
アーカイブする次のログ順序    46
現行のログ順序               46
SQL> 
SQL> show parameter db_recovery_file_dest

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- -----------------------------------
db_recovery_file_dest                string                            /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size           big integer                       10G

SQL> 

オンライン・バックアップを実施するためには、アーカイブ・モードである必要があります。また、下記の初期化パラメータが設定されているので、高速リカバリ領域が有効化されています。高速リカバリ領域とは、OracleDB によってメンテナンスされるバックアップ格納領域です。

初期化パラメータ説明
DB_RECOVERY_FILE_DESTリカバリ領域の場所
DB_RECOVERY_FILE_DEST_SIZEリカバリ領域で使用されるデータの最大格納量

RMAN環境の構成

$ rman target /

Recovery Manager: Release 12.2.0.1.0 - Production on 金 9月 20 23:05:29 2019

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

ターゲット・データベース: CDB1 (DBID=992440531)に接続されました

RMAN> 

RMANコマンドを使用して、OS認証でログインします。リスナー経由でもログインできます。

RMAN> show all;

リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
db_unique_name CDB1のデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12.2.0/dbhome_1/dbs/snapcf_cdb1.f'; # default

RMAN> 

SHOW コマンドで、RMAN環境の構成を確認します。全てデフォルト構成なので、「# default」コメントが付いています。

CONFIGURE CONTROLFILE AUTOBACKUP が ON に設定されているので、制御ファイルおよびサーバー・パラメータ・ファイルが自動的にバックアップされます。

RMANでバックアップを取得する

RMAN> backup database plus archivelog;


backupを19-09-20で開始しています
現在のログがアーカイブされました。
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=19 デバイス・タイプ=DISK
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=37 レコードID=1 スタンプ=1018821639
入力アーカイブ・ログ・スレッド=1 順序=38 レコードID=2 スタンプ=1018821680
入力アーカイブ・ログ・スレッド=1 順序=39 レコードID=3 スタンプ=1018825297
入力アーカイブ・ログ・スレッド=1 順序=40 レコードID=4 スタンプ=1018832419
入力アーカイブ・ログ・スレッド=1 順序=41 レコードID=5 スタンプ=1019026946
入力アーカイブ・ログ・スレッド=1 順序=42 レコードID=6 スタンプ=1019032740
入力アーカイブ・ログ・スレッド=1 順序=43 レコードID=7 スタンプ=1019038760
入力アーカイブ・ログ・スレッド=1 順序=44 レコードID=8 スタンプ=1019485226
入力アーカイブ・ログ・スレッド=1 順序=45 レコードID=9 スタンプ=1019512832
入力アーカイブ・ログ・スレッド=1 順序=46 レコードID=10 スタンプ=1019517500
チャネルORA_DISK_1: ピース1 (19-09-20)を起動します
チャネルORA_DISK_1: ピース1 (19-09-20)が完了しました
ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_annnn_TAG20190920T231821_gr9qxfbq_.bkp タグ=TAG20190920T231821 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:25
backupを19-09-20で終了しました

backupを19-09-20で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=/u01/app/oracle/oradata/cdb1/system01.dbf
入力データファイル ファイル番号=00007 名前=/u01/app/oracle/oradata/cdb1/users01.dbf
入力データファイル ファイル番号=00003 名前=/u01/app/oracle/oradata/cdb1/sysaux01.dbf
入力データファイル ファイル番号=00005 名前=/u01/app/oracle/oradata/cdb1/undotbs01.dbf
チャネルORA_DISK_1: ピース1 (19-09-20)を起動します
チャネルORA_DISK_1: ピース1 (19-09-20)が完了しました
ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qy7cb_.bkp タグ=TAG20190920T231847 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:25
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00013 名前=/u01/app/oracle/oradata/pdb1/users01.dbf
入力データファイル ファイル番号=00014 名前=/u01/app/oracle/oradata/pdb1/usertbs01.dbf
入力データファイル ファイル番号=00011 名前=/u01/app/oracle/oradata/pdb1/sysaux01.dbf
入力データファイル ファイル番号=00012 名前=/u01/app/oracle/oradata/pdb1/undotbs01.dbf
入力データファイル ファイル番号=00010 名前=/u01/app/oracle/oradata/pdb1/system01.dbf
入力データファイル ファイル番号=00015 名前=/u01/app/oracle/oradata/pdb1/example01.dbf
チャネルORA_DISK_1: ピース1 (19-09-20)を起動します
チャネルORA_DISK_1: ピース1 (19-09-20)が完了しました
ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/924B0C05583F0F21E0536538A8C0AC7D/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qz0jr_.bkp タグ=TAG20190920T231847 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:15
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00008 名前=/u01/app/oracle/oradata/pdbseed/users01.dbf
入力データファイル ファイル番号=00009 名前=/u01/app/oracle/oradata/pdbseed/usertbs01.dbf
入力データファイル ファイル番号=00004 名前=/u01/app/oracle/oradata/pdbseed/sysaux01.dbf
入力データファイル ファイル番号=00006 名前=/u01/app/oracle/oradata/pdbseed/undotbs01.dbf
入力データファイル ファイル番号=00002 名前=/u01/app/oracle/oradata/pdbseed/system01.dbf
チャネルORA_DISK_1: ピース1 (19-09-20)を起動します
チャネルORA_DISK_1: ピース1 (19-09-20)が完了しました
ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/9244C81101A57521E0536538A8C0E26D/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qzhp7_.bkp タグ=TAG20190920T231847 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:25
backupを19-09-20で終了しました

backupを19-09-20で開始しています
現在のログがアーカイブされました。
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=47 レコードID=11 スタンプ=1019517592
チャネルORA_DISK_1: ピース1 (19-09-20)を起動します
チャネルORA_DISK_1: ピース1 (19-09-20)が完了しました
ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_annnn_TAG20190920T231952_gr9r092v_.bkp タグ=TAG20190920T231952 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを19-09-20で終了しました

Control File and SPFILE Autobackupを19-09-20で開始しています
ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/autobackup/2019_09_20/o1_mf_s_1019517594_gr9r0bnr_.bkp コメント=NONE
Control File and SPFILE Autobackupを19-09-20で終了しました

RMAN> 

BACKUP コマンドでバックアップを取得します。PLUS ARCHIVELOG オプションを指定して、アーカイブREDOログ・ファイルもバックアップしています。

バックアップ情報を表示する

RMAN> list backup;


バックアップ・セットのリスト
===================


BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
3       815.83M    DISK        00:00:09     19-09-20
        BPキー: 3   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20190920T231821
        ピース名: /u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_annnn_TAG20190920T231821_gr9qxfbq_.bkp

  バックアップ・セット3のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間 Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    37      1204681    19-09-11 1237147    19-09-12
  1    38      1237147    19-09-12 1256789    19-09-12
  1    39      1256789    19-09-12 1277308    19-09-12
  1    40      1277308    19-09-12 1296970    19-09-13
  1    41      1296970    19-09-13 1323357    19-09-15
  1    42      1323357    19-09-15 1343657    19-09-15
  1    43      1343657    19-09-15 1360720    19-09-15
  1    44      1360720    19-09-15 1393753    19-09-20
  1    45      1393753    19-09-20 1422619    19-09-20
  1    46      1422619    19-09-20 1431002    19-09-20

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
4       Full    640.63M    DISK        00:00:13     19-09-20
        BPキー: 4   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20190920T231847
        ピース名: /u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qy7cb_.bkp
  バックアップ・セット4のデータファイルのリスト
  File LV Type Ckp SCN    Ckp時間 Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  1       Full 1431024    19-09-20              NO    /u01/app/oracle/oradata/cdb1/system01.dbf
  3       Full 1431024    19-09-20              NO    /u01/app/oracle/oradata/cdb1/sysaux01.dbf
  5       Full 1431024    19-09-20              NO    /u01/app/oracle/oradata/cdb1/undotbs01.dbf
  7       Full 1431024    19-09-20              NO    /u01/app/oracle/oradata/cdb1/users01.dbf

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
5       Full    335.13M    DISK        00:00:06     19-09-20
        BPキー: 5   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20190920T231847
        ピース名: /u01/app/oracle/flash_recovery_area/CDB1/924B0C05583F0F21E0536538A8C0AC7D/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qz0jr_.bkp
  バックアップ・セット5のデータファイルのリスト
  コンテナID: 3、PDB名: PDB1
  File LV Type Ckp SCN    Ckp時間 Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  10      Full 1431033    19-09-20              NO    /u01/app/oracle/oradata/pdb1/system01.dbf
  11      Full 1431033    19-09-20              NO    /u01/app/oracle/oradata/pdb1/sysaux01.dbf
  12      Full 1431033    19-09-20              NO    /u01/app/oracle/oradata/pdb1/undotbs01.dbf
  13      Full 1431033    19-09-20              NO    /u01/app/oracle/oradata/pdb1/users01.dbf
  14      Full 1431033    19-09-20              NO    /u01/app/oracle/oradata/pdb1/usertbs01.dbf
  15      Full 1431033    19-09-20              NO    /u01/app/oracle/oradata/pdb1/example01.dbf

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
6       Full    513.62M    DISK        00:00:15     19-09-20
        BPキー: 6   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20190920T231847
        ピース名: /u01/app/oracle/flash_recovery_area/CDB1/9244C81101A57521E0536538A8C0E26D/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qzhp7_.bkp
  バックアップ・セット6のデータファイルのリスト
  コンテナID: 2、PDB名: PDB$SEED
  File LV Type Ckp SCN    Ckp時間 Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  2       Full 1205992    19-09-11              NO    /u01/app/oracle/oradata/pdbseed/system01.dbf
  4       Full 1205992    19-09-11              NO    /u01/app/oracle/oradata/pdbseed/sysaux01.dbf
  6       Full 1205992    19-09-11              NO    /u01/app/oracle/oradata/pdbseed/undotbs01.dbf
  8       Full 1205992    19-09-11              NO    /u01/app/oracle/oradata/pdbseed/users01.dbf
  9       Full 1205992    19-09-11              NO    /u01/app/oracle/oradata/pdbseed/usertbs01.dbf

BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
7       4.50K      DISK        00:00:00     19-09-20
        BPキー: 7   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20190920T231952
        ピース名: /u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_annnn_TAG20190920T231952_gr9r092v_.bkp

  バックアップ・セット7のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間 Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    47      1431002    19-09-20 1431056    19-09-20

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
8       Full    17.20M     DISK        00:00:00     19-09-20
        BPキー: 8   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20190920T231954
        ピース名: /u01/app/oracle/flash_recovery_area/CDB1/autobackup/2019_09_20/o1_mf_s_1019517594_gr9r0bnr_.bkp
  SPFILEも含まれます: 修正時間: 19-09-20
  SPFILE db_unique_name: CDB1
  含まれている制御ファイル: Ckp SCN: 1431065      Ckp時間: 19-09-20

RMAN> 

LIST コマンドでバックアップ・セットごとの情報を出力します。

RMAN> list backup summary;


バックアップのリスト
===============
Key     TY LV S Device Type 終了時間 #Pieces #Copies Compressed Tag
------- -- -- - ----------- -------- ------- ------- ---------- ---
3       B  A  A DISK        19-09-20 1       1       NO         TAG20190920T231821
4       B  F  A DISK        19-09-20 1       1       NO         TAG20190920T231847
5       B  F  A DISK        19-09-20 1       1       NO         TAG20190920T231847
6       B  F  A DISK        19-09-20 1       1       NO         TAG20190920T231847
7       B  A  A DISK        19-09-20 1       1       NO         TAG20190920T231952
8       B  F  A DISK        19-09-20 1       1       NO         TAG20190920T231954

RMAN>

SUMMARY オプションでサマリー出力もできます。

障害を発生させる

$ sqlplus pdb1user/pdb1user@pdb1

SQL*Plus: Release 12.2.0.1.0 Production on 土 9月 21 01:57:17 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

最終正常ログイン時間: 土 9月  21 2019 01:39:09 +09:00


Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL> 
SQL> show con_name

CON_NAME
------------------------------
PDB1

SQL> 
SQL> alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';

セッションが変更されました。

SQL> set lin 1000
SQL> col user_id for a20
SQL> col user_name for a20
SQL> SELECT * FROM t_user_info ORDER BY user_id;

USER_ID              USER_NAME            REG_DATE
-------------------- -------------------- -------------------
1                    TEST_USER            2019/09/13 09:17:31

SQL> 
SQL> INSERT INTO t_user_info (user_id, user_name, reg_date) VALUES ('2', 'TEST_USER2', SYSDATE);

1行が作成されました。

SQL> 
SQL> SELECT * FROM t_user_info ORDER BY user_id;

USER_ID              USER_NAME            REG_DATE
-------------------- -------------------- -------------------
1                    TEST_USER            2019/09/13 09:17:31
2                    TEST_USER2           2019/09/21 01:59:11

SQL> 

RMAN でバックアップを取得した後に、PDB1 の T_USER_INFO テーブルにデータを登録します。

$ cd /u01/app/oracle/oradata/pdb1
$ ls -l
合計 1593304
-rw-r----- 1 oracle oinstall 104865792  9月 21 02:04 example01.dbf
-rw-r----- 1 oracle oinstall 251666432  9月 21 02:04 sysaux01.dbf
-rw-r----- 1 oracle oinstall 209723392  9月 21 02:04 system01.dbf
-rw-r----- 1 oracle oinstall  52436992  9月 20 23:22 temp01.dbf
-rw-r----- 1 oracle oinstall 225452032  9月 21 02:04 undotbs01.dbf
-rw-r----- 1 oracle oinstall 524296192  9月 21 02:04 users01.dbf
-rw-r----- 1 oracle oinstall 314580992  9月 21 02:04 usertbs01.dbf
$ 
$ rm -f example01.dbf
$ ls -l
合計 1490896
-rw-r----- 1 oracle oinstall 251666432  9月 21 02:04 sysaux01.dbf
-rw-r----- 1 oracle oinstall 209723392  9月 21 02:04 system01.dbf
-rw-r----- 1 oracle oinstall  52436992  9月 20 23:22 temp01.dbf
-rw-r----- 1 oracle oinstall 225452032  9月 21 02:04 undotbs01.dbf
-rw-r----- 1 oracle oinstall 524296192  9月 21 02:04 users01.dbf
-rw-r----- 1 oracle oinstall 314580992  9月 21 02:04 usertbs01.dbf
$ 

PDB1 の example01.dbf データファイルを強制的に削除します。

$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 土 9月 21 02:08:42 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.



Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

SQL> 
SQL> set lin 1000
SQL> col name for a20
SQL> col open_mode for a20
SQL> SELECT name, open_mode FROM v$pdbs;

NAME                 OPEN_MODE
-------------------- --------------------
PDB$SEED             READ ONLY
PDB1                 READ WRITE

SQL> 
SQL> alter pluggable database pdb1 close;

プラガブル・データベースが変更されました。

SQL> alter pluggable database pdb1 open;
alter pluggable database pdb1 open
*
行1でエラーが発生しました。:
ORA-01157: データファイル15を識別/ロックできません - DBWRトレース・ファイルを参照してください ORA-01110: データファイル15:
'/u01/app/oracle/oradata/pdb1/example01.dbf'


SQL> 

PDB1 をクローズし、再度オープンすると example01.dbf データファイルが存在しないためエラーが発生します。

リカバリ

$ rman target /

Recovery Manager: Release 12.2.0.1.0 - Production on 土 9月 21 02:16:03 2019

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

ターゲット・データベース: CDB1 (DBID=992440531)に接続されました

RMAN>

RMANコマンドを使用して、OS認証でログインします。リスナー経由でもログインできます。

RMAN> startup force mount;

Oracleインスタンスが起動しました
データベースがマウントされました。

システム・グローバル領域の合計は、   3221225472バイトです。

Fixed Size                     8797928バイト
Variable Size                738197784バイト
Database Buffers            2466250752バイト
Redo Buffers                   7979008バイト

RMAN>

データベースがオープンしているので、マウント状態にします。

RMAN> restore database;

restoreを19-09-21で開始しています
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=63 デバイス・タイプ=DISK

データファイル2をスキップしています。すでにファイル/u01/app/oracle/oradata/pdbseed/system01.dbfにリストアされています
データファイル4をスキップしています。すでにファイル/u01/app/oracle/oradata/pdbseed/sysaux01.dbfにリストアされています
データファイル6をスキップしています。すでにファイル/u01/app/oracle/oradata/pdbseed/undotbs01.dbfにリストアされています
データファイル8をスキップしています。すでにファイル/u01/app/oracle/oradata/pdbseed/users01.dbfにリストアされています
データファイル9をスキップしています。すでにファイル/u01/app/oracle/oradata/pdbseed/usertbs01.dbfにリストアされています
チャネルORA_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_DISK_1: データファイル00001を/u01/app/oracle/oradata/cdb1/system01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00003を/u01/app/oracle/oradata/cdb1/sysaux01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00005を/u01/app/oracle/oradata/cdb1/undotbs01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00007を/u01/app/oracle/oradata/cdb1/users01.dbfにリストアしています
チャネルORA_DISK_1: バックアップ・ピース/u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qy7cb_.bkpから読取り中です
チャネルORA_DISK_1: ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qy7cb_.bkp タグ=TAG20190920T231847
チャネルORA_DISK_1: バックアップ・ピース1がリストアされました
チャネルORA_DISK_1: リストアが完了しました。経過時間: 00:00:25
チャネルORA_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_DISK_1: データファイル00010を/u01/app/oracle/oradata/pdb1/system01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00011を/u01/app/oracle/oradata/pdb1/sysaux01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00012を/u01/app/oracle/oradata/pdb1/undotbs01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00013を/u01/app/oracle/oradata/pdb1/users01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00014を/u01/app/oracle/oradata/pdb1/usertbs01.dbfにリストアしています
チャネルORA_DISK_1: データファイル00015を/u01/app/oracle/oradata/pdb1/example01.dbfにリストアしています
チャネルORA_DISK_1: バックアップ・ピース/u01/app/oracle/flash_recovery_area/CDB1/924B0C05583F0F21E0536538A8C0AC7D/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qz0jr_.bkpから読取り中です
チャネルORA_DISK_1: ピース・ハンドル=/u01/app/oracle/flash_recovery_area/CDB1/924B0C05583F0F21E0536538A8C0AC7D/backupset/2019_09_20/o1_mf_nnndf_TAG20190920T231847_gr9qz0jr_.bkp タグ=TAG20190920T231847
チャネルORA_DISK_1: バックアップ・ピース1がリストアされました
チャネルORA_DISK_1: リストアが完了しました。経過時間: 00:00:25
restoreを19-09-21で終了しました

RMAN>

RESTORE コマンドで最新のバックアップ・セットからリストアします。

RMAN> recover database;

recoverを19-09-21で開始しています
チャネルORA_DISK_1の使用

メディア・リカバリを開始しています

スレッド1 (順序47)のアーカイブ・ログは、ファイル/u01/app/oracle/flash_recovery_area/CDB1/archivelog/2019_09_20/o1_mf_1_47_gr9r08tw_.arcとしてディスクにすでに存在します
スレッド1 (順序48)のアーカイブ・ログは、ファイル/u01/app/oracle/flash_recovery_area/CDB1/archivelog/2019_09_21/o1_mf_1_48_gr9y1jf6_.arcとしてディスクにすでに存在します
スレッド1 (順序49)のアーカイブ・ログは、ファイル/u01/app/oracle/flash_recovery_area/CDB1/archivelog/2019_09_21/o1_mf_1_49_grb1mv9r_.arcとしてディスクにすでに存在します
アーカイブ・ログ・ファイル名=/u01/app/oracle/flash_recovery_area/CDB1/archivelog/2019_09_20/o1_mf_1_47_gr9r08tw_.arc スレッド=1 順序=47
メディア・リカバリが完了しました。経過時間: 00:00:09
recoverを19-09-21で終了しました

RMAN>

RECOVER コマンドで完全リカバリを実行します。

RMAN> alter database open;

文が処理されました

RMAN>

データベースをオープンします。

障害の復旧を確認する

$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 土 9月 21 02:18:33 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.



Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

SQL> 
SQL> alter pluggable database pdb1 open;

プラガブル・データベースが変更されました。

SQL> 

PDB1 をオープンします。

$ sqlplus pdb1user/pdb1user@pdb1

SQL*Plus: Release 12.2.0.1.0 Production on 土 9月 21 02:18:59 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

最終正常ログイン時間: 土 9月  21 2019 02:13:09 +09:00


Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL> 
SQL> show con_name

CON_NAME
------------------------------
PDB1

SQL> 
SQL> alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';

セッションが変更されました。

SQL> set lin 1000
SQL> col user_id for a20
SQL> col user_name for a20
SQL> SELECT * FROM t_user_info ORDER BY user_id;

USER_ID              USER_NAME            REG_DATE
-------------------- -------------------- -------------------
1                    TEST_USER            2019/09/13 09:17:31
2                    TEST_USER2           2019/09/21 01:59:11

SQL> 

PDB1 の T_USER_INFO テーブルのデータが最新まで復旧されていることを確認します。

まとめ

RMAN を使用することで、バックアップおよびリストア・リカバリを簡単に実施することができました。

RMAN には、他にも増分バックアップやフラッシュバック・データベース、バックアップの保存方針の設定などの機能があります。

環境に合わせて RMAN の機能を使用して、障害が発生した際に、迅速に対応できるようにしておきましょう。

【Oracle】RMANによるバックアップ・リカバリ計画
最新情報をチェックしよう!