可插拔資料庫 (PDB) 管理

本節涵蓋容器資料庫 (CDB) 中可插式資料庫 (PDB) 的管理。其中包含建立 (dbaascli pdb create)、刪除 (dbaascli pdb delete) 以及複製 PDB (dbaascli pdb localClone、dbaascli pdb remoteClone) 的命令。您可以使用開啟、關閉或切回 PDB 的命令來管理 PDB 狀態,以及擷取連線詳細資訊 (dbaascli pdb getConnectString)。其他命令可支援備份、復原以及重新定位 PDB,確保能夠全面控制 PDB 週期與作業。

dbaascli pdb 備份

如果要備份可插式資料庫 (PDB)、查詢 PDB 備份以及刪除 PDB 備份,請使用 dbaascli pdb backup 命令。

先決條件:

語法:

dbaascli pdb backup --pdbName <value> --dbname <value>
        {
            --start
                {
                    [--level1]
                    | [--archival --tag <value>]
                }
            | --delete --backupTag <value>
            | --status --uuid <value>
            | --getBackupReport --json <value> --tag <value>
            | --list [--json <value>]
        }

參數:

參數 屬性 描述
--pdbName - PDB 名稱。
--dbname - Oracle AI Database 名稱。
--start | --delete | --status | --getBackupReport | --list - -
--start - 開始 PDB 備份。
--start --level1 | --archival -
--start --level1 建立 Level-1 (遞增) 備份。
--start --archival 建立完整備份。
--start --archival → --tag 以備份方式指定備份標記。
--delete - 將存檔備份刪除。
--delete --backupTag 以刪除的方式指定備份標記。
--status - -
--status --uuid <value> -
--getBackupReport - 傳回備份報表。
--getBackupReport --json 指定 JSON 輸出的檔案名稱。
--getBackupReport --tag 以備份方式指定備份標記。
--list - 傳回 PDB 備份資訊。
--list --json 指定 JSON 輸出的檔案名稱。

常見問題:

問:dbaascli pdb 備份命令的用途為何?

答:dbaascli pdb backup 命令用於建立可插拔資料庫 (PDB)、查詢備份狀態、產生備份報表,以及刪除 Oracle Base Database Cloud@Customer 環境中的 PDB 備份。

問:使用 dbaascli pdb 備份命令的先決條件為何?

答:命令必須以 root 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:如何使用 dbaascli PDB 備份命令啟動 PDB 備份?

答:您可以使用 --start 選項來啟動 PDB 備份。舉例而言:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --start

問:哪些選項可與 – start 旗標搭配使用?

A:使用 --start 旗標,您可以指定:

問:如何建立層次 1 增量 PDB 備份?

A:使用 --level1 旗標搭配 --start 選項來建立層次 1 增量備份:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --start --level1

問:如何建立存檔 PDB 備份?

A:使用 --archival 旗標搭配 --start 選項,並使用 --tag 指定備份標記:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --start --archival --tag <backup_tag>

問:如何刪除特定的 PDB 備份?

答:若要刪除特定備份,請使用 --delete 旗標並使用 --backupTag 指定備份標記:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --delete --backupTag <backup_tag>

問:如何檢查 PDB 備份的狀態?

A:使用 --status 旗標以及備份 --uuid 來檢查特定備份的狀態:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --status --uuid <backup_uuid>

問:如何以 JSON 格式擷取 PDB 備份報表?

A:若要取得 JSON 格式的備份報表,請使用 --getBackupReport 選項,使用 --json 指定檔案名稱,然後使用 --tag 提供備份標記:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --getBackupReport --json <file_name> --tag <backup_tag>

問:如何列出特定 PDB 的所有 PDB 備份?

A:使用 --list 選項取得指定 PDB 的所有備份清單:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --list

您可以選擇使用 --json 旗標以 JSON 格式輸出清單:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --list --json <file_name>

問:– pdbName 選項有什麼作用?

答:--pdbName 選項會指定您要備份、查詢或刪除備份的可插拔資料庫 (PDB) 名稱。

問:– dbname 選項的目的是什麼?

A:--dbname 選項會指定 PDB 所屬之 Oracle AI Database 的名稱。

問:如何指定 PDB 備份的備份標記?

A:您可以在啟動存檔備份或擷取備份報表時,使用 --tag 選項指定備份標記:

--tag <backup_tag>

問:是否可以 JSON 模式執行 PDB 備份?

答:是,備份報告 (--getBackupReport) 和備份列表 (--list) 選項都支援 JSON 格式的輸出。您可以使用 --json 選項指定 JSON 檔案名稱。

範例:

dbaascli pdb 切回

若要切回可插拔資料庫 (PDB),請使用 dbaascli pdb bounce 命令。

先決條件:

以 oracle 使用者身分執行命令。

語法:

dbaascli pdb bounce
	{
            --pdbName <value>
            | --pdbUID <value>
        }
        --dbname <value> [--openMode <value>] [--startServices <value>] [--waitForCompletion <value>]

參數:

參數 描述
--pdbName 指定 PDB 的名稱
--pdbUID 指定 PDB 的 ID
--dbname 指定代管 PDB 的容器資料庫名稱
--openMode 指定 PDB 的目標 OPEN MODE
--startServices 指定啟動與 PDB 對應的所有服務,或所有服務的清單。接受的值為 all 或以逗號分隔的 PDB 服務清單。
--waitForCompletion 指定在前景或背景執行作業。有效值:true 或 false。

常見問題:

問:dbaascli pdb bounce 命令的目的是什麼?

答:dbaascli pdb bounce 命令用於退回 (重新啟動) Oracle Base Database Cloud@Customer 環境中的可插拔資料庫 (PDB)。

問:使用 dbaascli pdb bounce 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:如何透過指定 PDB 的名稱來切回 PDB?

答:如果要透過指定 PDB 的名稱來切回 PDB,請使用下列語法:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name>

問:如何使用 PDB 的唯一 ID (UID) 來切回 PDB?

答:如果要使用 PDB 的唯一 ID (UID) 切回 PDB,請使用下列語法:

dbaascli pdb bounce --dbname <CDB_Name> --pdbUID <PDB_UID>

Q:使用的 – dbname 選項為何?

A:--dbname 選項會指定代管被退回之可插拔資料庫 (PDB) 的容器資料庫 (CDB) 名稱。

問:什麼是 – pdbName 選項用於?

A:--pdbName 選項會指定您要切回的可插拔資料庫 (PDB) 名稱。

問:什麼是 – pdbUID 選項用於?

A:--pdbUID 選項會指定您要切回之可插拔資料庫 (PDB) 的唯一 ID (UID)。

問:如何在重新啟動 PDB 時指定目標開啟模式?

答:您可以在退回之後,使用 --openMode 選項為 PDB 指定想要的開啟模式。有效值為 READ_WRITE 和 READ_ONLY。舉例而言:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name> --openMode READ_WRITE

問:彈跳 PDB 後,我可以用唯讀模式打開 PDB 嗎?

答:是的,您可以在退信後,使用 --openMode READ_ONLY 選項以唯讀模式開啟 PDB:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name> --openMode READ_ONLY

問:如果未指定 – openMode,預設開啟模式為何?

答:如果未指定 --openMode,則 PDB 會以其預設開啟模式開啟,通常是 READ_WRITE。

問:我可以在同一命令中使用 – pdbName 和 – pdbUID 嗎?

答:否,您應該在同一個命令中指定 --pdbName 或 --pdbUID,但不能同時指定兩者。

問:如何重新啟動 PDB 並確保 PDB 以讀寫模式開啟?

答:若要重新啟動 PDB 並確保 PDB 以讀寫模式開啟,請使用 --openMode READ_WRITE 選項:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name> --openMode READ_WRITE

問:使用 dbaascli pdb bounce 命令時是否必須指定開啟模式?

答:否,指定 --openMode 是選擇性的。如果未提供,PDB 將會以其預設模式開啟。

問:如果我未指定 -openMode 旗標,會發生什麼情況?

A:如果未指定 --openMode 旗標,PDB 將會以其預設模式開啟,這通常是 READ_WRITE。

範例:dbaascli pdb bounce

