th0x4c 備忘録

[Oracle] フィジカル・スタンバイ・データベースの作成

目的

Data Guard のフィジカル・スタンバイ・データベースを作成する。

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)
  • EM: Oracle Enterprise Manager Grid Control 11g (11.1)

フィジカル・スタンバイ・データベースの作成

EM Grid Control を使用してフィジカル・スタンバイ・データベースを作成する。

  • プライマリ DB インスタンスの “可用性” タブ内の “スタンバイ・データベースの追加” をクリック

  • SYSDBA 権限で接続

  • “スタンバイ・データベースの追加” をクリック

  • “新規のフィジカル・スタンバイ・データベースの作成” を選択し、”続行” をクリック

  • “Recovery Manager (RMAN)を使用してデータベース・ファイルをコピーします” のままで “次へ” をクリック

  • “プライマリ・ホスト資格証明” に OS ユーザとパスワードを入力。”スタンバイREDOログ・ファイルにOracle Managed Files(OMF)を使用” のチェックを外す

  • スタンバイ DB の “インスタンス名”, “ホスト” を環境に合わせて変更

  • スタンバイ DB のファイルの場所として “ファイル名と場所をプライマリ・データベースと同じ場所に保持” を選択

  • “続行”

  • “一意のデータベース名”, “ターゲット名” (EM で表示されるターゲット名)を変更、スタンバイ DB の資格証明として “SYSDBA監視資格証明の使用” を選択

  • “終了”

  • 処理中 –> 完了となるが、なぜか完了の画面のまま “概要” のページに戻らない。

alert.log を確認して処理が終わっていそうだったら、EM の画面を切り替えてしまってよい。

  • もう一度プライマリ DB インスタンスの “可用性” タブに行くと Data Guard の項目が変わっているので “設定および管理” をクリックして、正常にスタンバイ DB が作成されていることを確認

[Oracle] アーカイブ・バックアップの作成

目的

RMAN でバックアップの保存方針(RETENTION POLICY)から除外するアーカイブ・バックアップを作成する。

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)

マニュアル

アーカイブ・バックアップの作成

RMAN でバックアップの保存方針(RETENTION POLICY)から除外するアーカイブ・バックアップを作成する。これは DELETE OBSOLETE しても削除されないバックアップになる。

BACKUP ... KEEP によりアーカイブ・バックアップが作成される。

  • 注意
    • KEEP FOREVER の場合にはリカバリ・カタログが必要。
    • アーカイブ・バックアップは初期化パラメータ DB_RECOVERY_FILE_DEST で指定したディレクトリ(高速リカバリ領域)以外に保存する必要がある。 もし、保存先を高速リカバリ領域のままにしていると、ORA-19811: cannot have files in DB_RECOVERY_FILE_DEST with keep attributes が発生して失敗する。 保存先は FORMAT で指定できる。

以下の例では、タグと通常のリストア・ポイントを指定して、アーカイブ・バックアップを作成している。

RMAN> BACKUP DATABASE
      FORMAT '/home/oracle/backup/%U'
      TAG quarterly
      KEEP FOREVER
      RESTORE POINT FY12Q3;

Starting backup at 12-09-09
current log archived

using channel ORA_DISK_1
using channel ORA_DISK_2
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/PROD1/system01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/PROD1/example01.dbf
channel ORA_DISK_1: starting piece 1 at 12-09-09
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/PROD1/sysaux01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/PROD1/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/PROD1/users01.dbf
channel ORA_DISK_2: starting piece 1 at 12-09-09
channel ORA_DISK_1: finished piece 1 at 12-09-09
piece handle=/home/oracle/backup/2mnko5ao_1_1 tag=QUARTERLY comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
channel ORA_DISK_2: finished piece 1 at 12-09-09
piece handle=/home/oracle/backup/2nnko5ao_1_1 tag=QUARTERLY comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:07

using channel ORA_DISK_1
using channel ORA_DISK_2
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 12-09-09
channel ORA_DISK_1: finished piece 1 at 12-09-09
piece handle=/home/oracle/backup/2onko5av_1_1 tag=QUARTERLY comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01


