資料庫管理

本節涵蓋管理 Oracle AI 資料庫的全面任務。包括用於建立 (dbaascli database create)、刪除 (dbaascli database delete) 以及升級資料庫 (dbaascli database upgrade) 的命令。其他主要工作包括新增和刪除執行處理 (dbaascli database addInstance、dbaascli database deleteInstance)、管理備份 (dbaascli database backup) 以及處理資料庫復原 (dbaascli database recover)。您也可以修改資料庫參數、管理可插式資料庫、修正資料庫,以及將非 CDB 資料庫轉換成 PDB。這些命令可確保有效控制整個資料庫生命週期。

dbaascli 資料庫 addInstance

若要在指定的節點上新增資料庫執行處理,請使用 dbaascli database addInstance 命令。

先決條件:

語法:

dbaascli database addInstance --dbname <value> --node <value> [--newNodeSID <value>]

參數:

參數 描述
--dbname 指定 Oracle AI Database 名稱
--node 指定資料庫執行處理的節點名稱
--newNodeSID 指定要新增至新節點之執行處理的 SID

常見問題:

問:dbaascli 資料庫 addInstance 命令的用途是什麼?

答:dbaascli database addInstance 命令用於新增資料庫執行處理至 Oracle Base Database Cloud@Customer 環境中的指定節點。

問:執行 dbaascli 資料庫 addInstance 命令有哪些先決條件?

A:命令必須以 root 使用者身分執行,才能具備新增資料庫執行處理的必要權限。

問:此命令中的 – dbname 選項代表什麼?

答:--dbname 選項會指定您要為其新增實例的 Oracle AI Database 名稱。

問:dbaascli 資料庫 addInstance 命令中使用的 – node 選項為何?

A:--node 選項會指定要新增資料庫執行處理之節點的名稱。

問:此指令中的 – newNodeSID 選項的用途為何?

A:--newNodeSID 選項可讓您指定將在指定節點上建立之新資料庫執行處理的 SID (系統 ID)。

問:新增實例時是否必須指定 – newNodeSID 選項?

A:--newNodeSID 選項為選擇性選項。若未提供,Oracle 將會自動產生新資料庫執行處理的 SID。

問:什麼時候應該使用 dbaascli 資料庫 addInstance 命令?

答:當您要透過在多節點 Oracle AI Database 設定中新增實例至其他節點來擴展資料庫時,請使用此指令。

問:是否可以使用此命令將多個資料庫執行處理新增至不同的節點?

答:是的,您可以指定適當的 --node 和 --dbname 值,多次執行命令,將資料庫執行處理新增至不同的節點。

問:如果 – node 選項中指定的節點無法使用,會發生什麼情況?

A:如果指定的節點無法使用或無法連線,命令將會失敗。執行命令之前,請先確定節點已正確設定且可供存取。

問:此命令可以在「資料保全」環境中使用嗎?

答:是的,您可以在資料保全環境中使用 dbaascli database addInstance 命令來新增執行處理,但建議您遵循這類組態的必要資料保全準則。

問:這個命令會造成資料庫停止工作嗎?

答:將執行處理新增至新節點通常不會導致現有資料庫執行處理停止工作,但建議您檢查環境是否有任何特定相依性。

dbaascli 資料庫備份

若要設定具有備份儲存目的地的 Oracle AI Database、進行資料庫備份、查詢備份及刪除備份,請使用 dbaascli database backup 命令。

先決條件:

語法:

dbaascli database backup --dbname <value>
        {
            --list
                {
                    [--backupType <value>]
                    | [--json <value>]
                }
            | --start [--level0] [--level1]
                {
                    [--archival --tag <value>]
                    | [--archivelog]
                }
            | --delete --backupTag <value>
            | --status --uuid <value> [--json <value>]
            | --getBackupReport
                {
                    --tag <value>
                    | --latest
                }
                --json <value>
            | --configure
                {
                    --configFile <value>
                    | --enableRTRT
                    | --disableRTRT
                    | --disableCatalog
                    | --deleteImmutableConfiguration
                }
            | --getConfig
                {
                    [--configFile <value>]
                    | [--showOldParams]
                }
            | --validate [--untilTime <value>]
            | --showHistory [--all]
            | --getSchedules
        }

參數:

參數 屬性 描述
--dbname - 指定 Oracle AI Database 名稱
--list - 傳回資料庫備份資訊
--list --backupType | --json -
--list --backupType 指定 backupType (REGULAR-L0 | REGULAR-L1 | ARCHIVELOG | LONGTERM)。
--list --json 指定 JSON 輸出的檔名。
--start - 備份資料庫備份。
--start --level0 建立 Level-0 (完全) 備份。
--start --level1 建立 Level-1 (遞增) 備份。
--start --archival | --archivelog -
--start --archival 備份完整備份。
--start --archival → --tag 指定備份標記。
--start --archivelog -
--delete - 以多種方式刪除檔案備份。
--delete --backupTag 指定要刪除的備份標記。
--status - 顯示備份工作程序的詳細資料。
--status --uuid 備份作業的唯一 ID。輸入格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
--status --uuid → --json 指定 JSON 輸出的檔名。
--getBackupReport - 傳回 BackupReport。
--getBackupReport --tag | --latest -
--getBackupReport --tag 指定備份標記。
--getBackupReport --latest 傳回最新的備份報告 (所有資料庫備份類型)。
--getBackupReport --json 指定 JSON 輸出的檔名。
--configure - 為備份設定資料庫。
--configure --configFile | --enableRTRT | --disableRTRT | --disableCatalog | --deleteImmutableConfiguration -
--configure --configFile 指定資料庫備份組態檔。
--configure --enableRTRT 啟用即時重做傳輸。
--configure --disableRTRT 停用即時重做傳輸。
--configure --disableCatalog 停用復原目錄。
--configure --deleteImmutableConfiguration -
--getConfig - 傳回資料庫備份組態。
--getConfig --configFile | --showOldParams -
--getConfig --configFile 指定資料庫備份組態檔。
--getConfig --showOldParams 傳回備份組態的舊參數名稱。
--validate - 驗證備份是完整且無損毀的。
--validate --untilTime 從最近的 Level-0 (full) 備份驗證,直到提供時間為止。輸入格式:DD-MON-YYYY HH24:MI:SS。
--showHistory - 顯示備份作業的歷史記錄。
--showHistory --all 顯示所有備份作業。
--getSchedules - 傳回指定資料庫的所有備份排程。

注意:enableRTRT 和 disableRTRT 僅適用於 Oracle Base Database Cloud@Customer 上的 ZDLRA 備份目的地。

常見問題:

問:dbaascli 資料庫備份命令的用途為何?

答:dbaascli database backup 命令用於設定 Oracle AI Database 備份儲存目的地、進行備份、查詢備份,以及刪除現有備份。

問:執行 dbaascli 資料庫備份命令有哪些先決條件?

A:命令必須以 root 使用者身分執行,才能具備備份管理的必要權限。

問:如何使用此命令啟動 Oracle AI Database 的完整備份?

A:若要啟動完整備份 (Level-0),請使用下列語法:

dbaascli database backup --dbname <value> --start --level0

問:如何使用 dbaascli 資料庫備份命令執行增量備份?

A:若要執行層次 1 增量備份,請使用以下語法:

dbaascli database backup --dbname <value> --start --level1

問:Level-0 與 Level-1 備份之間有何差異?

A:Level-0 備份是資料庫的完整備份,而 Level-1 備份是增量備份,只會擷取自上次 Level-0 或 Level-1 備份後所做的變更。

問:我可以使用此命令進行存檔備份嗎?

答:是的,您可以使用 --archival 選項和 --start 命令來建立存檔備份:

dbaascli database backup --dbname <value> --start --archival --tag <backup_tag>

問:如何刪除現有的封存備份?

A:若要刪除存檔備份,請使用下列語法:

dbaascli database backup --dbname <value> --delete --backupTag <tag_value>

問:如何使用命令檢查特定備份的狀態?

答:您可以使用 --status 選項和 --uuid 參數來檢查備份的狀態,如下所示:

dbaascli database backup --dbname <value> --status --uuid <backup_uuid>

問:如何列出資料庫的所有備份?

A:若要列出特定資料庫的所有可用備份,請使用 --list 選項:

dbaascli database backup --dbname <value> --list

若為 JSON 輸出,請新增 --json 選項:

dbaascli database backup --dbname <value> --list --json <file_name>

問:如何檢索備份報告?

答:您可以使用 --getBackupReport 選項,取得特定標記或最新備份的備份報表:

dbaascli database backup --dbname <value> --getBackupReport --tag <backup_tag> --json <file_name>

或擷取最新的報表:

dbaascli database backup --dbname <value> --getBackupReport --latest --json <file_name>

問:如何設定資料庫備份設定值?

A:使用 --configure 選項指定備份組態檔或啟用 / 停用即時重做傳輸 (RTRT):

dbaascli database backup --dbname <value> --configure --configFile <config_file>

若要啟用 RTRT:

dbaascli database backup --dbname <value> --configure --enableRTRT

問:如何檢查資料庫目前的備份組態?

A:若要檢視目前的資料庫備份組態,請使用 --getConfig 選項:

dbaascli database backup --dbname <value> --getConfig

問:dbaascli 資料庫備份命令中的 – validate 選項有哪些作用?

A:--validate 選項會檢查備份是否完整且不會損毀。您可以使用 --untilTime 選項來指定時間範圍:

dbaascli database backup --dbname <value> --validate --untilTime "DD-MON-YYYY HH24:MI:SS"

問:如何檢視資料庫的所有備份作業歷史記錄?

A:使用 --showHistory 選項顯示所有備份作業的歷史記錄:

dbaascli database backup --dbname <value> --showHistory

如需完整的歷史記錄,包括所有作業:

dbaascli database backup --dbname <value> --showHistory --all

問:什麼是 RTRT (即時重做傳輸) 選項,以及何時應該使用它們?

答:RTRT 選項 (--enableRTRT 和 --disableRTRT) 用於控制「即時重做傳輸」,僅適用於 Oracle Base Database Cloud@Customer 環境中的 ZDLRA (Zero Data Loss Recovery Appliance) 備份目的地。啟用 RTRT 以確保即時重做日誌出貨。