dbaascli pdb bounce --dbname cdb_name --pdbName pdb name associated with the CDB
dbaascli pdb bounce --dbname cdb_name --pdbUID con_uid of that pdb

選擇性:

dbaascli pdb 關閉

若要關閉可插拔資料庫 (PDB),請使用 dbaascli pdb close 命令。

先決條件:

以 oracle 使用者身分執行指令。

語法:

dbaascli pdb close
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        --dbname <value> [--waitForCompletion <value>]

參數:

參數 描述
--pdbname 指定要關閉的 PDB 名稱。
--pdbUID 指定 PDB 的 ID
--dbname 指定代管 PDB 的容器資料庫名稱。
--waitForCompletion 指定在前景或背景執行作業。有效值:true 或 false。

成功完成執行此命令後,會關閉所有容器資料庫執行處理上的 PDB。

常見問題:

問:dbaascli pdb close 命令的目的是什麼?

答:dbaascli pdb close 命令用於關閉 Oracle Base Database Cloud@Customer 環境中的可插拔資料庫 (PDB)。

問:使用 dbaascli pdb close 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:如何透過指定 PDB 的名稱來關閉 PDB?

答:如果要透過指定 PDB 的名稱來關閉 PDB,請使用下列語法:

dbaascli pdb close --dbname <CDB_Name> --pdbName <PDB_Name>

問:如何透過指定 PDB 的唯一 ID (UID) 來關閉 PDB?

答:如果要使用 PDB 的唯一 ID (UID) 來關閉 PDB,請使用下列語法:

dbaascli pdb close --dbname <CDB_Name> --pdbUID <PDB_UID>

問:dbaascli pdb close 命令中的 – dbname 選項有什麼作用?

A:--dbname 選項會指定代管您要關閉之可插拔資料庫 (PDB) 的容器資料庫 (CDB) 名稱。

問:dbaascli pdb close 命令中的 – pdbName 選項有什麼作用?

答:--pdbName 選項會指定您要關閉的可插拔資料庫 (PDB) 名稱。

問:dbaascli pdb close 命令中的 – pdbUID 選項有什麼用途?

答:--pdbUID 選項可讓您指定要關閉之可插拔資料庫 (PDB) 的唯一 ID (UID)。

問:是否可以關閉 CDB 特定執行處理上的 PDB?

答:否,在成功完成時,PDB 會在容器資料庫 (CDB) 的所有執行處理上關閉。

問:可以在同一個指令中同時指定 – pdbName 和 – pdbUID 嗎?

答:否,您可以在同一個命令中指定 --pdbName 或 --pdbUID,但不能同時指定兩者。

問:當 dbaascli pdb close 命令順利完成時,會發生什麼事?

答:當命令成功完成時,容器資料庫 (CDB) 的所有執行處理上都會關閉可插式資料庫 (PDB)。

問:如何使用 CDB 內的特定 PDB 的 UID 來關閉它?

答:您可以使用特定 PDB 的 UID 透過執行以下動作來關閉:

dbaascli pdb close --dbname <CDB_Name> --pdbUID <PDB_UID>

問:如果我忘記指定 – pdbName 或 – pdbUID,會發生什麼情況?

A:您必須在指令中指定 --pdbName 或 --pdbUID。若未提供,則不會執行指令。

問:我可以直接使用 CDB 的 dbaascli pdb close 命令嗎?

答:否,此命令的設計是要關閉容器資料庫 (CDB) 中的可插式資料庫 (PDB),而非 CDB 本身。

範例:dbaascli pdb close

dbaascli pdb close --dbname cdb name --pdbName pdb name associated with the CDB
dbaascli pdb close --dbname cdb name --pdbUID con_uid of that pdb

dbaascli pdb 建立

若要建立新的可插拔資料庫 (PDB),請使用 dbaascli pdb create 命令。

先決條件:

以 oracle 使用者身分執行指令。

語法:

dbaascli pdb create --pdbName <value> --dbName <value> [--maxCPU <value>] [--maxSize <value>] [--pdbAdminUserName <value>] [--lockPDBAdminAccount <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--waitForCompletion <value>]
        {
            [--blobLocation <value>]
            | [--standbyBlobFromPrimary <value>]
        }
        [--pdbTdeKeyVersionOCID <value>]

參數:

參數 屬性 描述
--pdbName - 指定您要建立的新 PDB 名稱
--dbName - 指定代管新 PDB 的容器資料庫名稱
--maxCPU - 選擇性指定 PDB 可用的 CPU 數目上限。設定此選項的作用與設定 PDB 中的 CPU_COUNT 參數相同
--maxSize - 視情況為屬於 PDB 的表格空間,指定資料檔與暫時檔案的總大小上限。設定此選項與設定 CREATE PLUGGABLE DATABASE SQL 命令中的 MAXSIZE PDB 儲存體子句完全相同。您可以指定後接大小單位 (K、M、G 或 T) 的整數來實行限制,或者您可以指定 UNLIMITED 來明確強制不限制
--pdbAdminUserName - 指定新 PDB 管理員使用者名稱
--lockPDBAdminAccount - 指定 true 或 false 來鎖定 PDB 管理員使用者帳戶。預設值為 true。
--resume - 繼續上一次執行
--resume --sessionID 指定繼續特定的階段作業 ID
--executePrereqs - 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--waitForCompletion - 指定 false 以在背景中執行作業。有效值:true 或 false
--blobLocation - 將在 DG 環境中產生待命 blob 檔案的自訂目錄位置。
--standbyBlobFromPrimary - 指定從主要資料庫準備的待命 blob 檔案位置。這只有在待命資料庫 PDB 作業才需要。請注意,參數 blobLocation 和 standbyBlobFromPrimary 互斥。
--pdbTdeKeyVersionOCID - TDE 的 OCID。

在建立 PDB 的過程中,系統會提示您指定新 PDB 的管理密碼。

常見問題:

問:dbaascli pdb create 命令的目的是什麼?

答:dbaascli pdb create 命令用於在 Oracle Base Database Cloud@Customer 環境的容器資料庫 (CDB) 中建立新的可插拔資料庫 (PDB)。

問:使用 dbaascli pdb create 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:dbaascli pdb create 命令中的 – pdbName 選項有什麼作用?

答:--pdbName 選項會指定您要建立的新可插拔資料庫 (PDB) 名稱。

問:dbaascli pdb create 命令中的 – dbName 選項有什麼作用?

A:--dbName 選項會指定將代管新可插拔資料庫 (PDB) 的容器資料庫 (CDB) 名稱。

問:我可以限制新 PDB 的 CPU 資源嗎?

答:是的,您可以使用 --maxCPU 選項來指定 PDB 可使用的 CPU 數目上限。這等同於設定 PDB 中的 CPU_COUNT 參數。

問:如何限制 PDB 的儲存大小?

答:您可以使用 --maxSize 選項來指定 PDB 的資料檔與暫存檔案的總大小上限。您可以設定大小限制 (以 K、M、G 或 T 表示),或指定 UNLIMITED 表示無限制。

問:什麼是 – pdbAdminUserName 選項用於?

A:--pdbAdminUserName 選項會指定新 PDB 的管理員使用者名稱。此使用者將具備 PDB 內的管理權限。

問:是否可以在建立 PDB 時鎖定管理員使用者帳戶?

答:是的,您可以使用 --lockPDBAdminAccount 選項來指定是否應鎖定 PDB 管理員帳戶。預設值為 true (已鎖定)。

Q:dbaascli pdb create 命令的 – resume 選項是什麼?

答:--resume 選項可讓您繼續先前失敗的 PDB 建立處理作業。

問:如何指定階段作業 ID 以繼續前次執行?

答:您可以使用 --sessionID 選項來繼續建立 PDB 處理作業的特定階段作業,以指定階段作業 ID。

問:– executePrereqs 選項的目的為何?

A:--executePrereqs 選項會指定是否只執行建立 PDB 的先決條件檢查。您可以將此選項設為 yes 或 no。

問:我可以在背景執行 PDB 建立處理作業嗎?

答:是的,您可以使用 --waitForCompletion 選項並將其設為 false,以在背景執行作業。

問:什麼是 – standbyBlobFromPrimary 選項用於?