current log archived
using channel ORA_DISK_1
using channel ORA_DISK_2
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=10 RECID=3 STAMP=793515360
channel ORA_DISK_1: starting piece 1 at 12-09-09
channel ORA_DISK_1: finished piece 1 at 12-09-09
piece handle=/home/oracle/backup/2pnko5b1_1_1 tag=QUARTERLY comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

using channel ORA_DISK_1
using channel ORA_DISK_2
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 12-09-09
channel ORA_DISK_1: finished piece 1 at 12-09-09
piece handle=/home/oracle/backup/2qnko5b3_1_1 tag=QUARTERLY comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-09-09

[Oracle] マルチセクション・バックアップ

目的

マルチセクション・バックアップにより効率的にバックアップを行う。

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)

マニュアル

マルチセクション・バックアップの実行

マルチセクション・バックアップにより、ファイルサイズが大きいデータ・ファイルを複数のバックアップ・ピースに分割してバックアップすることができる。パラレル化の設定がされていれば、複数のチャネルを使用して平行でバックアップされるためパフォーマンスが向上する。

マルチセクション・バックアップを行うためには、SECTION SIZE パラメータを指定して BACKUP を実行すればよい。

  • 必要に応じて、パラレル化の設定をする。(パラレル化の設定がされていないとマルチセクション・バックアップを実施しても複数バックアップ・ピースに分割されるがシリアルにバックアップされてあまり意味がない。)

CONFIGURE コマンドで設定

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete
  • マルチセクション・バックアップ実施

以下の例では 約 350M の 1 つデータファイルからなる example 表領域のバックアップを行っている。パラレル度を 2 にしたので、チャネルが 2 つ(ORA_DISK_1ORA_DISK_2)割り当てられてパラレルで動作する。また、セクションサイズを 100M で指定したので、データファイルを 100M に分けて 4 つのバックアップ・ピースでバックアップしている。(1 つのピースは 12800 blocks * 8k = 100M)

RMAN> BACKUP
      SECTION SIZE 100M
      TABLESPACE example;

Starting backup at 12-09-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=145 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=140 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/PROD1/example01.dbf
backing up blocks 1 through 12800
channel ORA_DISK_1: starting piece 1 at 12-09-09
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/PROD1/example01.dbf
backing up blocks 12801 through 25600
channel ORA_DISK_2: starting piece 2 at 12-09-09
channel ORA_DISK_1: finished piece 1 at 12-09-09
piece handle=/u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4tsts_.bkp tag=TAG20120909T035001 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/PROD1/example01.dbf
backing up blocks 25601 through 38400
channel ORA_DISK_1: starting piece 3 at 12-09-09
channel ORA_DISK_2: finished piece 2 at 12-09-09
piece handle=/u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4tsws_.bkp tag=TAG20120909T035001 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/PROD1/example01.dbf
backing up blocks 38401 through 44240
channel ORA_DISK_2: starting piece 4 at 12-09-09
channel ORA_DISK_1: finished piece 3 at 12-09-09
piece handle=/u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4ttyy_.bkp tag=TAG20120909T035001 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_2: finished piece 4 at 12-09-09
piece handle=/u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4tv1o_.bkp tag=TAG20120909T035001 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:01
Finished backup at 12-09-09

バックアップの確認。確かに 4 つのバックアップ・ピースに分かれている。

RMAN> list backup;
...(*snip*)

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
956     Full    69.01M     DISK        00:00:02     12-09-09
  List of Datafiles in backup set 956
  File LV Type Ckp SCN    Ckp Time Name
  ---- -- ---- ---------- -------- ----
  5       Full 1160848    12-09-09 /u01/app/oracle/oradata/PROD1/example01.dbf

  Backup Set Copy #1 of backup set 956
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:02     12-09-09        NO         TAG20120909T035001

    List of Backup Pieces for backup set 956 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    958     1   AVAILABLE   /u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4tsts_.bkp
    959     2   AVAILABLE   /u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4tsws_.bkp
    960     3   AVAILABLE   /u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4ttyy_.bkp
    961     4   AVAILABLE   /u01/app/oracle/fast_recovery_area/PROD1/backupset/2012_09_09/o1_mf_nnndf_TAG20120909T035001_84q4tv1o_.bkp