Forum Stats

  • 3,855,329 Users
  • 2,264,499 Discussions
  • 7,905,971 Comments

Discussions

アーカイブログのバックアップについて

Mocha07
Mocha07 Member Posts: 13

初めての利用となりますが宜しくお願いします。

早速ですが、アーカイブログのバックアップについて質問です。

アーカイブログの出力先を多重化している環境で、下記環境②でバックアップした場合に

片側しかバックアップされません。初期化パラメータの設定やconfigureの設定を確認しても

わかりませんでした。何かアドバイスがありましたら教えて下さい。

◆環境

①windows2003r2(32bit)+oracle10.2.0.3.0 se

②windows2008sp2(32bit)+oracle11.2.0.1.0 se

◆アーカイブログの出力先

log_archive_dest=D:\Oracle\Archive(dest_id=1)

log_archive_duplex_dest=C:\Oracle\Archive(dest_id=2)

◆アーカイブログのバックアップ

rman>backup as compressed backupset archivelog sequence between 1 and 10;

◆バックアップ確認sql

select dest_id, sequence#, backup_count from v$archived_log where archived='YES' and status='A' and resetlogs_change# = (select resetlogs_change# from v$database_incarnation where status='CURRENT');

■結果

環境①:dest_idの両側がバックアップされる。

環境②:dest_idの片側のみバックアップ。(どちらがバックアップされるか不定)

     ⇒これが問題です。

増分バックアップとして、未バックアップ済みの最小・最大のログ番号を取得しバックアップコマンドにセットしているのですが、

環境②の場合に誤判断してしまう。

片側がバックアップされていたらOKとすれば良いのですが、環境①と同様に両側をバックアップしたいと思います。

以上、宜しくお願いします。

Tagged:

Best Answer

  • yamamoto
    yamamoto Member Posts: 177
    Answer ✓

    Oracle® Databaseバックアップおよびリカバリ・リファレンス 11gリリース2(11.2)

    上記マニュアルの「例2-19 アーカイブREDOログ・ファイルのバックアップと削除」に下記の様に書かれていますので、仕様ではないでしょうか?

    この例では、2つのアーカイブ先(/disk2/PROD/archivelog/および/disk1/arch/)が設定されているとします。このコマンドは、一意の順序番号ごとにアーカイブREDOログを1つバックアップします。たとえば、アーカイブREDOログ1000が両方のディレクトリにある場合、RMANは、このログの1つのコピーのみをバックアップします。

    http://docs.oracle.com/cd/E16338_01/backup.112/b56270/rcmsynta007.htm#CHDBGAJB

Answers

  • yamamoto
    yamamoto Member Posts: 177
    Answer ✓

    Oracle® Databaseバックアップおよびリカバリ・リファレンス 11gリリース2(11.2)

    上記マニュアルの「例2-19 アーカイブREDOログ・ファイルのバックアップと削除」に下記の様に書かれていますので、仕様ではないでしょうか?

    この例では、2つのアーカイブ先(/disk2/PROD/archivelog/および/disk1/arch/)が設定されているとします。このコマンドは、一意の順序番号ごとにアーカイブREDOログを1つバックアップします。たとえば、アーカイブREDOログ1000が両方のディレクトリにある場合、RMANは、このログの1つのコピーのみをバックアップします。

    http://docs.oracle.com/cd/E16338_01/backup.112/b56270/rcmsynta007.htm#CHDBGAJB

  • Mocha07
    Mocha07 Member Posts: 13

    yamamoto様、有難うございます。マニュアル確認しました。

    設定等で両側バックアップできれば良いと思ったのですが。。。確かに仕様ですね!!

    バックアップ未済みの最小・最大ログ番号を取得するSQLを変更してバックアップコマンドにセットして対応したいと思います。

    参考)

    select min(seq1), max(seq1) from

    (select sequence# as seq1 from v$archived_log where name is not null and archived = 'YES' and status = 'A' and backup_count = 0 and dest_id=1 and resetlogs_change# = (select resetlogs_change# from v$database_incarnation where status='CURRENT')) a,

    (select sequence# as seq2 from v$archived_log where name is not null and archived = 'YES' and status = 'A' and backup_count = 0 and dest_id=2 and resetlogs_change# = (select resetlogs_change# from v$database_incarnation where status='CURRENT')) b where a.seq1 = b.seq2

    ※ちなみに10gのマニュアルを調べてみた所、「1つのコピーのみ」の部分はありませんでした。


    「この例では、2 つのアーカイブ先/arch1 および/arch2 を設定しているとします。このコマンドは、一意の順序番号ごとに1

    つログをバックアップし、両方のアーカイブ・ディレクトリからすべてのログを削除します。」

    http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/backup.102/B28656-01/rcmsynta.html#56898
  • hottate
    hottate Member Posts: 43 Blue Ribbon

    RMAN の方の指定で、"... not backed up since ~" ではだめなんでしたっけ?

  • Mocha07
    Mocha07 Member Posts: 13

    hottate様

    早速、試して見ましたがアーカイブログは片側しかバックアップされませんでした。

    rman>backup as compressed backupset archivelog sequence between 1 and 10 not backed up 1 times;

    数回コマンドを発行しても片側がバックアップされていると除外されてしまい、

    backup_count=0 側のアーカイブログはバックアップされませんでした。

    しかし、バックアップデータの最適化方法としては簡単で非常に有効なオプションですね!!

    有難う御座いましたw

This discussion has been closed.