A:--standbyBlobFromPrimary 選項會指定從主要資料庫準備的待命 blob 檔案位置。這是待命資料庫 PDB 作業的必要項目。

問:在建立過程中,系統會如何提示我輸入 PDB 管理員密碼?

答:在建立 PDB 的過程中,系統會提示您指定新 PDB 的管理密碼。

問:是否可以使用 dbaascli PDB create 命令來建立待命 PDB?

答:是的,如果您要建立待命 PDB,可以使用 --standbyBlobFromPrimary 選項指定主要資料庫的待命 blob 檔案位置。

問:如果我不使用 -maxSize 選項,會發生什麼情況?

答:如果您未指定 --maxSize 選項,則除非由 CDB 原則另有定義,否則 PDB 將不會有儲存體大小限制。

問:如果我不提供 – pdbAdminUserName 選項,會發生什麼事?

答:如果您未提供 --pdbAdminUserName 選項,則會在沒有指定管理員使用者的情況下建立 PDB,您將需要在建立之後手動設定管理員使用者。

問:我可以在處理作業中的任何時間點繼續建立失敗的 PDB 嗎?

答:是的,只要階段作業尚未終止,您就可以使用 --resume 和 --sessionID 選項,繼續建立失敗的 PDB。

範例:dbaascli pdb create

如果要從非「資料保全」環境中標準資料庫的原始內建值建立 PDB:

dbaascli pdb create --dbName db721 --pdbName new_pdb1 --maxsize 5G --maxcpu 2

在「資料保全」環境中建立 PDB:

dbaascli pdb create --dbName db721 --pdbName new_pdb1
dbaascli pdb create --dbName db721 --pdbName new_pdb1 --standbyBlobFromPrimary /tmp/send_db
721.tar

dbaascli pdb 刪除

若要刪除可插拔資料庫 (PDB),請執行 dbaascli pdb delete 命令。

先決條件:

以 oracle 使用者身分執行指令。

語法:

dbaascli pdb delete --dbName <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        [--executePrereqs] [--waitForCompletion <value>] [--resume [--sessionID <value>]] [--allStandbyPrepared] [--cleanupRelocatedPDB]

參數:

參數 描述
--dbName 指定代管 PDB 的容器資料庫名稱
--pdbName 指定要刪除的 PDB 名稱
--pdbUID 指定要刪除之 PDB 的 UID
--executePrereqs 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--waitForCompletion 指定 false 以在背景中執行作業。有效值:true 或 false
--resume 指定繼續先前的執行作業
--sessionID 指定繼續特定的階段作業 ID
--allStandbyPrepared 指定以確認已順利在所有待命資料庫執行作業
--cleanupRelocatedPDB 指定在 PDB 搬移後清除來源資料庫

常見問題:

問:dbaascli pdb delete 命令的用途為何?

答:dbaascli pdb delete 命令用於從 Oracle Base Database Cloud@Customer 環境中的容器資料庫 (CDB) 刪除可插拔資料庫 (PDB)。

問:執行 dbaascli pdb delete 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:dbaascli pdb delete 命令中指定的 – dbName 選項為何?

答:--dbName 選項會指定代管您要刪除之 PDB 的容器資料庫 (CDB) 名稱。

問:如何使用 dbaascli PDB delete 命令指定要刪除的 PDB?

答:您可以使用 --pdbName 選項 (指定 PDB 名稱) 或 --pdbUID 選項 (指定 PDB UID) 來指定要刪除的 PDB。

問:我可以在不實際刪除 PDB 的情況下執行先決條件檢查嗎?

答:是的,您可以使用 --executePrereqs 選項並將其設為 yes,只執行 PDB 刪除作業的先決條件檢查。

問:如何在背景執行 PDB 刪除處理作業?

A:使用 --waitForCompletion 選項並將其設為 false,即可在背景執行刪除處理作業。

Q:dbaascli pdb delete 命令中的 – resume 選項是什麼?

答:--resume 選項可讓您繼續先前失敗的 PDB 刪除處理作業。

問:如何繼續刪除 PDB 的特定階段作業?

答:您可以使用 --sessionID 選項來指定階段作業 ID,以繼續 PDB 刪除處理作業的特定階段作業。

問:– allStandbyPrepared 選項有什麼作用?

答:--allStandbyPrepared 選項用來確認刪除作業已順利在所有待命資料庫上執行,然後再繼續刪除主要 PDB。

問:– cleanupRelocatedPDB 選項的目的為何?

答:--cleanupRelocatedPDB 選項會在 PDB 重新定位之後清除來源資料庫,確保重新定位之後不會保留任何殘值。

問:我可以刪除已經搬移的 PDB 嗎?

答:是的,您可以使用 --cleanupRelocatedPDB 選項來刪除已經重新定位至新 CDB 的 PDB。

問:如何確保刪除作業在待命資料庫上順利執行?

A:使用 --allStandbyPrepared 選項,確認作業已順利在所有待命資料庫上執行,然後再繼續進行。

問:如果刪除過程失敗且需要恢復,會發生什麼事?

答:您可以使用 --resume 選項繼續刪除程序,如有需要,請使用 --sessionID 指定階段作業 ID。

問:什麼設定 – waitForCompletion 為假?

A:將 --waitForCompletion 設為 false 可讓刪除處理作業在背景中執行,讓您不需等待作業完成即可繼續作業。

範例:dbaascli pdb delete

從非「資料保全」環境中的標準資料庫或從「資料保全」環境中的待命資料庫刪除 PDB。

dbaascli pdb delete --dbName db721 --pdbName pdb1

從資料保全環境中的主要資料庫建立 PDB:

dbaascli pdb create --dbName db721 --pdbName pdb1 --allStandbyPrepared

dbaascli pdb getConnectString

如果要顯示可插式資料庫 (PDB) 的 Oracle Net 連線字串資訊,請執行 dbaascli pdb getConnectString 命令。

先決條件:

以 oracle 使用者身分執行命令。

語法:

dbaascli pdb getConnectString --dbname <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }

參數:

參數 描述
--dbname 指定代管 PDB 的容器資料庫名稱
--pdbname 指定要顯示連線字串資訊的 PDB 名稱
--pdbUID 指定 PDB 的 ID

常見問題:

Q:dbaascli pdb getConnectString 命令的用途是什麼?

答:dbaascli pdb getConnectString 命令用於顯示 Oracle Base Database Cloud@Customer 環境中可插拔資料庫 (PDB) 的 Oracle Net 連線字串資訊。

問:使用 dbaascli pdb getConnectString 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:如何透過指定 PDB 的名稱來擷取連線字串?

答:如果要透過指定 PDB 名稱來擷取連線字串,請使用下列語法:

dbaascli pdb getConnectString --dbname <CDB_Name> --pdbName <PDB_Name>

問:如何透過指定 PDB 的唯一 ID (UID) 來擷取連線字串?

答:如果要使用 PDB 的唯一 ID (UID) 擷取連線字串,請使用下列語法:

dbaascli pdb getConnectString --dbname <CDB_Name> --pdbUID <PDB_UID>

問:dbaascli pdb getConnectString 命令中的 – dbname 選項有什麼作用?

A:--dbname 選項會指定代管您要顯示連線字串資訊之可插拔資料庫 (PDB) 的容器資料庫 (CDB) 名稱。

問:dbaascli pdb getConnectString 命令中的 – pdbName 選項有什麼作用?

答:--pdbName 選項會指定您要擷取 Oracle Net 連線字串資訊的可插拔資料庫 (PDB) 名稱。

問:dbaascli pdb getConnectString 命令中的 – pdbUID 選項有什麼用途?

答:--pdbUID 選項可讓您指定要顯示連線字串之可插拔資料庫 (PDB) 的唯一 ID (UID)。

問:我可以在同一命令中使用 – pdbName 和 – pdbUID 嗎?

答:否,您可以使用 --pdbName 或 --pdbUID,但不能在同一個指令中同時使用兩者。

Q:dbaascli pdb getConnectString 命令傳回哪些類型的資訊?

答:此命令會傳回所指定可插式資料庫 (PDB) 的 Oracle Net 連線字串資訊。

問:是否可以擷取特定容器資料庫執行處理上 PDB 的連線字串?

答:否,連線字串是供 PDB 整體使用,而非供容器資料庫的特定執行處理使用。

