Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

이 글에서는 Linux 운영체제(OS)에서 실행 중인 2노드 Oracle® Grid Real Application Cluster(RAC)를 12c(12.1.0.2) 버전에서 19c(19.7.0) 버전으로 업그레이드하는 과정을 단계별로 자세히 안내합니다.

개요

현재 사용 가능한 Oracle Grid RAC의 최신 버전은 19c입니다. Oracle은 향상된 안정성과 보안성을 위해 Grid 인프라를 19c로 업그레이드할 것을 강력히 권장하고 있습니다. 특히 19c에서는 드라이런(dry-run) 업그레이드와 같은 다양한 새로운 기능이 도입되었습니다. 이 글에서는 해당 신규 기능과 함께 Grid를 업그레이드하는 전체 절차를 살펴보겠습니다.

Grid 업그레이드 절차

  1. 업그레이드 전 체크리스트 확인
  2. 19c Grid 소프트웨어 다운로드
  3. Orachk 준비 상태 평가 실행
  4. 필수 19c 패치 적용
  5. 클러스터 검증 유틸리티(CVU) 실행
  6. 드라이런(Dry-run) 업그레이드
  7. Grid 업그레이드 수행
  8. Grid 업그레이드 결과 검증

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

1단계: 업그레이드 전 체크리스트 확인

Oracle 문서 2539751.1에 따르면, 업그레이드의 선행 조건으로 12c Grid 홈 디렉터리에 28553832 패치를 적용해야 합니다. 아래 명령으로 패치 적용 여부를 확인할 수 있습니다:

[grid@norlathrac01 OPatch]$ ./opatch lsinventory |grep -i 28553832
28553832, 20883009, 21678268

2단계: Grid 소프트웨어 다운로드

19c Grid 소프트웨어는 아래 링크에서 다운로드할 수 있습니다:

https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

RAC(Real Application Cluster)의 양쪽 노드 모두에 디렉터리를 생성합니다:

mkdir -p /u01/app/grid/product/19.3.0/grid

19c Grid 소프트웨어를 RAC의 첫 번째 노드로 복사한 후 압축을 해제합니다:

cd /u01/app/grid/product/19.3.0/grid
unzip -q <19c Grid Software location >

3단계: Orachk 준비 상태 평가 실행

Oracle 문서 1457357.1에 따르면, Grid를 소유한 사용자 계정으로 Orachk 도구를 실행해야 합니다.

문서 1457357.1에서 최신 버전의 Orachk를 반드시 다운로드한 후, 다음 명령어들을 순서대로 실행합니다:

cd /u01/app/grid/product/19.3.0/grid/suptools/orachk
export GRID_HOME= /u01/app/grid/product/19.3.0/grid
export RAT_PROMPT_WAIT_TIMEOUT=15
export RAT_ORACLE_HOME=/u01/app/grid/12.1.0
export RAT_DB=12.1.0.2.0
cd /u01/app/grid/product/19.3.0/grid/suptools/orachk
./orachk -u -o pre -profile clusterware,asm

이 과정이 완료되면 아래 이미지와 같은 HTML 형식의 보고서가 생성됩니다:

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

다음 단계로 넘어가기 전에, 보고서에서 실패(Failed), 심각(Critical), 경고(Warning) 항목에 해당하는 검사 결과를 모두 확인하고 반드시 해결해야 합니다.

4단계: 필수 19c 패치 적용

Oracle 권고 문서에 따라 19c 홈 디렉터리에 필수 패치 30899722를 적용해야 합니다:

[grid@norlathrac01 grid]$ pwd
/u01/app/grid/product/19.3.0/grid
[grid@norlathrac01 grid]$ ./gridSetup.sh -silent -applyRU

노드 [norlathrac01]에서 root 권한으로 다음 명령을 실행합니다:

/u01/app/grid/product/19.3.0/grid/root.sh 
Successfully Setup Software.

마지막으로 root.sh 스크립트 실행을 요청받게 됩니다. 이때 스크립트를 바로 실행하지 마세요. 이 스크립트는 업그레이드 작업의 마지막 단계에서 실행해야 하므로, 지금은 건너뛰도록 합니다.

패치 적용이 완료되면 다음 명령을 실행하여 지원 가능 상태(supported)로 표시되는지 확인합니다:

[grid@norlathrac01 bin]$ pwd
/u01/app/grid/product/19.3.0/grid/usm/install/Oracle/EL7UEK/x86_64/4.1.12-112.16.4/4.1.12-112.16.4-x86_64/bin
[grid@norlathrac01 bin]$ ./acfsdriverstate -orahome /u01/app/grid/product/19.3.0/grid supported
ACFS-9200: Supported