範例:

dbaascli 資料庫切回

若要關閉並重新啟動指定的 Oracle Base Database Cloud@Customer 資料庫,請使用 dbaascli database bounce 命令。

先決條件:

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

語法:

dbaascli database bounce
[--dbname][--rolling <value>]

參數:

參數 描述
--dbname 指定資料庫的名稱
--rolling 指定 true 或 false 以輪流方式切回資料庫。預設值為 false。

此命令會以立即模式執行資料庫關閉。然後,資料庫就會重新啟動並開啟。在 Oracle Database 12c 或更新版本中,所有 PDB 也都會開啟。

常見問題:

問:dbaascli 資料庫彈跳命令的目的是什麼?

答:dbaascli database bounce 命令用於關閉和重新啟動 Oracle Base Database Cloud@Customer 中的 Oracle AI Database。它支援以輪流方式重新啟動資料庫,可確保最少的中斷。

問:執行 dbaascli 資料庫切回命令有哪些先決條件?

A:命令必須以具有關閉和重新啟動資料庫所需權限的 oracle 使用者身分執行。

問:此命令中指定的 – dbname 選項為何?

A:--dbname 選項會指定要關閉並重新啟動之 Oracle AI Database 的名稱。

問:dbaascli 資料庫切回命令中使用的 – rolling 選項為何?

A:--rolling 選項會指定是否要以輪流方式退回 (重新啟動) 資料庫。如果設為 true,資料庫執行處理會逐一重新啟動,以確保最短的停止工作時間。預設值為 false,可一次重新啟動所有執行處理。

問:「彈跳資料庫」是什麼意思?

答:重新啟動資料庫是指關閉資料庫,然後重新啟動資料庫。此作業可用於維護、套用變更或從某些類型的問題復原。

問:dbaascli 資料庫切回命令是否執行正常關閉?

答:是的,命令會以「立即」模式執行關閉,這會關閉資料庫並倒回未確認的交易,而不等待使用者中斷連線。

問:此命令是否會自動開啟 Oracle 12c 或更新版本資料庫中的所有 PDB?

答:是的,如果資料庫執行 Oracle Database 12c 或更新版本,則命令會在重新啟動資料庫後自動開啟所有可插拔資料庫 (PDB)。

問:dbaascli 資料庫切回命令可以在多節點或 RAC (Real Application Clusters) 環境中使用嗎?

答:是的,在多節點或 RAC 環境中,您可以使用 --rolling 選項,逐一重新啟動資料庫執行處理,將停機時間降到最低。

問:如果我沒有指定 – rolling 選項,會發生什麼事?

A:如果未指定 --rolling 選項,或設為 false,則命令會同時關閉並重新啟動所有資料庫執行處理,這可能會導致短暫停止工作。

問:dbaascli 資料庫切回命令中是否有 – rolling 選項的預設值?

A:是,--rolling 選項的預設值為 false,表示除非另有指定,否則資料庫將以非輪流方式退回。

問:如何以滾動模式重新啟動資料庫?

答:若要以機動模式重新啟動資料庫,請使用下列語法:

dbaascli database bounce --dbname <value> --rolling true

問:在作用中階段作業期間執行 dbaascli 資料庫切回命令是否安全?

答:雖然命令使用立即關閉 (它會倒回未確認的交易),但建議您一律先確定沒有重要或作用中的階段作業,再重新啟動資料庫。

問:此命令是否可以用於多用戶資料庫中的特定 PDB?

答:否,dbaascli database bounce 命令會在整個資料庫上運作。在 Oracle 12c 或更新版本中,它會切回容器資料庫 (CDB) 並開啟所有 PDB,但不允許切回個別 PDB。

問:如果資料庫在彈回資料庫後未上線,該怎麼辦?

答:如果資料庫無法重新啟動,請查看日誌以瞭解關閉或啟動處理作業期間發生的任何錯誤。調查 Oracle 警示日誌可能會提供造成問題的洞察分析。

範例:dbaascli 資料庫切回

dbaascli database bounce --dbname dbname

dbaascli 資料庫變更密碼

若要變更指定 Oracle AI Database 使用者的密碼,請使用 dbaascli database changePassword 命令。出現提示時,請輸入要變更密碼的使用者名稱,然後輸入密碼。

先決條件:

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

語法:

dbaascli database changePassword [--dbname <value>] [--user <value>]
{
  [--prepareStandbyBlob <value> [--blobLocation <value>]] | [--standbyBlobFromPrimary <value>]
}
[--resume [--sessionID <value>]]

參數:

參數 描述
--dbname 指定要執行動作的 Oracle AI Database 名稱
--user 指定需要變更密碼的使用者名稱
--prepareStandbyBlob 指定 true 以產生 blob 檔案,其中包含變更「資料保全」環境中密碼所需的使用者自建物件。有效值:true 或 false
--blobLocation 指定將產生 blob 檔案的自訂路徑
--standbyBlobFromPrimary 指定從主要資料庫準備的待命 blob 檔案
--resume 指定繼續先前的執行作業
--sessionID 指定繼續特定的階段作業 ID

常見問題:

問:dbaascli 資料庫 changePassword 命令的功能是什麼?

答:dbaascli database changePassword 命令是用來變更指定 Oracle AI Database 使用者的密碼。系統會提示您輸入使用者名稱,然後輸入新密碼。

問:使用 dbaascli 資料庫 changePassword 命令有哪些先決條件?

答:您必須以 root 或 oracle 使用者身分執行命令,才能變更資料庫使用者的密碼。

問:使用此命令時,如何指定資料庫?

答:使用 --dbname 選項來指定要執行動作的 Oracle AI Database 名稱。舉例而言:

dbaascli database changePassword --dbname <db_name>

問:如何指定要變更其密碼的使用者?

A:使用 --user 選項來指定需要變更其密碼的使用者名稱。舉例而言:

dbaascli database changePassword --user <username>

問:dbaascli 資料庫 changePassword 命令中的 – prepareStandbyBlob 選項有什麼用途?

A:在「資料保全」環境中使用 --prepareStandbyBlob 選項來產生 blob 檔案,其中包含待命資料庫密碼變更所需的使用者自建物件。這可確保所有「資料保全」環境的密碼同步。

問:– blobLocation 選項指定什麼?

A:--blobLocation 選項可讓您指定應產生待命 blob 檔案的自訂路徑。如果未提供,則會將檔案儲存在預設位置。

問:如何使用從主要資料庫產生的 blob 變更待命資料庫的密碼?

答:您可以使用 --standbyBlobFromPrimary 選項指定從主要資料庫準備的 blob 檔案,以將密碼變更套用至待命資料庫。舉例而言:

dbaascli database changePassword --standbyBlobFromPrimary <blob_file_path>

問:此指令中使用的 – resume 選項為何?

答:--resume 選項可用來繼續先前中斷的密碼變更作業。您可以視需要使用 --sessionID 選項來指定階段作業 ID。

問:我可以繼續使用 dbaascli 資料庫 changePassword 命令的特定階段作業嗎?

答:是的,您可以搭配使用 --resume 選項與 --sessionID,透過指定階段作業 ID 來繼續特定的密碼變更階段作業。

問:dbaascli 資料庫 changePassword 命令是否適用於「資料保全」環境?

答:是的。--prepareStandbyBlob 選項可用來確保密碼變更已傳輸至「資料保全」設定中的待命資料庫。

問:如果使用 -prepareStandbyBlob 時未提供 -blobLocation,會發生什麼情況?

A:如果未提供 --blobLocation,則包含密碼變更人工因素的 blob 檔案將會儲存至預設位置。

問:如何使用 dbaascli 資料庫 changePassword 檢查恢復的階段作業狀態?

答:您可以使用 --sessionID 選項來繼續特定階段作業,以指定階段作業 ID。系統會在變更密碼時取用中斷的位置。

問:此命令可以同時用於一般資料庫和 Data Guard 環境中的資料庫嗎?

答:是的,該命令適用於資料保全環境中的一般 Oracle AI 資料庫和資料庫。在 Data Guard 環境中,其他選項 (例如 --prepareStandbyBlob) 可用來管理主要和待命資料庫的密碼變更。

範例:dbaascli database changePassword

dbaascli database changepassword --dbname db19

dbaascli 資料庫 convertToPDB

如果要將指定的非 CDB 資料庫轉換成 PDB,請使用 dbaascli database convertToPDB 命令。

語法:

dbaascli database convertToPDB --dbname <value> [--cdbName <value>] [--executePrereqs]
        {
            [--copyDatafiles]
            | [--backupPrepared]
        }
        [--targetPDBName <value>] [--waitForCompletion <value>] [--resume [--sessionID <value>]]

參數:

參數 描述
--dbname 指定 Oracle AI Database 的名稱
--cdbName 指定將要在其中建立 PDB 的目標 CDB 名稱。如果 CDB 不存在,就會將它建立在與來源非 CDB 相同的 Oracle 本位目錄中
--executePrereqs 指定僅執行轉換前檢查
--copyDatafiles 指定建立新的資料檔複本,而不使用來源資料庫的資料檔複本
--backupPrepared 在執行 PDB 轉換之前,認可為非 CDB 執行適當資料庫備份的旗標
--targetPDBName 指定將建立為作業一部分的 PDB 名稱
--waitForCompletion 指定 false 以在背景中執行作業。有效值:true 或 false
--resume 指定繼續先前的執行作業
--sessionID 指定繼續特定的階段作業 ID

常見問題:

問:dbaascli 資料庫 convertToPDB 命令的功能是什麼?

答:dbaascli database convertToPDB 命令會將指定的非 CDB Oracle AI Database 轉換成容器資料庫 (CDB) 中的可插拔資料庫 (PDB)。

問:如何指定要轉換的資料庫?

A:使用 --dbname 選項指定要轉換之非 CDB Oracle AI Database 的名稱。舉例而言:

dbaascli database convertToPDB --dbname <db_name>

問:如何為 PDB 轉換指定目標 CDB?