問:如果我只知道 PDB 的唯一 ID (UID),如何取得連線字串資訊?

答:您可以使用 PDB 的 UID 執行下列動作來擷取連線字串:

dbaascli pdb getConnectString --dbname <CDB_Name> --pdbUID <PDB_UID>

問:如果我沒有提供 -pdbName 或 -pdbUID,會發生什麼情況?

答:您必須指定 --pdbName 或 --pdbUID 以擷取連線字串。若無其中一個選項,將不會執行指令。

問:PDB 的連線字串資訊在 CDB 的所有執行處理中是否一律相同?

答:是,跨容器資料庫 (CDB) 的所有執行處理,PDB 的連線字串資訊會一致。

範例:dbaascli pdb getConnectString

dbaascli pdb getConnectString --dbname dbname --pdbName pdbName

dbaascli pdb getDetails

若要檢視可插拔資料庫 (PDB) 的詳細資訊,請使用 dbaascli pdb getDetails 命令。

先決條件:

以 oracle 使用者身分執行命令。

語法:

dbaascli pdb getDetails --dbname <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }

參數:

參數 描述
--dbname 指定代管 PDB 的容器資料庫名稱
--pdbname 指定要刪除的 PDB 名稱
--pdbUID 指定 PDB 的 ID

常見問題:

Q:dbaascli pdb getDetails 命令的用途是什麼?

答:dbaascli pdb getDetails 命令用於檢視 Oracle Base Database Cloud@Customer 環境中容器資料庫 (CDB) 中代管之可插拔資料庫 (PDB) 的詳細資訊。

問:執行 dbaascli pdb getDetails 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:dbaascli pdb getDetails 命令中指定的 – dbname 選項為何?

A:--dbname 選項會指定代管您要檢視其詳細資訊之 PDB 的容器資料庫 (CDB) 名稱。

問:如何指定要檢視其詳細資訊的 PDB?

答:您可以使用 --pdbName 選項 (提供 PDB 名稱) 或 --pdbUID 選項 (提供 PDB UID) 來指定 PDB。

問:– pdbName 與 – pdbUID 有什麼不同?

答:--pdbName 選項會使用 PDB 的名稱來擷取詳細資訊,而 --pdbUID 選項則使用 PDB 的唯一 ID (UID) 來擷取其詳細資訊。

問:我可以在 dbaascli pdb getDetails 命令中同時使用 – pdbName 和 – pdbUID 嗎?

答:否,您可以指定 --pdbName 或 --pdbUID 選項來取得 PDB 的詳細資訊,但不能同時指定兩者。

問:dbaascli pdb getDetails 命令有哪些使用案例?

A:您可以使用 dbaascli pdb getDetails 命令來執行下列作業:

問:如何根據 PDB 的名稱檢視其詳細資訊?

答:如果要根據 PDB 名稱來檢視該 PDB 的詳細資訊,請使用下列語法:

dbaascli pdb getDetails --dbname <CDB_Name> --pdbName <PDB_Name>

問:如何根據 PDB 的 UID 檢視其詳細資訊?

答:如果要根據 PDB 的 UID 來檢視其詳細資訊,請使用下列語法:

dbaascli pdb getDetails --dbname <CDB_Name> --pdbUID <PDB_UID>

問:這個命令可以在一次執行時用於多個 PDB 嗎?

答:否,此命令可以用來指定 PDB 的名稱或 UID,一次擷取一個 PDB 的詳細資訊。

範例:dbaascli pdb getDetails

dbaascli pdb getDetails--dbname cdb name --pdbName pdb name associated with the CDB
dbaascli pdb getDetails--dbname cdb name --pdbUID con_uid of that pdb

dbaascli pdb 清單

若要檢視容器資料庫中的可插拔資料庫 (PDB) 清單,請使用 dbaascli pdb list 命令。

先決條件:

以 oracle 使用者身分執行指令。

語法:

dbaascli pdb list --dbname

參數:

參數 描述
--dbname 指定代管 PDB 的容器資料庫名稱

常見問題:

Q:dbaascli pdb list 命令的用途是什麼?

答:dbaascli pdb list 命令用於檢視 Oracle Base Database Cloud@Customer 環境中指定容器資料庫 (CDB) 中的可插拔資料庫 (PDB) 清單。

問:執行 dbaascli pdb list 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。

問:dbaascli pdb list 命令中指定的 – dbname 選項為何?

A:--dbname 選項會指定代管您要檢視清單之可插拔資料庫 (PDB) 的容器資料庫 (CDB) 名稱。

問:我可以一次檢視多個容器資料庫的 PDB 清單嗎?

答:否,dbaascli pdb list 命令可讓您一次只列出一個容器資料庫 (CDB) 的 PDB (由 --dbname 選項指定)。

問:如何將 PDB 列在特定的容器資料庫 (CDB) 中?

答:您可以使用下列語法將 PDB 列在特定的 CDB 中:

dbaascli pdb list --dbname <CDB_Name>

Q:使用 dbaascli pdb list 命令時會顯示什麼資訊?

A:此命令會傳回指定容器資料庫 (CDB) 中所有可插式資料庫 (PDB) 的清單。此清單通常包含 PDB 的名稱,以及可能包含其他詳細資訊,例如該清單的狀態。

問:是否可以使用其他選項來篩選 PDB 清單?

答:否,dbaascli pdb list 指令不支援其他篩選選項。它只會傳回所指定 CDB 內 PDB 的完整清單。

問:如果指定的 – dbname 不存在或不正確,會發生什麼事?

答:如果指定的 --dbname 不正確或不存在,命令將會傳回錯誤,而且不會顯示任何 PDB 清單。

問:dbaascli pdb list 命令是否可以用於任何 Oracle AI Database 環境?

答:否,dbaascli pdb list 命令是專門設計用於 Oracle Base Database Cloud@Customer 環境中。

範例:dbaascli pdb list

dbaascli pdb list --dbname cdb name

dbaascli pdb localClone

若要在複製相同容器資料庫 (CDB) 中的現有 PDB 時,建立新的可插式資料庫 (PDB),請使用 dbaascli pdb localClone 命令。

先決條件:

以 oracle 使用者身分執行命令。

語法:

dbaascli pdb localClone --pdbName <value> --dbName <value> [--targetPDBName <value>] [--powerLimit <value>] [--maxCPU <value>] [--maxSize <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--waitForCompletion <value>]
    {
      [--blobLocation <value>]
      | [--standbyBlobFromPrimary <value>]
    }
    [--excludeUserTablespaces <value>] [--excludePDBData <value>] [--pdbAdminUserName <value>] [--lockPDBAdminAccount <value>] [--sourcePDBServiceConvertList <value>]
    {
      [--createFromSnapshot
        {
          --snapshotName <value>
          | --snapshotUID <value>
        }
        [--copyDataFiles]]
      | [--snapshot]
    }

參數:

參數 屬性 描述
--pdbName - 指定您要複製的新 PDB 名稱
--dbName - 指定資料庫的名稱
--targetPDBName - 指定目標 PDB (新複製的 PDB) 的名稱
--powerLimit - 指定要用於複製作業的平行程度。有效值介於 1 與 128 之間
--maxCPU - 指定要配置給 PDB 的 CPU 數目上限
--maxSize - 指定新 PDB 的最大儲存大小 (GB)
--resume - 繼續上一次執行
--resume --sessionID 指定繼續特定的階段作業 ID
--executePrereqs - 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--waitForCompletion - 指定 false 以在背景中執行作業。有效值:true 或 false
--blobLocation - 將在 DG 環境中產生待命 blob 檔案的自訂目錄位置。
--standbyBlobFromPrimary - 指定從主要資料庫準備的待命 blob 檔案位置。這只有在待命資料庫 PDB 作業才需要。請注意,參數 --blobLocation 和 --standbyBlobFromPrimary 互斥。
--excludeUserTablespaces - 可略過使用者表格空間的選項,例如 t1、t2、t3。
--excludePDBData - 指定 true/yes 即可略過來源 PDB 的使用者資料。
--pdbAdminUserName - 指定新的 PDB 管理員使用者名稱。
--lockPDBAdminAccount - 指定 true 或 false 來鎖定 PDB 管理員使用者帳戶。預設值為 true。
--sourcePDBServiceConvertList - 指定要轉換之目標服務名稱的來源清單 (以逗號區隔)。語法為 source_srv1:new_srv1,source_srv2:new_srv2。
--createFromSnapshot | --snapshot - -
--createFromSnapshot - 指定從 PDB 快照建立 PDB
--createFromSnapshot --snapshotName | --snapshotUID -
--createFromSnapshot --snapshotName 指定建立 PDB 之 PDB 的快照名稱。
--createFromSnapshot --snapshotUID 指定建立 PDB 之 PDB 時所要使用的快照 UID。
--createFromSnapshot --copyDataFiles 指定此選項以略過快照複製。
--snapshot - 指定以建立含有快照複製的 PDB。

