Oracle ZDM 26.1 即時部署:使用 Oracle Key Vault (OKV) 進行端對端實體 PDB 複製
簡介
Oracle Zero Downtime Migration (ZDM) 26.1 引進「即時部署」,無需使用專用的 ZDM 伺服器,即可直接從來源或目標資料庫主機進行資料庫移轉。此版本也增強了與 Oracle Key Vault (OKV) 的整合,並改善了通透資料加密 (TDE) 公事包移轉功能。
舊版 ZDM 版本的限制
在 Oracle ZDM 26.1 之前:
- 無法使用「即時部署」。資料庫移轉需要專用的 ZDM 伺服器安裝和生命週期管理。
- 不支援自動移轉 Oracle Key Vault (OKV) 外部金鑰存放區公事包。來源或目標資料庫使用 OKV 外部金鑰存放區時,必須手動執行 TDE 公事包移轉和金鑰管理。
ZDM 26.1 的新功能
- 當來源或目標資料庫設定為使用 Oracle Key Vault (OKV) 外部金鑰存放區時,ZDM 26.1 會自動移轉外部金鑰存放區公事包。
ZDM 26.1 支援下列公事包移轉案例:
- 具有 OKV 公事包的來源資料庫至含有 OKV 公事包的目標資料庫
- 具有 OKV 公事包的來源資料庫與以檔案為基礎的公事包目標資料庫
- 具有檔案型公事包的來源資料庫至含有 OKV 公事包的目標資料庫
- 具有以檔案為基礎之公事包的目標資料庫來源資料庫與以檔案為基礎的公事包
ZDM 26.1 會偵測來源資料庫是否設定為使用 OKV 公事包並下載 TDE 金鑰,然後再將它們移轉至目標資料庫。如果目標資料庫也設定了 OKV 公事包,ZDM 會將移轉的 TDE 金鑰上傳至目標 OKV 公事包。將 ZDM_SKIP_TDE_WALLET_MIGRATION 參數保留為預設值 (FALSE),讓 ZDM 在移轉工作流程期間自動移轉 TDE 公事包。

目標
-
運用 ZDM 26.1 即時部署,無須使用專用的 ZDM 伺服器。
-
在來源和目標資料庫上使用 Oracle Key Vault (OKV),以集中管理 TDE 金鑰。
-
去除手動 TDE 公事包和加密金鑰移轉活動。
-
使用 ZDM 26.1 PDB Cloning 功能示範啟用 TDE 的 PDB 端對端移轉。
-
使用 ZDM 26.1 中的資料庫連結式移轉方法,建立可重新整理的 PDB 複製。
版本相容性
本教學課程示範使用 Oracle AI Database 26ai 和 Oracle Key Vault (OKV) 21.14 進行端對端實體 PDB 複製和自動 TDE 公事包移轉的 Oracle Zero Downtime Migration (ZDM) 26.1 Instant Deploy 。
本教學課程的主要工作流程已使用下列驗證:
- Oracle AI Database 26ai (版本 23.26 或更新版本)
- Oracle Zero Downtime Migration (ZDM) 26.1
- Oracle Key Vault (OKV) 21.14
注意:本教學課程中的部分區段僅適用於舊版的 Oracle Database 以供參考。這些區段已清楚標示為僅限 12.1 或僅限 18c 和 19c ,使用 Oracle AI Database 26ai 時可略過。
移轉前的目前環境
在起始 Oracle Zero Downtime Migration (ZDM) 工作流程之前,請確認來源和目標環境都已正確地設定實體 PDB 複製。下表摘要說明此教學課程中使用的環境,以及移轉前的主要元件狀態。