A:使用 --cdbName 選項指定將建立新 PDB 的目標容器資料庫 (CDB) 名稱。如果 CDB 不存在,新的 CDB 將會在與來源非 CDB 相同的 Oracle 本位目錄中建立。

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

答:--executePrereqs 選項會執行轉換前檢查,以確保資料庫已準備好進行轉換。在此步驟期間,不會對資料庫進行任何變更。

問:如何在轉換期間複製資料檔案?

答:您可以使用 --copyDatafiles 選項來建立新的資料檔複本,而不是使用來源資料庫的原始檔案。

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

A:--keepSourceDB 選項可讓您在轉換作業完成後保留原始來源非 CDB。如果不使用此選項,轉換後將會移除來源資料庫。

問:如何確認在轉換前已準備備份?

答:使用 --backupPrepared 旗標確認您在執行轉換之前已對非 CDB 資料庫進行適當的備份。此步驟對於避免資料遺失至關重要。

問:如何為新 PDB 指定自訂名稱?

答:使用 --targetPDBName 選項為將在轉換過程中建立的新 PDB 提供特定名稱。舉例而言:

dbaascli database convertToPDB --dbname <db_name> --targetPDBName <pdb_name>

問:我可以在背景執行轉換嗎?

答:是的,您可以使用 --waitForCompletion 選項來指定是否應在背景執行作業。使用 false 在背景執行,使用 true 等待作業完成後再繼續。預設值為 true。

問:如何恢復先前中斷的轉換?

答:您可以使用 --resume 選項來恢復先前中斷的轉換程序。您可以選擇性地提供 --sessionID 以繼續特定階段作業。

問:如果未指定 CDB 名稱,會發生什麼情況?

A:如果未提供 --cdbName 選項,系統將會在與來源非 CDB 資料庫相同的 Oracle 本位目錄中建立新 PDB。

問:我可以在不知會工作階段 ID 的情況下中斷後繼續轉換嗎?

答:是的,若未指定階段作業 ID,使用 --resume 選項將會繼續上一個已知的階段作業。如果您要繼續特定階段作業,可以提供 --sessionID。

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

A:如果有多個中斷的階段作業,--sessionID 選項會與 --resume 搭配使用,以指定要繼續的特定階段作業。

問:在將非 CDB 轉換成 PDB 之前,是否必須先進行備份?

答:雖然 --backupPrepared 旗標是選擇性的,但是強烈建議您先備份非 CDB,再執行轉換成 PDB。這可確保在轉換期間發生任何問題時,您能夠回復資料庫。

範例:dbaascli database convertToPDB

若要執行轉換前檢查:

dbaascli database convertToPDB --dbname ndb19 --cdbname cdb19 --backupPrepared --executePrereqs

若要使用非 CDB 的資料檔複本來執行完整轉換,請執行下列動作:

dbaascli database convertToPDB --dbname tst19 --cdbname cdb19 --copyDatafiles

dbaascli 資料庫建立

若要建立 Oracle AI Database,請使用 dbaascli database create 命令。出現提示時,請輸入 sys 和 tde 密碼。

使用此命令可建立 Oracle Database 版本 12.1.0.2 或更新的版本 (版本更新為 JAN 2021 或更新的版本)。對於版本較低的資料庫,建議使用以 OCI 主控台為基礎的 API。

先決條件:

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

語法:

dbaascli database create --dbName {--oracleHome | --oracleHomeName}
[--dbUniqueName <value>]
[--dbSID <value>]
[--createAsCDB <value>]
[--pdbName <value>]
[--pdbAdminUserName <value>]
[--dbCharset <value>]
[--dbNCharset <value>]
[--dbLanguage <value>]
[--dbTerritory <value>]
[--sgaSizeInMB <value>]
[--pgaSizeInMB <value>]
[--datafileDestination <value>]
[--fraDestination <value>]
[--fraSizeInMB <value>]
[--nodeList <value>]
[--tdeConfigMethod <value>]
[--kmsKeyOCID <value>]
{
            [--resume [--sessionID <value>]]
            | [--revert [--sessionID <value>]]
        }
[--executePrereqs]
[--honorNodeNumberForInstance <value>]
[--lockPDBAdminAccount <value>]
[--dbcaTemplateFilePath <value>]
[--waitForCompletion]

參數:

參數 描述
--dbname 指定資料庫的名稱
--oracleHome 指定 Oracle 本位目錄的地點
--oracleHomeName 指定 Oracle 本位目錄的名稱
--dbUniqueName 指定資料庫唯一名稱
--dbSID 指定資料庫的 SID
--createAsCDB 指定 true 或 false,將資料庫建立為 CDB 或 Non-CDB
--pdbName 指定 PDB 的名稱
--pdbAdminUserName 指定 PDB 管理員使用者名稱
--dbCharset 指定資料庫字元集
--dbNCharset 指定資料庫本國字元集
--dbLanguage 指定資料庫語言
--dbTerritory 指定資料庫區域
--sgaSizeInMB 以 MB 為單位指定 sga_target 值
--pgaSizeInMB 以 MB 為單位指定 pga_aggregate_target 值
--datafileDestination 指定資料庫資料檔要使用的 ASM 磁碟群組名稱
--fraDestination 指定要用於資料庫「快速復原區域」的 ASM 磁碟群組名稱
--fraSizeInMB 指定「快速復原區域」大小值 (MB)
--nodeList 指定以逗號區隔的資料庫節點清單
--tdeConfigMethod 指定 TDE 組態方法。有效值:FILE、KMS
--kmsKeyOCID 指定用於 TDE 的 KMS 金鑰 OCID。只有在選取 TDE 的 KMS 時才適用
--resume 繼續上一個執行
--revert 倒回前次執行
--sessionID 恢復或回復至特定梯次 ID。
--executePrereqs 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--honorNodeNumberForInstance 指定 true 或 false,以指示執行處理名稱後面加上叢集節點編號。預設值:true
--lockPDBAdminAccount 指定 true 或 false 來鎖定 PDB 管理員使用者帳戶。預設值為 true
--dbcaTemplateFilePath 指定要建立資料庫的 dbca 樣板名稱絕對路徑。
--waitForCompletion 指定 false 以在背景中執行作業。有效值:true 或 false

常見問題:

問:dbaascli 資料庫建立命令的功能為何?

答:使用 dbaascli database create 命令建立新的 Oracle AI Database 執行處理。它支援使用版本更新 JAN 2021 或更新版本建立 Oracle Database 版本 12.1.0.2 或更新版本。

問:如何指定要建立的 Oracle AI Database 名稱?

A:使用 --dbName 選項來指定 Oracle AI Database 的名稱。舉例而言:

dbaascli database create --dbName <db_name>

問:如何建立容器資料庫 (CDB)?

A:使用 --createAsCDB 選項並指定 true,將資料庫建立為 CDB。舉例而言:

dbaascli database create --dbName <db_name> --createAsCDB true

問:如何指定資料庫的 Oracle 本位目錄?

答:您可以使用 --oracleHome 選項來指定 Oracle 本位目錄的位置,或使用 --oracleHomeName 選項來指定 Oracle 本位目錄的名稱。

問:如何指定唯一的資料庫名稱或 SID?

A:使用 --dbUniqueName 選項來指定資料庫的唯一名稱,使用 --dbSID 選項來指定資料庫的 SID。

問:如何搭配 CDB 建立可插式資料庫 (PDB)?

答:您可以使用 --pdbName 選項來指定 PDB 的名稱,以及使用 --pdbAdminUserName 選項來設定 PDB 管理員使用者名稱。舉例而言:

dbaascli database create --dbName <db_name> --createAsCDB true --pdbName <pdb_name> --pdbAdminUserName <admin_user>

問:如何指定資料庫字元集和本國字元集?

A:使用 --dbCharset 選項來指定資料庫字元集,以及使用 --dbNCharset 選項來指定本國字元集。舉例而言:

dbaascli database create --dbName <db_name> --dbCharset AL32UTF8 --dbNCharset AL16UTF16

問:如何設定資料庫的記憶體設定值 (SGA 和 PGA)?

A:使用 --sgaSizeInMB 選項指定 SGA 大小,使用 --pgaSizeInMB 選項指定 PGA 大小 (MB)。

問:如何指定資料檔和快速復原區域 (FRA) 的目的地?

A:使用 --datafileDestination 選項來指定資料檔的 ASM 磁碟群組,使用 --fraDestination 選項來指定 FRA 的 ASM 磁碟群組。您也可以使用 --fraSizeInMB 選項來設定 FRA 大小。

問:可以在建立資料庫時設定通透資料加密 (TDE)?

答:是的,您可以使用 --tdeConfigMethod 選項設定 TDE。有效值為 FILE (用於以檔案為基礎的加密) 或 KMS (用於使用 Oracle Key Management Service)。如果使用 KMS,請以 --kmsKeyOCID 選項提供 KMS 金鑰 OCID。

問:如何在特定節點清單上建立資料庫?

A:使用 --nodeList 選項來指定應建立資料庫的節點清單 (使用逗號區隔)。

問:如何繼續或回復先前的資料庫建立嘗試?

答:使用 --resume 選項可繼續前一個執行,或使用 --revert 選項倒回前一個執行。您也可以指定 --sessionID 來繼續或回復特定階段作業。

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

A:--executePrereqs 選項只會執行建立資料庫作業的先決條件,而不會實際建立資料庫。使用 yes 或 no 來啟用或停用此選項。

問:我可以指定自訂的 DBCA 範本來建立資料庫嗎?

答:是的,請使用 --dbcaTemplateFilePath 選項來提供應該用來建立資料庫的 DBCA 範本檔案絕對路徑。

問:我可以在背景執行資料庫建立作業嗎?

答:是的,您可以使用 --waitForCompletion 選項來指定應等待資料庫建立完成 (true) 或在背景執行作業 (false)。

問:如果我未指定 -dbUniqueName 選項,會發生什麼情況?

答:如果您未使用 --dbUniqueName 指定資料庫的唯一名稱,系統將會根據提供的 --dbName 自動產生一個名稱。

問:是否可以在建立 CDB 期間鎖定 PDB 管理員帳戶?

