Oracle Database Backup Cloud Service を使ってみた

こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。

今回は “Oracle Database Backup Cloud Service” を使用して
Oracleデータベースのバックアップを Oracle Cloud上に取得してみます。

作業の前提条件として 下記が必要となります。
・バックアップ対象のOracleデータベース がEnterprise Editionであること
※Standard Edition 2の場合は、個別パッチの適用が必要
・バックアップ対象のOracleデータベース がアーカイブログモードであること
・OTN または Oracle.com のアカウントを持っていること(モジュールのダウンロードに必要)
・java(1.7以上)がインストール済みであること(モジュールのインストールに必要)
・Oracle Cloud の”Oracle Storage Cloud Service”が使用可能であること(バックアップ先のオブジェクトストレージ)

※詳細な前提条件は下記サイトをご覧ください。
https://docs.oracle.com/cd/E83857_01/paas/db-backup-cloud/csdbb/installing-oracle-database-cloud-backup-module.html#GUID-FCA21247-3DD4-4510-B740-47DBB5506168

<今回の環境>
バックアップ元のデータベース
・Windows Server 2012 standard edition
・Oracle Database 12c Enterprise Edition

バックアップ先
Oracle Cloud Storage Classic (東京リージョン)

※バックアップ先については
“Oracle Storage Cloud Service”のREST URLが必要となります。

その確認方法としては Oracle Cloud のダッシュボードから
まず[Storage Classic]をクリックします。

下記の[概要]の画面から下側の
[追加情報]⇒[REST エンドポイント] を確認します。
ここで確認した REST URLを ① とします。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.モジュールのインストール

下記サイトに接続します。
http://www.oracle.com/technetwork/database/availability/oracle-cloud-backup-2162729.html

[Accept License Agreement]にチェックを入れ、
[All Supported Platforms]をクリックします。

OTNユーザ名とパスワードを入力し、ログインすることで
opc_installer.zip のダウンロードが開始されます。

ダウンロードした opc_installer.zip をWindowsサーバ上の
任意の場所(今回は C:\temp\)に展開します。

コマンドプロンプトを起動して環境変数を設定します。
青文字 ⇒実行するコマンド
緑文字⇒コマンドを実行して出力されるメッセージ
とします。

set ORACLE_HOME=C:\app\oraclehome\product\12.1.0\dbhome_1
set ORACLE_SID=orcl

※ここでは
ORACLE_HOME ⇒C:\app\oraclehome\product\12.1.0\dbhome_1
ORACLE_SID ⇒orcl
としていますが、これらの値はご使用されるデータベースの環境に合わせてください。

モジュールのインストールを行ないます。

cd C:\temp\opc_installer
java -jar opc_install.jar -host [前手順で確認した①] -opcId “[OracleCloudのログインユーザ名]” -opcPass “[OracleCloudのログインパスワード]” -walletDir %ORACLE_HOME%\database\opc_wallet -libDir %ORACLE_HOME%\bin -libPlatform windows64

下記のメッセージが出力されます。

Oracle Database Cloud Backup Module Install Tool, build 12.2.0.1.0DBBKPCSBP_2018-06-12
Oracle Database Cloud Backup Module credentials are valid.
Oracle Database Cloud Backup Module wallet created in directory C:\app\oraclehome\product\12.1.0\dbhome_1\database\opc_wallet.
Oracle Database Cloud Backup Module initialization file C:\app\oraclehome\product\12.1.0\dbhome_1\database\opcorcl.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from file opc_windows64.zip.
Download complete.

インストールが完了すると、
下記のファイルが作成されるようです。

C:\app\oraclehome\product\12.1.0\dbhome_1\bin
・msvcr120.dll
・oraopc.dll  ←OS固有のSBTライブラリ
C:\app\oraclehome\product\12.1.0\dbhome_1\database
・opcorcl.ora  ←”Oracle Database Backup Cloud Service”の構成ファイル
C:\app\oraclehome\product\12.1.0\dbhome_1\database\opc_wallet
・cwallet.sso  ←資格証明を格納するOracle walletファイル
・cwallet.sso.lck

2.バックアップ実行

コマンドプロンプトを起動して
rmanを起動します。

rman

Recovery Manager: Release 12.1.0.1.0 – Production on 日 xx月 xx xx:xx:xx 2018
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

下記コマンドによりバックアップの設定を行います。

connect target sys
CONFIGURE CHANNEL DEVICE TYPE sbt
PARMS=’SBT_LIBRARY=C:\app\oraclehome\product\12.1.0\dbhome_1\bin\oraopc.dll,
ENV=(OPC_PFILE=C:\app\oraclehome\product\12.1.0\dbhome_1\database\opcorcl.ora)’;

リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています

新しいRMAN構成パラメータ:
CONFIGURE CHANNEL DEVICE TYPE ‘SBT_TAPE’ PARMS  ‘SBT_LIBRARY=C:\app\oraclehome\p
roduct\12.1.0\dbhome_1\bin\oraopc.dll,ENV=(OPC_PFILE=C:\app\oraclehome\product\1
2.1.0\dbhome_1\database\opcorcl.ora)’;
新しいRMAN構成パラメータが格納できました

制御ファイルが自動バックアップされるよう下記コマンドを実行します。

CONFIGURE CONTROLFILE AUTOBACKUP ON;

新しいRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新しいRMAN構成パラメータが格納できました

バックアップを暗号化するにあたり、パスワードを設定します。
※ここでは XXXXXXXX としています。

