表題通り OCI Base Database Service(BaseDB) のバックアップを Cloud Backup Module で ユーザー管理の Object Storage に取得してみますやで。
彡(゚)(゚)
1. 参考マニュアル
下記のマニュアルを参照して Backup Module をセットアップします。
RMANを使用したオブジェクト・ストレージへのデータベースのバックアップ
https://docs.public.oneportal.content.oci.oraclecloud.com/ja-jp/iaas/dbcs/doc/back-database-object-storage-using-rman.html
2. 実行環境
以下の環境で実行しています。これらは作成済みの前提とします。
・Oracle Base Database Service 19.19 ※Private Subnetに作成
・Object Storage のバケット
・必要な権限を付与された OCI IAMユーザー
VCN/Subnet/各種GWのネットワーク構成は下記記事を参照してください。
3. IAMユーザーの Auth Token発行
(左上)ハンバーガーメニュー → Identity & Security → Users → 該当のIAMユーザー → Auth Tokens → Generate Token で認証トークンを発行します。一度しか表示されないので忘れないようにコピペして下さい。
4. Backup Module のインストール
下記コマンドで Backup Module をインストール&セットアップします。ネームスペース名は画面右上の人型アイコン→Tenancyから確認可能です。
cd /opt/oracle/oak/pkgrepos/oss/odbcs
java -jar opc_install.jar -opcId '<IAMユーザーのID>' -opcPass '<上記3.で発行した認証トークン>' -container <Object Storageのバケット名> -walletDir ~/hsbtwallet/ -libDir ~/lib/ -configfile ~/config -host https://swiftobjectstorage.<リージョン名>.oraclecloud.com/v1/<Object Storageのネームスペース名>
下記はインストール実行結果のサンプルとなります。一部をマスクしています。
sudo su - oracle
mkdir lib
cd /opt/oracle/oak/pkgrepos/oss/odbcs
java -jar opc_install.jar -opcId 'oracleidentitycloudservice/xxxxxxxx.xxxxxxxx@xxxxxx.xxxxxx' -opcPass 'xxxxxxxxxxxxxxx' -container ays-osk-objstr02 -walletDir ~/hsbtwallet/ -libDir ~/lib/ -configfile ~/config -host https://swiftobjectstorage.ap-osaka-1.oraclecloud.com/v1/xxxxxxxx
Oracle Database Cloud Backup Module Install Tool, build 12.2.0.1.0DBBKPCSBP_2018-06-12
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to container ays-osk-objstr01.
Oracle Database Cloud Backup Module wallet created in directory /home/oracle/hsbtwallet.
Oracle Database Cloud Backup Module initialization file /home/oracle/config created.
Downloading Oracle Database Cloud Backup Module Software Library from file opc_linux64.zip.
Download complete.
5. RMAN構成(CONFIGURE)
インストールされた Backup Module を使用するようにRMAN構成を変更します。rman起動前のNLS_DATE_FORMATの設定は必須ではないですが推奨します。
export NLS_DATA_FORMAT='YYYY/MM/DD HH24:MI:SS';
rman nocatalog
CONNECT TARGET
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
CONFIGURE ENCRYPTION FOR DATABASE ON;
下記は実行サンプルです。
[oracle@aysoskdb19c ~]$ export NLS_DATA_FORMAT='YYYY/MM/DD HH24:MI:SS';
[oracle@aysoskdb19c ~]$ rman nocatalog
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jul 31 03:24:04 2023
Version 19.19.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
RMAN> CONNECT TARGET
connected to target database: AYSDB19C (DBID=3066954643)
using target database control file instead of recovery catalog
RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
new RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO '%F';
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;
new RMAN configuration parameters:
CONFIGURE ENCRYPTION FOR DATABASE ON;
new RMAN configuration parameters are successfully stored
6. RMANバックアップ実行
Object Storage にバックアップを取得してみます。下記はRMANコマンドのサンプルで、チャンネルを明示的に ALLOCATE しています。
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
ALLOCATE CHANNEL c2 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
ALLOCATE CHANNEL c3 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
ALLOCATE CHANNEL c4 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
BACKUP SECTION SIZE 512M INCREMENTAL LEVEL 0 AS COMPRESSED BACKUPSET DATABASE SPFILE PLUS ARCHIVELOG;
}
下記は実行結果の一部サンプルです。
RMAN> RUN {
2> ALLOCATE CHANNEL c1 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
3> ALLOCATE CHANNEL c2 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
4> ALLOCATE CHANNEL c3 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
5> ALLOCATE CHANNEL c4 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
6> BACKUP SECTION SIZE 512M INCREMENTAL LEVEL 0 AS COMPRESSED BACKUPSET DATABASE SPFILE PLUS ARCHIVELOG;
7> }
allocated channel: c1
channel c1: SID=196 device type=SBT_TAPE
channel c1: Oracle Database Backup Service Library VER=19.0.0.1
:
:
:
Starting backup at 2023/07/31 05:26:04
current log archived
skipping archived logs of thread 1 from sequence 9 to 71; already backed up
channel c1: starting compressed archived log backup set
channel c1: specifying archived log(s) in backup set
input archived log thread=1 sequence=72 RECID=138 STAMP=1143609965
channel c1: starting piece 1 at 2023/07/31 05:26:05
channel c1: finished piece 1 at 2023/07/31 05:26:12
piece handle=3i22k6jd_114_1_1 tag=TAG20230731T052605 comment=API Version 2.0,MMS Version 19.0.0.1
channel c1: backup set complete, elapsed time: 00:00:07
Finished backup at 2023/07/31 05:26:12
Starting backup at 2023/07/31 05:26:12
skipping datafile 5; already backed up 2 time(s)
skipping datafile 6; already backed up 2 time(s)
skipping datafile 7; already backed up 2 time(s)
channel c1: starting compressed incremental level 0 datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00012 name=+DATA/AYSDB19C_NCM_KIX/FE74D2FE740B6301E0537201000ABD9A/DATAFILE/users.274.1139890861
:
:
:
piece handle=5u22k6sa_190_1_1 tag=TAG20230731T052612 comment=API Version 2.0,MMS Version 19.0.0.1
channel c3: backup set complete, elapsed time: 00:00:12
Finished backup at 2023/07/31 05:31:02
Starting backup at 2023/07/31 05:31:02
current log archived
channel c1: starting compressed archived log backup set
channel c1: specifying archived log(s) in backup set
input archived log thread=1 sequence=73 RECID=140 STAMP=1143610262
channel c1: starting piece 1 at 2023/07/31 05:31:02
channel c1: finished piece 1 at 2023/07/31 05:31:03
piece handle=6322k6sm_195_1_1 tag=TAG20230731T053102 comment=API Version 2.0,MMS Version 19.0.0.1
channel c1: backup set complete, elapsed time: 00:00:01
Finished backup at 2023/07/31 05:31:03
Starting Control File and SPFILE Autobackup at 2023/07/31 05:31:03
piece handle=c-3066954643-20230731-07 comment=API Version 2.0,MMS Version 19.0.0.1
Finished Control File and SPFILE Autobackup at 2023/07/31 05:31:04
released channel: c1
released channel: c2
released channel: c3
released channel: c4
RMAN>
LIST BACKUP で RMANバックアップ の取得状況を確認してみます。Object Storage にRMANバックアップを取得できている様子が確認できます。
RMAN> LIST BACKUP;
List of Backup Sets
===================
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ -------------------
49 4.50M SBT_TAPE 00:00:03 2023/07/31 04:02:12
BP Key: 57 Status: AVAILABLE Compressed: YES Tag: TAG20230731T040209
Handle: 2b22k1m1_75_1_1 Media: swiftobjectstorage.ap-..oud.com/v1/nrp9esenpcgb/ays-osk-objstr01
List of Archived Logs in backup set 49
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- ------------------- ---------- ---------
1 17 3666806 2023/07/31 04:00:21 3667208 2023/07/31 04:00:54
1 18 3667208 2023/07/31 04:00:54 3667537 2023/07/31 04:02:09
:
Backup Set Copy #1 of backup set 57
Device Type Elapsed Time Completion Time Compressed Tag
----------- ------------ ------------------- ---------- ---
SBT_TAPE 00:00:25 2023/07/31 04:02:54 YES TAG20230731T040238
List of Backup Pieces for backup set 57 Copy #1
BP Key Pc# Status Media Piece Name
------- --- ----------- ----------------------- ----------
65 1 AVAILABLE swiftobjectstorage.ap-..oud.com/v1/nrp9esenpcgb/ays-osk-objstr01 2e22k1mu_78_1_1
69 2 AVAILABLE swiftobjectstorage.ap-..oud.com/v1/nrp9esenpcgb/ays-osk-objstr01 2e22k1mu_78_2_1
66 3 AVAILABLE swiftobjectstorage.ap-..oud.com/v1/nrp9esenpcgb/ays-osk-objstr01 2e22k1mu_78_3_1
:
OCIコンソールで Object Storage に格納された RMANバックアップの取得状況を確認してみます。
コンソール上でもRMANバックアップを取得できていることが確認できました。
彡(^)(^)
7. まとめ
Backup Module でユーザー管理の Object Storage に RMANバックアップを取得できました。
より高機能な ZRCV(Zero Data Loss Autonomous Recovery Service) もリリースされているんですが、
Backup Module でしか対応していない要件もあるので、適宜使い分けて下さいね。
彡(^)(^)
Zero Data Loss Autonomous Recovery Service
https://www.oracle.com/jp/database/zero-data-loss-autonomous-recovery-service/