dbcli를 사용하여 DB 시스템 리소스 업데이트

dbcli 유틸리티를 사용하여 DB 시스템 리소스를 갱신할 수 있습니다. 여기에는 DB 시스템 업데이트, DB 시스템 내 노드의 OS(운영 체제) 및 데이터베이스 홈이 포함됩니다.

dbcli 명령에 대한 자세한 내용은 Oracle Database CLI Reference를 참조하십시오.

선행 조건

  1. OS 업데이트 준비

    OS를 업데이트하기 전에 다음과 같은 중요한 지침 및 정보를 검토하십시오.

    • OS 업데이트를 시도하기 전에 DB 시스템에서 데이터베이스를 백업하십시오.
    • DB 시스템에서 패키지를 제거하지 마십시오. 하지만 업데이트를 성공적으로 완료하려면 사용자 정의 RPM(시스템이 프로비전된 후 설치된 패키지)을 제거해야 할 수 있습니다.
    • Oracle은 운용 시스템을 업데이트하기 전에 비운용 시스템에서 업데이트를 철저히 테스트할 것을 권장합니다.
    • DB 시스템 실행에 사용되는 이미지는 필요한 업데이트로 정기적으로 업데이트됩니다. DB 시스템을 실행한 후에는 Oracle 공용 YUM 서버를 통해 게시된 필수 OS 보안 업데이트를 적용해야 합니다.
    • OS 업데이트를 적용하려면 YUM 저장소에 대한 액세스를 허용하도록 DB 시스템의 VCN(가상 클라우드 네트워크)을 구성해야 합니다. 자세한 내용은 VCN 및 서브넷을 참조하십시오.
  2. SSH를 사용하여 DB 시스템에 접속하기 위한 요구사항입니다.

    SSH를 통해 DB 시스템에 접속하려면 DB 시스템이 실행될 때 사용된 퍼블릭 키와 연관된 프라이빗 키의 경로가 필요합니다.

    또한 DB 시스템의 공용(public) 또는 전용(private) IP 주소가 필요합니다.

    전용 IP 주소를 사용하여 온프레미스 네트워크 또는 VCN 내에서 시스템에 연결합니다. 여기에는 VPN 또는 FastConnect를 통해 VCN에 연결하는 온프레미스에 있는 호스트 또는 동일한 VCN에 있는 다른 호스트의 연결이 포함됩니다. DB 시스템의 공용 IP 주소를 사용하여 VPN 없이 클라우드 외부에서 시스템에 연결합니다. 다음과 같이 콘솔에서 IP 주소를 찾을 수 있습니다.

    1. DB 시스템 세부정보 페이지의 리소스에서 노드를 누릅니다.
    2. DB 시스템의 노드를 표시하는 테이블의 공용 IP 주소 및 전용 IP 주소 및 DNS 이름 열에 표시되는 값을 확인합니다.

설치 및 사용 가능한 업데이트 확인

다음 단계를 수행하여 설치 및 사용 가능한 업데이트를 확인합니다.

  1. DB 시스템에 SSH로 접속합니다.

    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. opc로 로그인한 다음 sudo을 root 사용자에게 로그인합니다. 하이픈과 함께 sudo su -를 사용하여 root 사용자의 프로파일을 호출합니다. 그러면 PATH가 dbcli 디렉토리(/opt/oracle/dcs/bin)로 설정됩니다.

    sudo su -
  3. 구성 요소 명령을 사용하여 설치된 업데이트 버전을 표시합니다. 사용 가능한 버전 열에 구성 요소의 버전 번호가 표시되는 경우 구성 요소를 업데이트해야 합니다.

    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
  4. Latestpatch Command을 사용하여 오브젝트 스토리지에서 사용 가능한 최신 업데이트 버전을 표시합니다.

    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(저장소 관리 키트) 서버 구성요소를 업데이트하려면 다음 단계를 수행하십시오.

  1. DB 시스템에 SSH로 접속합니다.

    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. opc로 로그인한 다음 sudo을 root 사용자에게 로그인합니다. 하이픈과 함께 sudo su -를 사용하여 root 사용자의 프로파일을 호출합니다. 그러면 PATH가 dbcli 디렉토리(/opt/oracle/dcs/bin)로 설정됩니다.

    sudo su -
  3. 서버 명령을 사용하여 서버 구성 요소를 업데이트합니다.

    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를 기록해 둡니다.

  4. 작업 명령을 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
  5. 구성 요소 명령을 사용하여 서버 구성 요소가 성공적으로 업데이트되었는지 확인합니다. 사용 가능한 버전 열은 update-to-date을 나타내야 합니다.

데이터베이스 홈 구성요소 업데이트

Database Home 구성 요소를 갱신하려면 다음 단계를 수행하십시오.

  1. DB 시스템에 SSH로 접속합니다.

    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. opc로 로그인한 다음 sudo을 root 사용자에게 로그인합니다. 하이픈과 함께 sudo su -를 사용하여 root 사용자의 프로파일을 호출합니다. 그러면 PATH가 dbcli 디렉토리(/opt/oracle/dcs/bin)로 설정됩니다.

    sudo su -
  3. 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
  4. 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를 기록해 둡니다.

  5. 작업 명령을 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
  6. 구성 요소 명령을 사용하여 데이터베이스 홈 구성 요소가 성공적으로 업데이트되었는지 확인합니다. 사용 가능한 버전 열은 update-to-date을 나타내야 합니다.

DB 시스템 노드에 사용 가능한 운영체제 업데이트 확인

참고:

  1. DB 시스템에 SSH로 접속합니다.

    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. opc로 로그인한 다음 sudo을 root 사용자에게 로그인합니다. sudo su -를 하이픈과 함께 사용하여 루트 사용자의 프로파일을 호출합니다. 그러면 PATH가 dbcli 디렉토리(/opt/oracle/dcs/bin)로 설정됩니다.

    sudo su -
  3. get-availableospatches 명령을 사용하여 OS에 적용할 업데이트를 식별합니다. rebootIsRequired 필드가 "true"인 경우 업데이트를 적용한 후 DB 시스템을 재부트해야 합니다.

    dbcli get-availableospatches

    출력:

    Update Available     Reboot Required
    -------------------- --------------------
    Yes                  Yes

    JSON으로 출력을 가져오려면 다음 명령을 사용합니다.

    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를 업데이트하려면 다음 단계를 수행합니다.

  1. DB 시스템에 SSH로 접속합니다.

    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. opc로 로그인한 다음 sudo을 root 사용자에게 로그인합니다. sudo su -를 하이픈과 함께 사용하여 루트 사용자의 프로파일을 호출합니다. 그러면 PATH가 dbcli 디렉토리(/opt/oracle/dcs/bin)로 설정됩니다.

    sudo su -
  3. 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%"
    }
  4. 사전 검사가 성공하고 업데이트 작업이 성공하지 못하도록 하는 문제가 발견되지 않으면 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%"
     }
  5. OS 업데이트를 재부트해야 하는 경우 업데이트 작업이 완료된 후 서버를 재부트합니다.