Grid Infrastructure 管理
本節著重於管理支援叢集化和高可用性的 Oracle Grid Infrastructure。主要工作包括設定 Grid Infrastructure 本位目錄 (dbaascli gridHome create)、升級 Grid Infrastructure (dbaascli grid upgrade) 以及透過設定 (dbaascli grid configureTCPS)、移除 (dbaascli grid removeTCPSCert) 或輪換憑證 (dbaascli grid rotateTCPSCert) 來管理 TCPS (傳輸層安全) 憑證。這些命令可確保 Grid Infrastructure 的設定、維護及安全性更有效率。
- dbaascli gridHome 建立
- dbaascli 網格 configureTCPS
- dbaascli 網格 removeTCPSCert
- dbaascli 網格 rotateTCPSCert
- dbaascli 網格升級
- dbaascli 網格修補
dbaascli gridHome 建立
若要設定 Grid Infrastructure 本位目錄,請使用 dbaascli gridHome create 命令。
先決條件:
以 root 使用者身分執行指令。
語法:
dbaascli gridHome create --version value [--resume [--sessionID value]] [--waitForCompletion value]
參數:
| 參數 | 描述 |
|---|---|
--version |
指定 Grid 本位目錄版本 |
--resume |
繼續上一次執行 |
--sessionID |
指定繼續特定的階段作業 ID |
--waitForCompletion |
指定 false 以在背景中執行作業。有效值:true 或 false |
常見問題:
問:dbaascli gridHome 建立命令的目的是什麼?
答:dbaascli gridHome create 命令用於設定 Oracle Base Database Cloud@Customer 環境中 Oracle Grid Infrastructure 的 Grid Infrastructure 本位目錄。
問:執行 dbaascli gridHome create 命令的先決條件為何?
答:這個指令必須以 root 使用者身分執行。
問:如何指定要建立的 Grid Infrastructure 本位目錄版本?
A:使用 --version 選項來指定 Grid 本位目錄版本。這是建立 Grid 本位目錄時的必要選項。
問:我可以恢復上一個 dbaascli gridHome 建立階段作業嗎?
答:是的,您可以使用 --resume 選項繼續上一個階段作業。您可以選擇使用 --sessionID 選項來繼續特定階段作業,以指定階段作業 ID。
問:dbaascli gridHome create command 中的 – resume 選項是什麼?
A:--resume 選項可讓您繼續先前中斷或未完成的作業。
Q:如何在背景執行操作?
答:您可以將 --waitForCompletion 選項設為 false,以在背景執行作業。此選項的有效值為 true (預設值) 或 false。
問:如果未指定 – waitForCompletion,則預設行為為何?
A:如果未指定 --waitForCompletion,作業將在前景中執行,且命令會等待作業完成,再將控制項傳回給使用者。
問:– sessionID 選項的目的為何?
答:如果作業不完整或中斷,--sessionID 選項會用來指定要繼續的上一個階段作業 ID。
問:我可以使用 dbaascli gridHome create 命令來升級現有的 Grid 本位目錄嗎?
答:否,此命令是專門用來設定新的 Grid Infrastructure 本位目錄,而非升級現有的 Grid Infrastructure 本位目錄。
問:建立 Grid 本位目錄版本為 19.9.0.0.0 的範例命令為何?
A:以下是一個範例命令:
dbaascli gridHome create --version 19.9.0.0.0
問:如果 dbaascli gridHome create 命令被中斷,該怎麼辦?
答:您可以使用 --resume 選項繼續作業。如果您有階段作業 ID,可以使用 --sessionID 選項提供階段作業,以繼續特定階段作業。
問:我可以指定沒有工作階段 ID 的 – resume 選項嗎?
答:是的,您可以在不指定階段作業 ID 的情況下使用 --resume 選項。在此情況下,系統會嘗試繼續最近的梯次。
問:如果我指定 – waitForCompletion false,會發生什麼事?
答:如果指定 --waitForCompletion false,作業將在背景執行,讓您在作業完成時繼續使用命令行。
問:是否可以追蹤背景操作的進度?
A:dbaascli 命令不提供直接追蹤背景作業的方式。您可能需要手動檢查系統記錄檔或作業階段狀態。
問:建立 Grid 本位目錄版本時,是否可以指定無效的版本?
答:否,--version 選項必須包含有效的 Grid Infrastructure 版本。如果提供的版本無效,命令將會傳回錯誤。
問:如何決定要用於建立的 Grid 本位目錄版本?
答:您可以參閱 Oracle 的說明文件,或洽詢您的資料庫管理員,判斷要用於您環境的正確 Grid 本位目錄版本。
問:在執行 dbaascli gridHome create 命令之前,該如何驗證?
答:請確定您以 root 使用者身分登入,且您想要用於 Grid Infrastructure 的版本與您的環境相容。
dbaascli 網格 configureTCPS
若要設定現有叢集的 TCPS,請使用 dbaascli grid configureTCPS 命令。
先決條件:
身分為 root 使用者執行指令。
語法:
dbaascli grid configureTCPS
[--pkcs12WalletFilePath]
[--caCertChain]
[--precheckOnly]
[--serverCert]
[--privateKey]
[--certType]
[--privateKeyPasswordProtected]
參數:
| 參數 | 描述 |
|---|---|
--pkcs12WalletFilePath |
指定憑證檔案的絕對路徑,此檔案格式為 pkcs12 公事包格式 |
--caCertChain |
串連的憑證清單,其中包含中介 CA 和根 CA 憑證 |
--precheckOnly |
指定 yes,只執行這項作業的前置檢查。有效值:yes 或 no。 |
--serverCert |
指定要用於 TCPS 組態或輪換的 PEM 憑證路徑。 |
--privateKey |
指定憑證的私密金鑰檔案路徑。 |
--certType |
要新增至 Grid Infrastructure 公事包的憑證類型。接受的值為:SELF_SIGNED_CERT、CA_SIGNED_CERT 或 PKCS12_CERT。預設:SELF_SIGNED_CERT |
--privateKeyPasswordProtected |
指定私密金鑰是否受密碼保護。有效值:true 或 false。預設為 true。 |
Oracle Base Database Cloud@Customer 的 TCPS 組態:
TCPS 行為會根據 Oracle Base Database Cloud@Customer 部署類型而有所不同:
對於 Oracle Database 19c 和更新版本,新佈建的資料庫預設會啟用 TCPS。引進此行為之前佈建的現有資料庫可能未啟用 TCPS。
若要啟用現有資料庫的 TCPS,請新增 WALLET_LOCATION 參數,以更新所有資料庫節點上的資料庫特定 sqlnet.ora 檔案,如下所示:
WALLET_LOCATION = (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/grid/tcps_wallets)))
更新所有資料庫節點上的 sqlnet.ora 檔案之後,請重新啟動資料庫以啟用 TCPS。
若未將資料庫設定為使用 WALLET_ROOT 參數,啟用 TCPS 可能會影響 Oracle Zero Data Loss Recovery Appliance (ZDLRA) 連線。在啟用 TCPS 之前,請先確認符合下列先決條件:
-
資料庫正在執行 Oracle Database 版本更新 19.17 或更新版本。
-
資料庫設定為使用
WALLET_ROOT參數。 -
如果資料庫設定為 ZDLRA 備份,請確認 RMAN 通道組態參照
WALLET_ROOT/server_seps底下的RA_WALLET。
舉例而言:
-
連線至 RMAN。
-
執行下列命令:
SHOW CHANNEL; -
檢查輸出是否包含類似以下的
RA_WALLET項目:CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' FORMAT '%d_%I_%U_%T_%t' PARMS "SBT_LIBRARY=/u02/app/oracle/product/19.0.0.0/dbhome_1/lib/libra.so, ENV=(RA_WALLET='location=file:/var/opt/oracle/dbaas_acfs/dbrs19c/wallet_root/server_seps credential_alias=DBRS')";在此範例中,
RA_WALLET位置指向與 TCPS 相容的WALLET_ROOT/server_seps。
常見問題:
Q:dbaascli grid configureTCPS 命令的用途是什麼?
答:dbaascli grid configureTCPS 命令用於設定 Oracle Base Database Cloud@Customer 環境中現有叢集的「傳輸層安全 (TCPS)」。
問:執行 dbaascli grid configureTCPS 命令的先決條件為何?
答:這個指令必須以 root 使用者身分執行。
問:Oracle Base Database Cloud@Customer 系統預設是否啟用 TCPS?
答:否,Oracle Base Database Cloud@Customer 系統預設不會啟用 TCPS。若要啟用 TCPS,您必須更新特定資料庫的 sqlnet.ora 檔案,然後重新啟動資料庫。
問:在 Oracle Base Database Cloud@Customer 系統上啟用 TCPS 會有什麼後果?
答:在 Oracle Base Database Cloud@Customer 系統上啟用 TCPS 會導致 Zero Data Loss Recovery Appliance (ZDLRA) 連線失敗。您只能啟用 ZDLRA 或 TCPS 組態,但不能同時啟用兩者。
問:– pkcs12WalletFilePath 選項指定什麼?
A:--pkcs12WalletFilePath 選項會以 PKCS12 公事包格式 (用於 TCPS 組態) 指定憑證檔案的絕對路徑。
問:什麼是 – caCertChain 選項用於?
A:--caCertChain 選項會指定包含中介 CA 憑證和根 CA 憑證的憑證串連清單。
問:– precheckOnly 選項有什麼作用?
A:--precheckOnly 選項會指定是否只執行 TCPS 組態作業的前置檢查。接受的值為 yes 或 no。
問:– serverCert 選項指定什麼?
A:--serverCert 選項會指定將用於 TCPS 組態或循環的 PEM 憑證路徑。
問:如何為 TCPS 組態指定私密金鑰?
A:使用 --privateKey 選項指定與伺服器憑證關聯之私密金鑰檔案的路徑。
Q:– certType 選項接受的值為何?
A:接受的 --certType 選項值為:
SELF_SIGNED_CERTCA_SIGNED_CERTPKCS12_CERT
預設值為 SELF_SIGNED_CERT。
問:私密金鑰密碼預設是否受到保護?
答:是的,預設會將 --privateKeyPasswordProtected 選項設為 true,表示私密金鑰受到密碼保護。如果私密金鑰未受密碼保護,您可以將它設為 false。
問:我可以在設定 TCPS 前執行前置檢查嗎?
答:是的,您可以將 --precheckOnly 選項設為是,只執行作業的前置檢查。這有助於先驗證環境,再進行變更。
問:如果我提供不正確的 PKCS12 公事包檔案路徑,會發生什麼情況?
答:如果 --pkcs12WalletFilePath 包含不正確的路徑,則命令將會失敗,且 TCPS 組態將不會繼續。
問:如果私密金鑰受到密碼保護,該怎麼辦?
A:如果私密金鑰受到密碼保護,請確定 --privateKeyPasswordProtected 選項設為 true (預設值)。
問:我可以為 TCPS 組態指定自己的 CA 簽署憑證嗎?
答:是的,您可以使用 --serverCert 和 --privateKey 選項指定您自己的 CA 簽署憑證,並將 --certType 設為 CA_SIGNED_CERT。
問:使用自行簽署憑證設定 TCPS 的範例命令為何?
A:以下為範例:
dbaascli grid configureTCPS --serverCert /path/to/self_signed_cert.pem --privateKey /path/to/private_key.pem --certType SELF_SIGNED_CERT
問:我可以使用 PKCS12 憑證進行 TCPS 組態設定嗎?
答:是的,您可以指定 --pkcs12WalletFilePath 選項,並將 --certType 設定為 PKCS12_CERT,以使用 PKCS12 憑證。
問:在執行 dbaascli grid configureTCPS 命令之前,應如何驗證?
答:請確認您具有有效的憑證檔案、私密金鑰檔案,以及以 root 使用者身分登入。此外,請確保您瞭解若是使用 ZDLRA,因為它無法與 TCPS 同時執行。
範例:dbaascli grid configureTCPS
若要使用自行簽署憑證設定方格,請執行下列動作:
dbaascli grid configureTCPS
若要使用 CA 簽署憑證設定方格,請執行下列動作:
dbaascli grid configureTCPS --cert_type CA_SIGNED_CERT --server_cert /tmp/certs/server_cert.pem --ca_cert_chain /tmp/certs/ca.pem --private_key /tmp/certs/encrypted_private.key --private_key_password_protected false
dbaascli 網格 removeTCPSCert
若要從 Grid Infrastructure 公事包移除現有的 TCPS 憑證,請使用 dbaascli grid removeTCPSCert 命令。
先決條件:
以 root 使用者身分執行指令。
語法:
dbaascli grid removeTCPSCert --subject <value>
{
--userCert | --trustedCert | --requestedCert
}
[--serialNumber <value>] [--executePrereqs] [--resume [--sessionID <value>]] [--bounceListeners]
參數:
| 參數 | 描述 |
|---|---|
--subject |
指定憑證的主體 |
--userCert |
指示使用者憑證的旗標 |
--trustedCert |
指示信任憑證的旗標 |
--requestedCert |
指示所要求憑證的旗標 |
--serialNumber |
指定憑證的序號 |
--executePrereqs |
並未執行相關問題檢查並報告結果。 |
--resume |
繼續上一次執行 |
--sessionID |
指定繼續特定的階段作業 ID |
--bounceListeners |
切回 Grid Infrastructure 監聽器與 SCAN 監聽器的旗標 |
常見問題:
Q:dbaascli grid removeTCPSCert 命令的用途是什麼?
答:使用 dbaascli grid removeTCPSCert 命令從 Oracle Base Database Cloud@Customer 環境中的 Grid Infrastructure 公事包移除現有的 TCPS 憑證。
問:執行 dbaascli grid removeTCPSCert 命令的先決條件為何?
答:這個指令必須以 root 使用者身分執行。
問:dbaascli grid removeTCPSCert 命令中指定的 – subject 選項為何?
A:--subject 選項會指定要從 Grid Infrastructure 公事包移除之憑證的主體。
問:– userCert 旗號的目的是什麼?
A:--userCert 旗標表示要移除的憑證是使用者憑證。
問:何時應該使用 – trustedCert 旗標?
A:從 Grid Infrastructure 公事包移除信任的憑證時,請使用 --trustedCert 旗標。
問:– requestedCert 旗號的功能是什麼?
A:--requestedCert 旗標表示要移除的憑證是要求的憑證。
問:– serialNumber 選項指定什麼?
A:--serialNumber 選項會指定要移除的憑證序號。當有多個憑證具有相同的主體時,可唯一識別憑證。
問:– executePrereqs 選項的目的為何?
A:--executePrereqs 選項會先執行先決條件檢查,再移除憑證並報告結果,以確保環境已適當地為作業做好準備。
問:– resume 選項有什麼作用?
答:如果先前已中斷,--resume 選項會繼續移除作業。
問:繼續中斷的作業時,如何指定階段作業 ID?
A:使用 --sessionID 選項來指定要繼續之中斷作業的階段作業 ID。
問:– bounceListeners 旗號的功能是什麼?
A:移除 TCPS 憑證後,會使用 --bounceListeners 旗標重新啟動 Grid Infrastructure 監聽器和 SCAN 監聽器。
問:我可以移除 TCPS 憑證而不退回偵聽程式嗎?
A:是,--bounceListeners 旗標是選擇性的。如果未指定,則不會自動退回監聽器。
問:如何確保操作安全運行?
答:您可以使用 --executePrereqs 選項,在執行命令前先執行先決條件檢查,確保所有項目在移除程序前均按順序進行。
問:如果我需要依序號移除特定使用者憑證,該怎麼辦?
A:使用 --subject 選項來指定憑證的主體,使用 --userCert 旗標表示該憑證為使用者憑證,而使用 --serialNumber 選項來指定憑證的序號。
問:我可以一次移除多個證書嗎?
A:否,此命令是設計來根據提供的主體和其他參數,一次移除單一憑證。
問:如果憑證移除程序被中斷,會發生什麼事?
答:您可以使用 --resume 選項以及中斷程序的 --sessionID 來繼續作業。
問:我需要以 root 使用者身分執行指令嗎?
答:是的,必須以 root 使用者身分執行 dbaascli grid removeTCPSCert 命令,才能具備移除 TCPS 憑證的必要權限。
問:如何識別要移除的憑證?
答:您可以根據憑證的主旨來識別憑證,也可以選擇使用其序號來確定要移除的憑證。
問:移除信任憑證的範例命令是什麼?
A:以下為範例:
dbaascli grid removeTCPSCert --subject "CN=example_cert" --trustedCert
dbaascli 網格 rotateTCPSCert
若要輪換 TCPS 憑證,請使用 dbaascli grid rotateTCPSCert 命令。
先決條件:
以 root 使用者身分執行指令。
語法:
dbaascli grid rotateTCPSCert
[--pkcs12WalletFilePath]
[--caCertChain]
[--precheckOnly]
[--serverCert]
[--privateKey]
[--certType]
[--privateKeyPasswordProtected]
參數:
| 參數 | 描述 |
|---|---|
--pkcs12WalletFilePath |
指定憑證檔案的絕對路徑,此檔案格式為 pkcs12 公事包格式 |
--caCertChain |
串連的憑證清單,其中包含中介 CA 和根 CA 憑證 |
--precheckOnly |
指定 yes,只執行這項作業的前置檢查。有效值:yes 或 no。 |
--serverCert |
指定要用於 TCPS 組態或輪換的 PEM 憑證路徑。 |
--privateKey |
指定憑證的私密金鑰檔案路徑。 |
--certType |
要新增至 Grid Infrastructure 公事包的憑證類型。接受的值為:SELF_SIGNED_CERT、CA_SIGNED_CERT 或 PKCS12_CERT。預設:SELF_SIGNED_CERT |
--privateKeyPasswordProtected |
指定私密金鑰是否受密碼保護。有效值:true 或 false。預設為 true。 |
常見問題:
Q:dbaascli grid rotateTCPSCert 命令的用途是什麼?
答:dbaascli grid rotateTCPSCert 命令用於在 Oracle Base Database Cloud@Customer 環境的 Grid Infrastructure 公事包中循環 TCPS (傳輸層安全協定) 憑證。
問:執行 dbaascli grid rotateTCPSCert 命令的先決條件為何?
答:這個指令必須以 root 使用者身分執行。
問:– pkcs12WalletFilePath 選項指定什麼?
A:--pkcs12WalletFilePath 選項會以 TCPS 組態的 PKCS12 公事包格式指定憑證檔案的絕對路徑。
問:– caCertChain 選項的目的為何?
A:--caCertChain 選項會為 TCPS 組態指定串連的憑證清單,包括中介 CA 和根 CA 憑證。
問:– precheckOnly 選項有什麼作用?
A:--precheckOnly 選項可讓您執行前置檢查而不進行任何實際變更。有效值為 "yes" (僅執行前置檢查),而 "no" (可繼續輪換)。
問:如何使用 – serverCert 選項?
A:--serverCert 選項指定 TCPS 組態所使用或循環的 PEM (Privacy Enhanced Mail) 伺服器憑證的路徑。
問:– privateKey 選項指定什麼?
A:--privateKey 選項會指定與用於 TCPS 循環之伺服器憑證對應的私密金鑰檔案路徑。
Q:– certType 選項的有效值為何?
A:--certType 選項接受下列值來指定要新增至 Grid Infrastructure 公事包的憑證類型:
SELF_SIGNED_CERT(預設)CA_SIGNED_CERTPKCS12_CERT
問:– privateKeyPasswordProtected 選項有什麼作用?
A:--privateKeyPasswordProtected 選項指示私密金鑰是否受密碼保護。有效值為 true (預設值) 和 false
問:我可以在不旋轉憑證的情況下執行 dbaascli grid rotateTCPSCert 命令嗎?
答:是的,使用 --precheckOnly 是選項,您只能執行前置檢查而不需輪換憑證。
問:使用 PKCS12 公事包輪換憑證的命令範例為何?
A:以下是一個範例命令:
dbaascli grid rotateTCPSCert --pkcs12WalletFilePath /path/to/wallet.p12 --certType PKCS12_CERT
問:如何以 CA 簽署憑證鏈輪換伺服器憑證?
A:使用 --serverCert 和 --caCertChain 選項,如下所示:
dbaascli grid rotateTCPSCert --serverCert /path/to/serverCert.pem --caCertChain /path/to/caChain.pem
問:如果我沒有指定 -privateKeyPasswordProtected,會發生什麼情況?
A:如果您未指定 --privateKeyPasswordProtected 選項,則命令會假設私密金鑰受到密碼保護 (預設值:true)。
問:我可以自行簽署憑證嗎?
答:是的,您可以使用預設的 --certType SELF_SIGNED_CERT 選項旋轉自行簽署的憑證,或明確指定它。
問:如何在不提供私密金鑰的情況下旋轉憑證?
答:對於某些憑證類型 (例如 PKCS12),您可能不需要提供個別的私密金鑰檔案,因為它包含在公事包中。不過,如果需要私密金鑰,則必須使用 --privateKey 選項來提供。
問:如果我想在背景旋轉證書,該怎麼辦?
答:dbaascli grid rotateTCPSCert 命令不提供背景執行的明確選項。您可以直接在背景階段作業 (例如,使用 nohup 或類似工具) 中執行命令。
問:若未指定,預設憑證類型為何?
A:預設憑證類型為 SELF_SIGNED_CERT。
範例:dbaascli grid rotateTCPSCert
使用自行簽署憑證輪換憑證 (預設選項):
dbaascli grid rotateTCPSCert
使用 CA 簽署憑證旋轉憑證:
dbaascli grid rotateTCPSCert --cert_type CA_SIGNED_CERT --server_cert /tmp/certs/server_cert.pem --ca_cert_chain /tmp/certs/ca.pem --private_key /tmp/certs/encrypted_private.key --privateKeyPasswordProtected true
dbaascli 網格升級
若要將 Oracle Grid Infrastructure 從一個主要版本升級至另一個主要版本,請使用 dbaascli grid upgrade 命令。
先決條件:
以 root 使用者身分執行指令。
語法:
dbaascli grid upgrade --version
[--resume]
[--executePrereqs]
[--containerURL]
[--softwareOnly]
[--targetHome]
[--revert]
參數:
| 參數 | 描述 |
|---|---|
--version |
指定目標版本 |
--resume |
繼續上一次執行 |
--executePrereqs |
執行 Grid Infrastructure 升級的先決條件檢查 |
--containerUrl |
指定用於擷取 Grid Infrastructure 映像檔的自訂 URL |
--softwareOnly |
只安裝 Grid Infrastructure 軟體 |
--targetHome |
指定現有目標 Grid 本位目錄的路徑 |
--revert |
回復失敗的執行 |
常見問題:
問:dbaascli grid upgrade 命令的用途是什麼?
答:dbaascli grid upgrade 命令用於將 Oracle Grid Infrastructure 從一個主要版本升級至 Oracle Base Database Cloud@Customer 虛擬機器上的另一個主要版本。
問:執行 dbaascli grid upgrade 命令的先決條件為何?
答:命令必須以 root 使用者身分執行,而且您必須連線到 Oracle Base Database Cloud@Customer 虛擬機器。
問:– version 選項指定什麼?
A:--version 選項會指定要升級的目標 Oracle Grid Infrastructure 版本。
問:– resume 選項有什麼作用?
答:--resume 選項會繼續先前中斷或失敗的 Grid Infrastructure 升級程序。
問:如何使用 – executePrereqs 選項?
A:--executePrereqs 選項只會執行 Grid Infrastructure 升級的先決條件檢查,而不會執行實際升級。
問:– containerURL 選項的目的為何?
A:--containerURL 選項會指定自訂 URL,以擷取要升級的 Grid Infrastructure 軟體影像。
問:– softwareOnly 選項有什麼作用?
答:--softwareOnly 選項只會安裝 Grid Infrastructure 軟體,不會設定或升級 Grid 環境。
問:何時使用 – targetHome 選項?
A:--targetHome 選項會指定將執行升級之現有目標 Grid 本位目錄的路徑。
問:如果升級失敗會發生什麼事?
答:如果升級失敗,您可以使用 --revert 選項將升級回復為先前的狀態。
問:我可以在不同階段執行 Grid Infrastructure 升級嗎?
答:是的,使用 --softwareOnly 選項,您可以先安裝軟體,稍後再完成完整升級,允許進行暫存升級。
問:如何使用 dbaascli grid upgrade 命令僅升級軟體?
A:使用下列語法僅升級軟體:
dbaascli grid upgrade --version <target_version> --softwareOnly
問:我可以在不執行升級的情況下檢查升級先決條件嗎?
答:是的,您只能使用以下方法執行先決條件檢查:
dbaascli grid upgrade --version <target_version> --executePrereqs
問:如何使用自訂容器 URL 升級 Grid Infrastructure?
答:您可以指定擷取 Grid Infrastructure 映像檔的 URL,如下所示:
dbaascli grid upgrade --version <target_version> --containerURL <custom_url>
問:如何恢復先前中斷的升級程序?
答:若要繼續之前中斷或失敗的升級,請使用:
dbaascli grid upgrade --version <target_version> --resume
Q:dbaascli grid upgrade 命令的 – revert 選項是什麼?
答:--revert 選項會將失敗或中斷的 Grid Infrastructure 升級回復為原始狀態。
問:我可以在不立即設定 Grid Infrastructure 的情況下執行完整升級嗎?
答:是的,您可以先使用 --softwareOnly 選項安裝軟體,然後稍後再進行設定。
問:如果升級失敗,而我想要還原變更,該怎麼辦?
A:使用 --revert 選項倒回失敗的升級:
dbaascli grid upgrade --version <target_version> --revert
範例:dbaascli grid upgrade
dbaascli grid upgrade --version 19.11.0.0.0 --executePrereqs
DBAAS CLI version MAIN
Executing command grid upgrade --version 19.11.0.0.0 --executePrereqs
dbaascli 網格修補
若要將 Oracle Grid Infrastructure 修正為指定的次要版本,請使用 dbaascli grid patch 命令。
先決條件:
以 root 使用者身分執行指令。
語法:
dbaascli grid patch
{
--targetVersion <value>
| --targetHome <value>
}
[--executePrereqs] [--nodeList <value>] [--continueWithDbDowntime] [--drainTimeoutInSeconds <value>] [--containerURL <value>] [--imageFile <value>] [--patchInParallel]
{
[--resume [--sessionID <value>]]
| [--rollback [--sessionID <value>]]
}
[--waitForCompletion <value>]
參數:
| 參數 | 描述 |
|---|---|
--targetVersion |
指定 5 個以句號區隔的數值區段 (例如 19.12.0.0.0) 作為 Oracle 本位目錄的目標版本 |
--targetHome |
指定異地修正的目標 Grid Infrastructure 本位目錄的完整路徑 |
--containerURL |
指定用於擷取 Grid Infrastructure 映像檔的自訂 URL |
--executePrereqs |
執行先決條件檢查的選項 |
--nodeList |
若必須在節點的子集執行修正,則指定以逗號區隔的節點清單 |
--patchInParallel |
指定平行執行修正遠端節點 |
--rollback |
指定倒回已修正的 Oracle 本位目錄 |
--resume |
繼續上一次執行 |
--sessionID |
指定繼續特定的階段作業 ID |
--continueWithDbDowntime |
以資料庫停機時間繼續修補。此選項可用於只有 1 個作用中執行處理啟動的環境,即使發生停止工作的情形,也能繼續進行修正作業。 |
--drainTimeoutInSeconds |
指定停止資料庫時完成資源清空所需的時間 (秒) |
--createImage |
從作用中 Grid 本位目錄的複本 (已修正至指定的目標版本) 建立影像 |
--createImageDir |
指定要在其中建立影像之目錄的完整路徑 |
--imageFile |
指定要使用的影像之完整路徑 |
--patchInParallel |
以平行方式執行遠端節點修正 |
--waitForCompletion |
指定 false 可在背景執行作業。有效值:true 或 false |
常見問題:
Q:dbaascli grid patch 命令的功能是什麼?
答:使用 dbaascli grid patch 命令將 Oracle Grid Infrastructure 修正為指定的次要版本。
問:我需要特殊權限才能執行 dbaascli grid patch 命令嗎?
答:是的,您必須以 root 使用者身分執行 dbaascli grid patch 命令。
問:修正 Oracle Grid Infrastructure 時是否可以指定目標版本?
答:是的,您可以使用 --targetVersion 選項指定目標版本。
問:如何指定修正程式的目標版本?
A:使用 --targetVersion 選項後接版本號碼,格式為 19.12.0.0.0。
問:dbaascli grid patch 命令中的 – containerURL 選項為何?
A:--containerURL 選項可讓您指定用於擷取 Grid Infrastructure 映像檔的自訂 URL。
問:– executePrereqs 選項的目的為何?
A:使用 --executePrereqs 選項在套用修正程式之前先執行先決條件檢查。
問:如何使用 dbaascli grid patch 命令修正節點子集?
A:使用 --nodeList 選項,後面接著以逗號分隔的節點名稱清單,僅修補節點的子集。
問:如果我使用 – rollback 選項會發生什麼事?
答:--rollback 選項會將修正過的 Oracle 本位目錄倒回至先前的狀態。
問:我可以恢復上一個修補階段作業嗎?
答:是的,您可以使用 --resume 選項繼續上一個修正階段作業。如果您有特定的階段作業 ID,可以使用 --sessionID 選項來指定。
問:什麼是 – continueWithDbDowntime 選項用於?
答:--continueWithDbDowntime 選項可讓您繼續修正,即使資料庫停止工作 (通常用於只有一個作用中執行處理的環境)。
問:如何從修正的 Grid 本位目錄建立映像檔?
A:使用 --createImage 選項來建立影像。您可以使用 --createImageDir 選項,指定建立影像的目錄。
問:– imageFile 選項的目的為何?
A:--imageFile 選項可讓您指定要用於修正之影像檔的完整路徑。
問:如何在背景執行 dbaascli grid patch 命令?
答:您可以使用設為 false 的 --waitForCompletion 選項,在背景執行作業。
問:我可以使用自訂 URL 擷取修補影像嗎?
答:是的,您可以使用 --containerURL 選項指定自訂 URL 來擷取 Grid Infrastructure 映像檔。
問:如果我不想修補所有節點,該如何指定要修補的節點?
答:您可以使用 --nodeList 選項和以逗號分隔的節點名稱清單,來指定要修正的節點。
問:如果需要倒回修正程式,該怎麼辦?
A:使用 dbaascli grid patch 命令中的 --rollback 選項倒回修正程式。
問:如果我的環境只有一個作用中執行處理,而我需要繼續停止工作,如何處理修正作業?
A:使用 --continueWithDbDowntime 選項繼續修正,即使資料庫停止工作也一樣。
問:我可以建立已修正 Grid 本位目錄的影像嗎?
答:是的,您可以使用 --createImage 選項來建立已修正 Grid 本位目錄的影像。如有需要,請指定應使用 --createImageDir 儲存影像的目錄。
問:如果想要在中斷後繼續修正階段作業,該怎麼辦?
A:使用 --resume 選項可繼續修正階段作業。如果您知道階段作業 ID,可以使用 --sessionID 來指定。
問:如果修補程序中途失敗,該怎麼辦?
答:如果修正程序失敗,您可以使用 --resume 選項來重新啟動程序。您也可以使用 --rollback 選項來回復成先前的狀態。
問:如何確保在修補之前符合所有先決條件?
A:在套用修正程式之前,使用 --executePrereqs 選項執行所有先決條件檢查。
問:我可以在背景執行修補,以免佔用終端機?
答:是的,您可以使用 --waitForCompletion false 選項在背景執行修正程序。
問:修正之後,如何建立 Grid 本位目錄映像檔?
A:使用 --createImage 選項,從修正的 Grid 本位目錄建立新影像。視需要使用 --createImageDir 指定目錄。
問:如何使用現有影像檔進行修補?
答:您可以使用 --imageFile 選項,指定要用於修正之影像檔的完整路徑。
問:如果我想避免在修補期間發生資料庫停機,該怎麼辦?
A:確定您的環境有一個以上的作用中執行處理在執行中。您可以避免使用 --continueWithDbDowntime 選項,這只適用於只有一個作用中執行處理的環境。
問:如何知道修補程式在背景中執行的進度?
答:如果使用 --waitForCompletion false 執行修正程式,您可以使用作業系統命令 (例如 ps) 檢查背景工作的狀態,或檢查位於 Grid 本位目錄中的日誌。
問:是否可以使用 dbaascli grid patch 修補至較高的主要版本?
答:否,dbaascli grid patch 僅允許修正至目前主要版本的次要版本。對於主要升級,您必須遵循不同的升級程序。
問:修正期間是否可以略過特定先決條件檢查?
答:否,當您使用 --executePrereqs 時,將會執行所有先決條件檢查。不過,您可以複查先決條件檢查的結果,並在繼續進行之前手動處理任何問題。
問:如果打補丁過程停滯或停滯,該怎麼辦?
答:如果修正程序沒有回應,您可以使用作業系統命令停止它,然後使用 --resume 選項繼續。如果這樣做無效,請嘗試使用 --rollback 選項來回復修補程式。
問:是否可以將跨多個叢集的修補程序自動化?
答:是的,使用包含 dbaascli grid patch 指令的指令集搭配適當的選項,您可以自動跨不同叢集進行修補。
問:哪裡可以找到修正處理作業的日誌?
A:日誌通常位於 Oracle Grid 本位目錄日誌目錄或設定期間指定的預設位置。您可以監督這些日誌,瞭解修正處理作業的詳細資訊。
問:是否可以在沒有使用者互動的情況下建立無訊息修補程序?
答:是,您可以在命令中指定所有必要選項,並在背景 (--waitForCompletion false) 中執行,以建立非互動式修正處理作業。
問:我可以在套用補丁前檢查是否有可用的補丁更新?
答:dbaascli grid patch 指令本身沒有列出可用修補程式的選項。不過,您可以使用 Oracle 的標準方法 (例如 Oracle Support) 來識別最新的修正程式。
問:我可以使用 dbaascli 修正多個 Oracle 本位目錄嗎?
答:否,dbaascli grid patch 命令的設計是一次修補特定的 Oracle Grid Infrastructure 本位目錄。您需要為每個本位目錄分別執行命令。
問:在修補 Grid Infrastructure 時,是否有辦法完全防止停機?
答:為了將停機時間降到最低,請確定您的環境具有多個作用中資料庫執行處理 (RAC 組態),以便能夠依節點完成修補。在此情況下,不應使用 --continueWithDbDowntime 選項。
問:如何處理 RAC One Node 環境的修正?
答:在 RAC One Node 環境中,您必須謹慎使用 --continueWithDbDowntime 選項,因為可能只有一個作用中執行處理。請複查 RAC One Node 特定修正準則的 Oracle 文件。
問:我可以查看先前修補程式的作業階段歷史記錄嗎?
答:dbaascli 公用程式不提供直接檢視階段作業歷史記錄的方式。不過,您可以在 Grid 本位目錄日誌目錄中找到先前修正階段作業的日誌。
範例:
範例:基本 Grid 修正
dbaascli grid patch --targetVersion 19.12.0.0.0
將 Oracle Grid Infrastructure 修正為版本 19.12.0.0.0。
範例:使用自訂容器 URL 進行修正
dbaascli grid patch --targetVersion 19.12.0.0.0 --containerURL https://example.com/custom/url
使用自訂容器 URL 擷取 Grid Infrastructure 映像檔,將 Grid Infrastructure 修正為版本 19.12.0.0.0。
範例:使用先決條件檢查進行修正
dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs
執行先決條件檢查之後,將 Grid Infrastructure 修正為版本 19.12.0.0.0。
範例:修正節點子集
dbaascli grid patch --targetVersion 19.12.0.0.0 --nodeList node1,node2,node3
在指定的節點 (node1、node2 和 node3) 將 Grid Infrastructure 修正為版本 19.12.0.0.0。
範例:倒回修正
dbaascli grid patch --rollback
倒回 Oracle Grid Infrastructure 上上次套用的修正程式。
範例:繼續先前的修正作業
dbaascli grid patch --resume
從停止處繼續先前的修正作業。
範例:使用特定階段作業 ID 繼續修正作業
dbaascli grid patch --resume --sessionID 12345
使用階段作業 ID 12345 繼續修正作業。
範例:允許以資料庫停止工作時間進行修正
dbaascli grid patch --targetVersion 19.12.0.0.0 --continueWithDbDowntime
將 Grid Infrastructure 修正為版本 19.12.0.0.0,而且視需要允許資料庫停止工作。
範例:建立修補的影像
dbaascli grid patch --targetVersion 19.12.0.0.0 --createImage --createImageDir /path/to/dir
建立修正之 Grid 本位目錄 (版本 19.12.0.0.0) 的影像,並將它儲存在指定的目錄中。
範例:使用現有影像檔
dbaascli grid patch --targetVersion 19.12.0.0.0 --imageFile /path/to/image/file.zip
使用位於 /path/to/image/file.zip 的現有映像檔,將 Grid Infrastructure 修正為版本 19.12.0.0.0。
範例:在背景執行修正作業
dbaascli grid patch --targetVersion 19.12.0.0.0 --waitForCompletion false
將 Grid Infrastructure 修正為版本 19.12.0.0.0,並在背景執行作業。
範例:先決條件、自訂 URL 及節點子集的組合
dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs --containerURL https://example.com/custom/url --nodeList node1,node2
將 Grid Infrastructure 修正為版本 19.12.0.0.0、執行先決條件檢查、使用映像檔的自訂 URL,以及只在 node1 和 node2 套用修正程式。
範例:使用現有的影像檔建立修補的影像
dbaascli grid patch --targetVersion 19.12.0.0.0 --createImage --createImageDir /path/to/dir --imageFile /path/to/existing/image.zip
建立修補影像,並在使用修補的現有影像檔時將它儲存在指定的目錄中。
範例:驗證沒有修正的先決條件
dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs
確認是否符合修正至版本 19.12.0.0.0 的所有先決條件,但未實際套用修正程式。
範例:執行修正程式並忽略先決條件失敗
dbaascli grid patch --targetVersion 19.12.0.0.0 --continueWithDbDowntime --executePrereqs
即使部分先決條件檢查失敗,仍執行修正程式。這在允許停機,且可忽略某些先決條件的情況下非常有用。
範例:檢查修正程式日誌是否有問題
tail -f /u01/app/grid/logs/grid_patch.log
即時監督修正程式日誌,以在修正處理作業期間診斷任何問題。
範例:在平行環境中套用修正程式
dbaascli grid patch --targetVersion 19.12.0.0.0 --nodeList node1,node2 --waitForCompletion false
修正節點子集 (node1 和 node2) 上的 Grid Infrastructure,並在背景中執行處理。
範例:使用外部來源的特定影像檔
dbaascli grid patch --targetVersion 19.12.0.0.0 --imageFile /mnt/images/grid_patch_19.12.zip
使用位於外部儲存裝置上的預先下載映像檔來修正 Grid Infrastructure。
範例:使用自訂階段作業 ID 執行修正程式
dbaascli grid patch --targetVersion 19.12.0.0.0 --resume --sessionID 67890
使用階段作業 ID 67890 繼續中斷的修正作業。
範例:排定稍後執行修正
echo "dbaascli grid patch --targetVersion 19.12.0.0.0" | at 02:00
使用 Linux 中的 at 命令,排定在上午 2:00 執行修正命令。
範例:指定完成逾時
dbaascli grid patch --targetVersion 19.12.0.0.0 --waitForCompletion true --continueWithDbDowntime --timeout 7200
在允許停機的同時修補 Grid Infrastructure,最多可等候 7200 秒 (2 小時),然後才逾時。
範例:建立另一個環境的自訂映像檔
dbaascli grid patch --targetVersion 19.12.0.0.0 --createImage --createImageDir /backups/images/grid_patch
建立要儲存在 /backups/images/grid_patch 目錄中,以用於其他環境的已修正 Grid Infrastructure 自訂映像檔。
範例:中斷後的修正程式復原
dbaascli grid patch --resume --continueWithDbDowntime
如果修正處理作業被中斷,則復原並繼續進行,但允許資料庫停止工作。
範例:結合先決條件檢查與背景執行
dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs --waitForCompletion false
檢查先決條件,並在背景執行修正程式。
範例:略過影像建立以加速修正
dbaascli grid patch --targetVersion 19.12.0.0.0 --patchInParallel --continueWithDbDowntime --waitForCompletion false
跨節點將 Grid Infrastructure 修正為版本 19.12.0.0.0,但允許資料庫停止工作,而且無須建立映像檔即可加速處理作業。
範例:透過日誌監督修正程式進度
tail -f /u01/app/grid/logs/grid_patch_progress.log
監督日誌檔以即時修正進度,提供修正處理作業之每個步驟的洞察分析。
範例:使用自訂清空逾時進行修正
dbaascli grid patch --targetVersion 19.12.0.0.0 --drainTimeoutInSeconds 3600 --continueWithDbDowntime
修正 Grid Infrastructure 並設定 1 小時 (3600 秒) 的自訂逾時,讓資料庫停止工作期間的正常資源清空。
範例:將修正程式套用至含先決條件檢查的特定節點
dbaascli grid patch --targetVersion 19.12.0.0.0 --nodeList node1,node4 --executePrereqs
僅將節點 node1 與 node4 修補至版本 19.12.0.0.0,並事先執行先決條件檢查。
範例:修正但不等待完成
dbaascli grid patch --targetVersion 19.12.0.0.0 --waitForCompletion false
開始在背景將 Grid Infrastructure 修正為版本 19.12.0.0.0,即可在不等待處理作業完成的情況下執行其他作業。
範例:清空逾時問題後重新套用失敗的修正程式
dbaascli grid patch --resume --drainTimeoutInSeconds 7200
如果因先前嘗試的時間不足而失敗,請繼續先前的修正階段作業,並將資源清空逾時延長至 2 小時 (7200 秒)。
範例:以特定階段作業 ID 即時檢視修正程式日誌
tail -f /u01/app/grid/logs/grid_patch_12345.log
即時監督階段作業 ID 為 12345 之修正階段作業的日誌檔。
範例:修正至新的目標本位目錄
dbaascli grid patch --targetHome /u01/app/grid_home_19c --executePrereqs
對位於 /u01/app/grid_home_19c 的新 Oracle Grid 本位目錄執行異位修正程式並進行先決條件檢查。
範例:停止背景修正程式工作
ps -ef | grep dbaascli | grep patch | awk '{print $2}' | xargs kill -9
尋找和停止關聯的處理作業 ID (PID),以停止背景修正程式工作。
範例:驗證沒有日誌的修正程式完成
dbaascli grid status --targetVersion 19.12.0.0.0
檢查目前的 Grid Infrastructure 版本狀態,檢查是否已順利套用 19.12.0.0.0 版本的修正程式。