使用 dbcli 更新資料庫系統資源
您可以使用 dbcli 公用程式來更新資料庫系統資源。這包括更新資料庫系統、資料庫系統內節點上的作業系統 (OS) 以及資料庫本位目錄。
如需有關 dbcli 命令的詳細資訊,請參閱 Oracle Database CLI Reference。
必備條件
- 準備作業系統更新。
在更新作業系統之前,請先檢閱下列重要準則與資訊:
- 嘗試作業系統更新之前,請先備份資料庫系統中的資料庫。
-
請勿從資料庫系統移除套裝軟體。不過,您可能必須移除自訂 RPM (系統佈建後所安裝的套裝軟體),更新才能順利完成。
附註:
請勿在資料庫系統上安裝「網路管理員」。安裝此套裝軟體並重新啟動系統會導致嚴重的系統存取中斷。 - Oracle 建議您在更新生產系統之前,先在非生產系統上完整測試所有更新。
- 用來啟動資料庫系統的映像檔會隨著必要的更新定期更新。啟動資料庫系統之後,您必須負責套用透過 Oracle 公用 YUM 伺服器發布的必要作業系統安全更新。
- 若要套用作業系統更新,必須將資料庫系統中的虛擬雲端網路 (VCN) 設定為允許存取 YUM 儲存區域。如需詳細資訊,請參閱 VCN 和子網路。
- 使用 SSH 連線至資料庫系統的需求。
若要透過 SSH 連線至資料庫系統,您需要有與啟動資料庫系統時所使用之公開金鑰關聯的私密金鑰路徑。
您也需要資料庫系統的公用或專用 IP 位址。
使用專用 IP 位址從內部部署網路或從 VCN 內部連線到系統。這包括從內部部署連線、透過 VPN 或 FastConnect 連線至 VCN 的主機,或從同一 VCN 中的其他主機進行連線。使用資料庫系統的公用 IP 位址從雲端外部 (無 VPN) 連線至系統。您可以在主控台中找到 IP 位址,如下所示:
- 在資料庫系統詳細資訊頁面的資源底下,按一下節點。
- 檢視顯示資料庫系統節點之表格的公用 IP 位址和專用 IP 位址和 DNS 名稱資料欄中的值。
使用最新的指令更新 CLI
請執行下列步驟來更新 CLI,以確保您有最新的更新命令 (資料庫系統可能未包括這些命令)。
- SSH 至資料庫系統。
ssh -i <private_key_path> opc@<db_system_ip_address>
- 以
opc
身分登入,然後以sudo
身分登入root
使用者。搭配使用sudo su -
和連字號來呼叫root
使用者的設定檔,此設定檔會將PATH
設定為 dbcli 目錄 (/opt/oracle/dcs/bin
)。sudo su -
- 使用 CLI Update 命令更新 CLI。
輸出:cliadm update-dbcli
{ "jobId" : "dc9ce73d-ed71-4473-99cd-9663b9d79bfd", "status" : "Created", "message" : "Dcs cli will be updated", "reports" : [ ], "createTimestamp" : "January 18, 2017 10:19:34 AM PST", "resourceList" : [ ], "description" : "dbcli patching", "updatedTime" : "January 18, 2017 10:19:34 AM PST" }
- 請等待更新工作順利完成。使用工作命令來檢查工作的狀態。
輸出:dbcli list-jobs
ID Description Created Status ------------------------------------ -------------- ----------------------------------- ---------- dc9ce73d-ed71-4473-99cd-9663b9d79bfd dbcli patching January 18, 2017 10:19:34 AM PST Success
檢查已安裝與可用的更新
執行下列步驟可以檢查已安裝和可用的更新。
- SSH 至資料庫系統。
ssh -i <private_key_path> opc@<db_system_ip_address>
- 以
opc
身分登入,然後以sudo
身分登入root
使用者。搭配使用sudo su -
和連字號來呼叫root
使用者的設定檔,此設定檔會將PATH
設定為 dbcli 目錄 (/opt/oracle/dcs/bin
)。sudo su -
- 使用元件命令顯示安裝的更新版本。如果可用的版本資料欄指示元件的版本號碼,您應該更新元件。
輸出:dbcli describe-component
System Version --------------- 12.1.2.10.0 Component Name Installed Version Available Version --------------------- -------------------- -------------------- OAK 12.1.2.10.0 up-to-date GI 12.1.0.2.161018 up-to-date ORADB12102_HOME1 12.1.0.2.160719 12.1.0.2.161018
- 使用 Latestpatch 指令顯示物件儲存中可用的最新更新版本。
輸出:dbcli describe-latestpatch
componentType availableVersion --------------- -------------------- gi 12.1.0.2.161018 db 11.2.0.4.161018 db 12.1.0.2.161018 oak 12.1.2.10.0
更新伺服器元件
執行下列步驟以更新 Grid Infrastructure (GI) 和儲存體管理套件 (OAK) 伺服器元件。
- SSH 至資料庫系統。
ssh -i <private_key_path> opc@<db_system_ip_address>
- 以
opc
身分登入,然後以sudo
身分登入root
使用者。搭配使用sudo su -
和連字號來呼叫root
使用者的設定檔,此設定檔會將PATH
設定為 dbcli 目錄 (/opt/oracle/dcs/bin
)。sudo su -
- 使用伺服器命令更新伺服器元件。
輸出:dbcli update-server
{ "jobId" : "9a02d111-e902-4e94-bc6b-9b820ddf6ed8", "status" : "Created", "reports" : [ ], "createTimestamp" : "January 19, 2017 09:37:11 AM PST", "resourceList" : [ ], "description" : "Server Patching", "updatedTime" : "January 19, 2017 09:37:11 AM PST" }
請注意上述範例中的
jobId
。 - 搭配使用工作命令搭配
jobId
檢查工作輸出。
輸出:dbcli describe-job -i 9a02d111-e902-4e94-bc6b-9b820ddf6ed8
Job details ---------------------------------------------------------------- ID: 9a02d111-e902-4e94-bc6b-9b820ddf6ed8 Description: Server Patching Status: Running Created: January 19, 2017 9:37:11 AM PST Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- Create Patching Repository Directories January 19, 2017 9:37:11 AM PST January 19, 2017 9:37:11 AM PST Success Download latest patch metadata January 19, 2017 9:37:11 AM PST January 19, 2017 9:37:11 AM PST Success Update System version January 19, 2017 9:37:11 AM PST January 19, 2017 9:37:11 AM PST Success Update Patching Repository January 19, 2017 9:37:11 AM PST January 19, 2017 9:38:35 AM PST Success oda-hw-mgmt upgrade January 19, 2017 9:38:35 AM PST January 19, 2017 9:38:58 AM PST Success Opatch updation January 19, 2017 9:38:58 AM PST January 19, 2017 9:38:58 AM PST Success Patch conflict check January 19, 2017 9:38:58 AM PST January 19, 2017 9:42:06 AM PST Success Apply cluster-ware patch January 19, 2017 9:42:06 AM PST January 19, 2017 10:02:32 AM PST Success Updating GiHome version January 19, 2017 10:02:32 AM PST January 19, 2017 10:02:38 AM PST Success
- 使用元件命令確認已順利更新伺服器元件。可用的版本資料欄應該指示
update-to-date
。
更新資料庫本位目錄元件
請執行下列步驟來更新「資料庫本位目錄」元件。
- SSH 至資料庫系統。
ssh -i <private_key_path> opc@<db_system_ip_address>
- 以
opc
身分登入,然後以sudo
身分登入root
使用者。使用連字號sudo su -
來呼叫root
使用者的設定檔,此設定檔會將 PATH 設定為 dbcli 目錄 (/opt/oracle/dcs/bin
)。sudo su -
- 使用 Dbhome 命令取得資料庫本位目錄的
ID
。
輸出:dbcli list-dbhomes
ID Name DB Version Home Location ------------------------------------ ----------------- ---------- ------------------------------------------ b727bf80-c99e-4846-ac1f-28a81a725df6 OraDB12102_home1 12.1.0.2 /u01/app/orauser/product/12.1.0.2/dbhome_1
- 使用 Dbhome 命令更新「資料庫本位目錄」元件,並提供前一個步驟的
ID
。
輸出:dbcli update-dbhome -i b727bf80-c99e-4846-ac1f-28a81a725df6
{ "jobId" : "31b38f67-f993-4f2e-b7eb-5bccda9901ae", "status" : "Created", "message" : null, "reports" : [ ], "createTimestamp" : "January 20, 2017 10:08:48 AM PST", "resourceList" : [ ], "description" : "DB Home Patching: Home Id is 52e2e799-946a-4339-964b-c203dee35328", "updatedTime" : "January 20, 2017 10:08:48 AM PST" }
請注意上述範例中的
jobId
。 - 搭配使用工作命令搭配
jobId
檢查工作輸出。
輸出:dbcli describe-job -i 31b38f67-f993-4f2e-b7eb-5bccda9901ae
Job details ---------------------------------------------------------------- ID: 31b38f67-f993-4f2e-b7eb-5bccda9901ae Description: DB Home Patching: Home Id is b727bf80-c99e-4846-ac1f-28a81a725df6 Status: Success Created: January 20, 2017 10:08:48 AM PST Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- Create Patching Repository Directories January 20, 2017 10:08:49 AM PST January 20, 2017 10:08:49 AM PST Success Download latest patch metadata January 20, 2017 10:08:49 AM PST January 20, 2017 10:08:49 AM PST Success Update System version January 20, 2017 10:08:49 AM PST January 20, 2017 10:08:49 AM PST Success Update Patching Repository January 20, 2017 10:08:49 AM PST January 20, 2017 10:08:58 AM PST Success Opatch updation January 20, 2017 10:08:58 AM PST January 20, 2017 10:08:58 AM PST Success Patch conflict check January 20, 2017 10:08:58 AM PST January 20, 2017 10:12:00 AM PST Success db upgrade January 20, 2017 10:12:00 AM PST January 20, 2017 10:22:17 AM PST Success
- 使用元件命令來驗證「資料庫本位目錄」元件是否已順利更新。可用的版本資料欄應該指示
update-to-date
。
檢查資料庫系統節點的可用作業系統更新
附註:
- 如果作業系統更新中存在任何核心更新,Oracle 建議重新啟動資料庫系統。
- Oracle 不建議您安裝不屬於 Oracle 所提供版本鎖定的作業系統套裝軟體或相依性。
- SSH 至資料庫系統。
ssh -i <private_key_path> opc@<db_system_ip_address>
- 以
opc
身分登入,然後以sudo
身分登入root
使用者。搭配使用sudo su -
和連字號來呼叫 root 使用者的設定檔,該設定檔會將PATH
設定為 dbcli 目錄 (/opt/oracle/dcs/bin
)。sudo su -
- 使用
get-availableospatches
指令識別要套用至作業系統的更新。請注意,如果rebootIsRequired
欄位是 "true",您必須在套用更新之後重新啟動資料庫系統。
輸出:dbcli get-availableospatches
若要取得 JSON 的輸出,請使用下列命令。Update Available Reboot Required -------------------- -------------------- Yes Yes
輸出:dbcli get-availableospatches -j
{ "updateAvailable" : true, "rebootIsRequired" : true, "updateableRpms" : [ "curl.x86_64::7.29.0-59.0.1.el7_9.1", "freetype.x86_64::2.8-14.el7_9.1", "kernel-devel.x86_64::3.10.0-1160.11.1.el7", "kernel-headers.x86_64::3.10.0-1160.11.1.el7", "kernel-uek.x86_64::4.1.12-124.45.6.el7uek", "kernel-uek-firmware.noarch::4.1.12-124.45.6.el7uek", "libX11.x86_64::1.6.7-3.el7_9", "libX11-common.noarch::1.6.7-3.el7_9", "libcurl.x86_64::7.29.0-59.0.1.el7_9.1", "libsmbclient.x86_64::4.10.16-9.el7_9", "libwbclient.x86_64::4.10.16-9.el7_9", "python.x86_64::2.7.5-90.0.1.el7", "python-libs.x86_64::2.7.5-90.0.1.el7", "samba-client-libs.x86_64::4.10.16-9.el7_9", "samba-common.noarch::4.10.16-9.el7_9", "samba-common-libs.x86_64::4.10.16-9.el7_9", "sudo.x86_64::1.8.23-10.el7_9.1" ], "installedRpms" : [ "curl.x86_64::7.29.0-59.0.1.el7", "freetype.x86_64::2.8-14.el7", "kernel-devel.x86_64::3.10.0-1160.2.2.el7", "kernel-headers.x86_64::3.10.0-1160.2.2.el7", "kernel-uek.x86_64::4.1.12-124.43.4.el7uek", "kernel-uek-firmware.noarch::4.1.12-124.43.4.el7uek", "libX11.x86_64::1.6.7-2.el7", "libX11-common.noarch::1.6.7-2.el7", "libcurl.x86_64::7.29.0-59.0.1.el7", "libsmbclient.x86_64::4.10.16-7.el7_9", "libwbclient.x86_64::4.10.16-7.el7_9", "python.x86_64::2.7.5-89.0.1.el7", "python-libs.x86_64::2.7.5-89.0.1.el7", "samba-client-libs.x86_64::4.10.16-7.el7_9", "samba-common.noarch::4.10.16-7.el7_9", "samba-common-libs.x86_64::4.10.16-7.el7_9", "sudo.x86_64::1.8.23-10.el7" ] }
更新資料庫系統節點的作業系統
本主題說明如何使用 dbcli
執行前置檢查,然後對在資料庫系統節點上執行的作業系統套用更新。
附註:
部分作業系統更新作業需要在更新完成後重新開機。使用上一個主題中所述的dbcli get-availableospatches
命令來判斷您套用的更新是否需要重新啟動。
請執行下列步驟來更新資料庫系統節點的作業系統。
- SSH 至資料庫系統。
ssh -i <private_key_path> opc@<db_system_ip_address>
- 以
opc
身分登入,然後以sudo
身分登入root
使用者。搭配使用sudo su -
和連字號來呼叫 root 使用者的設定檔,該設定檔會將PATH
設定為 dbcli 目錄 (/opt/oracle/dcs/bin
)。sudo su -
- 使用
update-server -c os -p
命令執行前置檢查:
輸出:dbcli update-server -c os -p
{ "jobId" : "7fc5cadd-d256-436a-be0d-c2bfe9fd4e95", "status" : "Created", "message" : null, "reports" : [ ], "createTimestamp" : "March 01, 2021 07:36:19 AM UTC", "resourceList" : [ ], "description" : "OS Patching Prechecks", "updatedTime" : "March 01, 2021 07:36:20 AM UTC", "percentageProgress" : "0%" }
- 如果前置檢查成功,而且未發現任何無法順利執行更新作業的問題,您可以更新作業系統。如果前置檢查失敗,請先解決前置檢查所識別的問題,再嘗試更新作業系統。
附註:
您只能使用-l
(--local
) 旗標來更新目前節點中的伺服器元件。若要更新作業系統,請使用
dbcli update-server -c os
命令:
輸出:dbcli update-server -c os
{ "jobId" : "bee1c6d9-45fb-4e5b-8ee8-f02e7cd192ab", "status" : "Created", "message" : null, "reports" : [ ], "createTimestamp" : "March 01, 2021 07:37:43 AM UTC", "resourceList" : [ ], "description" : "OS Patching", "updatedTime" : "March 01, 2021 07:37:43 AM UTC", "percentageProgress" : "0%" }
- 如果作業系統更新需要重新啟動,請在更新作業完成後重新啟動伺服器。