dbcliを使用したDBシステム・リソースの更新
dbcliユーティリティを使用して、DBシステム・リソースを更新できます。これには、DBシステム、DBシステム内のノード上のオペレーティング・システム(OS)およびデータベース・ホームの更新が含まれます。
dbcliコマンドの詳細は、Oracle Database CLIリファレンスを参照してください。
前提条件
- OSの更新の準備をします。
OSを更新する前に、次の重要なガイドラインおよび情報を確認してください:
- OSの更新を試行する前に、DBシステムのデータベースをバックアップします。
-
DBシステムからパッケージを削除しないでください。ただし、更新を正常に完了するために、カスタムRPM (システムのプロビジョニング後にインストールされたパッケージ)を削除する必要がある場合があります。
ノート:
DBシステムにNetwork Managerをインストールしないでください。このパッケージをインストールしてシステムを再起動すると、システムにアクセスできなくなります。 - 本番システムを更新する前に、すべての更新を非本番システムで十分にテストすることをお薦めします。
- DBシステムの起動に使用されるイメージは、必要な更新を使用して定期的に更新されます。DBシステムの起動後に、OracleのパブリックYUMサーバーを介して発行される必要なOSセキュリティ更新を適用する必要があります。
- OS更新を適用するには、YUMリポジトリにアクセスできるようにDBシステムの仮想クラウド・ネットワーク(VCN)を構成する必要があります。詳細は、VCNおよびサブネットを参照してください。
- SSHを使用してDBシステムに接続するための要件。
SSHでDBシステムに接続するには、DBシステムの起動時に使用された公開キーに関連付けられている秘密キーへのパスが必要です。
DBシステムのパブリックIPアドレスまたはプライベートIPアドレスも必要になります。
プライベートIPアドレスを使用して、オンプレミス・ネットワークまたはVCN内からシステムに接続します。これには、VPNまたはFastConnectを介してVCNに接続するオンプレミス上のホストから、または同じVCN内の別のホストからの接続が含まれます。DBシステムのパブリックIPアドレスを使用して、クラウド外部(VPNなし)からシステムに接続します。IPアドレスは、コンソールで次のようにして確認できます:
- 「DBシステムの詳細」ページの「リソース」で、「ノード」をクリックします。
- DBシステムの「ノード」が表示されている表の「パブリックIPアドレス」および「プライベートIPアドレスおよびDNS名」列に表示される値を確認します。
最新コマンドでのCLIの更新
次のステップを実行してCLIを更新し、最新の更新コマンドがあることを確認します(古いDBシステムには含まれていない可能性があります)。
- DBシステムに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更新コマンドを使用して、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" }
- 更新ジョブが正常に完了するのを待ちます。jobコマンドを使用して、ジョブのステータスを確認します。
出力:dbcli list-jobs
ID Description Created Status ------------------------------------ -------------- ----------------------------------- ---------- dc9ce73d-ed71-4473-99cd-9663b9d79bfd dbcli patching January 18, 2017 10:19:34 AM PST Success
インストール済の更新および使用可能な更新の確認
次のステップを実行して、インストール済の更新と使用可能な更新を確認します。
- DBシステムに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 -
- componentコマンドを使用して、インストール済の更新バージョンを表示します。「使用可能なバージョン」列に、あるコンポーネントのバージョン番号が示されている場合、そのコンポーネントは更新する必要があります。
出力: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)のサーバー・コンポーネントを更新します。
- DBシステムに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 -
- serverコマンドを使用して、サーバー・コンポーネントを更新します。
出力: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
を書き留めます。 - jobコマンドを
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
- componentコマンドを使用して、サーバー・コンポーネントが正常に更新されたことを確認します。「使用可能なバージョン」列に
「update-to-date」
が表示されます。
データベース・ホーム・コンポーネントの更新
次のステップを実行して、データベース・ホーム・コンポーネントを更新します。
- DBシステムに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
を書き留めます。 - jobコマンドを
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」
が表示されます。
DBシステム・ノードに使用可能なオペレーティング・システム更新の確認
ノート:
- OS更新にカーネル更新が存在する場合、DBシステムを再起動することをお薦めします。
- Oracleが提供するバージョン・ロックの一部ではないOSパッケージまたは依存関係のインストールは推奨されません。
- DBシステムに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
コマンドを使用して、OSに適用する更新を識別します。rebootIsRequired
フィールドが"true"の場合は、更新の適用後にDBシステムを再起動する必要があります。
出力: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" ] }
DBシステム・ノードのオペレーティング・システムの更新
このトピックでは、dbcli
を使用して事前チェックを実行してから、DBシステム・ノードで実行されているOSに更新を適用する方法について説明します。
ノート:
一部のOS更新操作では、更新の完了後にリブートが必要です。前のトピックで説明したようにdbcli get-availableospatches
コマンドを使用して、適用している更新に再起動が必要かどうかを判断します。
DBシステム・ノードのOSを更新するには、次のステップを実行します。
- DBシステムに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%" }
- 事前チェックが成功し、更新操作の成功を妨げる問題が見つからなかった場合は、OSを更新できます。事前チェックが成功しなかった場合は、OSの更新を試行する前に、事前チェックで識別された問題に対処してください。
ノート:
-l
(--local
)フラグを使用すると、現在のノードでのみサーバー・コンポーネントを更新できます。OSを更新するには、
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%" }
- OSの更新で再起動が必要な場合は、更新操作の完了後にサーバーを再起動します。