SET ENCRYPTION ON IDENTIFIED BY ‘XXXXXXXX’ ONLY;

実行コマンド: SET encryption

バックアップを実行します。

BACKUP DEVICE TYPE sbt DATABASE;

backupが開始されました(開始時間: 18-xx-xx)
チャネル: ORA_SBT_TAPE_1が割り当てられました
チャネルORA_SBT_TAPE_1: SID=39 デバイス・タイプ=SBT_TAPE
チャネルORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=3.16.12.29
チャネルORA_SBT_TAPE_1: フル・データファイル・バックアップ・セットを開始していま

チャネルORA_SBT_TAPE_1: バックアップ・セットにデータファイルを指定しています
入力データファイル・ファイル番号=00001 名前=C:\APP\ORACLEHOME\ORADATA\ORCL\DATAF
ILE\O1_MF_SYSTEM_xxxxxxxx_.DBF
入力データファイル・ファイル番号=00003 名前=C:\APP\ORACLEHOME\ORADATA\ORCL\DATAF
ILE\O1_MF_SYSAUX_xxxxxxxx_.DBF
入力データファイル・ファイル番号=00005 名前=C:\APP\ORACLEHOME\ORADATA\ORCL\DATAF
ILE\O1_MF_UNDOTBS1_xxxxxxxx_.DBF
入力データファイル・ファイル番号=00006 名前=C:\APP\ORACLEHOME\ORADATA\ORCL\DATAF
ILE\O1_MF_USERS_xxxxxxxx_.DBF
チャネルORA_SBT_TAPE_1: ピース1(18-xx-xx)を起動します
チャネルORA_SBT_TAPE_1: ピース1(18-xx-xx)が完了しました
ピース・ハンドル=04thd16s_1_1 タグ=TAG2018xxxxTxxxxxx コメント=API Version 2.0,M
MS Version 3.16.12.29
チャネルORA_SBT_TAPE_1: バックアップ・セットが完了しました。経過時間: 05:47:09
backupが完了しました(完了時間: 18-xx-xx)

Control File and SPFILE Autobackupが開始されました(開始時間: 18-xx-xx)
ピース・ハンドル=c-1519105009-2018xxxx-00 コメント=API Version 2.0,MMS Version 3
.16.12.29
Control File and SPFILE Autobackupが完了しました(完了時間: 18-xx-xx)

次のコマンドにてバックアップの結果を確認します。

list backup;

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

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
——- —- — ———- ———– ———— ——–
1       Full    1.85G      SBT_TAPE    05:47:05     18-xx-xx
BPキー: 1   ステータス: AVAILABLE  圧縮: NO  タグ: TAG2018xxxxTxxxxxx
ハンドル: 04thd16s_1_1   メディア: xxxxxxx.storage.oraclecloud.com/v1/Storage-xxxxxxx/oracle-data-s
バックアップ・セット1のデータファイルのリスト
File LV Type Ckp SCN    Ckp時間  Name
—- — —- ———- ——– —-
1       Full 2438539    18-xx-xx C:\APP\ORACLEHOME\ORADATA\ORCL\DATAFILE\O1_MF_SYSTEM_xxxxxxxx_.DBF
3       Full 2438539    18-xx-xx C:\APP\ORACLEHOME\ORADATA\ORCL\DATAFILE\O1_MF_SYSAUX_xxxxxxxx_.DBF
5       Full 2438539    18-xx-xx C:\APP\ORACLEHOME\ORADATA\ORCL\DATAFILE\O1_MF_UNDOTBS1_xxxxxxxx_.DBF
6       Full 2438539    18-xx-xx C:\APP\ORACLEHOME\ORADATA\ORCL\DATAFILE\O1_MF_USERS_xxxxxxxx_.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
——- —- — ———- ———– ———— ——–
2       Full    9.75M      SBT_TAPE    00:01:58     18-xx-xx
BPキー: 2   ステータス: AVAILABLE  圧縮: NO  タグ: TAG2018xxxxTxxxxxx
ハンドル: c-1519105009-2018xxxx-00   メディア: xxxxxxx.storage.oraclecloud.com/v1/Storage-xxxxxxx/oracle-data-s
SPFILEも含まれます: 修正時間: 18-xx-xx
SPFILE db_unique_name: ORCL
含まれている制御ファイル: Ckp SCN: 2452406      Ckp時間: 18-xx-xx

今回は ADSL回線でバックアップを行ったこともあり、
1.85 GBのバックアップに 5時間47分かかってしまいましたが
より太い回線を使ったり、並行度を増やすことで 処理速度は改善される見込みです。

RMANを終了します。

exit

Recovery Managerが完了しました。

以上で作業は終了です。

また、Oracle Cloud のコンソール画面を見ると
“oracle-data-storageb-1” というコンテナが作成されています。

このコンテナの中にファイルが作成されるようです。

後日、回線や設定の変更により
処理速度の向上を図ってみたいと思います。

いかがでしょうか?
通常のOracle Datbaseのバックアップ使用するRMANを使って、簡単にクラウドへDBバックアップを取得することができたと思います。
初期設定が少し面倒ですが、1回設定してしまえば、あとはRMANバックアップを実行するだけです。

前提条件のところに記載しましたが、バックアップ時に暗号化を実施する関係で、Standard Edition 2の場合は、個別パッチの適用が必要となります。
こちらの手順についても、今後、当ブログに記載したいと思います。

Oracle CloudへのDBバックアップを検討されてみてはいかがでしょうか?