ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
オンプレミスの19c非コンテナ・データベースからOracle Database 23ai Container Databaseへの移行
イントロダクション
Zero Downtime Migration (ZDM) 21.5では、処理中のアップグレードによる物理移行が導入され、Oracleデータベースのシームレスな移行が可能になります。この機能では、11.2.0.4および12c Oracleデータベースの19c Oracleデータベースへの移行、および19cソース・データベースからOracle Database 23aiへの移行がサポートされます。
このチュートリアルでは、ZDMがターゲット・レベルでアップグレードを実行する際に、ソース非コンテナ・データベース(CDB)の19cデータベースをCDBに移行および変換する方法の概要を示します。ZDMは、非CDBデータベースを移行およびアップグレードするために、一時的な非CDBターゲット・データベースを使用して初期移行を実行します。この初期フェーズを完了すると、ZDMは自動アップグレードを利用してマルチテナントに変換し、データベースを目的のバージョンにアップグレードします。
このチュートリアルは、バージョン19cを実行しているオンプレミス非CDBデータベースをLinuxプラットフォームからOracle Database 23ai CDBに移行するために特別に調整されています。
次に、ソース環境とターゲット環境のプロパティと詳細を示します。
目的
- ZDMツールを使用してOracle Cloud Infrastructure (OCI)に移行します。
前提条件
-
ソース・データベースはアーカイブ・ログ・モードである必要があります。
-
ソース・データベースが12cリリース2以降の場合は、Transparent Data Encryption (TDE)を有効にする必要があります。
WALLET_TYPE
がAUTOLOGIN
またはPASSWORD
に設定されていることを確認します。 -
パラメータ
DB_UNIQUE_NAME
は、ソース・データベースとターゲット・データベースの両方で異なる必要があります。 -
移行の前にターゲット・データベースを作成する必要があります。
-
ソース・データベース・ホーム・バージョンと同じターゲット・サーバーにOracle Homeをプロビジョニングします。
タスク1: ZDMサーバーの準備およびインストール
-
ZDMソフトウェア・インストール用の専用コンピュート・ホストをプロビジョニングします。ZDMソフトウェアがインストールされているホストは、ZDMサービス・ホストと呼ばれます。ホストで次の前提条件を満たす必要があります。
- Oracle Linux 8およびブート・ボリューム・サイズは200GBです。
- 100GBの空きストレージ容量。
- Oracle Grid Infrastructureは実行されていません。
- ソース・データベースおよびターゲット・データベース(サーバー)に接続できます。
-
puttyを使用してZDMホストに接続します。
-
次のコマンドを実行して、ファイルシステムを拡張し、200GBを使用可能にします。
[opc@zdm ~]$ sudo su - [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 39G 3.2G 36G 9% / [root@zdm ~]# /usr/libexec/oci-growfs -y [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 192G 3.2G 189G 2% /
-
次のコマンドを使用して、新しいグループ、ユーザーおよび必要なディレクトリをrootユーザーとして作成します。
[root@zdm ~]# groupadd zdm [root@zdm ~]# useradd -g zdm zdmuser [root@zdm ~]# mkdir -p /home/zdmuser/zdminstall [root@zdm ~]# mkdir /home/zdmuser/zdmhome [root@zdm ~]# mkdir /home/zdmuser/zdmbase [root@zdm ~]# chown -R zdmuser:zdm /home/zdmuser/
-
次のコマンドを使用して、rootユーザーとして必要なソフトウェア・パッケージをインストールします。
[root@zdm ~]# yum install oraclelinux-developer-release-el8 libnsl perl unzip glibc-devel expect libaio ncurses-compat-libs ncurses-devel numactl-libs openssl mlocate bind-utils
-
ZDMソフトウェア・バージョン21.5をダウンロードし、ZDMホストにzipファイルを
/home/zdmuser/zdminstall/
ディレクトリにコピーします。次のコマンドを使用して、rootユーザーとしてzipファイルの所有者をzdmuser
に変更します。[root@zdm ~]# chown zdmuser:zdm /home/zdmuser/zdminstall/zdm21.5.zip
-
次のコマンドを使用して、ZDMソフトウェアを
zdmuser
としてインストールします。[zdmuser@zdm ~]$ cd /home/zdmuser/zdminstall/ [zdmuser@zdm zdminstall]$ unzip zdm21.5.zip [zdmuser@zdm zdminstall]$ ZDMHOME=/home/zdmuser/zdmhome [zdmuser@zdm zdminstall]$ ZDMBASE=/home/zdmuser/zdmbase [zdmuser@zdm zdminstall]$ /home/zdmuser/zdminstall/zdm21.5/zdminstall.sh setup oraclehome=/home/zdmuser/zdmhome oraclebase=/home/zdmuser/zdmbase ziploc=/home/zdmuser/zdminstall/zdm21.5/zdm_home.zip -zdm ZDM service setup finished successfully...
-
ZDMを起動し、ステータスを
zdmuser
としてチェックするには、次のコマンドを実行します。[zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice start Return code is 0 Server started successfully. [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice status --------------------------------------- Service Status --------------------------------------- Running: true
-
次のコマンドを実行して、
zdmuser
のSSHキー・ペアを作成します。これは、後でSSHを使用してソース・データベース・サーバーおよびターゲット・データベース・サーバーにログインするために使用されます。デフォルトのままにします。[zdmuser@zdm ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/zdmuser/.ssh/id_rsa): Created directory '/home/zdmuser/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/zdmuser/.ssh/id_rsa. Your public key has been saved in /home/zdmuser/.ssh/id_rsa.pub. The key fingerprint is: SHA256:giU7jz/8Z1VPiS9Ds/gfokHdevpm0dk59fPYEHRChs4 zdmuser@zdmhost The key's randomart image is:
-
「ユーザーの詳細」ページから、OCIユーザーの認証トークンを作成します。
「認証トークン」、「トークンの生成」、「説明」、「トークンの生成」の順にクリックします。
ノート:このトークンは再度表示されないため、レコードにコピーします。
-
次のコマンドを実行して、OCIリソースへのアクセスに使用される
zdmuser
としてOracle Cloud Infrastructureコマンドライン・インタフェース(OCI CLI)ツールをインストールします。たとえば、データ・ポンプ・ダンプ・ファイルをOCIオブジェクト・ストレージにコピーします。[zdmuser@zdm ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
ノート: OCI CLIのインストールには、「ユーザーOCID」、「テナンシOCID」、「ホーム・リージョン」が必要です。これらの値は、クラウド・テナンシに従って使用し、他のパラメータ値をデフォルトとして保持します。
[zdmuser@zdm ~]$ oci setup config
-
次のコマンドを実行して、
zdmhost
からクラウド・テナンシのOCIユーザーにAPI署名公開キーをアップロードします。[zdmuser@zdmhost ~]$ cat /home/zdmuser/.oci/oci_api_key_public.pem -----BEGIN PUBLIC KEY----- ********** -----END PUBLIC KEY-----
OCIコンソールに移動し、「ユーザーの詳細」ページに移動し、「APIキー」および「APIキーの追加」をクリックします。「公開キーの貼付け」を選択し、前述のコマンドの出力を入力して、「追加」をクリックします。
-
次のコマンドを実行して、OCI CLIまたはOCIコンソールを使用してOCIテナンシに標準のOCIオブジェクト・ストレージ・バケットを作成します。
[zdmuser@zdm ~]$ oci os bucket create --compartment-id ocid1.compartment.oc1.....lh4lfamxdrpuxg3x……… --name zdmbucket
-
zdmhost
からソース・データベース・サーバーおよびターゲット・データベース・サーバーへの接続: SSHキーをzdmhost
からzdmuser
としてソースおよびターゲットにコピーし、タスク1.9で作成します。#on ZDM host as zdmuser [zdmuser@zdm ~]$ cat .ssh/id_rsa.pub #on the source database host as user opc [opc@sourcedb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes [opc@targetdb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes
-
rootユーザーとしてホスト名、IPおよびFQDNを
/etc/hosts
(zdmhost)にコピーして、ソース・データベースおよびターゲット・データベースのホスト名をzdmhostに解決します。
タスク2: ソース・データベースとターゲット・データベースの両方での事前チェックの実行
-
次のコマンドを実行して、ソースと同じバージョンのターゲットOracle Base Database Serviceインスタンスに
ORACLE_HOME
を作成します。[root@tgtzdm ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- c548b052-64b7-4257-bfdc-d7c201a430ab OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured
[root@tgt23ai ~]# dbcli create-dbhome -v 19.23 Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Created Created: September 19, 2024 at 3:22:48 PM IST Progress: 0% Message: Create Database Home Error Code:
-
データベース・ホームの作成を検証するには、次のコマンドを実行します。
[root@tgt23ai ~]# dbcli describe-job --jobid a63db258-7ffc-4dee-b8e5-5accf223e39b Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Success Created: September 19, 2024 at 3:22:48 PM IST Progress: 100% Message: Create Database Home Error Code: Task Name Start Time End Time Status ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ---------- Database home creation September 19, 2024 at 3:22:49 PM IST September 19, 2024 at 3:27:40 PM IST Success [root@test23ai ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- 43247858-4ff6-4fcb-85f2-09d453d863bf OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured a63db258-7ffc-4dee-b8e5-5accf223e39b OraDB19000_home1 19.23.0.0.0 /u01/app/oracle/product/19.0.0.0/dbhome_1 Configured
タスク3: レスポンス・ファイルの準備
-
$ZDM_HOME/rhp/zdm/template/
の下に配置されたzdmhost
のテンプレート・レスポンス・ファイルを別のディレクトリにコピーします。 -
ソースおよびターゲット環境の設定に従って、コピーしたレスポンス・ファイルを変更します。次に、アップグレードによる移行を完了するために使用される最小限のパラメータで共有されるサンプル・レスポンス・ファイルを示します。
TGT_DB_UNIQUE_NAME=tgt23ai_ai MIGRATION_METHOD=OFFLINE_PHYSICAL DATA_TRANSFER_MEDIUM=OSS PLATFORM_TYPE=VMDB SRC_DB_LISTENER_PORT=1521 HOST=https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com/v1/frrudica1wgd OPC_CONTAINER=ZDM NONCDBTOPDB_CONVERSION=TRUE TGT_SKIP_DATAPATCH=FALSE ZDM_NONCDBTOPDB_PDB_NAME=newpdb23 ZDM_PRE_UPGRADE_TARGET_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
タスク4: 移行の評価
ソースおよびターゲットの詳細に従ってパラメータを変更して、移行を評価します。
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s****aik@oracle.com \
-eval
ノート:次のコマンドを使用してジョブをモニターできます。
$ZDM_HOME/bin/zdmcli query job -jobid <jobid>
タスク5: 実際の移行の実行
次のコマンドを使用して、実際の移行を実行します。ソース環境およびターゲット環境に従って値を変更します。
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s***aik@oracle.com
関連リンク
承認
- 作成者 - Snehaa Patnaik (実装スペシャリスト- カスタム、サード・パーティ、VMデータベースおよびアプリケーション)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Migrate from an On-Premises 19c non-Container Database to Oracle Database 23ai Container Database
G25677-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.