必備條件
注意:開始本教學課程之前,請確定您的環境符合所有 Oracle Zero Downtime Migration (ZDM) 26.1 先決條件。如需完整的先決條件清單,請參閱 Oracle ZDM 文件中的準備資料庫移轉小節:
https://docs.oracle.com/en/database/oracle/zero-downtime-migration/26.1/zdmug/preparing-for-database-migration.html#GUID-25B07C59-8143-41CB-B431-3D9225CCFDD6
設定 Oracle Zero Downtime Migration (ZDM) 26.1 即時部署
- 「即時部署」是一個輕量的可下載軟體套件,可讓您直接執行「零停機移轉」(ZDM),而不需要安裝或維護個別的 ZDM 伺服器。
- 您使用與標準 ZDM 相同的 zdmcli 指令和使用者體驗,但不需要安裝或啟動永久服務。
- CLI 會啟動移轉並提供即時進度更新。
- 您可以在正在移轉的相同資料庫主機中執行 ZDM 即時部署工具。
- 即時部署功能可讓 Oracle 以最低的基礎架構需求,協助您進行資料庫移轉。
環境
本教學課程將使用 OCI Oracle Base Database Service 與 Oracle AI Database 26ai (版本 23.26.2.0.0) 進行示範。
來源:主機名稱:sourcedb,資料庫名稱:ORADB,資料庫唯一名稱:ORADB_src TDE 是由 Oracle Key Vault (OKV) 管理。

目標:主機名稱:targetdb,資料庫名稱:ORADB,資料庫唯一名稱:ORADB_tgt TDE 使用以檔案為基礎的公事包。

移轉工作流程
步驟 1:從 Oracle ZDM 產品頁面 (版本 26.1) 下載最新的 Oracle Zero Downtime Migration (ZDM) 26.1 版本。
從 Oracle Zero Downtime Migration 下載頁面下載最新的 Oracle Zero Downtime Migration (ZDM) 26.1 軟體。軟體會透過 Oracle Software Delivery Cloud (OSDC) 分配。使用您的 Oracle Single Sign-On (SSO) 帳戶登入,接受授權合約,然後下載最新的 ZDM 版本套裝程式 (例如 V1055491-01.zip)。如需最新的下載與文件,請參閱下列資源:
Oracle Zero Downtime Migration Download:
https://www.oracle.com/database/technologies/rac/zdm-downloads.html
Oracle Zero Downtime Migration 26.1 Documentation:
https://docs.oracle.com/en/database/oracle/zero-downtime-migration/26.1/index.html
步驟 2. 將 V1055491-01.zip 檔案複製到具有足夠可用儲存空間的目錄中。
下載軟體之後,請將 ZIP 存檔複製到來源資料庫主機 (如果您計畫使用目標的「即時部署」,請複製目標主機),然後在下一個步驟繼續擷取。

解壓縮 ZIP 檔會建立 zdm26.1 子目錄。擷取的 ZDM 軟體位於 /opt/opc/zdm/zdm26.1。
步驟 3:使用其他主機的名稱和 IP 位址更新每個主機上的 /etc/hosts 檔案。
將來源主機名稱和 IP 資訊新增至目標主機的 /etc/hosts 檔案。

將目標主機名稱和 IP 資訊新增至來源主機的 /etc/hosts 檔案。

步驟 4:複製來源主機上作業系統使用者的 SSH 公開金鑰 (在此情況下為 opc),然後將它新增至目標主機上作業系統使用者 (在此情況下亦為 opc) 的 authorized_keys 檔案中。
來源主機

目標主機

測試從來源到目標資料庫主機的 SSH 連線:

確認已停用 SSH 權限使用者的 TTY。如果停用 TTY,則下列指令會傳回來自遠端主機的日期,而不會發生任何錯誤:

步驟 5:確認來源資料庫上的 TDE 是由 Oracle Key Vault (OKV) 所管理。

步驟 6:設定目標資料庫的 Oracle Key Vault (OKV)。
1:將目標資料庫註冊為 Oracle Key Vault (OKV) 端點。


2:複製 Oracle Key Vault (OKV) 註冊記號。

3:註冊目標資料庫端點並下載 Oracle Key Vault (OKV) 端點軟體。

4:在目標主機上建立 OKV 的必要目錄:

5:安裝 Oracle Key Vault 端點 JAR 檔案:

6:將來源虛擬公事包指派給目標端點:

7:將目前的公事包上傳至 Oracle Key Vault (OKV) (從檔案型公事包移轉至 OKV):
驗證 OKV 連線之後,將目前的公事包上傳至 OKV。若要驗證目前的 WALLET_ROOT 位置,請執行下列查詢:

識別公事包位置之後,將現有的公事包複製到 WALLET_ROOT/tde:

複製完成後,將公事包與儲存在 WALLET_ROOT/tde 中的公事包搭配使用 WALLET_ROOT/okv/bin/okvutil,上傳至 OKV:

8:將 OKV 密碼新增至金鑰存放區,以自動登入 OKV 金鑰存放區。(在所有節點上執行):

9:新增私密金鑰以使用外部存放區 (在所有節點上執行):

10:更新資料庫初始化參數:
更新 wallet_root 和 tde_configuration 初始化參數以供 OKV 使用。請注意,tde_configuration 初始化參數取決於 wallet_root 參數。由於 wallet_root 參數具有 SPFILE 範圍,因此變更必須重新啟動資料庫才能生效。
此外,設定 wallet_root 和 tde_configuration 會覆寫 sqlnet.ora 中的 ENCRYPTION_WALLET_LOCATION 設定。
更新資料庫初始化參數之前,請先執行 spfile 的備份。

11:sqlnet.ora 和 RAC 資料庫環境設定值 (僅限 12.1):
由於 12.1 中沒有 wallet_root 和 tde_configuration init.ora 參數,因此需要變更 sqlnet.ora 和 RAC 資料庫環境設定值。
Sqlnet.ora:
Change only the method under the ENCRYPTION_WALLET_LOCATION entry to HSM:
ENCRYPTION_WALLET_LOCATION=
(SOURCE=
(METHOD=HSM)
(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/DBNAME/tde_wallet)))
RAC 資料庫環境設定值:新增 ORACLE_BASE 和 ORACLE_UNQNAME 環境變數至 RAC 資料庫環境設定值:
[opc@targetdb ~]$ srvctl getenv database -d DBNAMEUNIQUE
DBNAMEUNIQUE:
TNS_ADMIN=/u02/app/oracle/product/12.1.0/dbhome_1/network/admin/DBNAME
bash-3.2$ srvctl setenv database -d DBNAMEUNIQUE -T "ORACLE_BASE=/u02/app/oracle"
bash-3.2$ srvctl setenv database -d DBNAMEUNIQUE -T "ORACLE_UNQNAME=DBNAMEUNIQUE"
bash-3.2$ srvctl getenv database -d DBNAMEUNIQUE
12:重新啟動資料庫。
[opc@targetdb ~]$ srvctl stop database -d DBNAMEUNIQUE
[opc@targetdb ~]$ srvctl start database -d DBNAMEUNIQUE
13:將 TDE 金鑰存放區移轉至 Oracle Key Vault (OKV)。
在一個資料庫節點上執行下列命令,將 TDE 軟體金鑰存放區移轉至 Oracle Key Vault (OKV)。
SQL>ADMINISTER KEY MANAGEMENT set key identified by "<OKV-pwd>" force keystore migrate using "TDE-wallet-password";

命令順利傳回之後,請重新啟動資料庫來確認與 Oracle Key Vault 的通訊是否正常運作:
[opc@targetdb ~]$ srvctl stop database -d DBNAMEUNIQUE
[opc@targetdb ~]$ srvctl start database -d DBNAMEUNIQUE
14:驗證 Oracle Key Vault (OKV) 組態
執行下列查詢,確認 Oracle Key Vault (OKV) 組態已正確設定,且資料庫可存取外部金鑰存放區。