新複製的 PDB 會繼承來源 PDB 的管理密碼。

常見問題:

Q:dbaascli pdb localClone 命令的用途是什麼?

答:dbaascli pdb localClone 命令是用來建立新的可插拔資料庫 (PDB),作為複製 Oracle Base Database Cloud@Customer 環境中相同容器資料庫 (CDB) 中的現有 PDB。

問:執行 dbaascli pdb localClone 命令有哪些先決條件?

答:命令必須以 oracle 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。此外,來源 PDB 必須已經存在於指定的 CDB 中。

問:dbaascli pdb localClone 命令中指定的 – dbName 選項為何?

答:--dbName 選項指定代管將從中複製新 PDB 之來源 PDB 的容器資料庫 (CDB) 名稱。

問:dbaascli pdb localClone 命令中指定的 – pdbName 選項為何?

答:--pdbName 選項會指定您要建立為複製相同 CDB 中現有 PDB 之新 PDB 的名稱。

問:是否可以使用 dbaascli PDB localClone 命令以不同的名稱複製 PDB?

答:是的,您可以使用 --targetPDBName 選項為複製的 PDB 指定其他名稱。如果未提供此選項,複製的 PDB 將繼承來源 PDB 的名稱。

問:dbaascli pdb localClone 命令中的 – resume 選項有什麼作用?

答:--resume 選項可讓您繼續先前中斷的 PDB 複製作業。

問:如何限制複製的 PDB 可用的 CPU 資源?

答:您可以使用 --maxCPU 選項來限制複製之 PDB 的 CPU 資源,此選項會指定將配置給新 PDB 的 CPU 數目上限。

問:我可以在背景執行 PDB 複製作業嗎?

答:是的,您可以將 --waitForCompletion 選項設為 false,在背景執行作業。如果您將它設為 true,作業將會在前景中執行並等待完成。

問:dbaascli pdb localClone 命令中的 – maxSize 選項有什麼用途?

A:--maxSize 選項會為新複製的 PDB 指定儲存大小上限 (GB)。如果未指定大小,複製的 PDB 會繼承與來源 PDB 相同的儲存體限制。

問:我可以控制 PDB 複製作業的平行程度嗎?

答:是的,您可以使用 --powerLimit 選項來控制複製作業的平行程度。此選項接受 1 到 128 之間的值來定義平行程度。

問:什麼是 – primaryDBWalletTar 選項用於?

A:--primaryDBWalletTar 選項會指定主要資料庫公事包 tar 檔案的位置。只有在複製作業涉及待命資料庫 PDB 作業時,才需要此選項。

問:我只能執行複製作業的先決條件檢查嗎?

答:是的,您只能使用 --executePrereqs 選項執行先決條件檢查,並將其設為 yes。有效值為 yes 和 no。

問:如果 PDB 複製作業失敗或被中斷,會發生什麼情況?

答:如果複製作業失敗或中斷,您可以使用 --resume 選項繼續作業停止的位置。

範例:dbaascli pdb localClone

dbaascli pdb localClone --dbName db35 --pdbName PDB35 --targetPDBName local_clone1 --maxCPU 2 --maxSize 15

dbaascli pdb 開啟

若要開啟可插拔資料庫 (PDB),請使用 dbaascli pdb open 命令。

身分為 root 或 oracle 使用者執行指令。

語法:

dbaascli pdb open
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        --dbname <value> [--openMode <value>] [--startServices <value>] [--waitForCompletion <value>] [--setPDBRefreshModeNone [--skipPDBRefresh] [--pdbAdminUserName <value>]] [--executePrereqs] [--resume [--sessionID <value>]] [--blobLocation <value>]

參數:

參數 描述
--pdbName 指定要開啟的 PDB 名稱
--pdbUID 指定 PDB 的 ID
--dbname 指定代管 PDB 的容器資料庫名稱。
--openMode 指定 PDB 的目標 OPEN MODE
--startServices 指定啟動所有服務,或列出與 PDB 對應的所有服務。接受的值為 all 或以逗號分隔的 PDB 服務清單。
--waitForCompletion 指定 false 即可在背景執行作業。有效值:true 或 false
--setPDBRefreshModeNone 指定將可重新整理的 PDB 轉換為不可重新整理的 PDB
--skipPDBRefresh 指定略過可重新整理的 PDB 重新整理
--pdbAdminUserName 指定新的 PDB 管理員使用者名稱
--executePrereqs 並將結果轉化為執行先決條件檢查並報告結果。
--resume 繼續先前的作業
--sessionID 指定繼續特定的階段作業 ID
--blobLocation 指定將在「資料保全」環境中產生待命 blob 檔案的自訂目錄位置

成功完成時,會針對所有容器資料庫執行處理開啟 PDB。

常見問題:

問:dbaascli pdb open 命令的目的是什麼?

答:dbaascli pdb open 命令是用來在 Oracle Base Database Cloud@Customer 環境中開啟 Oracle 容器資料庫 (CDB) 中的可插拔資料庫 (PDB)。

問:誰可以執行 dbaascli pdb open 命令?

A:命令可以 root 或 oracle 使用者身分執行。

問:dbaascli pdb open 命令中指定的 – pdbName 選項為何?

答:--pdbName 選項會指定您要開啟的 PDB 名稱。

問:dbaascli pdb open 命令中指定的 – pdbUID 選項為何?

答:--pdbUID 選項會指定您要開啟之 PDB 的唯一 ID (UID)。

問:dbaascli pdb open 命令中指定的 – dbname 選項為何?

A:--dbname 選項會指定代管 PDB 之容器資料庫 (CDB) 的名稱。

問:– openMode 選項的目的為何?

答:--openMode 選項會指定將開啟 PDB 的模式。有效值為 READ_WRITE 和 READ_ONLY。

問:我可以在開啟 PDB 時啟動服務嗎?

答:是的,您可以使用 --startServices 選項,指定全部或提供以逗號區隔的特定服務清單來啟動與 PDB 關聯的所有服務。

問:如果我將 – waitForCompletion 選項設為 false,會發生什麼事?

答:如果 --waitForCompletion 設為 false,則命令會在背景中執行,而且使用者不需要等待作業完成。如果設為 true,命令將等候完成後再結束。

問:– setPDBRefreshModeNone 選項有什麼作用?

答:--setPDBRefreshModeNone 選項會將可重新整理的 PDB (定期從主要資料庫更新的 PDB) 轉換成不可重新整理的 PDB。

問:– skipPDBRefresh 選項的功能是什麼?

答:--skipPDBRefresh 選項可讓您在開啟可重新整理的 PDB 時略過重新整理作業,讓 PDB 無法在該時間與主要資料庫同步。

問:dbaascli pdb open 命令中的 – pdbAdminUserName 選項有什麼作用?

答:--pdbAdminUserName 選項可讓您在開啟 PDB 時指定新的 PDB 管理員使用者名稱。

問:如果 dbaascli pdb open 命令成功,會發生什麼事?

答:成功完成時,系統會在容器資料庫 (CDB) 的所有執行處理上開啟指定的 PDB。

問:是否可以針對可重新整理的 PDB 執行 dbaascli PDB open 命令?

答:是的,這個命令可以用於可重新整理的 PDB。--setPDBRefreshModeNone 選項會將 PDB 轉換成不可重新整理,而 --skipPDBRefresh 選項會在開啟處理作業期間略過重新整理作業。

問:如果未指定任何 -openMode,PDB 的預設開啟模式為何?