答:是的,您可以使用 --lockPDBAdminAccount 選項並將其設為 true,在建立資料庫後鎖定 PDB 管理員帳戶。依預設,這個值會設為 true。

範例:dbaascli database create

dbaascli database create --dbName db19 --oracleHomeName myhome19 --dbSid db19sid --nodeList node1,node2 --createAsCDB true

dbaascli 資料庫 createTemplate

您可以使用此命令來建立可用來建立資料庫的資料庫樣板 (DBCA 樣板)。

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

語法:

從指定的資料庫建立新的 DBCA 樣板。

dbaascli database createTemplate --dbname <value>
 {
   --templateLocation <value> | --uploadToObjectStorage --objectStorageLoginUser <value> --objectStorageBucketName <value> [--objectStorageUrl <value>]
 }
 [--templateName <value>] [--rmanParallelism <value>]

參數:

參數 描述
--dbname 指定資料庫的名稱
--templateLocation 指定範本名稱
--uploadToObjectStorage 指定將樣板上傳至「物件儲存」
--objectStorageLoginUser 指定「物件儲存」登入使用者
--objectStorageBucketName 指定 Object Storage 貯體名稱
--objectStorageUrl 指定「物件儲存 URL」
--templateName 指定樣板的名稱
--rmanParallelism 指定併行執行值

常見問題:

問:dbaascli 資料庫 createTemplate 命令的用途是什麼?

答:dbaascli database createTemplate 命令是用來從指定的資料庫建立資料庫樣板 (DBCA 樣板),之後可以用來建立新資料庫。

問:如何指定要為其建立樣板的資料庫名稱?

答:使用 --dbname 選項指定將從中建立範本的 Oracle AI Database 名稱。舉例而言:

dbaascli database createTemplate --dbname <db_name>

問:如何指定範本的儲存位置?

A:使用 --templateLocation 選項來指定儲存 DBCA 範本的位置。舉例而言:

dbaascli database createTemplate --dbname <db_name> --templateLocation /path/to/template

問:我可以直接將範本上傳到 Object Storage 嗎?

答:是的,您可以使用 --uploadToObjectStorage 選項,將 DBCA 範本上傳到物件儲存。您必須分別以 --objectStorageLoginUser 和 --objectStorageBucketName 選項指定物件儲存登入使用者和儲存桶名稱。

問:如何在上傳樣板時指定物件儲存登入詳細資訊?

A:使用下列選項來指定物件儲存詳細資訊:

--objectStorageLoginUser:指定物件儲存登入使用者。

--objectStorageBucketName:指定物件儲存的儲存桶名稱。

--objectStorageUrl:(選擇性) 指定物件儲存的 URL (如果物件儲存與預設儲存的 URL 不同)。

舉例而言:

dbaascli database createTemplate --dbname <db_name> --uploadToObjectStorage --objectStorageLoginUser <user> --objectStorageBucketName <bucket_name>

問:如何為 DBCA 範本指定自訂名稱?

A:使用 --templateName 選項來指定 DBCA 範本的自訂名稱。舉例而言:

dbaascli database createTemplate --dbname <db_name> --templateName <template_name>

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

A:--rmanParallelism 選項會指定樣板建立處理作業期間 RMAN 作業的平行程度。舉例而言:

dbaascli database createTemplate --dbname <db_name> --rmanParallelism 4

問:如果我未指定 -templateLocation 或 -uploadToObjectStorage 選項,會發生什麼情況?

答:如果您未使用 --templateLocation 指定樣板位置,或選擇使用 --uploadToObjectStorage 上傳至物件儲存,則命令將不知道要在何處儲存建立的樣板,而且無法完成。

問:我可以同時使用 – templateLocation 和 – uploadToObjectStorage?

答:否,您應該選擇 --templateLocation 將樣板儲存在本機,或選擇 --uploadToObjectStorage 將它上傳到物件儲存,但不能同時選擇兩者。

問:將範本上傳到 Object Storage 時,是否必須提供 -objectStorageUrl 選項?

A:否,--objectStorageUrl 選項為選擇性選項。若未指定,將會使用預設的物件儲存 URL。若使用自訂物件儲存 URL,您只需要指定此選項。

問:執行 dbaascli 資料庫 createTemplate 命令需要哪些使用者權限?

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

問:我可以繼續之前失敗的範本建立程序嗎?

答:否,dbaascli database createTemplate 指令不支援繼續失敗的程序。您需要從頭開始重新啟動指令 。

dbaascli 資料庫刪除

若要刪除 Oracle AI Database,請使用 dbaascli database delete 命令。

先決條件:

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

語法:

dbaascli database delete --dbname <value>
[--deleteArchiveLogs <value>]
[--deleteBackups <value>]
[--precheckOnly <value>]
[--waitForCompletion <value>]
[--force]
[--dbSID <value>]
[--resume [--sessionID <value>]]

參數:

參數 描述
--dbname 指定資料庫的名稱。
--deleteArchiveLogs 指定 true 或 false,以指示刪除資料庫存檔日誌。
--deleteBackups 指定 true 或 false 來指示刪除資料庫備份。
--precheckOnly 指定 yes,只執行這項作業的前置檢查。有效值:yes 或 no。
--waitForCompletion 指定 false 以在背景中執行作業。有效值:true 或 false。
--force 強制刪除資料庫的旗標。
--dbSID 指定資料庫 SID。
--resume 以繼續前一個執行作業。
--sessionID 以繼續特定的階段作業 ID。

常見問題:

問:dbaascli 資料庫刪除命令的目的是什麼?

答:dbaascli database delete 命令用於刪除 Oracle Base Database Cloud@Customer 上的 Oracle AI Database。

問:如何指定要刪除的資料庫?

答:使用 --dbname 選項指定要刪除之 Oracle AI Database 的名稱。舉例而言:

dbaascli database delete --dbname <db_name>

問:如何在刪除資料庫時刪除存檔日誌?

答:您可以將 --deleteArchiveLogs 選項設為 true 來刪除存檔日誌。舉例而言:

dbaascli database delete --dbname <db_name> --deleteArchiveLogs true

問:刪除資料庫時,是否也可以刪除備份?

A:是,使用 --deleteBackups 選項並將其設為 true,即可刪除所有關聯的備份。舉例而言:

dbaascli database delete --dbname <db_name> --deleteBackups true

問:如何只執行刪除作業的前置檢查,而不實際刪除資料庫?

答:您可以使用 --precheckOnly 選項,並將其設為 yes,即可執行前置檢查而不刪除資料庫。舉例而言:

dbaascli database delete --dbname <db_name> --precheckOnly yes

問:如何強制刪除資料庫?

答:若要強制刪除資料庫,請使用 --force 旗標。這會略過檢查並強制刪除處理作業。舉例而言:

dbaascli database delete --dbname <db_name> --force

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

A:使用 --waitForCompletion 選項並將其設為 false,即可在背景執行作業。舉例而言:

dbaascli database delete --dbname <db_name> --waitForCompletion false

問:我可以指定要刪除的資料庫 SID 嗎?

答:是的,您可以使用 --dbSID 選項指定資料庫的 SID。舉例而言:

dbaascli database delete --dbname <db_name> --dbSID <sid>

問:如何繼續先前中斷的刪除作業?

答:若要繼續先前的刪除執行,請使用 --resume 選項。您也可以視需要使用 --sessionID 選項來指定階段作業 ID。舉例而言:

dbaascli database delete --dbname <db_name> --resume --sessionID <session_id>

問:執行 dbaascli 資料庫刪除命令需要哪些使用者權限?

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

問:dbaascli 資料庫 delete 命令中的 – precheckOnly 選項有什麼作用?

答:--precheckOnly 選項可讓您只執行刪除作業的前置檢查,而不必實際刪除資料庫。確保所有檢查都通過後,再繼續實際刪除。

問:我可以在不等待作業完成的情況下刪除資料庫嗎?

答:是的,將 --waitForCompletion 選項設為 false,刪除作業將會在背景執行,而且您不需要等待它完成。

範例:dbaascli database delete

dbaascli database delete --dbname db19

dbaascli 資料庫 deleteInstance

若要刪除指定節點上的資料庫執行處理,請使用 dbaascli database deleteInstance 命令。

先決條件:

語法:

dbaascli database deleteInstance --dbname <value> --node <value> [--continueOnUnreachableNode]

參數:

參數 描述
--dbname 指定 Oracle AI Database 名稱
--node 指定資料庫執行處理的節點名稱
--continueOnUnreachableNode 指定即使無法連線節點,仍要執行作業

常見問題:

問:dbaascli 資料庫 deleteInstance 命令的用途是什麼?

答:dbaascli database deleteInstance 命令用於刪除 Oracle Base Database Cloud@Customer 環境中指定節點上的特定 Oracle AI Database 執行處理。

問:如何指定要刪除的 Oracle AI Database 實例?

答:您可以使用 --dbname 選項提供資料庫名稱,以及使用 --node 選項提供節點名稱,指定要刪除的 Oracle AI Database 執行處理。舉例而言:

dbaascli database deleteInstance --dbname <db_name> --node <node_name>

問:即使無法連接節點,是否可以刪除實例?

答:是的,即使無法連線指定的節點,您也可以使用 --continueOnUnreachableNode 選項來繼續刪除。舉例而言:

dbaascli database deleteInstance --dbname <db_name> --node <node_name> --continueOnUnreachableNode

問:如果在刪除執行處理作業期間無法連線指定的節點,會發生什麼情況?

A:如果無法連線節點且未使用 --continueOnUnreachableNode 選項,則作業將會失敗。如果使用此選項,即使無法存取節點,作業仍會繼續進行。

問:如何從特定節點刪除資料庫執行處理?

A:使用下列命令從特定節點刪除資料庫執行處理:

dbaascli database deleteInstance --dbname <db_name> --node <node_name>

問:執行 dbaascli 資料庫 deleteInstance 命令需要哪些使用者權限?

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

問:我可以在不指定節點的情況下刪除實例嗎?

答:否,需要使用 --node 選項來指定應從哪一個節點刪除資料庫執行處理。

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

