Oracle Databaseバックアップの構成について学習

オンプレミス・データベースをOCI Object Storageバケットにバックアップします。

ソース・データベースへのOracle Database Backup Moduleのインストール

OCI用のOracle Database Cloud Backupモジュールを最初にインストールして、OCIにバックアップします。

モジュールをダウンロードして(始める前にを参照)、データベース・サーバーにインストールします。
  1. ソース・データベース・サーバーにモジュールをインストールします。
  2. ディレクトリをoci_installerに変更します。このディレクトリにはJARファイルがあります。
  3. JARファイルをインストールします。
  4. 入力:
    • リージョンID
    • 公開キー・指紋
    • テナンシOCID
    • ユーザーOCID
    • コンパートメントのOCID
    • 以前に作成したバケット名
  5. 次のディレクトリを指定します。
    • ライブラリ
    • Wallet
    • 秘密キー・ファイル
    java -jar oci_install.jar \ 
    -host https://objectstorage.us-langley-1.oraclegovcloud.com -pvtKeyFile /tmp/-01-31-22-38.pem \ 
    -pubFingerPrint 2k:cd:cv:71:6f:ab:6f:xz:ef:72:gh:cc \ 
    -uOCID ocid1.user.oc2..aaaaaabc \ 
    -tOCID ocid1.tenancy.oc2..aaaaadef \ 
    -walletDir $ORACLE_HOME/lib/oci_wallet \
    -libDir $ORACLE_HOME/lib -bucket bucket-20230131-1601-modbac \ -cOCID ocid1.compartment.oc2..aaaaaghi

    フィンガープリント、テナンシ、ユーザーOCIDsおよび政府固有のエンドポイントを取得するには、詳細を参照してください。コンパートメントOCIDの場合は、「アイデンティティとセキュリティ」に移動し、「アイデンティティ・コンパートメント」でOCIDが必要なコンパートメントをクリックし、OCIDをコピーします。

クラウド・バックアップをサポートするためのRMANの構成

必要なバックアップ・モジュールをインストールし、Recovery Manager (RMAN)設定を構成すると、使い慣れたRMANコマンドを使用してバックアップを作成できます。クラウド・バックアップに関する情報は、データベースの制御ファイルおよびリカバリ・カタログ(使用する場合)に保持されます。

アカウントのクラウド・ストレージの場所をバックアップする前に、いくつかのRMANプロパティを構成する必要があります。

  • バックアップの保存期間の設定(30日)。
  • インストールしたばかりのライブラリおよび構成ファイルを使用するsbt_tapeというデバイス・タイプを設定します。クラウド内の定義済ストレージ・チャンクは、onPremBackup_で始まる名前になります。
  • 暗号化を有効にします。これはデータ・セキュリティ用で、オンプレミスからクラウドへのバックアップ・シナリオでは必須です。
  • 複数のスレッドがデータファイルをバックアップおよびリストアできるように並列度を設定します。これはパフォーマンスのためのものです。
  • RMANがクラウドとの間で不要な転送を行わないように、バックアップ最適化をONに設定します(たとえば、バックアップ・ファイルがすでに存在し、新しいバックアップが実行される前に変更がない場合、このファイルは処理されず、時間が節約されます)。
  • クラウドとの間で送受信されるファイルの圧縮レベルを設定します。
  • すべてのバックアップのデフォルトとしてsbt_tapeデバイスを構成します。
  • 次のコマンドを使用してRMANをローカル・データベースに接続します。
    RMAN> run {
    
    configure retention policy to recovery window of 30 days;
    
    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 2 G FORMAT 'onPremBackup' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/19c/dbhome_1/lib/libopc.so ENV=(OPC_PFILE=/u01/app/oracle/product/19c/dbhome_1/dbs/opcORCL.ora)';
    
    configure encryption for database on;
    
    configure device type 'sbt_tape' parallelism 1 backup type to backupset;
    
    configure backup optimization on;
    
    configure compression algorithm 'MEDIUM' as of release 'default' optimize for load true;
    
    configure default device type to sbt_tape;
    
    }

オンプレミス・データベースのバックアップ

セキュリティ上の理由から、OCIへのバックアップには暗号化を使用する必要があります。オプションは、透過的データ暗号化(TDE)またはパスワード暗号化(あるいはその両方)です。パスワード暗号化を使用します。

バックアップおよびリカバリの場合は、シェル・スクリプトまたはRMAN実行ブロックからこの一連のコマンドを実行します。
  1. パスワードの暗号化を設定します。
    RMAN> set encryption on identified by ‘password’ only;
  2. バックアップ・コマンドを実行します。
    RMAN> backup as compressed backupset tag ‘onprem’ database plus archivelog;
  3. ノート:

    バックアップを作成する場合、ファイル・チャンクはコンパートメント内のユーザー定義オブジェクト・ストレージ・バケットdb_backupsに配置されるか、oracle-data-storage-xxxというシステム生成コンテナが使用されます。バックアップ・コマンドが完了したら、クラウドに移動したバックアップを確認できます。
    RMANを使用して、リスト・バックアップのサマリーを入力してバックアップ・ファイルを確認します。
    RMAN> create restore point gold preserve;
  4. RMANを終了します。

OCI Cloudでのバックアップの検証

Oracle Cloud Infrastructure Object Storageへのバックアップを検証します。検証後、テストする表を削除してからリストアに進むことができます。

  1. Oracle Cloudコンソールを開きます。
  2. オブジェクト・ストレージを開きます。
    • メイン・メニューから、「ストレージ」「オブジェクト・ストレージ」の順にクリックします
    • 検索バーにobject storageと入力し、[Enter]を押します。
  3. 「リスト・スコープ」から、コンパートメントを選択します。
    これにより、ユーザー生成の名前またはシステム生成の名前のいずれかでバックアップされたバケットが表示されます。
  4. バックアップ・バケットを選択して、バックアップ・セットのfile_chunksを表示します。

データベースのリストアおよびリカバリのテスト

データベースが削除される前の時点にデータベースをリストアします。

  1. RMANセッションに切り替えます。
    rman target /
  2. データベースを停止します。
    RMAN>Shutdown immediate;
  3. マウントを起動します。
    RMAN>Startup mount
  4. パスワードの暗号化を解除します。
    RMAN> set decryption identified by ‘Oracle_1’;
  5. ノート:

    次のステップでは、メディア・リカバリを実行できる場所にデータベース全体が表示されます。これにより、データベースがオフラインになります。データベースに複数のPDBがあり、一方のみでデータをリカバリし、他のPDBをオンラインのままにする必要がある場合は、このステップを使用してPDBのクローズ、PDBのリストアおよびリストア・ポイントへのリカバリのみを実行できます。この方法の使用には少し時間がかかるため、この手順ではデータベース全体をリカバリします。
    データベース全体をリカバリします。
    RMAN> run {
    restore database;
    
    Recover database to restore point gold;
    
    Alter database open reset logs;
    
        }

    ノート:

    このバックアップ・スクリプトは、cronjobを使用してバックアップ・プロセスを自動化することで、毎日または毎週、設定された時間に実行するようにスケジュールできます。
  6. データベースで問合せコマンドを実行して、データベースを確認します。
    リカバリされたデータベースが表示されます。