答:如果未指定 --openMode,依照預設,PDB 會以 READ_WRITE 模式開啟。

範例:dbaascli pdb open

dbaascli pdb open --dbname cdb name --pdbName pdb name associated with the CDB
dbaascli pdb open --dbname cdb name --pdbUID con_uid of that pdb

可選:--openMode READ_WRITE/READ_ONLY

dbaascli pdb 復原

若要復原可插拔資料庫 (PDB),請使用 dbaascli pdb recover 命令。

先決條件:

語法:

dbaascli pdb recover --dbname <value> --pdbName <value>
        {
            --start
                {
                    --untilTime <value> [--nonUTC]
                    | --untilSCN <value>
                    | --latest
                    | --tag <value>
                }
            | --status --uuid <value>
        }

參數:

參數 描述
--dbname 指定代管 PDB 的容器資料庫名稱
--pdbName 指定要復原的 PDB 名稱
--start 開始復原 PDB。
--untilTime 復原 PDB 直到時間。輸入格式:DD-MON-YYYY HH24:MI:SS
--untilSCN 將 PDB 復原到 SCN 為止
--latest 將 PDB 復原至最後已知的狀態
--tag 將 PDB 復原到存檔標記
--status 顯示 PDB 復原工作處理作業的詳細資訊
--uuid PDB 復原作業的唯一 ID。輸入格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

常見問題:

Q:dbaascli pdb 恢復指令的目的是什麼?

答:dbaascli pdb recover 命令使用儲存在已設定備份儲存體目的地中的備份,將可插拔資料庫 (PDB) 復原至先前的狀態。

Q:誰可以執行 dbaascli pdb 恢復指令?

答:這個指令必須以 root 使用者身分執行。

問:執行 dbaascli pdb 復原命令之前需要什麼?

答:執行命令之前,必須先設定儲存備份的備份儲存目的地詳細資訊。

問:dbaascli pdb recovery 命令中指定的 – pdbName 選項為何?

答:--pdbName 選項會指定您要復原的可插拔資料庫 (PDB) 名稱。

Q:dbaascli pdb recovery 命令中指定的 – dbname 選項為何?

A:--dbname 選項會指定代管 PDB 之容器資料庫 (CDB) 的名稱。

問:使用 – start 選項啟動 PDB 復原的可能選項為何?

答:您可以使用下列其中一個選項來復原 PDB:

問:在 – untilTime 選項中指定時間所需的格式為何?

A:時間的格式必須為 DD-MON-YYYY HH24:MI:SS。

問:如何使用 dbaascli PDB 復原將 PDB 復原到最新狀態?

答:如果要將 PDB 復原到最新的已知狀態,請使用 --latest 選項:

dbaascli pdb recover --pdbName <value> --dbname <value> --start --latest

問:如何將 PDB 復原到特定的存檔標記?

答:您可以使用 --tag 選項,將 PDB 復原到特定的標記:

dbaascli pdb recover --pdbName <value> --dbname <value> --start --tag <tag_value>

問:是否可以使用特定 SCN 復原 PDB?

答:是的,您可以使用 --untilSCN 選項,將 PDB 復原至特定的 SCN:

dbaascli pdb recover --pdbName <value> --dbname <value> --start --untilSCN <SCN_value>

Q:dbaascli pdb recovery 命令的 – status 選項為何?

A:使用 --status 選項來檢查復原作業的狀態。您必須提供 --uuid,才能指定復原階段作業。

問:如何檢查 PDB 復原的狀態?

A:若要檢查復原作業的狀態,請將 --status 選項與復原階段作業的 --uuid 一起使用:

dbaascli pdb recover --pdbName <value> --dbname <value> --status --uuid <uuid_value>

問:如果我在復原命令中指定 – latest 選項,會發生什麼事?

答:如果您指定 --latest 選項,PDB 將復原為備份中最新的可用狀態。

範例:

dbaascli pdb 重新整理

若要重新整理指定的可插拔資料庫 (PDB),請使用 dbaascli pdb refresh 命令。

身分為 root 或 oracle 使用者身分執行指令。

語法:

dbaascli pdb refresh --dbname <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        [--waitForCompletion <value>]

參數:

參數 描述
--dbname 指定 Oracle AI Database 的名稱
--pdbName 指定可插拔資料庫的名稱
--pdbUID 指定可插拔資料庫的 ID
--waitForCompletion 指定 false 即可在背景執行作業。有效值:true 或 false

常見問題:

問:dbaascli pdb refresh 命令的目的是什麼?

A:dbaascli pdb refresh 命令是用來重新整理容器資料庫 (CDB) 中指定的可插拔資料庫 (PDB)。

問:誰可以執行 dbaascli pdb refresh 命令?

A:命令可由 root 或 oracle 使用者執行。

Q:dbaascli pdb refresh 命令中指定的 – dbname 選項為何?

A:--dbname 選項會指定代管要重新整理之可插拔資料庫 (PDB) 的容器資料庫 (CDB) 名稱。

問:dbaascli pdb refresh 命令中指定的 – pdbName 選項為何?

A:--pdbName 選項會指定您要重新整理之可插拔資料庫 (PDB) 的名稱。

問:dbaascli pdb refresh 命令中指定的 – pdbUID 選項為何?

A:--pdbUID 選項會指定您要重新整理之可插拔資料庫 (PDB) 的唯一 ID (UID)。

問:dbaascli pdb refresh 命令中的 – waitForCompletion 選項如何?

A:--waitForCompletion 選項會指定作業應在前景或背景執行。若設為 true,作業將會在前景執行並等待完成。如果設為 false,作業將會在背景執行。

問:如何重新整理 PDB 並在背景執行作業?

答:若要重新整理 PDB 並在背景執行作業,請使用 --waitForCompletion false 選項:

dbaascli pdb refresh --dbname <value> --pdbName <value> --waitForCompletion false

問:如何使用 PDB 的唯一 ID (UID) 重新整理 PDB?

答:您可以使用 --pdbUID 選項重新整理 PDB:

dbaascli pdb refresh --dbname <value> --pdbUID <value>

問:我可以在 dbaascli pdb refresh 命令中同時指定 – pdbName 和 – pdbUID 嗎?

答:否,重新整理 PDB 時,您必須指定 --pdbName 或 --pdbUID,但不能同時指定兩者。

問:如果我未在指令中包含 – waitForCompletion 選項,會發生什麼情況?

答:如果您未指定 --waitForCompletion 選項,預設行為將等候作業完成,再將控制項傳回給使用者。

問:資料庫執行時,是否可以重新整理 PDB?

答:是的,只要具備適當權限的使用者執行命令,您就可以在資料庫執行時重新整理 PDB。

dbaascli pdb remoteClone

如果要建立新的可插式資料庫 (PDB) 作為另一個容器資料庫 (CDB) 中現有 PDB 的複製項,請使用 dbaascli pdb remoteClone 命令。

身分為 root 或 oracle 使用者身分執行指令。

語法:

dbaascli pdb remoteClone --pdbName <value> --dbName <value> --sourceDBConnectionString <value> [--targetPDBName <value>] [--powerLimit <value>] [--maxCPU <value>] [--maxSize <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--waitForCompletion <value>] [--sourcePDBExportedTDEKeyFile <value>]
        {
            [--blobLocation <value>]
            | [--standbyBlobFromPrimary <value>]
        }
        [--excludeUserTablespaces <value>] [--excludePDBData <value>] [--pdbAdminUserName <value>] [--lockPDBAdminAccount <value>] [--sourcePDBServiceConvertList <value>] [--upgradePDB]
        {
            [--createFromSnapshot --snapshotName <value> [--copyDataFiles]]
            | [--snapshot]
        }
        [--refreshablePDB --refreshMode <value> [--refreshIntervalInMinutes <value>]] [--updateDBBlockCacheSize]
        {
            [--dblinkUsername <value> [--honorCaseSensitiveUserName]]
            | [--dbLinkName <value>]
        }
        [--keepSourceDBServices <value>]

參數:

參數 屬性 描述
--pdbName - 指定要複製的來源 PDB 名稱
--dbname - 指定代管新複製之 PDB 的 CDB 名稱 (DB_NAME)
--sourceDBConnectionString - 以 scan_name:scan_port/database_service_name 格式指定來源資料庫連線字串
--targetPDBName - 指定目標 PDB (新複製的 PDB) 的名稱
--powerLimit - 指定要用於複製作業的平行程度。有效值介於 1 與 128 之間
--maxCPU - 指定要配置給 PDB 的 CPU 數目上限
--maxSize - 指定新 PDB 的最大儲存大小 (GB)
--resume - 繼續上一次執行
--resume --sessionID 指定繼續特定的階段作業 ID
--executePrereqs - 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--waitForCompletion - 指定 false 以在背景中執行作業。有效值:true 或 false
--sourcePDBExportedTDEKeyFile - 指定來源 PDB 匯出的金鑰檔案。此變數只適用於 12.1 個資料庫。
--blobLocation - 指定將在「資料保全」環境中產生待命 blob 檔案的自訂路徑
--standbyBlobFromPrimary - 指定從主要資料庫準備的待命 blob 檔案位置。這只有在待命資料庫 PDB 作業才需要。請注意,參數 --blobLocation 和 --standbyBlobFromPrimary 互斥。
--excludeUserTablespaces - 可略過使用者表格空間的選項,例如 t1 、t2 、t3 。
--excludePDBData - 指定 true/yes 以略過來源 PDB 的使用者資料。
--pdbAdminUserName - 指定新的 PDB 管理員使用者名稱
--lockPDBAdminAccount - 指定 true 或 false 來鎖定 PDB 管理員使用者帳戶。預設值為 true。
--sourcePDBServiceConvertList - 指定要轉換之目標服務名稱的來源清單 (以逗號區隔)。語法為 source_srv1:new_srv1、source_srv2:new_srv2。
--upgradePDB - 指定在進行這項作業時升級 PDB
--createFromSnapshot | --snapshot - -
--createFromSnapshot - 指定從 PDB 快照建立 PDB
--createFromSnapshot --snapshotName 指定建立 PDB 之 PDB 的快照名稱。
--createFromSnapshot --copyDataFiles 指定此選項以略過快照複製。
--snapshot - 指定以建立含有快照複製的 PDB。
--refreshablePDB - 指定建立可重新整理的 PDB
--refreshablePDB --refreshMode 指定可重新整理 PDB 的重新整理模式。有效值:AUTO 或 MANUAL
--refreshablePDB --refreshMode → --refreshIntervalInMinutes 指定 refreshablePDB 的更新間隔 (分鐘)
--refreshablePDB --dblinkUsername 指定用於連線遠端資料庫之資料庫連結的遠端資料庫通用使用者
--refreshablePDB --dblinkUsername → --honorCaseSensitiveUserName 指示指定的使用者名稱區分大小寫
--dbLinkName - 指向遠端資料庫的目標資料庫中,指定現有的資料庫連結名稱

升級後,您必須為來源 PDB 提供 SYS 使用者密碼。新複製的 PDB 會繼承來源 PDB 的管理密碼。複製的 PDB 會使用下列格式命名:dbname_sourcepdbname。只有不屬於「資料保全」組態且使用 Oracle AI Database 版本 12.2.0.1 或更新版本的資料庫,才支援此命令。

常見問題:

問:dbaascli pdb remoteClone 命令用於什麼?

答:dbaascli pdb remoteClone 命令可用來建立新的可插式資料庫 (PDB),作為另一個容器資料庫 (CDB) 中現有 PDB 的複製項。

問:哪些使用者應該執行 dbaascli pdb remoteClone 命令?

A:命令應以 root 或 oracle 使用者身分執行。

Q:進行 dbaascli pdb remoteClone 作業時,需要什麼?

答:您必須提供來源 PDB 的 SYS 使用者密碼。

問:– pdbName 參數指定什麼?

A:--pdbName 參數會指定您要複製之來源 PDB 的名稱。

Q:– dbName 參數代表什麼?

答:--dbName 參數代表將代管新複製之 PDB 的 CDB 名稱 (DB_NAME)。

問:如何格式化 – sourceDBConnectionString?

A:--sourceDBConnectionString 的格式應為 <scan_name>:<scan_port>/<database_service_name>。

問:– targetPDBName 參數的用途為何?

A:--targetPDBName 參數會指定新複製之 PDB 的名稱。

問:什麼是 – powerLimit 控制?

A:--powerLimit 參數控制用於複製作業的平行程度。有效值介於 1 與 128 之間。

問:– maxCPU 參數定義什麼?

A:--maxCPU 參數定義要配置給 PDB 複製處理作業的 CPU 數目上限。

問:– maxSize 的功能是什麼?

A:--maxSize 參數會指定新 PDB 的儲存大小上限 (GB)。

Q:– resume 參數的作用是什麼?

A:--resume 參數會繼續先前的複製作業。

問:你應該提供什麼 – resume 選項?

答:如果您要繼續上一個作業,可以指定 --sessionID 來繼續特定的階段作業。

問:什麼是 – executePrereqs 控制?

A:--executePrereqs 參數會決定是否只執行複製作業的先決條件。有效值為 yes 或 no。

問:– waitForCompletion 如何影響操作?

A:--waitForCompletion 參數指定是要等待作業完成,或是在背景執行。有效值為 true 或 false。

Q:– sourcePDBExportedTDEKeyFile 參數指定了什麼?

A:--sourcePDBExportedTDEKeyFile 參數會指定從來源 PDB 匯出的金鑰檔案。此參數只適用於 Oracle Database 版本 12.1。

問:– blobLocation 參數定義什麼?

A:--blobLocation 參數指定將在「資料保全」環境中產生待命 BLOB 檔案的自訂路徑。

問:何時使用 – standbyBlobFromPrimary?

A:--standbyBlobFromPrimary 參數會指定從主要資料庫準備的待命 BLOB 檔案位置。這只有在待命資料庫 PDB 作業才需要。

問:可以一起使用 – blobLocation 和 – standbyBlobFromPrimary?

答:否,--blobLocation 和 --standbyBlobFromPrimary 互斥,不能一起使用。

問:– excludeUserTablespaces 選項有什麼作用?

答:--excludeUserTablespaces 選項可讓您略過複製特定的使用者表格空間。例如,t1、t2、t3。

問:– excludePDBData 有什麼效果?

A:--excludePDBData 選項指定是否要在複製時略過來源 PDB 的使用者資料。有效值為 true 或 yes。

問:– pdbAdminUserName 指定什麼?

A:--pdbAdminUserName 參數會為複製的 PDB 指定新的管理員使用者名稱。

問:什麼是 – lockPDBAdminAccount 選項控制?

A:--lockPDBAdminAccount 選項會指定是否鎖定 PDB 管理員使用者帳戶。預設值為 true。

問:– sourcePDBServiceConvertList 指定什麼?

A:--sourcePDBServiceConvertList 參數會指定來源到目標服務名稱轉換的逗號分隔清單。例如,source_srv1:new_srv1、source_srv2:new_srv2。

問:-refreshablePDB 的目的是什麼?

A:--refreshablePDB 參數會指定是否建立可重新整理的 PDB。

問:什麼是 – refreshMode 控制?

答:--refreshMode 參數控制可重新整理 PDB 的重新整理模式。有效值為 AUTO 或 MANUAL。

問:– refreshIntervalInMinutes 如何運作?

A:--refreshIntervalInMinutes 參數指定重新整理可重新整理 PDB 的間隔 (分鐘)。

問:什麼是 – dblinkUsername 用於?

A:--dblinkUsername 參數指定遠端資料庫的通用使用者,用來連線遠端資料庫的資料庫連結。

問:– honorCaseSensitiveUserName 選項指出什麼?

A:--honorCaseSensitiveUserName 選項表示指定的使用者名稱區分大小寫。

問:– updateDBBlockCacheSize 有什麼效果?

答:--updateDBBlockCacheSize 選項可讓應用程式設定資料庫區塊快取大小初始化參數,以支援不同區塊大小的資料複製。

問:如果 dbaascli pdb remoteClone 命令發生錯誤,該怎麼辦?

答:檢閱錯誤訊息以瞭解詳細資訊,確定已正確指定所有參數,並確認您具有必要的權限和證明資料。此外,請檢查來源和目標資料庫是否符合所有需求。