步驟 7:在來源資料庫主機上建立 ZDM 回應檔。此檔案定義移轉組態,包括來源和目標資料庫資訊、Oracle Key Vault (OKV) 參數,以及「實體 PDB 複製」設定值。
下列範例顯示用於此移轉的回應檔:
[opc@sourcedb ~]$ more /opt/opc/zdm/zdm26.1/template/26.1.0/zdm_physical_PDB_Cloning.rsp
ZDM_SRC_DB_OKV_HOME=/u01/app/oracle/admin/ORADB_src/okv_home/okv
ZDM_TGT_DB_OKV_HOME=/u01/app/oracle/admin/ORADB_tgt/okv_home/okv
ZDM_SRC_DB_OKV_VIRTUAL_WALLET_NAME=sourcedbwallet
ZDM_TGT_DB_OKV_VIRTUAL_WALLET_NAME=sourcedbwallet
ZDM_SKIP_TDE_WALLET_MIGRATION=FALSE
PLATFORM_TYPE=VMDB
TGT_DB_UNIQUE_NAME=ORADB_tgt
MIGRATION_METHOD=ONLINE_PHYSICAL
DATA_TRANSFER_MEDIUM=DBLINK
ZDM_PDB_CLONE_METHOD=REFRESHABLE
ZDM_SRC_PDB_NAME=ORADB_PDB1
ZDM_TGT_PDB_NAME=ORADB_PDB1
ZDM_TGT_DBLINK_NAME=clonedblink
ZDM_TGT_DBLINK_USERNAME=
ZDM_TGT_DBLINK_PASSWORD_WALLET=
ZDM_PDB_REFRESH_INTERVAL=60
ZDM_SWITCHOVER=FALSE
ZDM_SRC_DB_RESTORE_SERVICE_NAME=ORADB_PDB1
步驟 8:在來源資料庫主機上執行下列命令來評估移轉,並驗證來源和目標環境是否已準備好進行移轉。
[opc@sourcedb ~]$ /opt/opc/zdm/zdm26.1/zdmcli migrate database \
> -rsp /opt/opc/zdm/zdm26.1/template/26.1.0/zdm_physical_PDB_Cloning.rsp \
> -sourcedb ORADB_src \
> -sourcenode sourcedb \
> -targethome /u01/app/oracle/product/23.0.0.0/dbhome_1 \
> -tdekeystorepasswd \
> -tgttdekeystorepasswd \
> -targetnode targetdb \
> -schedule NOW \
> -eval
Enter source database ORADB_src SYS password:
Enter source database ORADB_src TDE keystore password:
Enter target container database TDE keystore password:
Migration evaluation job started
Result file path: /opt/opc/zdm/zdm26.1/zdmbase/chkbase/scheduled/job-6-2026-06-27-09:08:10.log
======================JOB_EXECUTION_DETAILS_START======================
User: opc
Client: dbSysyabixhpq
...............................................
.........................
注意:
如果 Oracle Key Vault (OKV) 端點密碼與 TDE 金鑰存放區密碼相同,則
-tdekeystorepasswd和-tgttdekeystorepasswd選項就已足夠。如果 OKV 端點密碼與 TDE 金鑰存放區密碼不同,請同時指定下列選項:
-okvkeystorepasswd– 提示來源 OKV 端點密碼。-tgtokvkeystorepasswd– 提示目標 OKV 端點密碼。這些選項可讓 ZDM 在移轉公事包時,使用 Oracle Key Vault 端點與 TDE 金鑰存放區密碼獨立進行認證。
驗證移轉工作狀態,如下所示。

步驟 9:起始移轉,並在 ZDM_CLONE_PDB_TGT 階段後使用 -pauseafter 選項停止移轉。在此階段期間,對來源 PDB 所做的變更會同步到目標 PDB,時間間隔為 ZDM_PDB_REFRESH_INTERVAL 所指定。

步驟 10:驗證移轉工作狀態。

檢查目標 PDB 的狀態。

步驟 11:當您準備好執行最終應用程式切換時,繼續移轉工作。
[opc@sourcedb ~]$ /opt/opc/zdm/zdm26.1/zdmcli resume job -jobid 6

在移轉完成後驗證目標 PDB 的狀態:

驗證自動 TDE 公事包移轉
下列日誌顯示 ZDM 會在來源資料庫主機上自動從 Oracle Key Vault (OKV) 下載 TDE 公事包:

參照
- Oracle Zero Downtime Migration 26.1 文件
- https://docs.oracle.com/en/database/oracle/zero-downtime-migration/26.1/
- https://docs.oracle.com/en/database/oracle/zero-downtime-migration/26.1/zdmug/preparing-for-database-migration.html#GUID-0049AE7E-12D7-402B-A988-1C8A802922CF
- 準備資料庫移轉
- https://docs.oracle.com/en/database/oracle/zero-downtime-migration/26.1/zdmug/preparing-for-database-migration.html
- Oracle Key Vault 文件
- https://docs.oracle.com/en/database/oracle/key-vault/
確認
作者: Amresh Kumar Singh (首席顧問)
其他學習資源
您可以在 docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Oracle ZDM 26.1 Instant Deploy End-to-End Physical PDB Cloning with Oracle Key Vault (OKV)
G58248-02