- Database Cloud Serviceデプロイメントをibkupユーティリティを使用して新しい形状に移行します
- Ibkupを使用したOracle Databaseの移行
Ibkupを使用したOracle Databaseの移行
Ibkupユーティリティを使用してソースOracle Databaseを移行します。
ウォレット・ファイルをコピー
ソースOracle Cloud Infrastructure Classic図形のデータベースから、ターゲットOracle Cloud Infrastructure図形のOracle Database Cloud Serviceデプロイメントにウォレット・ファイルをコピーします。
- 次のように、zip (またはtar)を使用してソース・データベース上の
tde_wallet
ディレクトリの圧縮コピーを作成します。$ cd /u01/app/oracle/admin/source_database_name/tde_wallet $ zip wallet.zip ./ewallet.p12 ./cwallet.sso
または
$ cd /u01/app/oracle/admin/source_database_name/tde_wallet $ tar cvf wallet.tar ./ewallet.p12 ./cwallet.sso
- WinSCPなどのセキュア・コピー・ユーティリティを使用して、ターゲットOracle Cloud Infrastructure図形の一時ディレクトリ(
/tmp
など)に抽出するウォレット・ファイルの圧縮コピーを作成します。 - ルートとして、ターゲット・データベースの
ibkup
ディレクトリにtde_wallet
というディレクトリを作成して、次の手順で作成および使用する様々なファイルを格納します。$ sudo -s # mkdir –p /home/oracle/ibkup/tde_wallet # cd /home/oracle/ibkup/tde_wallet
- ルートとして、ターゲット・システムで次のように、一時ディレクトリから
/home/oracle/ibkup/tde_wallet
ディレクトリに圧縮されたzipまたはtarファイルをコピーして抽出します。# cp /tmp/wallet.zip . # unzip wallet.zip
または
# cp /tmp/wallet.zip . # tar xvf wallet.tar
Dbaasapi入力ファイルの作成と構成
- ターゲットのOracle Cloud Infrastructure形状で、
begin-request.json
ファイルをibkup/tde_wallet
サブディレクトリに作成して、ibkup開始アクションを実行するには、次のようにdbaasapi
に渡します。$ vi begin-request.json { "object": "db", "action": "begin", "operation": "ibkup", "params": { "dbname": "TSTDB", "dbid": "database_id", "oss_url": "container_URL", "oss_user": "Cloud_user_name", "oss_passwd": "######", "decrypt_wallet": "/home/oracle/ibkup/tde_wallet", "passwd": "######", "dbsize": "database_size_in_GB" }, "outputfile": "/home/oracle/ibkup/begin-response.json", "FLAGS": "" } $
移行の前提条件を満たしたときに、ソース・データベースに示された値とともに
dbname
、dbid
、oss_url
、oss_user
およびoss_passwd
変数に値を割り当てます。passwd
変数には、ソース・データベースのsys
ユーザーのパスワードが必要です。dbsize
変数は、ソース・データベースのサイズ(GB単位)です。container_URL
変数の値を取得するには、Oracle Cloud MyServicesに移動し、「クラウド・ストレージ・コンテナ」フィールド名の上にマウス・カーソルを置きます。 - ターゲットOracle Cloud Infrastructure形状で、次のように、
dbaasapi
に渡すstatus-request.json
ファイルを作成してibkupステータス・アクションを実行します。$ cat status-request.json { "object": "db", "action": "status", "operation": "ibkup", "id": "1", "params": { "dbname": "TSTDB" }, "outputfile": "/home/oracle/ibkup/status-response.json", "FLAGS": "" } $
dbname
変数にソース・データベースの名前を使用します。注意:
JSONファイルでは、"id"
は常に1であるとはかぎりません。最初の値は1ですが、なんらかの理由でバックアップを再実行する必要がある場合は、"id"
の値を変更する必要があります。status-response.json
ファイルを表示して前の値を取得し、それを大きくします。 - ターゲットOracle Cloud Infrastructure形状で、ibkup開始処理を次のように実行します。
# /var/opt/oracle/dbaasapi/dbaasapi -i begin-request.json
Ibkup開始アクションを実行した後、アクション(
/home/oracle/ibkup/begin-response.json
)の出力ファイルを表示して、アクションが開始されたことを確認し、アクションのIDをメモします。Ibkup操作の進行状況をモニターするには、status-request.json
ファイルにIDを指定する必要があります。 - ターゲットOracle Cloud Infrastructure形状で、ibkupステータス処理を実行して進捗を監視します。次の手順を実行します。
# /var/opt/oracle/dbaasapi/dbaasapi -i status-request.json
アクションが成功または失敗するまで、引き続きアクション(
/home/oracle/ibkup/begin-response.json
)の出力ファイルを監視します。あるいは、status-request.json
ファイルの最後に出力されるログ・ファイルの末尾を削除することもできます。 - 次のように、アクションが正常に完了したことを確認します。
-
ターゲットのOracle Cloud Infrastructure形状で、次のようにSYSDBAとしてデータベースに接続し、ターゲット・データベースのステータスを確認します。
$ sqlplus / as sysdba SQL> SELECT status FROM v$instance; STATUS ------------ OPEN
-
次のようにデータベースの名前とIdを確認します。
SQL> SELECT name,dbid FROM v$database; NAME DBID --------- ---------- TSTDB 3505857247
-
データベースがOracle Database 12c以上の場合は、次のようにpdbに関する情報を表示します。
SQL> SELECT name,open_mode,restricted FROM v$pdbs; NAME OPEN_MODE RES ---------------------- ---------- --- PDB$SEED READ ONLY NO PDB1 READ WRITE NO
-
次のように、Oracle Net Listenerによって提供されるサービスにソース・データベースから提供されるサービスが含まれていることを確認します。
$ lsnrctl status LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 29-MAR-2018 12:05:21 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TSTDBOCI.sub0301050604 2.vcn.oraclevcn.com)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 29-MAR-2018 11:12:01 Uptime 0 days 0 hr. 53 min. 19 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.o ra Listener Log File /u01/app/oracle/diag/tnslsnr/TSTDBOCI/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=tstdboci.sub0301050604 2.vcn.oraclevcn.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=tstdboci.sub030105060 42.vcn.oraclevcn.com)(PORT=5500))(Security=(my_wallet_directory= /u01/app/oracle/admin/TSTDB/xdb_wallet))(Presentation=HTTP)(Session=RAW)) Services Summary... Service "TSTDB.588436052.oraclecloud.internal" has 1 instance(s). Instance "TSTDB", status READY, has 1 handler(s) for this service... Service "TSTDB.sub03010506042.vcn.oraclevcn.com" has 1 instance(s). Instance "TSTDB", status READY, has 1 handler(s) for this service... Service "TSTDB.sub03010506042.vcn.oraclevcn.comXDB" has 1 instance(s). Instance "TSTDB", status READY, has 1 handler(s) for this service... Service "pdb1.588436052.oraclecloud.internal" has 1 instance(s). Instance "TSTDB", status READY, has 1 handler(s) for this service... Service "pdb1.sub03010506042.vcn.oraclevcn.com" has 1 instance(s). Instance "TSTDB", status READY, has 1 handler(s) for this service... The command completed successfully
-
- Oracle Enterprise Manager ExpressおよびOracle DBaaS Monitorを検証します。MyServices Database ConsoleからOracle DBaaS MonitorおよびOracle Enterprise Manager Expressにログインし、正常に機能していることを検証します。
- 必要に応じて、パッチのREADMEドキュメントに従う別のパッチを適用します。