5단계: 클러스터 검증 유틸리티(CVU) 실행

Grid OS 소유자 계정으로 로그인한 후 다음 명령을 실행합니다:

[grid@norlathrac01 ~]$ cd /u01/app/grid/product/19.3.0/grid/
[grid@norlathrac01 grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/grid/12.1.0 -dest_crshome /u01/app/grid/product/19.3.0/grid -dest_version 19.0.0.0.0 -fixup -verbose

아래 나열된 모든 검사 항목이 통과(PASSED)되어야 정상입니다:

Verifying node application existence ...PASSED
Verifying check incorrectly sized ASM disks ...PASSED
Verifying ASM disk group free space ...PASSED
Verifying network configuration consistency checks ...PASSED
Verifying file system mount options for path GI_HOME ...PASSED
Verifying /boot mount ...PASSED
Verifying OLR Integrity ...PASSED
Verifying Verify that the ASM instance was configured using an existing ASM parameter file. ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...INFORMATION (PRVG-11250)
Verifying Network interface bonding status of private interconnect network interfaces ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying file system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM filter driver configuration ...PASSED
verifying Systemd login manager IPC parameter ...PASSED
Verifying Kernel retpoline support ...PASSED

6단계: 드라이런(Dry-run) 업그레이드

앞서 언급했듯이, Oracle은 19c Grid에서 이 새로운 기능을 도입했습니다. 실제 업그레이드를 진행하기 전에 드라이런 업그레이드를 먼저 수행할 수 있습니다. 드라이런 업그레이드는 실제 변경 사항 없이 실제 업그레이드와 동일한 모든 단계를 검증해 주므로, 잠재적인 오류를 사전에 발견하는 데 매우 유용합니다. 다음 명령을 실행합니다:

unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID
cd /u01/app/grid/product/19.3.0/grid 
gridsetup.sh -dryRunForUpgrade 

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

마지막으로 rootupgrade.sh 스크립트 실행을 요청받게 됩니다. 이 스크립트는 로컬 노드에서만 실행하면 됩니다.

7단계: Grid 업그레이드 수행

이전 단계에서 드라이런 업그레이드가 성공적으로 완료되었다면, 이제 실제 업그레이드를 진행할 수 있습니다.

실제 업그레이드를 시작하기 전에, 다음 명령을 실행하여 Grid 서비스를 종료하고 나머지 서비스들이 클러스터 서버에서 정상적으로 구동 중인지 확인합니다. 또한 클러스터 업그레이드 상태가 NORMAL인지도 반드시 점검해야 합니다:

[grid@norlathrac01 bin]$ ./crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [12.1.0.2.0]. The cluster upgrade
state is [NORMAL]. The cluster active patch level is [2653232555].
cd /u01/app/grid/product/19.3.0/grid
unset ORACLE_BASE
 unset ORACLE_HOME
 unset ORACLE_SID 
./gridSetup.sh 

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

rootupgrade.sh 스크립트를 먼저 로컬 노드에서 실행한 후, 원격 노드에서 실행합니다.

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

Oracle Grid 12c에서 19c로 업그레이드하는 방법: 단계별 완벽 가이드

여기까지 완료되면 Grid가 19c로 업그레이드되며, 모든 클러스터 서비스가 정상적으로 구동됩니다.

8단계: Grid 업그레이드 결과 검증

Grid 업그레이드가 완료된 후에는 다음 명령을 실행하여 업그레이드된 Grid 버전을 확인합니다:

[grid@norlathrac01 bin]$ crsctl query crs activeversion
Oracle clusterware active version on the cluster is [19.0.0.0.0]
[grid@norlathrac01 bin]$
[grid@norlathrac01 bin]$ ./crsctl query crs softwareversion
Oracle Clusterware version on node [norlathrac03] is [19.0.0.0.0]

양쪽 클러스터 노드에서 모든 CRS 서비스가 정상 구동 중인지도 확인합니다:

[grid@norlathrac01 bin]$ crsctl check crs
CRS-4638: Oracle high availability services is online
CRS-4537: Cluster ready services is online
CRS-4529: Cluster synchronization services is online
CRS-4533: Event manager is online

결론

현재 사용 가능한 최신 버전인 Oracle 19c Grid는 더욱 향상된 안정성과 보안성을 제공합니다. 특히 드라이런 업그레이드와 같은 새로운 기능을 통해, 이전 버전보다 훨씬 원활하고 정확하게 Grid 업그레이드를 수행할 수 있습니다.

데이터 서비스에 대해 더 자세히 알아보세요.

피드백 탭을 통해 의견을 남기거나 질문할 수 있으며, 언제든지 저희와 대화를 시작할 수 있습니다.