A:即使無法連線指定的節點,--continueOnUnreachableNode 選項仍允許繼續作業,確保在節點可能停止運作的情況下,繼續刪除執行處理。

問:是否可以使用此命令一次刪除多個資料庫執行處理?

答:否,dbaascli database deleteInstance 命令一次用來刪除指定節點上的單一資料庫執行處理。您需要針對每個要刪除的執行處理個別執行該命令。

範例:dbaascli database deleteinstance

dbaascli database deleteinstance --node test-node

dbaascli 資料庫複製

若要從作用中資料庫建立資料庫,請使用 dbaascli database duplicate 命令。

先決條件:

語法:

dbaascli database duplicate --dbName <value> --sourceDBConnectionString <value>
        {
            --oracleHome <value>
            | --oracleHomeName <value>
        }
[--dbSID <value>]
[--dbUniqueName <value>]
[--sgaSizeInMB <value>]
[--pgaSizeInMB <value>]
[--datafileDestination <value>]
[--fraDestination <value>]
[--fraSizeInMB <value>]
[--sourceDBWalletLocation <value>]
[--nodeList <value>]
        {
            [--resume [--sessionID <value>]]
            | [--revert [--sessionID <value>]]
        }
[--rmanParallelism <value>]
[--rmanSectionSizeInGB <value>]
[--tdeConfigMethod <value>]
[--kmsKeyOCID <value>]
[--sourceDBTdeConfigMethod <value>]
[--sourceDBKmsKeyOCID <value>]
[--executePrereqs <value>]
[--waitForCompletion <value>]
[--skipPDBs <value>]

參數:

參數 描述
--dbName 指定 Oracle AI Database 名稱
--sourceDBConnectionString 指定來源資料庫連線字串的格式為 <scan_name>:<scan_port>/<database_service_name>
--oracleHome 指定 Oracle 本位目錄位置
--oracleHomeName 指定 Oracle 本位目錄名稱
--dbSID 指定資料庫 SID
--dbUniqueName 指定資料庫唯一名稱
--sgaSizeInMB 指定 sga_target 值 (單位為 MB)
--pgaSizeInMB 指定 pga_aggregate_target 值 (單位為百萬位元組)
--datafileDestination 指定資料庫資料檔要使用的 ASM 磁碟群組名稱
--fraDestination 指定資料庫快速復原區域所要使用的 ASM 磁碟群組名稱
--fraSizeInMB 指定快速復原區域大小值 (單位為百萬位元組)
--sourceDBWalletLocation 指定來源資料庫 TDE 公事包檔案位置。從作用中資料庫複製資料庫時,需要此項目
--nodeList 指定以逗號區隔的資料庫節點清單
--resume 指定繼續先前的執行作業
--sessionID 指定繼續特定的階段作業 ID
--revert 指定倒回先前的執行作業
--sessionID 指定要倒回特定的階段作業 ID
--rmanParallelism 指定併行執行值
--rmanSectionSizeInGB 指定 RMAN 區段大小 (GB)
--tdeConfigMethod 指定 TDE 組態方法。允許的值為 FILE 和 KMS。
--kmsKeyOCID 指定用於 TDE 的 KMS 金鑰 OCID。只有在選取 TDE 的 KMS 時才適用。
--sourceDBTdeConfigMethod 指定來源資料庫 TDE 組態方法。允許的值為 FILE 和 KMS。
--sourceDBKmsKeyOCID 指定要用於 TDE 的來源資料庫 KMS 金鑰 OCID。只有在選取 TDE 的 KMS 時才適用。
--executePrereqs 指定 yes,只對此作業執行先決條件。有效值:yes 或 no
--waitForCompletion 指定 false 可在背景執行作業。有效值:true 或 false
--skipPDBs 指定來源資料庫 PDB 名稱的清單 (以逗號區隔),此名稱必須排除以進行重複的資料庫作業。範例:pdb1,pdb2,...

常見問題:

問:dbaascli 資料庫複製命令的用途為何?

答:dbaascli database duplicate 命令是用來複製現有作用中資料庫來建立新的 Oracle AI Database。

問:使用 dbaascli 資料庫複製命令有哪些先決條件?

答:您必須以 root 使用者身分執行命令。

問:如何指定複製的來源資料庫?

A:使用 --sourceDBConnectionString 選項,以 <scan_name>:<scan_port>/<database_service_name> 格式提供來源資料庫連線字串。舉例而言:

--sourceDBConnectionString <scan_name>:<scan_port>/<database_service_name>

問:如何為新資料庫指定 Oracle 本位目錄的位置?

答:您可以使用 --oracleHome 選項或 Oracle 本位目錄名稱 (使用 --oracleHomeName 選項) 來指定 Oracle 本位目錄位置。舉例而言:

--oracleHome <value>

或

--oracleHomeName <value>

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

A:--sourceDBWalletLocation 選項會指定來源資料庫 TDE 公事包檔案的位置,此檔案必須從作用中來源資料庫複製資料庫。

問:是否可以略過來源資料庫中複製的特定 PDB?

答:是的,您可以使用 --skipPDBs 選項來指定應從複製作業排除的 PDB 名稱清單 (以逗號區隔)。舉例而言:

--skipPDBs pdb1,pdb2

問:如何為新資料庫設定 TDE?

A:使用 --tdeConfigMethod 選項來指定 TDE 組態方法 (FILE 或 KMS)。如果選擇 KMS,您可以使用 --kmsKeyOCID 選項提供 KMS 金鑰 OCID。舉例而言:

--tdeConfigMethod FILE

或

--tdeConfigMethod KMS --kmsKeyOCID <value>

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

A:--executePrereqs 選項會指定是否只執行作業的先決條件檢查。有效值為 yes 以僅執行先決條件檢查,或 no 以繼續執行完整作業。

問:如何恢復先前中斷的複製作業?

A:使用 --resume 選項以及 --sessionID 選項,以繼續先前中斷的重複作業。舉例而言:

--resume --sessionID <value>

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

A:--waitForCompletion 選項會指定是否等待作業完成。將此選項設為 true 會等候完成,而 false 則會在背景中執行作業。舉例而言:

--waitForCompletion true

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

A:--rmanParallelism 選項會指定複製處理作業期間 RMAN (復原管理程式) 的併行執行值。這可以使用多個平行處理來提昇複製作業的速度。

問:如何為新資料庫指定 SGA 與 PGA 的大小?

A:使用 --sgaSizeInMB 和 --pgaSizeInMB 選項,分別指定 SGA (系統整體區域) 和 PGA (程式整體區域) 的大小 (MB)。舉例而言:

--sgaSizeInMB <value>

--pgaSizeInMB <value>

問:– revert 的選項是什麼?

答:--revert 選項是用來倒回上一個重複的作業。您必須提供 --sessionID,才能指定要回復的階段作業。

範例:dbaascli 資料庫重複

dbaascli database duplicate --sourceDBConnectionString test-user-scan.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com:1521/mynew.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_2 --dbName newdup --sourceDBWalletLocation /var/opt/oracle/dbaas_acfs/tmp/prim_wallet

dbaascli 資料庫 getDetails

此命令顯示指定資料庫的詳細資訊,例如 dbname、節點資訊、可插拔資料庫資訊等等。

先決條件:

以 root 使用者或 oracle 使用者身分執行命令

語法:

dbaascli database getDetails --dbname <value>

其中:

常見問題:

問:dbaascli 資料庫 getDetails 命令的用途是什麼?

答:dbaascli database getDetails 命令會顯示有關指定 Oracle AI Database 的詳細資訊,包括資料庫名稱、節點資訊以及可插拔資料庫 (PDB) 詳細資訊。

問:誰可以執行 dbaascli 資料庫 getDetails 命令?

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

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

答:--dbname 選項會指定擷取詳細資訊的 Oracle AI Database 名稱。

問:dbaascli 資料庫 getDetails 命令提供什麼樣的資訊?

A:此命令提供詳細資訊,例如資料庫名稱、節點資訊,以及與容器資料庫關聯之可插拔資料庫 (PDB) 的相關資訊。

dbaascli 資料庫 getPDBs

若要檢視容器資料庫中所有可插拔資料庫的清單,請使用 dbaascli database getPDBs 命令。

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

語法:

dbaascli database getPDBs --dbname <value>

參數:

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

常見問題:

問:dbaascli 資料庫 getPDBs 命令的用途是什麼?

A:dbaascli database getPDBs 命令是用來列出指定容器資料庫 (CDB) 內的所有可插式資料庫 (PDB)。

問:如何指定 getPDBs 命令的容器資料庫?

答:您可以使用 --dbname 選項來指定容器資料庫的名稱。舉例而言:

--dbname <value>

問:我是否需要以特定使用者身分執行 dbaascli 資料庫 getPDBs 命令?

答:是的,您必須以 root 使用者或 oracle 使用者身分執行命令。

問:是否可以使用 getPDBs 命令檢視非 CDB 資料庫中的 PDB?

A:否,getPDBs 命令僅適用於容器資料庫 (CDB)。您無法對非 CDB 資料庫使用此命令。

問:dbaascli 資料庫 getPDBs 命令的輸出格式為何?

答:此命令會傳回指定容器資料庫內所有 PDB 的清單。輸出通常包括 PDB 名稱、狀態以及其他與每個可插式資料庫相關的詳細資訊。

問:這個命令可以同時用於多個資料庫嗎?

答:否,dbaascli database getPDBs 命令一次可與 --dbname 選項指定的單一容器資料庫搭配使用。

問:是否需要關閉資料庫以使用 getPDBs 命令?

答:否,getPDBs 命令不需要關閉資料庫。它可以在容器資料庫運作時執行。

範例:dbaascli database getPDBs – dbname

dbaascli database getPDBs --dbname apr_db1

dbaascli 資料庫 modifyParameters

若要修改或重設 Oracle AI Database 的初始化參數,請使用 dbaascli database modifyParameters 命令。

先決條件:

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

語法:

dbaascli database modifyParameters --dbname <value>
{
--setParameters <values>[--instance <value>] [--backupPrepared] [--allowBounce]|
--resetParameters <values> [--instance <value>] [--backupPrepared] [--allowBounce]
}
--responseFile
[--backupPrepared]
[--instance]
[--allowBounce]
[--waitForCompletion]

