はじめに
Oracle Cloud Infrastructure (以下OCI) では最近のアップデートで、大阪リージョンが追加されました。東京リージョンと大阪リージョンで遠隔地バックアップが出来ようになったり、アクセス元に近いリージョンを選べるようになりました。
Oracle Cloud といえば、Oracle DB です。Oracle DB を 東京リージョンと大阪リージョンで高可用性の構成を取るには主に2つの選択肢があります。
- Data Guard 機能を使った、リアルタイム同期の構成
- RMAN バックアップ機能を使った、定期バックアップの構成
2つの選択肢は、災害対策の要件、具体的にはRPO(目標復旧時点) と RTO(目標復旧時間) がどれくらい許容されるかに応じてどちらを選ぶかを決めます。Data Guard を使うとリアルタイムに同期が出来るため、データ損失の危険性を限りなく低くすることが出来ます。その代わり、Oracle DB の Edition が Enterprise Edition 以上が必要だったり、スタンバイサイト側でも 常時 Oracle DB のインスタンスが必要なためコストが高くなります。
RMAN バックアップを使うと、定期的にバックアップを行う構成となるため、バックアップをしていない期間のデータ損失が発生するデメリットがあります。コスト面では、Standard Edition でも使えますし、スタンバイサイト側の Oracle DB を常時起動する必要が無いため、コスト削減のメリットがあります。
今回の記事では、選択肢2個目の RMAN バックアップを使った定期バックアップの構成を検証してみます。Oracle が提供している、Oracle Database Cloud Backup Module for OCI を使うことで、簡単にリージョン間の RMAN バックアップが出来るので、これを活用します。
概要図
OCI構成
- メインサイトは、東京リージョンの OCI DBCS (Database Cloud Service)
- OCI DBCS に、Oracle Database Cloud Backup Module for OCI をインストール して、大阪リージョンの Object Storage へ RMAN バックアップ
- 東京リージョンに大規模障害が発生した時を想定して、大阪リージョンの OCI DBCS へリストアを行う
事前作業
東京リージョン : OCI DBCS 作成
メインサイト想定の OCI DBCS を適当に作成します。以下はパラメータの例です。
- Name : tokyodb
- Edition : Standard Edition
- Version : 11.2.0.4
- Password : mIfoO8_fai12#-gai897fao
- IP address : 10.0.100.11
大阪リージョン : Object Storage のバケット作成
スタンバイサイト想定の大阪リージョンで、Object Storage のバケットを作成します。今回の記事では、oracledb_backup
IAM Policy
OCI の IAM に紐づく Policy が必要な場合があります。自分が使用している IAM ユーザーが、Administrators グループに所属している場合は IAM Policy の設定は不要です。Administrators 以外の場合は、以下の書式を参考にして設定をします。
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>'
Allow group <group_name> to read buckets in compartment <compartment_name>
IAM API Key
Oracle Database Cloud Backup Module for OCI を使うために、API Key の登録が必要です。適当にググって登録をします。今回の記事では、oci_api_key.pem
が登録した API Key に紐づく秘密鍵です。東京リージョンの OCI DBCS へ、秘密鍵を格納します。
[oracle@tokyodb .oci]$ ls -la
total 16
drwxr-xr-x 2 oracle oinstall 4096 Feb 8 11:42 .
drwx------ 6 oracle oinstall 4096 Feb 8 11:42 ..
-rw------- 1 oracle oinstall 1679 Feb 8 11:30 oci_api_key.pem
-rw------- 1 oracle oinstall 1679 Feb 8 11:30 oci_api_key_public.pem
テストデータを Insert
リージョン間コピーを確認するために、東京リージョンの OCI DBCS にテストデータを格納します。OCI DBCS のインスタンスに SSH ログインをして、oracle ユーザーにスイッチします
> ssh opc@10.0.100.11
Last login: Tue Feb 11 06:58:19 2020 from 10.0.0.3
[opc@tokyodb ~]$ sudo su - oracle
Last login: Tue Feb 11 11:27:46 UTC 2020
[oracle@tokyodb ~]$
SQL*Plus で Oracle DB に接続します
sqlplus / as sysdba
sugi
ユーザーとスキーマを作成し、テストデータを Insert 出来るように設定します。
CREATE USER sugi IDENTIFIED BY mIfoO8_fai12#gai897faosugi;
GRANT CONNECT, RESOURCE TO sugi;
ALTER USER sugi quota unlimited on USERS;
SQL*Plus から一時的に抜けます
exit
sugi
ユーザーで Oracle DB に接続します
sqlplus sugi/mIfoO8_fai12#gai897faosugi
テストデータ用の Table を作成します
CREATE TABLE EXAMPLES (
ID INTEGER
,LABEL VARCHAR2(100) NOT NULL
,SCORE NUMBER NOT NULL
,RATE NUMBER NOT NULL
,BIRTHDAY DATE NOT NULL
,PRIMARY KEY (ID)
);
データを Insert します。5万行のデータが生成されます。
INSERT INTO EXAMPLES
SELECT
ROWNUM
,DBMS_RANDOM.STRING('A', 100)
,FLOOR(DBMS_RANDOM.VALUE(1, 100000))
,DBMS_RANDOM.VALUE()
,TO_DATE('19000101','YYYYMMDD') + FLOOR(DBMS_RANDOM.VALUE(1, 365 * 120))
FROM
(select 0 from all_catalog where rownum <= 100)
,(select 0 from all_catalog where rownum <= 500)
;
SELECT で確認します。
SELECT * FROM EXAMPLES WHERE ROWNUM <= 10;
実行例
SQL> SELECT * FROM EXAMPLES WHERE ROWNUM <= 10;
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
201
wtvQNLuNNwTKhUjEdtFDPzxuumnSocAzpWZczHQTwpywghqBqSZxlYurfiiCnuNDStnhbzXZjEzvhnwl
EMPaAuqVFIfnCeXOimeI
63975 .26953323 15-SEP-62
202
ZXYsSLqckvxdopEZYBTVedvoRrdDOBXLclHtMlTGBGJcsiwmkGzmKJPrOCvhNOoMhFXAbYfZIcxXMrbC
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
xdqZKmDqoDbZAITiLgcU
12924 .543865413 06-OCT-27
203
sixKXAquLflHYBrDVIyacgzHUJarTTnvgaAwLdxCTpixBzWEUeCwmbTMsXCqUeprGmDjfoFpxgXdfVLo
odoFvGHYyCngHmuabmhg
78239 .553495011 10-MAR-05
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
204
SLaaSxfBgBqwQkwQForQmbAQZSFKUyFHzDPYsmJEztjwsjKfQdxTPdJsdflnvkJfEFVIWGUFhaMfKKvp
vCekbOzdiAMoWSjEyEFP
79874 .594714669 03-JUL-84
205
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
yDKzanFhZhPYXzIInGhxtYEJgfSvApgnzNdLPUgCQQkMVbsrFmCIOjuejduadlUZvtjmTpLEWSJOAwBl
RVEOYaSjqYlsFBcMJTzo
32309 .064789972 20-FEB-11
206
bEMXOfvQAyyoBMnIlRUfZrnQgmIDQzxNWhbcEVijpWauRpkxboeOIqMIrVbffteXgaRGhWsaovZrgYOI
bnSZqKVNCDIkONHVwsBz
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
21979 .563180994 29-DEC-56
207
PjEFpOaQSItEWDAljdarwjzwknbqsBnXKsXOFlmgLxMGSNsEaSswudUAXfvhQNodAQTcomRubmxOxsAL
FTnneHYiXTvWyaJMOgjG
1027 .196482091 21-DEC-18
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
208
BFqLsWVLczjUvVMLYkPynNaHpThVxDAMKJyfAdkKXCQRUnUkyvhtOlGrYXgqZWYnIiAwzwWvmfPHBvro
OOOMoHEjgfVZAIyfkQNU
70449 .830987466 30-APR-74
209
laxBPgyfmlvCNdcWpNVVzFVbXwdcmmXZoLQbUFjVSbXmdlVVymjUqMHIXadBTWEbxLdhiMsIptIdrqwW
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
jMwczfhMmtdobowQmBUM
96728 .264182347 24-SEP-68
210
nfsxhCEeGnaeSBlnkFHVKApYbudqpEaJOFuKBjLSZUHGdZkArIqXzCCPaWoXGeoVsVoUlxGKZOcnaZZT
DUNoHdYpbjhIOzoSpvaO
45219 .831185633 30-DEC-25
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
10 rows selected.
SQL>
東京リージョン : RMAN バックアップ
Module のインストール
次のサイトで公開している、Oracle Database Cloud Backup Module をダウンロードします
https://www.oracle.com/database/technologies/oracle-cloud-backup-downloads.html
oracle ユーザーで opc_installer.zip
を格納するディレクトリを作成します。ここに適当にダウンロードして格納します。ディレクトリは好きな名前で大丈夫です。
mkdir /home/oracle/backupmodule
以下のディレクトリ構成となります。
[oracle@tokyodb backupmodule]$ pwd
/home/oracle/backupmodule
[oracle@tokyodb backupmodule]$ ls -la
total 1784
drwxr-xr-x 2 oracle oinstall 4096 Feb 8 11:02 .
drwx------ 5 oracle oinstall 4096 Feb 8 11:02 ..
-rwxrwxr-x 1 oracle oinstall 1816114 Feb 8 11:00 opc_installer.zip
[oracle@tokyodb backupmodule]$
zip を解凍します
[oracle@tokyodb backupmodule]$ unzip opc_installer.zip
Archive: opc_installer.zip
creating: opc_installer/
inflating: opc_installer/.DS_Store
creating: __MACOSX/
creating: __MACOSX/opc_installer/
inflating: __MACOSX/opc_installer/._.DS_Store
creating: opc_installer/oci_installer/
inflating: opc_installer/oci_installer/oci_readme.txt
creating: __MACOSX/opc_installer/oci_installer/
inflating: __MACOSX/opc_installer/oci_installer/._oci_readme.txt
inflating: opc_installer/oci_installer/oci_install.jar
inflating: __MACOSX/opc_installer/oci_installer/._oci_install.jar
inflating: __MACOSX/opc_installer/._oci_installer
inflating: opc_installer/readme.txt
inflating: __MACOSX/opc_installer/._readme.txt
creating: opc_installer/opc_installer/
inflating: opc_installer/opc_installer/opc_readme.txt
creating: __MACOSX/opc_installer/opc_installer/
inflating: __MACOSX/opc_installer/opc_installer/._opc_readme.txt
inflating: opc_installer/opc_installer/opc_install.jar
inflating: __MACOSX/opc_installer/opc_installer/._opc_install.jar
inflating: __MACOSX/opc_installer/._opc_installer
inflating: __MACOSX/._opc_installer
[oracle@tokyodb backupmodule]$
解凍したディレクトリへ移動します
cd /home/oracle/backupmodule/opc_installer/oci_installer
ディレクトリの内容を確認
[oracle@tokyodb oci_installer]$ pwd
/home/oracle/backupmodule/opc_installer/oci_installer
[oracle@tokyodb oci_installer]$ ls -al
total 976
drwx------ 2 oracle oinstall 4096 Oct 18 21:02 .
drwx------ 4 oracle oinstall 4096 Oct 18 20:59 ..
-rw-r--r-- 1 oracle oinstall 971147 Oct 17 02:30 oci_install.jar
-rw-r--r-- 1 oracle oinstall 15204 Oct 18 21:02 oci_readme.txt
[oracle@tokyodb oci_installer]$
Backup Module を Install します。パラメータの詳細は、次のURLに記載されています。
java -jar /home/oracle/backupmodule/opc_installer/oci_installer/oci_install.jar \
-host https://objectstorage.ap-osaka-1.oraclecloud.com \
-pvtKeyFile /home/oracle/.oci/oci_api_key.pem \
-pubFingerPrint f9:fc:91:6a:66:ea:55:51:78:1a:9b:74:a8:8b:26:e2 \
-uOCID ocid1.user.oc1..yourid \
-tOCID ocid1.tenancy.oc1..yourid \
-cOCID ocid1.compartment.oc1..yourid \
-walletDir $ORACLE_HOME/dbs/opc_wallet \
-libDir $ORACLE_HOME/lib \
-bucket oracledb_backup
実行例
[oracle@tokyodb oci_installer]$ java -jar oci_install.jar \
> -host https://objectstorage.ap-osaka-1.oraclecloud.com \
> -pvtKeyFile /home/oracle/.oci/oci_api_key.pem \
> -pubFingerPrint f9:fc:91:6a:66:ea:55:51:78:1a:9b:74:a8:8b:26:e2 \
> -uOCID ocid1.user.oc1..yourid \
> -tOCID ocid1.tenancy.oc1..yourid \
> -cOCID ocid1.compartment.oc1..yourid \
> -walletDir $ORACLE_HOME/dbs/opc_wallet \
> -libDir $ORACLE_HOME/lib \
> -bucket oracledb_backup
Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to bucket oracledb_backup.
Oracle Database Cloud Backup Module wallet created in directory /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet.
Oracle Database Cloud Backup Module initialization file /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from Oracle Cloud Infrastructure.
Download complete.
[oracle@tokyodb oci_installer]$
Insall をすると、次の3種類のファイルが自動生成されます。
自動生成1 : wallet ファイル
[oracle@tokyodb opc_wallet]$ pwd
/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet
[oracle@tokyodb opc_wallet]$
[oracle@tokyodb opc_wallet]$ ls -la
total 12
drwxr-xr-x 2 oracle oinstall 4096 Feb 8 11:49 .
drwxr-xr-x 3 oracle oinstall 4096 Feb 8 11:49 ..
-rw------- 1 oracle oinstall 3445 Feb 8 11:49 cwallet.sso
-rw------- 1 oracle oinstall 0 Feb 8 11:49 cwallet.sso.lck
[oracle@tokyodb opc_wallet]$
自動生成2 : Oracle Database Backup Cloud ServiceコンテナのURLと資格証明ウォレットの場所が含まれる構成ファイル
[oracle@tokyodb dbs]$ cat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora
OPC_HOST=https://objectstorage.ap-osaka-1.oraclecloud.com/n/orasejapan
OPC_WALLET='LOCATION=file:/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet CREDENTIAL_ALIAS=alias_oci'
OPC_CONTAINER=oracledb_backup
OPC_COMPARTMENT_ID=ocid1.compartment.oc1..yourid
OPC_AUTH_SCHEME=BMC
[oracle@tokyodb dbs]$
自動生成3 : ライブラリファイル
[oracle@tokyodb lib]$ ls -la /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so
-rw-r--r-- 1 oracle oinstall 93446792 Feb 8 11:49 /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so
[oracle@tokyodb lib]$
RMAN Config の変更
Oracle Database Cloud Backup Module を使ったバックアップは、Oracle DB のバックアップ機能 RMAN を介して利用します。RMAN で定義するバックアップ先の Device を、Oracle Database Cloud Backup Module を使うことで Object Storage へ設定が出来ます。
RMAN接続
rman target /
実行例
[oracle@tokyodb ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Tue Feb 11 11:54:47 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: OSAKADB (DBID=2892303731)
RMAN>
OCI DBCS を作成した直後の、RMAN の設定値を確認します
show all;
実行例
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name TOKYODB_NRT195 are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1;
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 2 G FORMAT '%d_%I_%U_%T_%t' PARMS 'SBT_LIBRARY=/opt/oracle/dcs/commonstore/pkgrepos/oss/odbcs/libopc.so ENV=(OPC_PFILE=/opt/oracle/dcs/commonstore/objectstore/opc_pfile/2385503094/opc_tokyodb_nrt195.ora)';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF;
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/TOKYODB_NRT195/controlfile/snapcf_tokyodb_nrt195.f';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/tokyodb_nrt195/controlfile/snapcf_tokyodb_nrt195.f';
RMAN>
Oracle Database Cloud Backup Module を使って、RMAN バックアップ先のデバイスを指定します。Module を Insall したときに自動生成されたライブラリと、構成ファイルのパスを指定します。環境に合わせて適宜変更して指定します。
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora)';
実行例
RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora)';
using target database control file instead of recovery catalog
old RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 2 G FORMAT '%d_%I_%U_%T_%t' PARMS 'SBT_LIBRARY=/opt/oracle/dcs/commonstore/pkgrepos/oss/odbcs/libopc.so ENV=(OPC_PFILE=/opt/oracle/dcs/commonstore/objectstore/opc_pfile/2385503094/opc_tokyodb_nrt195.ora)';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora)';
new RMAN configuration parameters are successfully stored
RMAN>
memo : 間違って設定したときに削除するコマンド
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' CLEAR;
Default の Backup デバイスを設定します
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
実行例
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>
バックアップ最適化機能を有効にします。すでにファイルがバックアップされている場合、BACKUPコマンドで同一ファイルのバックアップがスキップされます。
CONFIGURE BACKUP OPTIMIZATION ON;
実行例
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
old RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION OFF;
new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
RMAN>
CONTROLFILE (制御ファイル) を RMAN のバックアップに含める設定をします。
CONFIGURE CONTROLFILE AUTOBACKUP ON;
実行例
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN>
制御ファイルのバックアップ名のフォーマットを指定します。指定可能なセマンティクスは、次のURLに書かれています。
https://docs.oracle.com/cd/E16338_01/backup.112/b56270/rcmsubcl010.htm#i82206
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
実行例
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>
RMAN バックアップが暗号化されるように設定
CONFIGURE ENCRYPTION FOR DATABASE ON;
実行例
RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;
old RMAN configuration parameters:
CONFIGURE ENCRYPTION FOR DATABASE OFF;
new RMAN configuration parameters:
CONFIGURE ENCRYPTION FOR DATABASE ON;
new RMAN configuration parameters are successfully stored
RMAN>
設定後の RMAN の CONFIGURE を全て確認します
RMAN> show all;
RMAN configuration parameters for database with db_unique_name TOKYODB_NRT195 are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO '%F';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1;
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora)';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE ON;
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/TOKYODB_NRT195/controlfile/snapcf_tokyodb_nrt195.f';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/tokyodb_nrt195/controlfile/snapcf_tokyodb_nrt195.f';
RMAN>
Backupの実行
RMAN CONFIGURE で 暗号化の設定をしましたが、念のため set コマンドでも暗号化の設定するように指定します。set コマンドは、RMAN を接続したときのセッションの間だけで一時的に設定されます。永続的な設定をしたい場合は、前述の CONFIGURE を使用します。
set encryption on;
大阪の Object Storage を出力先にして、データファイルとアーカイブログのバックアップを行います。増分バックアップを行いたいため、 LEVEL 0 を指定しています。
BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG;
実行例
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG;
Starting backup at 08-FEB-20
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=27 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=19.0.0.1
skipping archived logs of thread 1 from sequence 1 to 7; already backed up
channel ORA_SBT_TAPE_1: starting compressed archived log backup set
channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=8 RECID=8 STAMP=1031833045
channel ORA_SBT_TAPE_1: starting piece 1 at 08-FEB-20
channel ORA_SBT_TAPE_1: finished piece 1 at 08-FEB-20
piece handle=0muo11em_1_1 tag=TAG20200208T121726 comment=API Version 2.0,MMS Version 19.0.0.1
channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:03
Finished backup at 08-FEB-20
Starting backup at 08-FEB-20
using channel ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: starting compressed incremental level 0 datafile backup set
channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set
input datafile file number=00001 name=+DATA/tokyodb_nrt195/datafile/system.261.1031823525
input datafile file number=00002 name=+DATA/tokyodb_nrt195/datafile/sysaux.262.1031823525
input datafile file number=00003 name=+DATA/tokyodb_nrt195/datafile/undotbs1.263.1031823525
input datafile file number=00004 name=+DATA/tokyodb_nrt195/datafile/users.266.1031823967
channel ORA_SBT_TAPE_1: starting piece 1 at 08-FEB-20
channel ORA_SBT_TAPE_1: finished piece 1 at 08-FEB-20
piece handle=0nuo11ep_1_1 tag=TAG20200208T121729 comment=API Version 2.0,MMS Version 19.0.0.1
channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:25
Finished backup at 08-FEB-20
Starting backup at 08-FEB-20
current log archived
using channel ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: starting compressed archived log backup set
channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=9 RECID=9 STAMP=1031833074
channel ORA_SBT_TAPE_1: starting piece 1 at 08-FEB-20
channel ORA_SBT_TAPE_1: finished piece 1 at 08-FEB-20
piece handle=0ouo11fj_1_1 tag=TAG20200208T121754 comment=API Version 2.0,MMS Version 19.0.0.1
channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:03
Finished backup at 08-FEB-20
Starting Control File and SPFILE Autobackup at 08-FEB-20
piece handle=c-2385503094-20200208-03 comment=API Version 2.0,MMS Version 19.0.0.1
Finished Control File and SPFILE Autobackup at 08-FEB-20
RMAN>
バックアップの一覧を確認します
list backup;
実行例
BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG;
を実行すると、BE KEY が 22, 23, 24, 25 が増えた。
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 512.00K SBT_TAPE 00:00:02 08-FEB-20
BP Key: 1 Status: AVAILABLE Compressed: YES Tag: AUTO
Handle: auto_cf_TOKYODB_2385503094_01uo0pm8_1_1_20200208_1031825096_set1 Media: swiftobjectstorage.a..ud.com/v1/dbbackupnrt/b4fcPDInwgUHIebBiaoa
Control File Included: Ckp SCN: 690109 Ckp time: 08-FEB-20
~~~~~~~~~ 省略 ~~~~~~~~~~~
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
22 256.00K SBT_TAPE 00:00:01 08-FEB-20
BP Key: 24 Status: AVAILABLE Compressed: YES Tag: TAG20200208T235451
Handle: 0uuo2aac_1_1 Media: objectstorage.ap-osaka-..ecloud.com/n/orasejapan/oracledb_backup
List of Archived Logs in backup set 22
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 13 717557 08-FEB-20 717624 08-FEB-20
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
23 Incr 0 153.25M SBT_TAPE 00:00:24 08-FEB-20
BP Key: 25 Status: AVAILABLE Compressed: YES Tag: TAG20200208T235455
Handle: 0vuo2aaf_1_1 Media: objectstorage.ap-osaka-..ecloud.com/n/orasejapan/oracledb_backup
List of Datafiles in backup set 23
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 0 Incr 717633 08-FEB-20 +DATA/tokyodb_nrt195/datafile/system.261.1031823525
2 0 Incr 717633 08-FEB-20 +DATA/tokyodb_nrt195/datafile/sysaux.262.1031823525
3 0 Incr 717633 08-FEB-20 +DATA/tokyodb_nrt195/datafile/undotbs1.263.1031823525
4 0 Incr 717633 08-FEB-20 +DATA/tokyodb_nrt195/datafile/users.266.1031823967
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
24 256.00K SBT_TAPE 00:00:01 08-FEB-20
BP Key: 26 Status: AVAILABLE Compressed: YES Tag: TAG20200208T235521
Handle: 10uo2ab9_1_1 Media: objectstorage.ap-osaka-..ecloud.com/n/orasejapan/oracledb_backup
List of Archived Logs in backup set 24
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 14 717624 08-FEB-20 717646 08-FEB-20
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
25 Full 9.50M SBT_TAPE 00:00:02 08-FEB-20
BP Key: 27 Status: AVAILABLE Compressed: NO Tag: TAG20200208T235524
Handle: c-2385503094-20200208-04 Media: objectstorage.ap-osaka-..ecloud.com/n/orasejapan/oracledb_backup
SPFILE Included: Modification time: 08-FEB-20
SPFILE db_unique_name: TOKYODB_NRT195
Control File Included: Ckp SCN: 717655 Ckp time: 08-FEB-20
RMAN>
大阪リージョンの Object Storage を確認すると、バックアップで生成されたファイルを確認できます
必要なデータの収集
ここまでの手順で、大阪リージョンの Object Storage へバックアップが出来ました。大阪リージョンの OCI DBCS へリストアするために、必要なデータが5個あります。
- Oracle DB の SID
- Oracle DB の DBID
- Oracle Database Cloud Backup Module の Wallet ファイル
- 透過的データベース暗号化(Transparent Data Encryption(TDE)) の Wallet ファイル
- srvctl で自動再起動の設定値
上記5つのデータを、リストアをするために保管が必要です。任意の場所に保管して大丈夫ですが、一番良いのは 大阪側のObject Storageだと思います。
東京側の大規模災害時にも使えるデータストアは、東京以外のリージョンで用意するのが妥当と考えています。
- Oracle DB の SID
東京の OCI DBCS へ SQL*Plus で接続して、SID を確認します。最下部の INSTANCE_NAME tokyodb
が SIDです。この文字列を txt ファイル化して、大阪側の Object Storage に保存する方法が考えられます。
[oracle@tokyodb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sun Feb 9 02:51:30 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
tokyodb
SQL>
- Oracle DB の ORACLE_UNQNAME
最下部の db_unique_nametokyodb_nrt195
が ORACLE_UNQNAME です。この文字列を txt ファイル化して、大阪側の Object Storage に保存する方法が考えられます。
SQL> show parameter db_unique_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string tokyodb_nrt195
SQL>
- Oracle DB の DBID
東京の OCI DBCS へ SQL*Plus で接続して、DBID を確認します。最下部の INSTANCE_NAME 2385503094
が DBID です。この文字列を txt ファイル化して、大阪側の Object Storage に保存する方法が考えられます。
SQL> SELECT DBID,NAME,DB_UNIQUE_NAME,CURRENT_SCN,LOG_MODE FROM V$DATABASE;
DBID NAME DB_UNIQUE_NAME CURRENT_SCN LOG_MODE
---------- --------- ------------------------------ ----------- ------------
2385503094 TOKYODB tokyodb_nrt195 722601 ARCHIVELOG
SQL>
- Oracle Database Cloud Backup Module の Wallet ファイル
Oracle Database Cloud Backup Module を Install したときに自動生成された Wallet ファイルが、以下のディレクトリに生成されています。cwallet.sso
ファイルのバックアップが必要です。
[oracle@tokyodb opc_wallet]$ pwd
/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet
[oracle@tokyodb opc_wallet]$
[oracle@tokyodb opc_wallet]$ ls -la
total 12
drwxr-xr-x 2 oracle oinstall 4096 Feb 8 11:49 .
drwxr-xr-x 3 oracle oinstall 4096 Feb 8 11:49 ..
-rw------- 1 oracle oinstall 3445 Feb 8 11:49 cwallet.sso
-rw------- 1 oracle oinstall 0 Feb 8 11:49 cwallet.sso.lck
[oracle@tokyodb opc_wallet]$
- 透過的データベース暗号化(Transparent Data Encryption(TDE)) の Wallet ファイル
透過的データベース暗号化のための Wallet ファイルが必要です。RMAN バックアップは、この Wallet ファイルを使用して暗号化されているので、大阪側で複合化する時にも必要なファイルです。
sqlnet.ora の設定値を確認して、Wallet ファイルの格納先を確認します。
less /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/sqlnet.ora
/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME
が格納先です
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
SQLNET.ENCRYPTION_SERVER=REQUIRED
SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128)
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1)
SQLNET.ENCRYPTION_CLIENT=REQUIRED
SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED
SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128)
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
格納先を確認すると、cwallet.sso
と ewallet.p12
の2個のファイルが格納されています。この2個のファイルのバックアップを行います。
[oracle@tokyodb tokyodb_nrt195]$ ls -la /opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195/
total 112
drwx------ 2 oracle oinstall 20480 Feb 8 09:45 .
drwx------ 3 oracle oinstall 20480 Feb 8 09:45 ..
-rw------- 1 oracle oinstall 2917 Feb 8 09:45 cwallet.sso
-rw------- 1 oracle asmadmin 2840 Feb 8 09:45 ewallet.p12
[oracle@tokyodb tokyodb_nrt195]$
memo : Object Storage の Pre-Auth URL を使って、Upload するコマンド
curl -X PUT \
'https://objectstorage.ap-osaka-1.oraclecloud.com/p/<your URL>/n/<tenancyname>/b/oracledb_backup/o/' \
--upload-file /opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195/ewallet.p12
- srvctl で自動再起動の設定値
OCI DBCS は、srvctl で自動起動の設定がされています。大阪側の OCI DBCS で再起動を設定するために、東京側の設定値を控えておきます。
東京側 Default の config list を確認します。tokyodb_nrt195
が config の名前です。
[oracle@tokyodb ~]$ srvctl config database
tokyodb_nrt195
[oracle@tokyodb ~]$
config tokyodb_nrt195
の detail を確認します。
[oracle@tokyodb ~]$ srvctl config database -d tokyodb_nrt195
Database unique name: tokyodb_nrt195
Database name: tokyodb
Oracle home: /u01/app/oracle/product/11.2.0.4/dbhome_1
Oracle user: oracle
Spfile: +DATA/tokyodb_nrt195/spfiletokyodb.ora
Domain: privsubnet01.vcn.oraclevcn.com
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: tokyodb_nrt195
Database instance: tokyodb
Disk Groups: DATA,RECO
Mount point paths:
Services:
Type: SINGLE
Database is administrator managed
[oracle@tokyodb ~]$
東京側の Server Pool の設定値を確認します。Server Pool とは、Clusterware 配下のサーバーを管理する論理的なグループです。Single Instance ですが、Clusterware 配下で管理されているため確認をします。
srvctl status srvpool -a
実行例
[oracle@tokyodb ~]$ srvctl status srvpool -a
Server pool name: Free
Active servers count: 0
Active server names:
Server pool name: Generic
Active servers count: 1
Active server names: tokyodb
NAME=tokyodb STATE=ONLINE
[oracle@tokyodb ~]$
東京側の環境変数を確認します
[oracle@tokyodb ~]$ srvctl getenv database -d tokyodb_nrt195
tokyodb_nrt195:
ORACLE_UNQNAME=tokyodb_nrt195
TZ=UTC
[oracle@tokyodb ~]$
RMAN の自動バックアップ設定
これまでの手順で、RMAN のバックアップが出来ました。バックアップを自動的に行うために、Linux の cron などの自動実行機能を使う必要があります。Oracle の Document を参考にして、適切に設定を行います。
大阪リージョン : リストア実施
東京リージョンで大規模災害を想定して、大阪側の OCI DBCS へリストアを行います。以下の Document の内容に沿っていますが、一部不足している手順は追加をしています。
OCI DBCS 作成
OCI DBCS を適当に作成します
- Name : osakadb
- Edition : Standard Edition
- Version : 11.2.0.4 or
- Password : mIfoO8_fai12#-gai897faoosaka
- IP address : 10.100.1.2
Module のインストール
Oracle Database Cloud Backup Module をインストールします。Tokyo Region 側で実施した内容と同じで大丈夫です。
Module用 Wallet の復元
東京側の OCI DBCS で自動生成された Module 用の Wallet ファイルを、大阪側の OCI DBCS へ格納します。大阪側でも Module を Install した時に Wallet が自動生成されましたが、ここに東京側の Wallet ファイルを上書きします。
東京側の Wallet ファイルを復元して、上書きします。
mv /home/opc/cwallet.sso /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet/cwallet.sso
大阪側の Object Storage にバックアップをしている場合は、Pre-auth URL を生成することでダウンロードすることが出来ます。以下コマンド例。
curl -X GET \
'https://objectstorage.ap-osaka-1.oraclecloud.com/p/<your url>/n/<your tnency>/b/oracledb_backup/o/wallet_opc/cwallet.sso' \
-O
権限設定
chown oracle:oinstall /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet/cwallet.sso
確認
[root@osakadb opc_wallet]# ls -la /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opc_wallet/
total 12
drwxr-xr-x 2 oracle oinstall 4096 Feb 9 05:06 .
drwxr-xr-x 3 oracle oinstall 4096 Feb 9 04:37 ..
-rw------- 1 oracle oinstall 3445 Feb 9 05:05 cwallet.sso
-rw------- 1 oracle oinstall 0 Feb 9 02:37 cwallet.sso.lck
[root@osakadb opc_wallet]#
TDE Wallet の復元
透過的データベース暗号化(Transparent Data Encryption(TDE)) の Wallet ファイルを東京側から復元します。
東京用のディレクトリを、oracle
ユーザーで作成します
mkdir /opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
chmod 700 /opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
cd /opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
cwallet.sso
と ewallet.p12
を以下のように復元します
[oracle@osakadbb tokyodb_nrt195]$ pwd
/opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
[oracle@osakadbb tokyodb_nrt195]$
[oracle@osakadbb tokyodb_nrt195]$ ls -la
total 112
drwx------ 2 oracle oinstall 20480 Feb 11 07:03 .
drwx------ 4 oracle oinstall 20480 Feb 11 06:57 ..
-rw-r--r-- 1 oracle oinstall 2917 Feb 11 07:01 cwallet.sso
-rw-r--r-- 1 oracle oinstall 2840 Feb 11 07:03 ewallet.p12
[oracle@osakadbb tokyodb_nrt195]$
権限を設定 (root ユーザーで実行)
cd /opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
chown oracle:oinstall cwallet.sso
chown oracle:asmadmin ewallet.p12
chmod 600 cwallet.sso
chmod 600 ewallet.p12
確認します
[root@osakadb tokyodb_nrt195]# pwd
/opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
[root@osakadb tokyodb_nrt195]#
[root@osakadb tokyodb_nrt195]# ls -la
total 112
drwx------ 2 oracle oinstall 20480 Feb 9 06:02 .
drwx------ 4 oracle oinstall 20480 Feb 9 05:58 ..
-rw------- 1 oracle oinstall 2917 Feb 9 06:01 cwallet.sso
-rw------- 1 oracle asmadmin 2840 Feb 9 06:01 ewallet.p12
[root@osakadb tokyodb_nrt195]#
sqlnet を書き換えて、Tokyo 側の TDE Wallet を使用します。
vim /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/sqlnet.ora
#ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195)))
# ↑書き換え
SQLNET.ENCRYPTION_SERVER=REQUIRED
SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128)
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1)
SQLNET.ENCRYPTION_CLIENT=REQUIRED
SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED
SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128)
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
TDE Wallet の Open 状況の確認します
SQL*Plus の接続をします
[oracle@osakadb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 10 10:34:55 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL>
Open 状況の確認
TokyoがOpenされていることを確認します
SQL> select * from v$encryption_wallet;
WRL_TYPE
--------------------
WRL_PARAMETER
--------------------------------------------------------------------------------
STATUS
------------------
file
/opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
OPEN
SQL>
以下のように CLOSED となっている場合
SQL> select * from v$encryption_wallet;
WRL_TYPE
--------------------
WRL_PARAMETER
--------------------------------------------------------------------------------
STATUS
------------------
file
/opt/oracle/dcs/commonstore/wallets/tde/tokyodb_nrt195
CLOSED
CLOSED となっている場合は、SQL * Plus で接続して STARTUP NOMOUNT
した後に、Tokyo 側の Wallet を Open します。
NOMOUNT
STARTUP NOMOUNT
ALTER (in SQL*Plus)
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "mIfoO8_fai12#-gai897fao";
SQL PLUS exit
exit
リストアの実行
大阪側の OCI DBCS で、oracle
ユーザーにスイッチします
sudo su - oracle
リストアを実施するため、既存の稼働しているインスタンス (sid : osakadb
) を停止します。
SQL*Plus に接続
sqlplus / as sysdba
インスタンスを停止します
SHUTDOWN IMMEDIATE
SQL*Plus から抜けます
exit
/etc/oratab
(自動起動のための Oracle の Config ファイル) の設定値を確認します
[oracle@osakadb ~]$ cat /etc/oratab
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
osakadb:/u01/app/oracle/product/11.2.0.4/dbhome_1:N
Tokyo側の DB と同じSIDを設定するために、vim を開きます
vim /etc/oratab
TokyoのSIDは tokyodb
だったので、次のように設定を変更します
#osakadb:/u01/app/oracle/product/11.2.0.4/dbhome_1:N
tokyodb:/u01/app/oracle/product/11.2.0.4/dbhome_1:N
ORACLE_SID を、tokyodb
へ変更します
. oraenv
実行例 tokyodb と入力
[oracle@osakadb ~]$ . oraenv
ORACLE_SID = [osakadb] ? tokyodb
実行例
[oracle@osakadb ~]$ . oraenv
ORACLE_SID = [osakadb] ? tokyodb
The Oracle base has been set to /u01/app/oracle
[oracle@osakadb ~]$
.bashrc でも SID を設定していることを確認します
[oracle@osakadb ~]$ cat ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1; export ORACLE_HOME
PATH=$PATH:/u01/app/oracle/product/11.2.0.4/dbhome_1/bin; export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib; export LD_LIBRARY_PATH
ORACLE_UNQNAME=osakadb_kix1ch;export ORACLE_UNQNAME
ORACLE_SID=osakadb; export ORACLE_SID
[oracle@osakadb ~]$
bashrc を変更します
vim ~/.bashrc
ORACLE_UNQNAME と SID を変更します
~~~~~ 省略 ~~~~~
#ORACLE_UNQNAME=osakadb_kix1pb;export ORACLE_UNQNAME
ORACLE_UNQNAME=tokyodb_nrt195;export ORACLE_UNQNAME
#ORACLE_SID=osakadb; export ORACLE_SID
ORACLE_SID=tokyodb; export ORACLE_SID
Shell に再ログインして読み込み
exit
sudo su - oracle
環境変数を確認し、SID が tokyodb であることを確認します
[oracle@osakadb ~]$ env | grep -i sid
ORACLE_SID=tokyodb
RMAN接続をします
rman target /
実行例
SID を変更したので、(not started) でOK
[oracle@osakadb ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Sun Feb 9 04:34:33 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN>
tokyo db 側で確認したDBID を設定
set dbid 2385503094;
実行例
RMAN> set dbid 2385503094;
executing command: SET DBID
RMAN>
STARTUP NOMOUNT
コマンドを実行して、初期化パラメータのみ読み込む状態にします
STARTUP NOMOUNT
実行例
ORA-01078: failure in processing system parameters
が出ても無視しておK
RMAN> STARTUP NOMOUNT
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/inittokyodb.ora'
starting Oracle instance without parameter file for retrieval of spfile
Oracle instance started
Total System Global Area 1068937216 bytes
Fixed Size 2260088 bytes
Variable Size 281019272 bytes
Database Buffers 780140544 bytes
Redo Buffers 5517312 bytes
RMAN>
TDE を使った暗号化の設定をします
SET ENCRYPTION ON;
実行例
RMAN> SET ENCRYPTION ON;
executing command: SET encryption
using target database control file instead of recovery catalog
RMAN>
制御ファイルのフォーマットを指定します
set controlfile autobackup format for device type sbt to '%F';
実行例
RMAN> set controlfile autobackup format for device type sbt to '%F';
executing command: SET CONTROLFILE AUTOBACKUP FORMAT
RMAN>
初期化パラメータファイルを、RMAN バックアップからリストアします。
SBT_LIBRARYとSBT_PARMSを Osaka 側で Backup Module を Install した時に生成されたものを指定
run {
allocate channel c1 device type sbt PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
restore spfile from autobackup;
}
実行例
RMAN> run {
allocate channel c1 device type sbt PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
restore spfile from autobackup;
}2> 3> 4>
allocated channel: c1
channel c1: SID=114 device type=SBT_TAPE
channel c1: Oracle Database Backup Service Library VER=19.0.0.1
Starting restore at 10-FEB-20
channel c1: looking for AUTOBACKUP on day: 20200210
channel c1: looking for AUTOBACKUP on day: 20200209
channel c1: AUTOBACKUP found: c-2385503094-20200209-03
channel c1: restoring spfile from AUTOBACKUP c-2385503094-20200209-03
channel c1: SPFILE restore from AUTOBACKUP complete
Finished restore at 10-FEB-20
released channel: c1
RMAN>
RMAN から抜けます
exit
以下のディレクトリに、東京側の初期化パラメータファイルがリストアされています
[oracle@osakadb dbs]$ ls -la /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs | grep "spfile"
-rw-r----- 1 oracle asmadmin 4608 Feb 15 12:46 spfiletokyodb.ora
中身を確認します。一部文字化けしているように見えますが、正しいです
[oracle@osakadb dbs]$ cat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiletokyodb.ora
C" fy G &=
C C"
3 tokyodb.__db_cache_size=6677331968
tokyodb.__java_pool_size=16777216
tokyodb.__large_pool_size=33554432
tokyodb.__pga_aggregate_target=4026531840
tokyodb.__sga_target=8053063680
tokyodb.__shared_io_pool_size=0
tokyodb.__shared_pool_size=1258291200
tokyodb.__streams_pool_size=0
*._datafile_write_errors_crash_instance=false
*._db_writer_coalesce_area_size=16777216
*._disable_interface_checking=TRUE
*._ENABLE_NUMA_SUPPORT=FALSE
*._FILE_SIZE_INCREASE_INCREMENT=2143289344
*._fix_control='C C" B, 18960760:on'
*._gc_policy_time=0
*._gc_undo_affinity=FALSE
*.audit_file_dest='/u01/app/oracle/admin/tokyodb_nrt195/adump'
*.audit_sys_operations=TRUE
*.audit_trail='db'
*.compatible='11.2.0.4'
*.control_file_record_keep_time=38
*.control_files='+RECO/tokyodb_nrt195/controlfile/current.256.1031823607'
*.cpu_count=0
*.cursor_sharing='EXACT'
*.db_block_checking='FULL'
*.db_block_checksum='FULL'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_create_online_log_dest_1='+RECO'
*.dbC C" 6T _domain='privsubnet01.vcn.oraclevcn.com'
*.db_files=1024
*.db_lost_write_protect='TYPICAL'
*.db_name='tokyodb'
*.db_recovery_file_dest='+RECO'
*.db_recovery_file_dest_size=13844348928
*.db_unique_name='tokyodb_nrt195'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tokyodbXDB)'
*.fast_start_mttr_target=300
*.filesystemio_options='setall'
*.global_names=TRUE
*.log_archive_format='%t_%s_%r.dbf'
*.log_buffer=16777216
*.nls_language='AMERICAN'
*.nls_territory='C C" vp AMERICA'
*.open_cursors=1000
*.os_authent_prefix=''
*.parallel_adaptive_multi_user=FALSE
*.parallel_execution_message_size=16384
*.parallel_threads_per_cpu=2
*.pga_aggregate_target=4026531840
*.processes=200
*.remote_login_passwordfile='EXCLUSIVE'
*.session_cached_cursors=100
*.sga_target=8053063680
*.sql92_security=TRUE
*.undo_retention=900
*.undo_tablespace='UNDOTBS1'
*.use_large_pages='only'
C C" Ee
C C" De
C C" Ke
C C" Je
C [
Audit_file_dest の 作成すべきDirectory の Path 確認します
strings ${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora | grep audit_file_dest
実行例
[oracle@osakadb ~]$ strings ${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora | grep audit_file_dest
*.audit_file_dest='/u01/app/oracle/admin/tokyodb_nrt195/adump'
ディレクトリ作成
mkdir -p /u01/app/oracle/admin/tokyodb_nrt195/adump
RMANを起動します
rman target /
実行例
[oracle@osakadb dbs]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Sat Feb 15 12:51:09 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DUMMY (not mounted)
RMAN>
暗号化設定と、dbid の設定をします
set ENCRYPTION ON;
set dbid 2385503094;
Oracle DB インスタンスを、初期化パラメータのみ読み込んだ状態にします
STARTUP FORCE NOMOUNT;
実行例
RMAN> STARTUP FORCE NOMOUNT;
Oracle instance started
Total System Global Area 8017100800 bytes
Fixed Size 2269072 bytes
Variable Size 1375731824 bytes
Database Buffers 6610223104 bytes
Redo Buffers 28876800 bytes
RMAN>
制御ファイルのフォーマットを指定します
set controlfile autobackup format for device type sbt to '%F';
制御ファイルをリストアします
run {
allocate channel c1 device type sbt PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
restore controlfile from autobackup;
alter database mount;
}
実行例
RMAN> run {
allocate channel c1 device type sbt PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
restore controlfile from autobackup;
alter database mount;
}2> 3> 4> 5>
allocated channel: c1
channel c1: SID=177 device type=SBT_TAPE
channel c1: Oracle Database Backup Service Library VER=19.0.0.1
Starting restore at 10-FEB-20
channel c1: looking for AUTOBACKUP on day: 20200210
channel c1: AUTOBACKUP found: c-2385503094-20200210-01
channel c1: restoring control file from AUTOBACKUP c-2385503094-20200210-01
channel c1: control file restore from AUTOBACKUP complete
output file name=+RECO/tokyodb_nrt195/controlfile/current.265.1032047215
Finished restore at 10-FEB-20
database mounted
released channel: c1
RMAN>
このタイミングで、Tokyo 側の RMAN で CONFIGURE していた内容が Osaka 側に復元されます
RMAN> show all;
RMAN configuration parameters for database with db_unique_name TOKYODB_NRT195 are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO '%F';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1;
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora)';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE ON;
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/TOKYODB_NRT195/controlfile/snapcf_tokyodb_nrt195.f';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/tokyodb_nrt195/controlfile/snapcf_tokyodb_nrt195.f';
RMAN>
Osaka 側の Module に合わせるように、CONFIGURE を変更します。
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
実行例
RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
old RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opctokyodb.ora)';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/opcosakadb.ora)';
new RMAN configuration parameters are successfully stored
RMAN>
Database のリストアを実行します。RMAN バックアップを使用して、物理ファイルから復元します
RESTORE DATABASE;
実行例
RMAN> RESTORE DATABASE;
Starting restore at 10-FEB-20
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=16 device type=DISK
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=162 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=19.0.0.1
channel ORA_SBT_TAPE_1: starting datafile backup set restore
channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set
channel ORA_SBT_TAPE_1: restoring datafile 00001 to +DATA/tokyodb_nrt195/datafile/system.261.1031823525
channel ORA_SBT_TAPE_1: restoring datafile 00002 to +DATA/tokyodb_nrt195/datafile/sysaux.262.1031823525
channel ORA_SBT_TAPE_1: restoring datafile 00003 to +DATA/tokyodb_nrt195/datafile/undotbs1.263.1031823525
channel ORA_SBT_TAPE_1: restoring datafile 00004 to +DATA/tokyodb_nrt195/datafile/users.266.1031823967
channel ORA_SBT_TAPE_1: reading from backup piece DBTRegular-L01581276197451iQW_df_TOKYODB_2385503094_1duo4ero_1_1_20200209_1031945080_set45
channel ORA_SBT_TAPE_1: piece handle=DBTRegular-L01581276197451iQW_df_TOKYODB_2385503094_1duo4ero_1_1_20200209_1031945080_set45 tag=DBTREGULAR-L01581276197451IQW
channel ORA_SBT_TAPE_1: restored backup piece 1
channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:26
Finished restore at 10-FEB-20
RMAN>
リカバリを実行します。REDO ログ やアーカイブログを適用します。
RECOVER DATABASE;
実行例
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 24 and starting SCN of 787146
は無視してOKです。これ以上リカバリするべきアーカイブログが見つからないメッセージなので、問題ありません。
RMAN> RECOVER DATABASE;
Starting recover at 10-FEB-20
using channel ORA_DISK_1
using channel ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: starting incremental datafile backup set restore
channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00001: +DATA/tokyodb_nrt195/datafile/system.271.1032047871
destination for restore of datafile 00002: +DATA/tokyodb_nrt195/datafile/sysaux.274.1032047871
destination for restore of datafile 00003: +DATA/tokyodb_nrt195/datafile/undotbs1.275.1032047871
destination for restore of datafile 00004: +DATA/tokyodb_nrt195/datafile/users.276.1032047871
channel ORA_SBT_TAPE_1: reading from backup piece DBTRegular-L11581362614468RkV_df_TOKYODB_2385503094_1kuo73bo_1_1_20200210_1032031608_set52
channel ORA_SBT_TAPE_1: piece handle=DBTRegular-L11581362614468RkV_df_TOKYODB_2385503094_1kuo73bo_1_1_20200210_1032031608_set52 tag=DBTREGULAR-L11581362614468RKV
channel ORA_SBT_TAPE_1: restored backup piece 1
channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:03
starting media recovery
channel ORA_SBT_TAPE_1: starting archived log restore to default destination
channel ORA_SBT_TAPE_1: restoring archived log
archived log thread=1 sequence=23
channel ORA_SBT_TAPE_1: reading from backup piece DBTRegular-L11581362614468RkV_arc_TOKYODB_2385503094_1luo73c8_1_1_20200210_1032031624_set53
channel ORA_SBT_TAPE_1: piece handle=DBTRegular-L11581362614468RkV_arc_TOKYODB_2385503094_1luo73c8_1_1_20200210_1032031624_set53 tag=DBTREGULAR-L11581362614468RKV
channel ORA_SBT_TAPE_1: restored backup piece 1
channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:01
archived log file name=+RECO/tokyodb_nrt195/archivelog/2020_02_10/thread_1_seq_23.266.1032047937 thread=1 sequence=23
channel default: deleting archived log(s)
archived log file name=+RECO/tokyodb_nrt195/archivelog/2020_02_10/thread_1_seq_23.266.1032047937 RECID=24 STAMP=1032047937
unable to find archived log
archived log thread=1 sequence=24
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/10/2020 23:58:58
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 24 and starting SCN of 787146
RMAN>
Oracle DB を Open します
ALTER DATABASE OPEN RESETLOGS;
実行例
RMAN> ALTER DATABASE OPEN RESETLOGS;
database opened
RMAN>
RMAN から抜けます
exit
tnsnames.ora の編集
Oracle DB インスタンスのサービス名を確認します
lsnrctl status
実行例
tokyodb_nrt195.privsubnet01.vcn.oraclevcn.com
がサービス名の一つです。
[oracle@osakadb ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-FEB-2020 13:15:01
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 15-FEB-2020 12:09:47
Uptime 0 days 1 hr. 5 min. 14 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/19.0.0.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/osakadb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.100.1.5)(PORT=1521)))
Services Summary...
Service "+APX" has 1 instance(s).
Instance "+APX1", status READY, has 1 handler(s) for this service...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_RECO" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "tokyodbXDB.privsubnet01.vcn.oraclevcn.com" has 1 instance(s).
Instance "tokyodb", status READY, has 1 handler(s) for this service...
Service "tokyodb_nrt195.privsubnet01.vcn.oraclevcn.com" has 1 instance(s).
Instance "tokyodb", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@osakadb ~]$
確認したサービス名を使うように、tnsnames.ora を編集します。まずは編集前のファイルを確認します
[oracle@osakadb ~]$ cat /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
OSAKADB_KIX1PB =
(DESCRIPTION =
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = osakadb_kix1pb.sub02090039131.vcnosaka.oraclevcn.com)
)
)
[oracle@osakadb ~]$
編集します
vim /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/tnsnames.ora
確認した名前を SERVICE_NAME
に指定します
#OSAKADB_KIX1PB =
# (DESCRIPTION =
# (CONNECT_DATA =
# (SERVER = DEDICATED)
# (SERVICE_NAME = osakadb_kix1pb.sub02090039131.vcnosaka.oraclevcn.com)
# )
# )
OSAKADB =
(DESCRIPTION =
(ADDRESS=
(PROTOCOL=tcp)
(HOST=osakadb.sub02090039131.vcnosaka.oraclevcn.com)
(PORT=1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = tokyodb_nrt195.privsubnet01.vcn.oraclevcn.com)
)
)
自動再起動の構成
サーバー制御ユーティリティ(srvctl) を使って、Oracle DB インスタンスの自動再起動を構成をコントロールしています。リストアを実施した大阪側の OCI DBCS 側では、デフォルトで自動再起動が設定されていますが、リストアをしたタイミングで自動再起動がされなくなります。手動で STARTUP
すれば良いですが、面倒な部分もあるので、自動再起動をするように構成をします。
まずは、現状の config 状況を確認します。db_unique_nameが osakadb_kix1pb
のものが登録されています
[oracle@osakadb ~]$ srvctl config database
osakadb_kix1pb
osaka側の設定を remove します
srvctl remove database -d osakadb_kix1pb
実行例
[oracle@osakadb ~]$ srvctl remove database -d osakadb_kix1pb
Remove the database osakadb_kix1pb? (y/[n]) y
[oracle@osakadb ~]$
srvctl add
コマンドで、自動再起動の設定を入力します。各種パラメータは、東京側の自動再起動の設定値を参考に適宜変更します。
各種パラメータの詳細は srvctl add database -h
コマンドで確認が可能です
srvctl add database \
-d "tokyodb_nrt195" \
-o "/u01/app/oracle/product/11.2.0.4/dbhome_1" \
-c "SINGLE" \
-i "tokyodb" \
-m "sub02090039131.vcnosaka.oraclevcn.com" \
-p "+DATA/tokyodb_nrt195/spfiletokyodb.ora" \
-r "primary" \
-s "OPEN" \
-t "IMMEDIATE" \
-n "tokyodb" \
-y "AUTOMATIC" \
-a "DATA,RECO" \
-x "osakadb"
設定されたことを確認します
srvctl config database -d tokyodb_nrt195
実行例
[oracle@osakadb ~]$ srvctl config database -d tokyodb_nrt195
Database unique name: tokyodb_nrt195
Database name: tokyodb
Oracle home: /u01/app/oracle/product/11.2.0.4/dbhome_1
Oracle user: oracle
Spfile: +DATA/tokyodb_nrt195/spfiletokyodb.ora
Domain: privsubnet01.vcn.oraclevcn.com
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: tokyodb_nrt195
Database instance: tokyodb
Disk Groups: DATA,RECO
Mount point paths:
Services:
Type: SINGLE
Database is administrator managed
[oracle@osakadb ~]$
環境変数の設定を行います。
srvctl setenv database \
-d tokyodb_nrt195 \
-t "ORACLE_UNQNAME=tokyodb_nrt195,TZ=UTC"
確認
[oracle@osakadb ~]$ srvctl getenv database -d tokyodb_nrt195
tokyodb_nrt195:
ORACLE_UNQNAME=tokyodb_nrt195
TZ=UTC
[oracle@osakadb ~]$
大阪リージョン : リストア確認
SQL*Plus に、sugi
ユーザーで接続
sqlplus sugi/mIfoO8_fai12#gai897faosugi@OSAKADB
SELECT でテストデータが復元されているか確認
SELECT * FROM EXAMPLES WHERE ROWNUM <= 10;
実行例
SQL> SELECT * FROM EXAMPLES WHERE ROWNUM <= 10;
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
201
wtvQNLuNNwTKhUjEdtFDPzxuumnSocAzpWZczHQTwpywghqBqSZxlYurfiiCnuNDStnhbzXZjEzvhnwl
EMPaAuqVFIfnCeXOimeI
63975 .26953323 15-SEP-62
202
ZXYsSLqckvxdopEZYBTVedvoRrdDOBXLclHtMlTGBGJcsiwmkGzmKJPrOCvhNOoMhFXAbYfZIcxXMrbC
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
xdqZKmDqoDbZAITiLgcU
12924 .543865413 06-OCT-27
203
sixKXAquLflHYBrDVIyacgzHUJarTTnvgaAwLdxCTpixBzWEUeCwmbTMsXCqUeprGmDjfoFpxgXdfVLo
odoFvGHYyCngHmuabmhg
78239 .553495011 10-MAR-05
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
204
SLaaSxfBgBqwQkwQForQmbAQZSFKUyFHzDPYsmJEztjwsjKfQdxTPdJsdflnvkJfEFVIWGUFhaMfKKvp
vCekbOzdiAMoWSjEyEFP
79874 .594714669 03-JUL-84
205
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
yDKzanFhZhPYXzIInGhxtYEJgfSvApgnzNdLPUgCQQkMVbsrFmCIOjuejduadlUZvtjmTpLEWSJOAwBl
RVEOYaSjqYlsFBcMJTzo
32309 .064789972 20-FEB-11
206
bEMXOfvQAyyoBMnIlRUfZrnQgmIDQzxNWhbcEVijpWauRpkxboeOIqMIrVbffteXgaRGhWsaovZrgYOI
bnSZqKVNCDIkONHVwsBz
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
21979 .563180994 29-DEC-56
207
PjEFpOaQSItEWDAljdarwjzwknbqsBnXKsXOFlmgLxMGSNsEaSswudUAXfvhQNodAQTcomRubmxOxsAL
FTnneHYiXTvWyaJMOgjG
1027 .196482091 21-DEC-18
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
208
BFqLsWVLczjUvVMLYkPynNaHpThVxDAMKJyfAdkKXCQRUnUkyvhtOlGrYXgqZWYnIiAwzwWvmfPHBvro
OOOMoHEjgfVZAIyfkQNU
70449 .830987466 30-APR-74
209
laxBPgyfmlvCNdcWpNVVzFVbXwdcmmXZoLQbUFjVSbXmdlVVymjUqMHIXadBTWEbxLdhiMsIptIdrqwW
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
jMwczfhMmtdobowQmBUM
96728 .264182347 24-SEP-68
210
nfsxhCEeGnaeSBlnkFHVKApYbudqpEaJOFuKBjLSZUHGdZkArIqXzCCPaWoXGeoVsVoUlxGKZOcnaZZT
DUNoHdYpbjhIOzoSpvaO
45219 .831185633 30-DEC-25
ID
----------
LABEL
--------------------------------------------------------------------------------
SCORE RATE BIRTHDAY
---------- ---------- ---------
10 rows selected.
SQL>
memo : OCI 側機能の動作確認
大阪側へリストアした OCI DBCS の基本的なライフサイクルが問題なく動作可能か確認します
- Node の停止、起動 : OK
仮想マシンを再起動したときの挙動を確認。再起動してもリスナーが自動的に起動することを確認 - パッチ適用
DB System : OK
Oracle DB Node : OK
参考URL
OCIドキュメント
https://docs.cloud.oracle.com/iaas/Content/Database/Tasks/backingupOSrman.htm
https://docs.cloud.oracle.com/iaas/Content/Database/Tasks/recoveringOS.htm#rman
https://docs.cloud.oracle.com/iaas/Content/Database/Tasks/recoveringOPCOS.htm
Oracle Database Backup Cloud Service の使用
https://docs.oracle.com/cd/E83857_01/paas/db-backup-cloud/csdbb/oracle-database-backup-cloud-service.html#GUID-8A5C40B4-859F-46C3-9431-55C56D588B58
やってみた系ブログ
http://cosol.jp/techdb/2018/12/oci-virtual-machine-db-system-backup-config.html
https://qiita.com/shirok/items/78b73a07f97c003c02af