Oracle® Zero Downtime Migration
リリース・ノート
リリース19c
F25770-03(原本部品番号:F19479-03)
2020年3月
このリリース・ノートでは、最新の製品ソフトウェアおよびドキュメントのダウンロード方法を示し、既知の問題およびトラブルシューティング情報について説明します。
1.1 Zero Downtime Migrationのインストール・ソフトウェアのダウンロード
最新のZero Downtime Migrationソフトウェア・バージョンを新規インストールする場合は、https://www.oracle.com/database/technologies/rac/zdm-downloads.htmlにアクセスします。
1.2 Zero Downtime Migrationのドキュメントのダウンロード
1.3 Zero Downtime Migrationのランブック
Zero Downtime Migrationのランブックは、https://docs.oracle.com/en/database/oracle/zero-downtime-migration/19.2/books.htmlにあります。
ランブックは、Zero Downtime Migrationを使用したOracle Cloudへの移行の短縮形式です。Zero Downtime Migrationの概念および詳細は、Zero Downtime Migrationを使用したOracle Cloudへの移行を参照してください。
1.4.1 ソース・データベースとターゲット・データベース間のパッチ・レベルの相違
ソースおよびターゲットのデータベースのメジャー・データベース・リリース番号は、移行ジョブが正常に終了するために一致する必要があります。ただし、ターゲット・データベースのパッチ・レベルがソース・データベース以上である場合、ソース・データベースとターゲット・データベース間でパッチ・レベルの相違が存在することがあります。
たとえば、ソース・データベースがOracle Database 12cリリース1 (12.1.0.2)の場合、ターゲット・データベースもリリース12.1.0.2である必要があります。ただし、ターゲット・データベースのパッチ・レベルがソース・データベースのパッチ・レベルより高い場合があります。たとえば、ターゲット・データベースがJan 2019 PSU/BPであり、ソース・データベースがOct 2018 PSU/BPである場合は、データベースの移行後にdatapatchを実行する必要があります。
移行プロシージャの一環としてのパッチチェックを回避するには、ZDMCLI MIGRATE DATABASE
コマンドで-ignore PATCH_CHECK
オプションを使用できます。
1.4.2 インストール・ユーザーによるZDMSERVICEスクリプトの実行のみ可能
zdmserviceスクリプトの実行を妨げられる場合は、インストール・ユーザーのみがzdmserviceスクリプトを実行する必要があることに注意してください。セキュリティ上の理由から、zdmserviceスクリプトはzdmserviceユーザー以外のユーザーが実行しないでください。zdmservice以外のインストール・ユーザーによるzdmserviceの実行を回避するには、zdmserviceバイナリ権限を700に変更します。
1.4.3 ソース・データベースに追加されたUNDO表領域
Zero Downtime Migrationでは、本番データベースに含まれるインスタンスが少なくなると、ターゲット・インスタンス数と一致するようにUNDO表領域が本番データベースに追加されます。
Zero Downtime MigrationによってUNDO表領域がソース・データベースに追加されるのを防ぐには、スイッチオーバーまでターゲット・データベースのノード数をソース・データベースのノード数と一致させ、スイッチオーバー後に追加ノードをターゲット・データベースに追加できます。
1.4.4 クロス・エディションの移行はサポートされていません
Zero Downtime Migrationは、Enterprise EditionのデータベースからStandard Editionのデータベースへの移行には使用できません。その逆も同様です。
1.5.1.1 一般的な接続の問題
問題: Zero Downtime Migrationサービス・ノードとソース環境またはターゲット環境の間、またはソース環境とターゲット環境の間で接続の問題が発生した場合は、次の領域を確認してください。
解決策: SSH構成ファイル(/root/.ssh/config)に適切なエントリがあることを確認します。
Host *
ServerAliveInterval 10
ServerAliveCountMax 2
Host rptest
HostName 192.0.2.9
IdentityFile ~/.ssh/rptest.ppk
User opc
ProxyCommand /usr/bin/nc -X connect -x www-proxy.example.com:80 %h %p
プロキシ・サーバーを接続に使用していない場合は、プロキシの設定が必要ないことがあります。たとえば、ソース・データベース・サーバーがOracle Cloud Infrastructure Classic上にある場合、ProxyCommand
で始まる行を削除またはコメントにすることができます。
ソースがOracle RACデータベースの場合は、必ず~/.ssh/configファイルをすべてのソースOracle RACサーバーにコピーします。SSH構成ファイルは、最初のOracle RACサーバーのホスト名、パブリックIPアドレスおよび秘密鍵の属性を参照します。
1.5.1.2 フェーズZDM_GET_TGT_INFOで評価が失敗
問題: 移行プロセスの評価(-eval
)フェーズ中、ZDM_GET_TGT_INFO
フェーズで、Oracle RACインスタンスの移行に関する次のエラーで評価が失敗します。
Executing phase ZDM_GET_TGT_INFO
Retrieving information from target node "trac11" ...
PRGZ-3130 : failed to establish connection to target listener from nodes [srac11, srac12]
PRCC-1021 : One or more of the submitted commands did not execute successfully.
PRCC-1025 : Command submitted on node srac11 timed out after 15 seconds.
PRCC-1025 : Command submitted on node srac12 timed out after 15 seconds.
解決策:
- ソース・データベースのSCAN名を取得し、ソース・データベース・サーバーのパブリックIPアドレスおよびソース・データベースのSCAN名を使用して、両方のターゲット・データベース・サーバー上にある
/etc/hosts
ファイルに追加します。次に例を示します。192.0.2.1 source-scan
- ターゲット・データベースのSCAN名を取得し、ターゲット・データベース・サーバーのパブリックIPアドレスおよびターゲット・データベースのSCAN名を使用して、両方のソース・データベース・サーバー上にある
/etc/hosts
ファイルに追加します。次に例を示します。192.0.2.3 target-scan
ノート:
SCAN IPアドレスが/etc/hosts
ファイルに追加されないこの問題は、場合によってはSCAN IPアドレスがプライベートIPアドレスとして割り当てられているために解決できないことがあるため、発生する可能性があります。
1.5.1.3 フェーズZDM_GET_SRC_INFOで評価が失敗
問題: 移行プロセスの評価(-eval
)フェーズ中、ZDM_GET_SRC_INFO
フェーズで、ソースのシングル・インスタンスがGrid Infrastructureなしでデプロイされていることに関する次のエラーで評価が失敗します。
Executing phase ZDM_GET_SRC_INFO
retrieving information about database "zdmsidb" ...
PRCF-2056 : The copy operation failed on node: "zdmsidb".
Details: {1}
PRCZ-4002 : failed to execute command "/bin/cp" using the privileged
execution plugin "zdmauth" on nodes "zdmsidb"
scp: /etc/oratab: No such file or directory
解決策: /etc/oratab
ファイル内にORACLE_HOME
値エントリを、値db_name:$ORACLE_HOME:N
を使用して作成します。次に例を示します。
zdmsidb:/u01/app/oracle/product/12.2.0.1/dbhome_1:N
1.5.1.4 Object Storageがアクセス不可
About to connect() to swiftobjectstorage.xx-region-1.oraclecloud.com port 443 (#0)
Trying 192.0.2.1... No route to host
Trying 192.0.2.2... No route to host
Trying 192.0.2.3... No route to host
couldn't connect to host
Closing connection #0
curl: (7) couldn't connect to host
解決策: ソース・データベース・サーバーからObject Storageに接続するのにプロキシが必要である場合は、Zero Downtime Migrationサービス・ノードで、レスポンス・ファイル・テンプレート($ZDM_HOME/rhp/zdm/template/zdm_template.rsp
)に、次に示すObject Storage Serviceのプロキシ・ホストおよびポートのパラメータを設定します。次に例を示します。
SRC_OSS_PROXY_HOST=www-proxy-source.example.com
SRC_OSS_PROXY_PORT=80
ターゲット・データベース・サーバーからObject Storageに接続するのにプロキシが必要である場合は、レスポンス・ファイル・テンプレート($ZDM_HOME/rhp/zdm/template/zdm_template.rsp
)に、次に示すObject Storage Serviceのプロキシ・ホストおよびポートのパラメータを設定します。次に例を示します。
TGT_OSS_PROXY_HOST=www-proxy-target.example.com
TGT_OSS_PROXY_PORT=80
1.5.2.1 ORA-19836でバックアップが失敗
問題: 次のいずれかのエラーで、ソース・データベースの全体バックアップが失敗します。
</ERRLINE><ERRLINE>ORA-19836: cannot use passphrase encryption for this backup
</ERRLINE><ERRLINE>RMAN-03009: failure of backup command on C8 channel at 04/29/2019
20:42:16
</ERRLINE><ERRLINE>ORA-19836: cannot use passphrase encryption for this backup
</ERRLINE><ERRLINE>RMAN-03009: continuing other job steps, job failed will not be
re-run
解決策1: この問題は、誤ったケースで-sourcedb
値を指定した場合に発生する可能性があります。たとえば、SQLコマンドSHOW PARAMETER DB_UNIQUE_NAME
から取得した値がzdmsdbの場合は、次の例に示すように小文字でzdmsdbと指定する必要があり、大文字でZDMSDBと指定しません。
zdmuser> ./zdmcli migrate database -sourcedb zdmsdb -sourcenode srcnode -srcroot
-targetnode rptest -targethome /u01/app/oracle/product/12.1.0.2/dbhome_1
-backupuser backup_user@example.com -rsp /scratch/zdm/zdm_template_zdmsdb.rsp
-tgtauth zdmauth -tgtarg1 user:opc
-tgtarg2 identity_file:/home/oracle/.ssh/zdm_service_node.ppk
-tgtarg3 sudo_location:/usr/bin/sudo
解決方法2: Oracle Database 12cリリース1以降では、次に示すように、$ORACLE_HOME/network/admin/sqlnet.ora
がTDEウォレットの正しい場所を指していることを確認します。
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
Oracle Database 11gリリース2 (11.2.0.4)のみでは、次に示すように$ORACLE_HOME/network/admin/sqlnet.ora
がTDEウォレットの正しい場所を指していることを確認し、SQL文SHOW PARAMETER DB_UNIQUE_NAME
を使用して取得した値で変数$ORACLE_UNQNAME
を置換します。
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
次に例を示します。
SQL> show parameter db_unique_name
db_unique_name string oci112_region
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/oci112_region)))
解決策3: 次の問合せを実行して、ウォレットのステータスがOPEN
であることを確認します。
SQL> select * from v$encryption_wallet
WRL_TYPE
-------------
WRL_PARAMETER
-------------
STATUS
-------------
file
/opt/oracle/dcs/commonstore/wallets/tde/abc_test
OPEN
1.5.2.2 ORA-19914およびORA-28365でバックアップが失敗
問題: 次のエラーで、ソース・データベースの全体バックアップが失敗します。
channel ORA_SBT_TAPE_3: backup set complete, elapsed time: 00:00:15
channel ORA_SBT_TAPE_3: starting compressed full datafile backup set
channel ORA_SBT_TAPE_3: specifying datafile(s) in backup set
input datafile file number=00005 name=+DATA/ODA122/7312FA75F2B202E5E053050011AC5977/DATAFILE/system.382.1003858429
channel ORA_SBT_TAPE_3: starting piece 1 at 25-MAR-19
RMAN-03009: failure of backup command on ORA_SBT_TAPE_3 channel at 03/25/2019 19:09:30
ORA-19914: unable to encrypt backup
ORA-28365: wallet is not open
continuing other job steps, job failed will not be re-run
channel ORA_SBT_TAPE_3: starting compressed full datafile backup set
channel ORA_SBT_TAPE_3: specifying datafile(s) in backup set
解決策: ウォレットがデータベースでオープンされていることを確認し、CDBの場合は、ウォレットがCDB、すべてのPDBおよびPDB$SEEDでオープンされていることを確認します。TDEの設定の詳細は、Zero Downtime Migrationドキュメントの透過的データ暗号化ウォレットの設定を参照してください。
1.5.2.3 Object Storage Bucket Nameという名前のバケットがネームスペースNamespaceに存在しないか、アクセスする権限がない
この問題の説明および回避策については、Oracle Supportナレッジ・ベースの記事『'<Object Storage Bucket Name>'という名前のバケットがネームスペース'<Namespace>'に存在しないか、アクセスする権限がありません(ドキュメントID 2605518.1)』を参照してください。
1.5.3.1 透過的データ暗号化の一般情報
ソース・データベースのリリースによっては、透過的データ暗号化(TDE)構成が必要な場合があります。
- Oracle Database 12cリリース2以降
Oracle Database 12cリリース2以降のリリースの場合、TDE構成は必須であり、ソース・データベースで有効になっている必要があります。
TDEが有効になっていない場合、データベースの移行は失敗します。
リストア時に、データベース表領域はウォレットを使用して暗号化されます。
- Oracle Database 12cリリース1以前
Oracle Database 12cリリース1およびOracle Database 11gリリース2 (11.2.0.4)では、TDE構成は必須ではありません。
Oracle Cloud環境でのTDEの動作の詳細は、My Oracle SupportドキュメントOracle CloudでのOracle Database表領域暗号化の動作(ドキュメントID 2359020.1)を参照してください。
1.5.3.2 フェーズZDM_SETUP_TDE_TGTでジョブが失敗
問題: フェーズZDM_SETUP_TDE_TGT
が次のいずれかのエラーで失敗します。
Executing phase ZDM_SETUP_TDE_TGT
Setting up Oracle Transparent Data Encryption (TDE) keystore on the target node oci1121 ...
oci1121: <ERR_FILE><Facility>PRGZ</Facility><ID>ZDM_KEYSTORE_NOT_SETUP_ERR</ID><ARGS><ARG>oci112_phx1z3</ARG></ARGS></ERR_FILE>
PRGO-3007 : failed to migrate database "db11204" with zero downtime
PRCZ-4002 : failed to execute command "/u01/app/18.0.0.0/grid/perl/bin/perl" using the privileged execution plugin "zdmauth" on nodes "oci1121"
PRCZ-2103 : Failed to execute command "/u01/app/18.0.0.0/grid/perl/bin/perl" on node "oci1121" as user "root". Detailed error:
<ERR_FILE><Facility>PRGZ</Facility><ID>ZDM_KEYSTORE_NOT_SETUP_ERR</ID><ARGS><ARG>oci112_phx1z3</ARG></ARGS></ERR_FILE>
Error at target server in /tmp/zdm749527725/zdm/log/mZDM_oss_standby_setup_tde_tgt_71939.log
2019-06-13 10:00:20: Keystore location /opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME does not exists for database 'oci112_region'
2019-06-13 10:00:20: Reporting error:
<ERR_FILE><Facility>PRGZ</Facility><ID>ZDM_KEYSTORE_NOT_SETUP_ERR</ID><ARGS><ARG>oci112_region</ARG></ARGS></ERR_FILE>
解決策:
- Oracle Database 12cリリース1以降
ターゲット・データベースで、
$ORACLE_HOME/network/admin/sqlnet.ora
がTDEウォレットの正しい場所を指していることを確認します。次に例を示します。ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)
- Oracle Database 11gリリース2 (11.2.0.4)のみ
ターゲット・データベースで、
$ORACLE_HOME/network/admin/sqlnet.ora
がTDEウォレットの正しい場所を指していることを確認し、$ORACLE_UNQNAME
変数をSHOW PARAMETER DB_UNIQUE_NAME
SQLコマンドから取得した値で置き換えます。たとえば、次を実行します。
SQL> show parameter db_unique_name db_unique_name string oci112_region
次を
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/oci112_region)))
1.5.4.1 移行後の自動バックアップ障害のトラブルシューティング
問題: 移行後、ターゲット・データベースで自動バックアップが失敗することがあります。
コンソールを使用して、「Bare Metal」、「VM and Exadata」→「DB Systems」→「DB System Details」→「Database Details」→「Backups」で障害を確認できます。
解決策: 次のいずれかの場所からRMAN構成設定を取得します。
- ターゲット・データベースの前提条件のZero Downtime Migrationドキュメント(取得されている場合)
/opt/oracle/dcs/log/hostname/rman/bkup/db_unique_name/
のログ・ファイル/tmp/zdmXXX/zdm/zdm_TDBNAME_rman.dat
たとえば、2番目のオプションを使用すると、/opt/oracle/dcs/log/ocidb1/rman/bkup/ocidb1_abc127/rman_configure*.log
からRMAN構成設定を取得し、問題なく自動バックアップが機能するように、ターゲット・データベースの変更されたRMAN構成設定をリセットできます。
この回避策が役に立たない場合は、DBCLIコマンドlist-jobs
を実行してRMANジョブIDを取得してさらにデバッグを行い、データベース・サーバーからrootユーザーとしてDBCLIコマンドdescribe-job -i JOB ID
を実行してエラーの詳細をさらに得るためにジョブの詳細を記述します。
たとえば、テスト時に、自動バックアップが機能するように次の強調表示されている設定が変更されました。
rman target /
Recovery Manager: Release 12.2.0.1.0 - Production on Mon Jul 8 11:00:18 2019
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1540292788)
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name OCIDB1_ABC127 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 SBT_TAPE TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 4 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK 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/1245080042/opc_OCIDB1_ABC127.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 RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RECO/ OCIDB1_ABC127/controlfile/snapcf_ocidb1_abc127.f';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK clear;
RMAN>
1.5.4.2 DCS-10045で移行後の自動バックアップが失敗
問題: 移行後、TDEが有効になっていない移行済のOracle Databaseリリース11.2.0.4および12.1.0.2について、次のエラーで自動バックアップが失敗します。
DCS-10045: Validation error encountered: Backup password is mandatory to take OSS backup for non-tde enabled database...
DBCLIコマンドlist-jobs
を実行してRMANジョブIDを取得してこのエラーを検証し、データベース・サーバーからrootユーザーとしてDBCLIコマンドdescribe-job -i JOB ID
を実行してエラーの詳細を取得するためにジョブの詳細を記述します。
解決策:
- TDEウォレットの場所を見つけます。
Oracle Cloud Infrastructureのプロビジョニング済のデータベース・インスタンスは、
sqlnet.ora
に次のエントリがあります。ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
- ウォレットの場所から
cwallet.sso
ファイルを削除します。たとえば、
/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME
です。 - Oracle Database 11gリリース2の場合、次の手順を実行します。
- sysdbaとしてSQL*Plusを使用してデータベースに接続し、現在のウォレットの場所を確認します。
SQL> select * from v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS file /opt/oracle/dcs/commonstore/wallets/tde/ocise112_region OPEN
- データベースのウォレットを閉じます。
SQL> alter system set wallet close;
- ウォレット・パスワードを使用してウォレットを開きます。
SQL> alter system SET WALLET open IDENTIFIED BY "walletpassword"
- マスター暗号化キーを設定します。
SQL> alter system set encryption key identified by "walletpassword"
- 自動ログインSSOファイルを再作成します。
/home/oracle>orapki wallet create -wallet /opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME -auto_login Oracle PKI Tool : Version 11.2.0.4.0 - Production Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. Enter wallet password: #
- 自動バックアップを再試行します。
- sysdbaとしてSQL*Plusを使用してデータベースに接続し、現在のウォレットの場所を確認します。
- Oracle Database 12cの場合、次の手順を実行します。
- sysdbaとしてSQL*Plusを使用してデータベースに接続し、現在のウォレットの場所およびステータスを確認します。
SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet; WRL_PARAMETER STATUS WALLET_TYPE /opt/oracle/dcs/commonstore/wallets/tde/ocise112_region OPEN_NO_MASTER_KEY OPEN
STATUS列に値OPEN_NO_MASTER_KEYが含まれる場合、マスター暗号化鍵を作成してアクティブにする必要があります。
- データベースのウォレットを閉じます。
SQL> alter system set wallet close;
- パスワードを使用してウォレットを開きます。
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE open IDENTIFIED BY "walletpassword" CONTAINER=all;
- マスター暗号化キーを設定します。
SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "walletpassword" with backup;
各PDBにログインして実行します。
SQL> ALTER SESSION SET CONTAINER = PDB_NAME; SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "walletpassword" with backup;
- 自動ログイン・キーストアを作成します。
SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE 'path to wallet directory' IDENTIFIED BY "walletpassword";
- 自動バックアップを再試行します。
- sysdbaとしてSQL*Plusを使用してデータベースに接続し、現在のウォレットの場所およびステータスを確認します。
1.5.4.3 DCS-10045で移行後の自動バックアップが失敗
問題: 移行後、次のエラーで自動バックアップが失敗します。
DCS-10096:RMAN configuration 'Retention policy' must be configured as 'configure retentio n
policy to recovery window of 30 days'
DBCLIコマンドlist-jobs
を実行してRMANジョブIDを取得してこのエラーを検証し、データベース・サーバーからrootユーザーとしてDBCLIコマンドdescribe-job -i JOB ID
を実行してエラーの詳細をさらに得るためにジョブの詳細を記述します。
解決策: RMANプロンプトにログインし、保存ポリシーを構成します。
[oracle@racoci1 ~]$ rman target /
Recovery Manager: Release 12.2.0.1.0 - Production on Wed Jul 17 11:04:35 2019
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: SIODA (DBID=2489657199)
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
old RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
new RMAN configuration parameters are successfully stored
自動バックアップを再試行します。
1.5.5.1 MIGRATE DATABASEコマンドを再実行できない
問題: Zero Downtime Migrationブロックでは、データベースがすでに進行中の移行ジョブの一部である場合、指定されたデータベースに対してMIGRATE DATABASE
コマンドの再実行が試行されます。
ABORT JOB
コマンドを使用して、EXECUTING
またはPAUSED
状態の進行中の移行ジョブを停止できます。-bash-4.2$ ./zdmcli abort job -jobid 70
server.example.com: Audit ID: 189
1.5.5.2 ZDM_PREPARE_TGTでOracle RAC移行ジョブが失敗
問題: 次のエラーで、Oracle RAC移行ジョブがフェーズZDM_PREPARE_TGT
で失敗します。
Executing phase ZDM_PREPARE_TGT
Setting up standby on the target node oci1121 ...
oci1121: 2019-06-13 09:54:20: Copy '/u01/app/oracle/admin/oci112_region' to remote node 'oci1122' failed
oci1121: 2019-06-13 09:54:27: Copy '/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapwoci1121' to remote node 'oci1122:/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapwoci1122' failed
PRCZ-4002 : failed to execute command "/u01/app/18.0.0.0/grid/perl/bin/perl" using the privileged execution plugin "zdmauth" on nodes "oci1121"
PRCZ-2103 : Failed to execute command "/u01/app/18.0.0.0/grid/perl/bin/perl" on node "oci1121" as user "root". Detailed error:
2019-06-13 09:54:20: Copy '/u01/app/oracle/admin/oci112_phx1z3' to remote node 'oci1122' failed
2019-06-13 09:54:27: Copy '/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapwoci1121' to remote node 'oci1122:/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapwoci1122' failed
解決策: oracleユーザーのターゲットOracle RACサーバー間に、パスフレーズなしのSSH接続を設定する必要があります。
1.5.5.3 インストール時にINS-42505警告が表示される
/stage/user/ZDM_KIT_relnumber>./zdminstall.sh setup
oraclehome=/stage/user/grid oraclebase=/stage/user/base
ziploc=/stage/user/ZDM_KIT_relnumber/rhp_home.zip -zdm
---------------------------------------
Unzipping shiphome to gridhome
---------------------------------------
Unzipping shiphome...
Shiphome unzipped successfully..
---------------------------------------
##### Starting GridHome Software Only Installation #####
---------------------------------------
Launching Oracle Grid Infrastructure Setup Wizard...
[WARNING] [INS-42505] The installer has detected that the Oracle Grid
Infrastructure home software at (/stage/user/grid) is not complete.
CAUSE: Following files are missing:
...
解決策: この警告メッセージは無視してかまいません。インストールに影響したり、移行の問題を引き起こすことはありません。
1.5.5.4 Java例外の無効なキー書式による移行評価の失敗
問題: 次の条件が表示されます。
-
Zero Downtime Migrationの
migration -eval
コマンドが次のエラーで失敗します。Result file path contents: "/u01/app/zdmbase/chkbase/scheduled/job-19-2019-12-02-03:46:19.log" zdm-server.ocitoolingsn.ocitooling.oraclevcn.com: Processing response file ... null
-
ファイル
$ZDM_BASE/<zdm service host>/rhp/rhpserver.log.0
には、次のエントリが含まれています。Verify below error message observed in file $ZDM_BASE/<zdm service host>/rhp/rhpserver.log.0 rhpserver.log.7:[pool-58-thread-1] [ 2019-12-02 02:08:15.178 GMT ] [JSChChannel.getKeyPair:1603] Exception : java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: invalid key format
-
Zero Downtime Migrationインストール・ユーザー(例: zdmuser)の秘密鍵(id_rsa)ファイルには次のエントリがあります。
-----BEGIN OPENSSH PRIVATE KEY---------- MIIEogIBAAKCAQEAuPcjftR6vC98fAbU4FhYVKPqc0CSgibtMSouo1DtQ06ROPN0 XpIEL4r8nGp+c5GSDONyhf0hiltBzg0fyqyurSw3XfGJq2Q6EQ61aL95Rt9CZh6b JSUwc69T4rHjvRnK824k4UpfUIqafOXb2mRgGVUkldo4yy+pLoGq1GwbsIYbS4tk uaYPKZ3A3H9ZA7MtZ5M0sNqnk/4Qy0d8VONWozxOLFC2A8zbbe7GdQw9khVqDb/x END OPENSSH PRIVATE KEY-----
解決策: 認証キーのペア(秘密鍵と公開鍵)はssh-keygen
ユーティリティを使用して生成されないため、パスフレーズを使用しない秘密SSH鍵の生成のステップを使用して認証キーのペアを生成する必要があります。
認証キーのペアを生成した後、秘密鍵ファイルの内容は次のようになります。
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuPcjftR6vC98fAbU4FhYVKPqc0CSgibtMSouo1DtQ06ROPN0
XpIEL4r8nGp+c5GSDONyhf0hiltBzg0fyqyurSw3XfGJq2Q6EQ61aL95Rt9CZh6b
JSUwc69T4rHjvRnK824k4UpfUIqafOXb2mRgGVUkldo4yy+pLoGq1GwbsIYbS4tk
uaYPKZ3A3H9ZA7MtZ5M0sNqnk/4Qy0d8VONWozxOLFC2A8zbbe7GdQw9khVqDb/x
-----END RSA PRIVATE KEY-----
新しく生成された認証キーのペアとの接続を設定し、移行ジョブを再開します。
1.5.5.5 移行評価がエラーPRCG-1022で失敗する
問題: 次の条件が表示されます。
[zdmuser@host bin]$ ./zdmcli migrate database -sourcedb ORCL -sourcenode source_node
-srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/key/pvt.txt
-srcarg3 sudo_location:/bin/sudo -targetnode target_node
-targethome /u01/app/oracle/product/18.0.0.0/dbhome_1
-backupuser backupuser -rsp /home/zdmuser/respfile/zdm_template_ocic_oci.rsp
-tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/key/pvt.txt
-tgtarg3 sudo_location:/bin/sudo -eval
PRCG-1238 : failed to execute the Rapid Home Provisioning action for command 'migrate database'
PRCG-1022 : failed to connect to the Rapid Home Provisioning daemon for cluster anandutest
Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException
[Root exception is java.rmi.ConnectException: Connection refused to host:
anandutest; nested exception is: java.net.ConnectException: Connection refused (Connection refused)]
解決策: $ZDM_HOME/bin/zdmservice start
コマンドを使用してZero Downtime Migrationサービスを開始してから、任意のZDMCLI
コマンドを実行します。
1.5.5.6 移行ジョブを再開できない
問題: Zero Downtime Migrationでは、ソースおよびターゲットのログ・ファイルが、それぞれのソースおよびターゲットのデータベース・サーバーの/tmp/zdm-unique id
ディレクトリに書き込まれます。
移行ジョブを一時停止してから、数日後(15~20日の場合もあります)にジョブを再開する場合、/tmp/zdm-unique id
ディレクトリがクリーン・アップまたはサーバー再起動の一環として削除またはパージされ、/tmpもクリーン・アップされることがあります。
解決策: 移行ジョブを一時停止した後、/tmp/zdm-unique id
ディレクトリをバックアップします。移行ジョブを再開する前に、/tmp
ディレクトリで/zdm-unique id
を確認し、見つからない場合はディレクトリとその内容をバックアップとともにリストアします。
1.6 Oracle Cloud Infrastructureへの移行に関する追加情報
Zero Downtime Migrationを使用したOracle Cloud Infrastructureへのデータベースの移行に関する一般情報、考慮事項、参照先のリンクは、次を一読してください。
1.7 Exadata Cloud Serviceへの移行に関する追加情報
Zero Downtime Migrationを使用したExadata Cloud Serviceへのデータベースの移行に関する一般情報、考慮事項、参照先のリンクは、次を一読してください。
1.7.1 Exadata Cloud Serviceへの移行のための考慮事項
Zero Downtime Migrationのこのリリースでは、次の考慮事項に注意してください。
- ソース・データベースがリリース18cの場合、バグ29445548 - "ORA-600でクラウド環境でのデータベースのオープンに失敗"などの問題を回避するために、ターゲット・ホームはリリース18.6以降にする必要があります。
-listphases
でPDB変換関連のフェーズがリストされますが、無視してもかまいません。これらは操作なしフェーズです。- レスポンス・ファイルの非CDBからPDBに関連する入力パラメータは、設定する必要がないプレースホルダです。
NONCDBTOPDB_*
入力をtrueに設定すると、移行が中断されます。 - 構成されたインスタンスのいずれかが停止したときにバックアップが実行された場合は、バグ29863717 - "インスタンス1が停止したためソース・データベースの複製に失敗"が発生します。
- TDEキーストア・パスワードは、資格証明ウォレットに設定する必要があります。Zero Downtime Migrationワークフローの一環としてパスワードを設定するには、ウォレットで
AUTOLOGIN
またはPASSWORD
のどちらを使用するかに関係なく、-tdekeystorepasswd
引数を指定します。どちらの場合も、パスワードは資格証明ウォレットに格納されます。-tdekeystorepasswd
引数を指定しない場合、Zero Downtime Migrationでは資格証明ウォレット内のtde_ks_passwd
キーの設定がスキップされ、エラーはスローされません。 - ターゲット環境は、
db_unique_name
変更サポートがインストールされた最新のDBaaSツーリングRPMでインストールする必要があります。 - 自動バックアップを有効にせずに、コンソールからターゲット・データベースをプロビジョニングします。「Configure database backups」セクションで、「Enable automatic backups」オプションを選択しないでください。
1.7.2 Exadata Cloud Serviceデータベースの登録
移行後、Exadata Cloud Serviceデータベースを登録し、すべての要件を満たしていることを確認します。
Exadata Cloud Serviceデータベース・サーバーでrootユーザーとして次のコマンドを実行します。
/root>dbaascli registerdb prereqs --dbname db_name --db_unique_name db_unique_name
/root>dbaascli registerdb begin --dbname db_name --db_unique_name db_unique_name
次に例を示します。
/root>dbaascli registerdb prereqs --dbname ZDM122 --db_unique_name ZDM122_phx16n
DBAAS CLI version 18.2.3.2.0
Executing command registerdb prereqs --db_unique_name ZDM122_phx16n
INFO: Logfile Location: /var/opt/oracle/log/ZDM122/registerdb/registerdb_2019-08-14_05:35:31.157978280334.log
INFO: Prereqs completed successfully
/root>
/root>dbaascli registerdb begin --dbname ZDM122 --db_unique_name ZDM122_phx16n
DBAAS CLI version 18.2.3.2.0
Executing command registerdb begin --db_unique_name ZDM122_phx16n
Logfile Location: /var/opt/oracle/log/ZDM122/registerdb/registerdb_2019-08-14_05:45:27.264851309165.log
Running prereqs
DBAAS CLI version 18.2.3.2.0
Executing command registerdb prereqs --db_unique_name ZDM122_phx16n
INFO: Logfile Location: /var/opt/oracle/log/ZDM122/registerdb/registerdb_2019-08-14_05:45:29.000432309894.log
INFO: Prereqs completed successfully
Prereqs completed
Running OCDE .. will take time ..
OCDE Completed successfully.
INFO: Database ZDM122 registered as Cloud database
/root>
1.7.3 Exadata Cloud Serviceの自動バックアップの問題
コンソールから自動バックアップを有効にする前に、バックアップ構成を確認します。次の最初のステップに示すように、get config
コマンドを使用できます。自動バックアップを有効にする前は、bkup_oss=no
が表示されます。
コンソールに次のエラー・メッセージが表示される場合があります: A backup configuration exists for this database.You must remove the existing configuration to use Oracle Cloud Infrastructure's managed backup feature.
このエラーを修正するには、既存の構成を削除します。
まず、UIから自動バックアップが無効になっていることを確認し、次の手順に従って既存のバックアップ構成を削除します。
- バックアップ構成ファイルを生成します。
/var/opt/oracle/bkup_api/bkup_api get config --file=/tmp/db_name.bk --dbname=db_name
次に例を示します。
/var/opt/oracle/bkup_api/bkup_api get config --file=/tmp/zdmdb.bk --dbname=zdmdb
- 前のステップで作成した/tmp/db_name.bkファイルを開きます。
たとえば、/tmp/zdmdb.bkを開きます。
bkup_oss=yesをbkup_oss=noから変更します。
bkup_oss=no
を設定してOSSバックアップを無効にします。/var/opt/oracle/bkup_api/bkup_api set config --file=/tmp/db_name.bk --dbname=db_name
次に例を示します。
/var/opt/oracle/bkup_api/bkup_api set config --file=/tmp/zdmdb.bk --dbname=zdmdb
- 再構成ステータスを確認します。
/var/opt/oracle/bkup_api/bkup_api configure_status --dbname=db_name
次に例を示します。
/var/opt/oracle/bkup_api/bkup_api configure_status --dbname=zdmdb
ここで、コンソールからの自動バックアップを有効にします。
コンソールからバックアップを確認します。「Create Backup」をクリックして手動バックアップを作成すると、問題なくバックアップが作成され、自動バックアップも成功します。
1.8 Exadata Cloud at Customerへの移行に関する追加情報
Zero Downtime Migrationを使用したExadata Cloud at Customerへのデータベースの移行に関する一般情報、考慮事項、参照先のリンクは、次を一読してください。
1.8.1 Exadata Cloud at Customerへの移行に関する考慮事項
Zero Downtime Migrationのこのリリースでは、次の考慮事項に注意してください。
- すべてのExadata Cloud at Customerノードで、バグ29715950 - "db_nameと異なるdb_unique_nameを処理するようにregdbを変更する"のためのregDBパッチを適用する必要があります。これは、
ZDM_MANIFEST_TO_CLOUD
フェーズに必要です。regDBツールは、DBaaSツーリングの一部であることに注意してください。 - ソース・データベースがリリース18cの場合、バグ29445548 - "ORA-600でクラウド環境でのデータベースのオープンに失敗"などの問題を回避するために、ターゲット・ホームはリリース18.6以降にする必要があります。
-listphases
でPDB変換関連のフェーズがリストされますが、無視してもかまいません。これらは操作なしフェーズです。- レスポンス・ファイルの非CDBからPDBに関連する入力パラメータは、設定する必要がないプレースホルダです。
NONCDBTOPDB_*
入力をtrueに設定すると、移行が中断されます。 - バックアップ媒体がZero Data Loss Recovery Applianceの場合、すべての構成済インスタンスは、
FULL
またはINCREMENTAL
バックアップが実行されるときにソースで稼働している必要があります。 - 構成されたインスタンスのいずれかが停止したときにバックアップが実行された場合は、バグ29863717 - "インスタンス1が停止したためソース・データベースの複製に失敗"が発生します。
- TDEキーストア・パスワードは、資格証明ウォレットに設定する必要があります。Zero Downtime Migrationワークフローの一環としてパスワードを設定するには、ウォレットで
AUTOLOGIN
またはPASSWORD
のどちらを使用するかに関係なく、-tdekeystorepasswd
引数を指定します。どちらの場合も、パスワードは資格証明ウォレットに格納されます。-tdekeystorepasswd
引数を指定しない場合、Zero Downtime Migrationでは資格証明ウォレット内のtde_ks_passwd
キーの設定がスキップされ、エラーはスローされません。 - ターゲット環境は、
db_unique_name
変更サポートがインストールされた最新のDBaaSツーリングRPMでインストールする必要があります。
1.9.1 Zero Downtime Migrationソフトウェアのインストール
Zero Downtime Migrationを使用したOracle Cloudへの移行、第2章、Zero Downtime Migrationソフトウェアのインストールの更新を次に示します。
ステップ2aは次のように更新されます。
Zero Downtime Migrationソフトウェアがダウンロードされるディレクトリに移動し、ソフトウェアを解凍します。
zdmuser> cd zdm_download_directory
zdmuser> unzip zdm_home.zip
1.9.2 実行中の移行ジョブの終了
Zero Downtime Migrationを使用したOracle Cloudへの移行、第4章、Zero Downtime Migrationを使用したデータベースの移行の補足を次に示します。
Zero Downtime Migrationでは、データベースがすでに進行中の移行ジョブの一部である場合、指定されたデータベースに対してMIGRATE DATABASE
コマンドの再実行の試行をブロックします。
指定されたデータベースのデータベース移行ジョブを再発行する場合は、ZDMCLI ABORT JOB
コマンドを使用して、移行ジョブの実行をEXECUTING
またはPAUSED
状態で終了する必要があります。
zdmuser> ./zdmcli abort job -jobid job-id
1.10 ドキュメントのアクセシビリティについて
Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWeb サイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。
Oracleサポートへのアクセス
サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。
Oracle Zero Downtime Migrationリリース・ノート, リリース19c
F25770-03
Copyright © 2019, 2020, Oracle and/or its affiliates.
このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。
ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。
このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or “commercial computer software documentation” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.The terms governing the U.S. Government’s use of Oracle cloud services are defined by the applicable contract for such services.No other rights are granted to the U.S. Government.
このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。
OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。
Intel、Intel Insideは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Epyc、AMDロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。
このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社との間で該当する取決めにて別途規定しないかぎり、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社との間で該当する取決めにて別途規定する場合を除き、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。