參數:

參數 描述
--dbname 指定資料庫的名稱。
--setParameters 指定要以新值修改的參數清單 (以逗號分隔)。例如:parameter1=valueA、parameter2=valueB 等等。對於空白值,請使用 parameter1=valueA,parameter2='',etc。
--resetParameters 指定要重設為其對應預設值的參數清單 (以逗號區隔)。例如,parameter1、parameter2 等等。
--instance 指定將處理參數的執行處理名稱。若未指定,將會在資料庫層次執行作業。
--backupPrepared 確認在修改重要參數或機密參數之前,已備妥適當的資料庫備份。
--allowBounce 授予退回資料庫的權限,以反映適用靜態參數的變更。
--waitForCompletion 指定 false 即可在背景執行作業。有效值:true 或 false。

常見問題:

問:dbaascli 資料庫 modifyParameters 命令的用途是什麼?

答:dbaascli database modifyParameters 命令用於修改或重設 Oracle AI Database 初始化參數。

問:如何指定要修改參數的資料庫?

答:您必須使用 --dbname 選項來指定要修改或重設參數的資料庫名稱。

問:如何使用 modifyParameters 命令修改資料庫參數?

A:使用 --setParameters 選項,後面接著以逗號分隔的參數清單及其新值。舉例而言:

--setParameters parameter1=valueA,parameter2=valueB

問:如何使用此命令將參數重設為預設值?

A:使用 --resetParameters 選項,後面加上以逗號分隔的參數清單,以重設為其預設值。舉例而言:

--resetParameters parameter1,parameter2

問:我可以使用回應檔修改參數嗎?

答:是的,您可以使用 --responseFile 選項指定回應 JSON 檔案的絕對位置。檔案應該包含您要修改的參數。

問:修改參數之前是否需要進行備份?

答:雖然並非所有變更的必要參數,但如果您正在修改重要或機密參數,建議備妥備份。您可以使用 --backupPrepared 選項來確認已準備備份。

問:是否只能將變更套用到多重執行處理資料庫中的特定執行處理?

答:是的,您可以使用 --instance 選項指定執行處理名稱。如果未使用此選項,則會在資料庫層次套用變更。

問:修改參數後,是否需要退回 (重新啟動) 資料庫?

A:某些靜態參數需要資料庫切回。您可以視需要使用 --allowBounce 選項,授與資料庫退回的權限。

問:如果我不允許資料庫在變更靜態參數時彈跳,會發生什麼事?

答:如果您修改靜態參數時未使用 --allowBounce 選項,則變更要等到下次手動資料庫重新啟動後才會生效。

問:如果先前的工作階段中斷,我可以繼續修改參數嗎?

A:否,此命令不支援階段作業繼續。您需要從頭重新執行指令。

範例:dbaascli database modifyParameters

dbaascli database modifyParameters --dbname dbname --setParameters "log_archive_dest_state_17=ENABLE"

dbaascli 資料庫復原

若要復原資料庫,請使用 dbaascli database recover 命令。

先決條件:

語法:

dbaascli database recover --dbname <value>
        {
            --start
                {
                    --untilTime <value>
                    | --untilSCN <value>
                    | --latest
                }
            | --status --uuid <value>
        }

參數:

參數 屬性 描述
--dbname - Oracle AI Database 名稱。
--start | --status - -
--start - 開始資料庫復原。
--start --untilTime | --untilSCN | --latest -
--start --untilTime 復原資料庫直到時間。輸入格式:DD-MON-YYYY HH24:MI:SS。
--start --untilSCN 將資料庫恢復到 SCN 為止。
--start --latest 將資料庫回復至最後已知的狀態。
--status - -
--status --uuid <value> -

常見問題:

問:dbaascli 資料庫恢復命令的目的是什麼?

答:dbaascli database recover 命令用於從儲存在備份儲存目的地中的備份復原 Oracle AI Database。

問:如何指定要復原的資料庫?

A:您可以使用 --dbname 選項,後面接著資料庫名稱,來指定要復原的資料庫。舉例而言:

--dbname <database_name>

問:dbaascli 資料庫復原命令有哪些可用的復原選項?

A:復原選項包括:

問:如何將資料庫復原到特定時間?

A:使用 --untilTime 選項後接時間,格式為 DD-MON-YYYY HH24:MI:SS。舉例而言:

--untilTime 05-SEP-2024 15:30:00

問:如何將資料庫復原至特定的 SCN?

A:使用 --untilSCN 選項,後面接著 SCN 值。舉例而言:

--untilSCN 123456789

問:如何將資料庫復原至最新已知狀態?

A:使用 --latest 選項,將資料庫復原為最新的可能狀態。舉例而言:

--latest

問:如何檢查恢復操作的狀態?

A:使用 --status 選項以及 --uuid 值來檢查進行中或先前復原作業的狀態。舉例而言:

--status --uuid <recovery_uuid>

問:– start 選項在復原過程中會執行什麼動作?

A:--start 選項會根據選取的復原方法 (--untilTime、--untilSCN、--latest) 起始復原作業。

問:在未指定時間或 SCN 的情況下,是否有復原資料庫的方法?

答:是的,您可以使用 --latest 選項 (不需要指定時間或 SCN) 將資料庫復原至其最後已知的狀態。

問:我可以執行部分復原嗎?

答:是的,您可以分別使用 --untilTime 或 --untilSCN 選項,將資料庫復原到特定的時間點或 SCN。

範例:

dbaascli 資料庫 runDatapatch

若要修正 Oracle AI Database,請使用 dbaascli database runDatapatch 命令。

先決條件:

語法:

dbaascli database runDatapatch --dbname
[--resume]
    [--sessionID]
[--skipPdbs | --pdbs]
[--executePrereqs]
[--patchList]
[--skipClosedPdbs]
[--rollback]

參數:

參數 描述
--dbname 指定資料庫的名稱
--resume 繼續上一次執行
--sessionID 指定繼續特定的階段作業 ID
--skipPdbs 略過對指定的逗號區隔 PDB 清單執行資料修正。例如:pdb1,pdb2,...
--pdbs 只能在指定的逗號區隔 PDB 清單執行資料修正。例如:pdb1,pdb2,...
--executePrereqs 執行先決條件支票
--patchList 套用或倒回指定的逗號區隔修正程式清單。例如:patch1,patch2,...
--skipClosedPdbs 略過在已關閉的 PDB 上執行資料修正
--rollback 倒回套用的修正程式

常見問題:

問:dbaascli 資料庫 runDatapatch 命令的用途是什麼?

答:dbaascli database runDatapatch 命令用於將修補程式套用至 Oracle AI Database。

問:在執行 dbaascli 資料庫 runDatapatch 命令之前,必須確保什麼?

A:執行命令之前,請確定資料庫的所有執行處理都已啟動並在執行中。

問:如何指定要修正的資料庫?

A:使用 --dbname 選項,後面接著資料庫的名稱。舉例而言:

--dbname myDatabase

問:如何恢復先前中斷的 runDatapatch 作業?

A:使用 --resume 選項可繼續上一次執行,或使用 --sessionID 選項來指定特定的階段作業 ID。舉例而言:

--resume

--sessionID 12345

問:執行修正程式時,如何略過某些 PDB?

答:請使用 --skipPdbs 選項,後面接著要略過的 PDB 名稱清單 (以逗號分隔)。舉例而言:

--skipPdbs pdb1,pdb2

問:如何只在特定 PDB 上執行修正程式?

A:使用 --pdbs 選項,後面接著要包含的 PDB 名稱清單 (以逗號分隔)。舉例而言:

--pdbs pdb1,pdb2

問:如何套用或倒回特定的修正程式集?

A:使用 --patchList 選項,後面接著要套用或倒回的修正程式名稱清單 (以逗號分隔)。舉例而言:

--patchList patch1,patch2

問:– rollback 的選項是什麼?

A:--rollback 選項會倒回進行修正作業時套用的修正程式。

問:如果在修正作業期間關閉某些 PDB,會發生什麼情況?

答:如果某些 PDB 已關閉,您可以使用 --skipClosedPdbs 選項來略過修正那些已關閉的 PDB。

問:我可以在套用補丁前執行先決條件檢查嗎?

答:是的,在套用修正程式之前,使用 --executePrereqs 選項執行先決條件檢查。

問:如何找出要繼續修正程式的階段作業 ID?

A:在 runDatapatch 作業之後,通常會記錄階段作業 ID。使用 --sessionID 選項,在繼續修正程式時指定該 ID。舉例而言:

--sessionID 67890

dbaascli database runDatapatch --dbname db19

dbaascli 資料庫啟動

若要啟動 Oracle AI Database,請使用 dbaascli database start 命令。

先決條件:

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

語法:

dbaascli database start
[--dbname]
[--mode]

參數:

參數 描述
--dbname 指定資料庫的名稱
--mode 指定在對應模式啟動資料庫的掛載或重新掛載

此命令會啟動並開啟資料庫。在 Oracle Database 12c 或更新版本中,所有 PDB 也都會開啟。

常見問題:

問:dbaascli 資料庫啟動命令的目的是什麼?

答:dbaascli database start 命令用於啟動 Oracle AI Database。

問:在執行 dbaascli 資料庫啟動命令之前,必須做什麼?

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

問:如何指定要啟動的資料庫?

A:使用 --dbname 選項,後面接著資料庫的名稱。舉例而言:

--dbname myDatabase

問:我可以啟動資料庫的可能模式為何?

答:您可以使用 --mode 選項,以 mount 或 nomount 模式啟動資料庫。舉例而言:

--mode mount

問:如果我沒有指定預設模式,該怎麼辦?

答:如果您未指定模式,資料庫將會以預設的 open 模式啟動。

問:此命令是否會開啟 Oracle Database 12c 或更新版本中的所有 PDB?

答:是,在 Oracle Database 12c 或更新版本中啟動資料庫時,也會開啟所有可插式資料庫 (PDB)。

問:如何在重新掛載模式啟動資料庫?

