dbcli를 사용하여 DB 시스템 리소스 업데이트
dbcli 유틸리티를 사용하여 DB 시스템 리소스를 업데이트할 수 있습니다. 여기에는 DB 시스템 업데이트, DB 시스템 내 노드의 OS(운영 체제) 및 데이터베이스 홈이 포함됩니다.
dbcli 명령에 대한 자세한 내용은 Oracle Database CLI Reference를 참조하십시오.
필요 조건
- OS 업데이트를 준비하는 중입니다.
OS를 업데이트하기 전에 다음과 같은 중요한 지침 및 정보를 검토하십시오.
- OS 업데이트를 시도하기 전에 DB 시스템에서 데이터베이스를 백업합니다.
-
DB 시스템에서 패키지를 제거하지 마십시오. 그러나 업데이트를 성공적으로 완료하려면 사용자 정의 RPM(시스템이 프로비전된 후 설치된 패키지)을 제거해야 할 수 있습니다.
주:
DB 시스템에 Network Manager를 설치하지 마십시오. 이 패키지를 설치하고 시스템을 재부트하면 시스템에 대한 액세스가 심각하게 손실됩니다. - Oracle은 운용 시스템을 업데이트하기 전에 비운용 시스템에서 업데이트를 철저히 테스트할 것을 권장합니다.
- DB 시스템 실행에 사용된 이미지는 필요한 업데이트로 정기적으로 업데이트됩니다. DB 시스템을 실행한 후에는 Oracle 공용 YUM 서버를 통해 게시된 필수 OS 보안 업데이트를 적용해야 합니다.
- OS 업데이트를 적용하려면 YUM 저장소에 대한 액세스를 허용하도록 DB 시스템의 VCN(가상 클라우드 네트워크)을 구성해야 합니다. 자세한 내용은 VCN 및 서브넷을 참조하십시오.
- SSH를 사용하여 DB 시스템에 접속하기 위한 요구사항입니다.
SSH를 통해 DB 시스템에 접속하려면 DB 시스템이 실행될 때 사용된 퍼블릭 키와 연관된 프라이빗 키에 대한 경로가 필요합니다.
또한 DB 시스템의 공용 또는 전용 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" }
- 업데이트 작업이 성공적으로 완료될 때까지 기다리십시오. 작업 명령을 사용하여 작업 상태를 확인합니다.
출력: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 Command를 사용하여 설치된 업데이트 버전을 표시합니다. 사용 가능한 버전 열에 구성요소의 버전 번호가 표시되면 구성요소를 업데이트해야 합니다.
출력: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 Command을 사용하여 Object Storage에서 사용 가능한 최신 업데이트 버전을 표시합니다.
출력: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
서버 구성요소 업데이트
다음 단계를 수행하여 GI(Grid Infrastructure) 및 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 -
- 서버 명령을 사용하여 서버 구성 요소를 업데이트합니다.
출력: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
- Component Command를 사용하여 서버 구성 요소가 성공적으로 업데이트되었는지 확인합니다. 사용 가능한 버전 열은
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
를 기록해 둡니다. 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
- Component Command를 사용하여 데이터베이스 홈 구성 요소가 성공적으로 업데이트되었는지 확인합니다. 사용 가능한 버전 열은
update-to-date
를 나타내야 합니다.
DB 시스템 노드에 대해 사용 가능한 운영체제 업데이트 확인
주:
- Oracle은 OS 업데이트에 커널 업데이트가 있는 경우 DB 시스템을 재부트할 것을 권장합니다.
- Oracle은 Oracle이 제공하는 버전 잠금에 포함되지 않은 OS 패키지 또는 종속성을 설치하지 않는 것이 좋습니다.
- DB 시스템에 SSH로 접속합니다.
ssh -i <private_key_path> opc@<db_system_ip_address>
opc
로 로그인한 다음sudo
을root
사용자에게 로그인합니다.sudo su -
를 하이픈과 함께 사용하여 루트 사용자의 프로파일을 호출합니다. 그러면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 -
를 하이픈과 함께 사용하여 루트 사용자의 프로파일을 호출합니다. 그러면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 업데이트를 재부트해야 하는 경우 업데이트 작업이 완료된 후 서버를 재부트합니다.