問:如果忘記來源 PDB 的 SYS 使用者密碼,該怎麼辦?

答:您將需要重設或復原來源 PDB 的 SYS 使用者密碼。如果沒有,就無法完成複製作業。

範例:dbaascli pdb remoteClone

dbaascli pdb remoteClone --sourceDBConnectionString test-can.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com:1521 --pdbName source_pdb1 --dbName db9944 --targetPDBName new_pdb1 --maxsize 5 --maxcpu 2
dbaascli pdb remoteClone --sourceDBConnectionString orcla.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com --pdbName source_pdb1 --dbName db9944 --targetPDBName new_pdb1 --maxsize 5 --maxcpu 2

dbaascli pdb 重新配置

如果要將指定的 PDB 從遠端資料庫搬移至本機資料庫,請使用 dbaascli pdb relocate 命令。

先決條件:

以 oracle 使用者身分執行命令。出現提示時,您必須提供來源資料庫的 SYS 使用者密碼。

語法:

dbaascli pdb relocate --pdbName <value> --dbName <value> --sourceDBConnectionString <value> [--targetPDBName <value>] [--powerLimit <value>] [--maxCpu <value>] [--maxSize <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--sourcePDBServices <value>] [--sourcePDBReadOnlyServices <value>] [--relocateAvailabilityType <value>] [--waitForCompletion <value>]
        {
            [--blobLocation <value>]
            | [--standbyBlobFromPrimary <value>]
        }
        [--upgradePDB] [--updateDBBlockCacheSize]
        {
            [--skipOpenPDB [--enableRefreshMode --refreshMode <value> [--refreshIntervalInMinutes <value>]]]
            | [--completePDBRelocate]
        }
        {
            [--dblinkUsername <value> [--honorCaseSensitiveUserName]]
            | [--dbLinkName <value>]
        }

參數:

參數 屬性 描述
--pdbName - 指定要搬移的來源 PDB 名稱
--dbName - 指定目標資料庫名稱
--sourceDBConnectionString - 以 <scan_name>:<scan_port>/<database_service_name> 格式指定來源資料庫連線字串
--targetPDBName - 指定目標 PDB 的名稱 (新搬移的 PDB)
--powerLimit - 指定要用於搬移作業的平行程度
--maxCpu - 指定要配置給 PDB 的 CPU 數目上限
--maxSize - 指定新 PDB 的最大儲存大小 (GB)
--resume - 指定繼續先前的執行作業
--resume --sessionID 指定繼續特定的階段作業 ID
--executePrereqs - 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--sourcePDBServices - 指定以逗號區隔的來源 PDB 服務清單
--sourcePDBReadOnlyServices - 指定以逗號區隔的來源 PDB 唯讀服務清單
--relocateAvailabilityType - 指定 MAX 或 NORMAL 可用性,以啟用監聽器連線轉送
--waitForCompletion - 指定 false 以在背景中執行作業。有效值:true 或 false
--blobLocation - 指定將在 DG 環境中產生待命 blob 檔案的自訂目錄位置。
--standbyBlobFromPrimary - 指定從主要資料庫準備的待命 BLOB 檔案位置。只有待命作業才需要此項目。
--upgradePDB - 指定 true,以在此作業中升級 PDB。有效值:true 或 false。
--updateDBBlockCachesize - 指定啟用應用程式以設定 db block cache size 初始化參數,以支援不同區塊大小的資料複製
--skipOpenPDB - 指定在目前作業結束時不要開啟 PDB。
--skipOpenPDB --enableRefreshMode 指定在 PDB 搬移步驟 1 中啟用 PDB 重新整理支援。
--skipOpenPDB --enableRefreshMode → --refreshMode 指定重新整理可重新整理 PDB 的模式。有效值:AUTO 或 MANUAL
--skipOpenPDB --enableRefreshMode → --refreshMode → --refreshIntervalInMinutes 指定重新整理 refreshablePDB 的間隔 (分鐘)
--completePDBRelocate - 如果以兩步驟操作完成,則指定完成 PDB 搬移。

常見問題:

問:dbaascli pdb relocate 命令的用途為何?

答:dbaascli pdb relocate 命令用於將可插拔資料庫 (PDB) 從遠端資料庫搬移至本機資料庫。

問:哪些使用者應該執行 dbaascli pdb relocate 命令?

A:命令應以 Oracle 使用者身分執行。

問:進行 dbaascli pdb 搬移作業時,需要什麼?

答:您必須提供來源資料庫的 SYS 使用者密碼。

問:– pdbName 參數指定什麼?

A:--pdbName 參數會指定要搬移之來源 PDB 的名稱。

問:– dbName 參數的用途為何?

A:--dbName 參數會指定將搬移 PDB 的目標資料庫名稱。

問:如何格式化 – sourceDBConnectionString?

A:--sourceDBConnectionString 的格式應為 <scan_name>:<scan_port>/<database_service_name>。

問:– targetPDBName 參數的功能是什麼?

A:--targetPDBName 參數會指定重新定位之 PDB 的新名稱。

問:使用什麼 – powerLimit?

A:--powerLimit 參數指定重新定位作業期間要使用的平行程度。

問:– maxCpu 如何影響搬遷過程?

A:--maxCpu 參數會指定要配置給 PDB 重新配置處理作業的 CPU 數目上限。

問:– maxSize 參數定義什麼?

A:--maxSize 參數定義新 PDB 的儲存大小上限 (GB)。

問:– resume 的功能是什麼?

A:--resume 參數指示重新定位作業應從其離開的位置繼續。

問:我應該如何提供 – resume 選項?

答:如果您要繼續上一個作業,可以指定 --sessionID 來繼續特定的階段作業。

問:– executePrereqs 參數的功能是什麼?

A:--executePrereqs 參數會決定是否只執行作業的先決條件。有效值為 yes 或 no。

Q:– sourcePDBServices 參數指定了什麼?

A:--sourcePDBServices 參數會指定逗號分隔的來源 PDB 服務清單。

問:– sourcePDBReadOnlyServices 參數列表是什麼?

答:--sourcePDBReadOnlyServices 參數會列出以逗號分隔的來源 PDB 唯讀服務清單。

問:– waitForCompletion 有什麼效果?

A:--waitForCompletion 參數會指定是否要在背景執行作業。有效值為 true 或 false。

問:– blobLocation 參數指定什麼?

A:--blobLocation 參數會指定自訂目錄的位置,待命 BLOB 檔案會在「資料保全」環境中產生。

問:我何時應該使用 – standbyBlobFromPrimary?

A:使用 --standbyBlobFromPrimary 來指定從主要資料庫準備的待命 BLOB 檔案位置。只有待命作業才需要此項目。

問:我可以一起使用 – blobLocation 和 – standbyBlobFromPrimary?

答:否,--blobLocation 和 --standbyBlobFromPrimary 參數互斥且不能一起使用。

問:什麼是 – upgradePDB?

答:--upgradePDB 參數會指定是否在重新定位作業中升級 PDB。有效值為 true 或 false。

問:-updateDBBlockCacheSize 的目的是什麼?

答:--updateDBBlockCacheSize 選項允許應用程式設定資料庫區塊快取大小初始化參數,以支援不同區塊大小的資料複製。

問:– skipOpenPDB 選項有什麼作用?

答:--skipOpenPDB 選項表示不應在重新定位作業結束時開啟 PDB。

問:我何時應該使用 – completePDBRelocate?

答:使用 --completePDBRelocate 來完成 PDB 搬移 (如果是以兩步驟的作業來完成)。

問:如果在使用 dbaascli pdb relocate 命令時發生錯誤,該怎麼辦?

答:檢查錯誤訊息以瞭解詳細資訊,確定已正確指定所有參數,並確認您具備必要的權限和證明資料。您可能也需要複查先決條件和組態。

問:如果忘記來源資料庫的 SYS 使用者密碼,該怎麼辦?

答:您必須重設或復原來源資料庫的 SYS 使用者密碼。如果沒有,您就無法完成重新定位作業。

範例:dbaascli pdb relocate

dbaascli pdb relocate --sourceDBConnectionString test-scan.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com:1521/source_cdb_service_name --pdbName source_pdb --dbName target_db