A:使用 --mode 選項並將其設為 nomount。舉例而言:

--mode nomount

Q:如何以掛載模式啟動資料庫?

A:使用 --mode 選項並將其設為掛載。舉例而言:

--mode mount

問:執行 dbaascli 資料庫 start 命令時是否必須指定資料庫名稱?

答:是的,建議您使用 --dbname 選項來指定資料庫名稱,以確保啟動正確的資料庫。

範例:dbaascli database start

dbaascli database start --dbname dbname --mode mount

dbaascli 資料庫停止

若要停止 Oracle AI Database,請使用 dbaascli database stop 命令。

先決條件:

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

語法:

dbaascli database stop
[--dbname <value>]
[--mode <value>]

參數:

參數 描述
--dbname 指定要停止的資料庫名稱
--mode 指定資料庫的模式。有效值:abort、immediate、normal、transactional

此命令會以立即模式執行資料庫關閉。不允許新連線或新交易。作用中交易會倒回,而所有連線的使用者則會中斷連線。

常見問題:

問:dbaascli 資料庫 stop 指令的用途為何?

答:dbaascli database stop 命令用於停止 Oracle AI Database。

問:使用 dbaascli 資料庫 stop 指令有哪些先決條件?

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

問:如何指定要停止的資料庫?

A:您可以使用 --dbname 選項,後面接著資料庫的名稱來指定資料庫。舉例而言:

--dbname myDatabase

問:dbaascli 資料庫 stop 命令的有效關閉模式為何?

A:有效的關機模式為:

問:若未指定模式,預設關閉模式為何?

答:如果未指定模式,預設會以 immediate 模式關閉資料庫。

問:立即關機模式會發生什麼事?

A:在 immediate 模式中,不允許新的連線或交易、倒回作用中的交易,以及中斷所有連線的使用者連線。

問:如何在中止模式下停止資料庫?

答:若要以中止模式停止資料庫,請使用 --mode 選項與中止。舉例而言:

--mode abort

問:停止資料庫時,一般模式會如何處理?

答:在一般模式中,資料庫允許目前的使用者階段作業完成,然後在不影響作用中交易的情況下停止。

問:dbaascli 資料庫 stop 命令中使用的交易模式為何?

答:在 transactional 模式中,資料庫只會在所有作用中交易完成後停止,但不允許新的交易。

問:是否必須在 dbaascli 資料庫 stop 命令中指定關閉模式?

答:否,指定 shutdown 模式是選擇性的。若未提供,將會使用預設的立即模式。

範例:dbaascli database stop

dbaascli database stop --dbname db19

dbaascli 資料庫升級

若要升級 Oracle AI Database,請使用 dbaascli database upgrade 命令。

先決條件:

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

語法:

dbaascli database upgrade --dbname <value>
{--targetHome <value> | --targetHomeName <value>}
{ [--executePrereqs | --postUpgrade | --rollback]}
{[--standBy | --allStandbyPrepared]}
{[--upgradeOptions <value>]  | [--standBy]}
[--removeGRP]
[--increaseCompatibleParameter]
[--resume [--sessionID <value>]]
[--waitForCompletion <value>]

參數:

參數 屬性 描述
--dbname - (必要) 指定資料庫的名稱。
--targetHome - 指定目標 Oracle 本位目錄位置
--targetHomeName - 指定目標 Oracle AI Database 本位目錄的名稱
--standBy - 使用此選項即可升級「資料保全」組態中的待命資料庫
--allStandbyPrepared - 設定的主要資料庫需有資料保全。升級主要資料庫之前,用以確認在待命資料庫上執行所有必要作業的旗標
--removeGRP - 資料庫升級成功後,才會自動移除保證的回復點 (GRP) 備份
--increaseCompatibleParameter - 在資料庫升級時自動增加相容參數。該參數僅在資料庫升級成功後才會增加。
--executePrereqs - 只執行升級前檢查
--postUpgrade - 如果升級後失敗且需要重新執行升級後步驟,請使用此選項
--rollback - 將 Oracle AI Database 回復至其原始 Oracle 本位目錄
--upgradeOptions - 您可以使用此選項傳送 DBUA 特定的引數來執行 Oracle AI Database 升級。如需支援的引數和選項,請參閱相應的 Oracle 文件。
--upgradeOptions --standby -
--resume - 以繼續前一個執行作業
--resume --sessionID 以繼續特定的階段作業 ID。
--waitForCompletion - 指定 false 即可在背景執行作業。有效值:true 或 false。

常見問題:

問:dbaascli 資料庫升級命令的用途為何?

答:dbaascli database upgrade 命令用於將 Oracle AI Database 升級為新版本。

問:使用 dbaascli 資料庫升級命令有哪些先決條件?

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

問:如何指定需要升級的資料庫?

A:使用 --dbname 選項,後面接著資料庫的名稱。舉例而言:

--dbname myDatabase

問:如何指定要升級的目標 Oracle 本位目錄?

答:您可以使用 --targetHome 選項指定目標 Oracle 本位目錄位置,或使用 --targetHomeName 選項指定目標 Oracle AI Database 本位目錄的名稱。

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

A:使用 --standBy 選項來升級資料保全組態中的待命資料庫。

問:– allStandbyPrepared 旗號的目的是什麼?

答:--allStandbyPrepared 旗標會確認在升級「資料保全」組態中的主要資料庫之前,已經執行待命資料庫的所有必要作業。

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

答:如果資料庫升級成功,--removeGRP 選項會自動移除保證的回復點 (GRP) 備份。

問:何時應使用 – increaseCompatibleParameter 選項?

A:如果升級成功,請使用 --increaseCompatibleParameter 選項在資料庫升級期間自動增加相容參數。

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

A:--executePrereqs 選項只執行升級前檢查,以確保資料庫已準備好進行升級。

問:如何處理失敗的升級後步驟?

答:如果初始升級後嘗試失敗,請使用 --postUpgrade 選項來重新執行升級後步驟。

問:– revert 期權的目的是什麼?

答:--revert 選項會將 Oracle AI Database 還原為其原始 Oracle 本位目錄,

問:如何傳送 DBUA 特定的其他引數進行升級?

A:使用 --upgradeOptions 選項來傳送 Oracle AI Database 升級的 DBUA 特定引數。如需支援的引數和選項,請參閱 Oracle 文件。

問:是否必須指定升級的目標 Oracle 本位目錄?

答:是的,您必須指定 --targetHome 或 --targetHomeName 來指示要升級的目標 Oracle 本位目錄。

問:如果我需要執行升級前檢查,但不繼續進行升級,該怎麼辦?

A:使用 --executePrereqs 選項僅執行升級前檢查,而不繼續進行實際升級。

範例:dbaascli 資料庫升級預先升級必備條件檢查

dbaascli database upgrade --dbname dbname --targetHome Target Oracle home location --executePrereqs

dbaascli 資料庫移動

若要將資料庫從一個本位目錄移至另一個本位目錄,請使用 dbaascli database move 命令。

先決條件:

語法:

dbaascli database move
{
  --oracleHome <value> | --oracleHomeName <value>
}
--dbname <value>
[--executePrereqs]
[--resume [--sessionID <value>]]
[--rollback [--sessionID <value>]]
[--skipDatapatch]
[--skipPDBs <value>]
[--skipClosedPDBs]
[--continueWithDbDowntime]
[--allowParallelDBMove]
[--waitForCompletion <value>]
[--nodeList <value>]

參數:

參數 描述
--oracleHome 指定 Oracle 本位目錄的路徑
--oracleHomeName 指定 Oracle 本位目錄名稱
--dbname 指定資料庫的名稱
--executePrereqs 並報告結果,並繼續執行相關問題。
--resume 繼續上一次執行
--sessionID 指定繼續特定的階段作業 ID
--rollback 將資料庫倒回先前的本位目錄
--sessionID 指定繼續特定的階段作業 ID
--skipDatapatch 略過在資料庫上執行資料修正
--skipPdbs 略過對指定的逗號區隔 PDB 清單執行資料修正。例如:pdb1,pdb2,...
--skipClosedPDBs 略過修正關閉的 PDB
--continueWithDbDowntime 以資料庫停機時間繼續修補。此選項可用於僅啟動一個作用中執行處理的環境中,即使發生停止工作的情形,也能繼續進行修正作業。
--allowParallelDBMove 允許平行地移動資料庫。
--waitForCompletion 指定 false 以在背景中執行作業。有效值:true 或 false
--nodeList 若必須在節點的子集執行作業,請指定以逗號區隔的節點清單

常見問題:

問:dbaascli 資料庫移動命令用於什麼?

答:dbaascli database move 命令用於將資料庫從一個 Oracle 本位目錄移至另一個本位目錄。

問:使用 dbaascli 資料庫移動命令有哪些先決條件?

答:執行移動作業之前,請確定與資料庫關聯的所有資料庫執行處理均已啟動並在執行中。此外,命令必須以 root 使用者身分執行。

問:– oracleHome 參數指定什麼?

A:--oracleHome 參數會指定將移動資料庫的 Oracle 本位目錄路徑。

問:– oracleHomeName 參數指定什麼?

A:--oracleHomeName 參數會指定將移動資料庫的 Oracle 本位目錄名稱。

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

A:--dbname 參數會指定您要移動的資料庫名稱。

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

A:--executePrereqs 選項會執行先決條件檢查並報告結果。

Q:使用的 – resume 選項是什麼?

A:--resume 選項會繼續先前中斷或不完整的移動作業。

問:指令中如何使用 – sessionID?

答:--sessionID 指定階段作業 ID 以繼續前一個執行或倒回。

問:– rollback 的選項是什麼?

答:--rollback 選項會將資料庫倒回先前的 Oracle 本位目錄。

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

A:在移動作業期間,--skipDatapatch 選項會略過在資料庫上執行資料修正。

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

答:--skipPDBs 選項會略過在指定的逗號分隔的 PDB 清單 (例如 pdb1、pdb2) 上執行資料修正。

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

答:--skipClosedPDBs 選項會略過修正已關閉的 PDB。

問:什麼是 – continueWithDbDowntime?

