Oracle Database 19cのバックアップ “cannot BACKUP DATABASE in NOARCHIVELOG mode”

Facebooktwittermail

ドキュメント読んでも理解に時間がかかるので、Recovery Manager(RMAN)使用して試しにOracle Database 19cのデータベースをバックアップしようとしたらいきなりの躓き(笑

RHEL8にRPM PackageのOracle Database 19cをインストール

環境
・Red Hat Enterprise Linux release 8.5 (Ootpa)
・Kernel 4.18.0-348.7.1.el8_5.x86_64
・oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
・oracle-database-ee-19c-1.0-1.x86_64.rpm
・開発環境、GNOME環境、日本語入力インストール
・Subscription登録

参考サイト1
Oracle® Database バックアップおよびリカバリ・リファレンス 19c
F16120-02(原本部品番号:E96242-02) 2021年3月

https://docs.oracle.com/cd/F19136_01/rcmrf/index.html

参考サイト2
【Oracle 19c】RMANを使ってオンラインバックアップを取得【手順】
https://souiunogaii.hatenablog.com/entry/Oracle-RMANbackup

参考サイト3
How to Resolve RMAN-06149: cannot BACKUP DATABASE in NOARCHIVELOG mode
https://logic.edchen.org/how-to-resolve-rman-06149/

バックアップ対象はスクリプトで作成したデータベースORCLCDBです。

  1. RMANの起動
  2. 接続に失敗する場合は$ORACLE_SIDの設定, データベースの起動を確認して下さい。

    以下、RMAN commandを参考に
    表1-1 Recovery Managerコマンド
    https://docs.oracle.com/cd/F19136_01/rcmrf/about-rman-commands.html#GUID-5439AD1C-7BDD-4271-A320-B7657DC996D5

  3. 現行のCONFIGURE設定を表示
  4. バックアップ
  5. “NOARCHIVELOGモードでデータベースをバックアップできません”と。

    参考サイト3によると

    If we’re in ARCHIVELOG mode, then we can backup the database with open READ WRITE. That is, we backup the database while it is running and changing every second. It results an inconsistent backup of data files inside. Even though, the gaps among data files in the backup can be filled by necessary archived logs, which turns this backup into a consistent one. So we don’t have to worry about it. This is an effective backup.

    ARCHIVELOGモードであればDBがREAD WRITEでopenしていてもデータに一貫性のあるバックアップができて効果的だと。

  6. ARCHIVELOG modeに変更
  7. sqlplusで接続します。

    1. データベース・ログ・モードの確認
    2. 非アーカイブ・モードです。

    3. DB停止
    4. DBマウント
    5. ARCHIVELOG modeに設定
    6. DB開始
    7. 確認
    8. “アーカイブ・モード”に変更できました。

  8. backup database
  9. rmanで接続します。バックアップできたようです。

  10. バックアップファイルの一覧
  11. バックアップセットにORCLPDB1, PDB$SEEDもありますね。

バックアップファイルは/opt/oracle/product/19c/dbhome_1/dbs/に保存されるようですが、バックアップ先の変更や、世代管理的なこと、まだまだいっぱい調べないとorz

ちなみに”非アーカイブ・モード”に戻すには下記のSQL文です。

Leave a Reply