答:--continueWithDbDowntime 選項允許移動作業繼續,即使只有一個作用中的執行處理啟動,也允許在處理作業期間停止工作。

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

A:--allowParallelDBMove 選項允許以平行方式執行資料庫移動,以加速處理作業。

問:– waitForCompletion 指定什麼?

A:--waitForCompletion 選項會指定是否等待作業完成。將它設為 false 會在背景執行作業。

問:如何使用 – nodeList 參數?

A:--nodeList 參數會指定將執行移動作業的節點清單 (如果不套用到所有節點的話)。

問:如果我遇到 dbaascli 資料庫移動命令的問題,該怎麼辦?

A:確定所有資料庫執行處理都在執行中,並確認您是以 root 使用者身分執行命令。如果問題持續存在,請查閱詳細的命令文件,或向 Oracle 開立支援回報項目。

問:如果其中一個資料庫執行處理已關閉,是否可以執行移動作業?

答:否,所有關聯的資料庫執行處理都必須啟動並在執行中,才能執行移動作業。

問:如果移動操作被中斷,會發生什麼事?

答:您可以使用 --resume 選項,透過使用相同的階段作業或指定 --sessionID,繼續移動作業。

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

答:它可以讓資料庫移動以平行方式執行,這樣可以縮短完成作業所需的時間,尤其是在較大的環境中。

問:如何監控在背景執行的移動作業進度?

答:使用 --waitForCompletion false 時,命令不會等待作業完成。您可以使用適當的 Oracle 日誌或狀態命令,手動檢查作業的狀態。

問:– skipClosedPDBs 選項的重要性為何?

答:它略過修正已關閉的 PDB,如果需要修正的 PDB,將可縮短作業時間。

問:資料庫移動是否可以隨時倒回?

答:是的,您可以使用 --rollback 選項倒回移動作業,方法是指定階段作業 ID 或直接倒回先前的 Oracle 本位目錄。

問:在多節點環境中 – nodeList 的角色為何?

答:在多節點環境中,您可以使用 --nodeList 提供以逗號分隔的節點名稱清單,將移動作業限制在特定節點。

問:略過多節點環境中的特定節點時,是否可以將資料庫移至新的 Oracle 本位目錄?

答:是的,您可以使用 --nodeList 選項來指定要包含在移動作業中的節點。將略過所有未列出的節點。

問:我可以使用 – nodeList 參數指定的節點數目上限是多少?

A:--nodeList 參數可讓您視需要指定以逗號分隔的節點清單 (僅限於您的環境組態)。確定所有節點都有效且可連線。

問:如何使用 – skipClosedPDBs 選項之前,如何知道哪些 PDB 已關閉?

答:您可以查詢 v$pdbs 視觀表來檢查 PDB 的狀態。使用 --skipClosedPDBs 時,將會略過狀態為 "MOUNTED" 或 "CLOSED" 的所有 PDB。

問:如何驗證倒回是否順利完成?

答:執行倒回命令之後,您可以複查資料庫日誌,或使用 Oracle 警示日誌來確認資料庫已順利倒回先前的 Oracle 本位目錄。

問:如果某些先決條件失敗,是否有強制移動作業的方法?

A:移動命令會強制執行系統穩定性的先決條件檢查。您無法略過嚴重先決條件失敗。請先處理 --executePrereqs 選項報告的任何問題,再繼續進行移動。

範例:

範例:依 Oracle 本位目錄路徑移動基本資料庫

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL

將資料庫 ORCL 移至位於 /u01/app/oracle/product/19.0.0/dbhome_1 的 Oracle 本位目錄。

範例:依 Oracle 本位目錄名稱移動資料庫

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL

將資料庫 ORCL 移至名為 DB_HOME_NAME 的 Oracle 本位目錄。

範例:在移動前執行先決條件檢查

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --executePrereqs

先行執行先決條件檢查時,將資料庫 ORCL 移至 Oracle 本位目錄。

範例:繼續上一個移動作業

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --resume

繼續 ORCL 資料庫的上一個移動作業。

範例:使用特定階段作業 ID 繼續移動作業

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --resume --sessionID 12345

使用階段作業 ID 12345 繼續 ORCL 資料庫的移動作業。

範例:倒回移動作業

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --rollback

倒回 ORCL 資料庫的移動作業,並將其回復至先前的 Oracle 本位目錄。

範例:使用階段作業 ID 倒回移動作業

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --rollback --sessionID 67890

使用階段作業 ID 67890 倒回 ORCL 的移動作業。

範例:略過 Datapatch

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --skipDatapatch

移動資料庫 ORCL,但不在資料庫上執行資料修正。

範例:在資料修正期間略過特定 PDB

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --skipPDBs pdb1,pdb2

將 ORCL 資料庫移至新的 Oracle 本位目錄,但略過在指定的 PDB (pdb1 和 pdb2) 上執行資料修正。

範例:略過已關閉之 PDB 的 Datapatch

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --skipClosedPDBs

移動 ORCL 資料庫並略過在任何已關閉的 PDB 上執行資料修正。

範例:允許移動期間的資料庫停止工作時間

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --continueWithDbDowntime

將 ORCL 資料庫移至指定的 Oracle 本位目錄,同時允許在移動處理作業期間停機資料庫。

範例:平行移動資料庫

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --allowParallelDBMove

將資料庫 ORCL 移至指定的 Oracle 本位目錄,並可選擇平行執行移動以獲得更好的效能。

範例:在背景執行作業

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --waitForCompletion false

將資料庫 ORCL 移至新的 Oracle 本位目錄,但是在背景執行作業。

範例:指定要移動的節點

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --nodeList node1,node2

將資料庫 ORCL 移至指定的 Oracle 本位目錄,但只會在 node1 和 node2 執行作業。

範例:與先決條件檢查一起移動、略過特定 PDB 及允許停止工作時間的組合

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --executePrereqs --skipPDBs pdb1 --continueWithDbDowntime

將 ORCL 資料庫移至指定的 Oracle 本位目錄、執行先決條件檢查、略過在 pdb1 執行資料修正,以及允許資料庫在作業期間停止工作。

範例:平行移動與在背景中執行的組合

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --allowParallelDBMove --waitForCompletion false

將 ORCL 資料庫移至新的 Oracle 本位目錄、平行執行移動,以及在背景執行作業。

範例:將 Move 與 Parallel Execution 結合和略過已關閉的 PDB

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname TESTDB --allowParallelDBMove --skipClosedPDBs

將 TESTDB 資料庫移至新的 Oracle 本位目錄 /u02/app/oracle/product/19.0.0/dbhome_2,同時以平行方式執行作業並略過已關閉之 PDB 的資料修正。

範例:僅執行先決條件檢查

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname PRODDB --executePrereqs

檢查將 PRODDB 資料庫移至位於 /u02/app/oracle/product/19.0.0/dbhome_2 之 Oracle 本位目錄的先決條件,而不實際執行移動。

範例:略過特定 PDB 的 Datapatch

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname HRDB --skipPDBs pdb1,pdb3

將 HRDB 資料庫移至新的 Oracle 本位目錄,但略過執行 pdb1 和 pdb3 的資料修正。

範例:在特定節點上執行移動

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname FINDB --nodeList node1,node3

僅將 node1 和 node3 上的 FINDB 資料庫移至新的 Oracle 本位目錄。

範例:允許停止工作時間的資料庫移動

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --continueWithDbDowntime

將 ORCL 資料庫移至指定的 Oracle 本位目錄,同時允許在移動作業期間停止工作。

範例:平行移動和略過資料修正的組合

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname CRMDB --allowParallelDBMove --skipDatapatch

平行移動 CRMDB 資料庫,略過資料修正處理作業。

範例:使用節點清單在背景移動作業

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname SALESDB --waitForCompletion false --nodeList node2,node3

將 SALESDB 資料庫移至背景中指定的 Oracle 本位目錄,且只會在 node2 和 node3 套用該作業。

範例:使用先決條件檢查進行資料庫移動並允許平行移動

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_2 --dbname ORCL --executePrereqs --allowParallelDBMove

在執行先決條件檢查並平行執行移動作業之後,將 ORCL 資料庫移至新的 Oracle 本位目錄。

範例:倒回移動作業並略過已關閉的 PDB

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname DEVDB --rollback --skipClosedPDBs

倒回 DEVDB 資料庫的移動作業,略過所有關閉的 PDB。

範例:移動含有特定停止工作時間和平行執行的資料庫

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname FINDB --allowParallelDBMove --continueWithDbDowntime

將 FINDB 資料庫移至指定的 Oracle 本位目錄,同時允許資料庫停止工作,以及讓平行執行加速處理作業。

範例:檢查資料庫移動先決條件而不執行移動

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname HRDB --executePrereqs

執行先決條件檢查以驗證 HRDB 資料庫是否可移至指定的 Oracle 本位目錄,而不執行移動本身。

範例:移動資料庫並在特定節點的背景中執行命令

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_3 --dbname PRODDB --waitForCompletion false --nodeList node1,node4

將 PRODDB 資料庫移至新的 Oracle 本位目錄、在背景執行作業,然後只在 node1 和 node4 上套用。

範例:結合先決條件檢查、略過關閉的 PDB 以及允許平行執行

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname CRMDB --executePrereqs --skipClosedPDBs --allowParallelDBMove

先執行先決條件檢查後,再將 CRMDB 資料庫移至新的 Oracle 本位目錄,略過修正關閉的 PDB,讓作業能夠平行執行以加快執行速度。

範例:以特定階段作業 ID 的倒回方式進行資料庫移動並略過資料修正

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname DEVDB --rollback --sessionID 45678 --skipDatapatch

使用階段作業 ID 45678 將先前執行的 DEVDB 資料庫移動作業倒回其先前的 Oracle 本位目錄,在倒回期間略過資料修正處理作業。

範例:使用允許平行執行移動資料庫,以及指定略過 PDB 的資料修正

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_3 --dbname ANALYTICDB --allowParallelDBMove --skipPDBs pdb2,pdb4

將 ANALYTICDB 資料庫平行移至指定的 Oracle 本位目錄,並略過 pdb2 和 pdb4 的資料修正處理作業。