아래의 이전 포스팅에서 oracle 19c를 설치해 보았습니다.
2023.12.06 - [Database/Oracle] - linux에 oracle 19c 설치
이때 설치된 oracle 19c 버전은 19.3.0.0입니다. 현시점(2023.12.)의 oracle 19c 버전은 19.21.0.0입니다.
따라서 단순 학습목적이 아닌 실 사용을 위해서는 각종 버그 및 취약점이 존재 하는 19.3을 19.21로 버전 업데이트 할 필요가 있습니다.
이번 포스팅에서는 oracle19c 19.3 버전을 19.21로 업데이트하는 방법을 알아봅니다.
기본 설치 파일은 LINUX.X64_193000_db_home.zip 입니다.
필요한 Release Update 파일은 현시점 기준으로 p35643107_190000_Linux-x86-64.zip입니다.
이 파일을 적용하기 위해서는 OPatch 유틸리티도 12.2.0.1.37 이상의 버전으로 업데이트해야 합니다.(기본 설치 시 OPatch 버전은 12.2.0.1.17입니다.)
필요한 OPatch 설치 파일명은 p6880880_190000_Linux-x86-64.zip입니다.
그럼 OPatch (p6880880_190000_Linux-x86-64.zip) 적용 후 Release Update(p35643107_190000_Linux-x86-64.zip)를 진행하겠습니다.
1. OPatch
다음 명령어로 기존 OPatch 버전을 확인해 봅니다. 12.2.0.1.17로 나옵니다. 버전 업데이트가 필요합니다.
$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.17
OPatch succeeded.
기존 OPatch를 백업합니다. 단순히 폴더명을 변경해 주면 됩니다. OPatch 폴더가 존재하는 경로에서 아래 명령어를 실행.
$ mv ./OPatch ./OPatch_231206
새로운 OPatch를 기존 OPatch 폴더 위치에 압축을 풀어 줍니다.
저의 경우 VirtualBox 환경에서 호스트와의 공유폴더가 /media/sf_VmShare 경로에 마운트 되어 있음을 참고해 주세요.
$ unzip /media/sf_VmShare/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME/
이것으로 OPatch 업데이트가 끝났습니다. 변경된 OPatch 버전을 조회해 봅니다.
기존 12.2.0.1.17에서 12.2.0.1.40으로 변경되었습니다.
$ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.40
2. Release Update Patch
먼저 Oracle 엔진 백업을 합니다. 경로는 $ORACLE_HOME/../입니다. 저의 경우 tar.gz으로 압축하였습니다.
tar cvfz oracle_home_20231207.tar.gz ./19.3.0/
패치 충돌검사를 수행합니다.
p35643107_190000_Linux-x86-64.zip 파일 압축을 풀면 35643107 폴더가 있고 그 안에 패치 파일들이 존재합니다.
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $ORACLE_HOME -phBaseDir /media/sf_VmShare/p35643107_190000_Linux-x86-64/35643107/
passed 메시지를 확인하면 충돌이 없다는 뜻입니다. 정상적인 충돌검사 완료 메시지를 참고하십시오.
Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2023, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /oracle/app/oracle/product/19.3.0
Central Inventory : /oracle/app/oraInventory
from : /oracle/app/oracle/product/19.3.0/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19.3.0/cfgtoollogs/opatch/opatch2023-12-06_13-58-20PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
DB 업데이트 필요 공간을 확인합니다.
/tmp 경로에 txt 파일을 생성하고 거기에 패치파일 경로를 작성해 둡니다.
cat /tmp/patch_list_db.txt
/media/sf_VmShare/p35643107_190000_Linux-x86-64/35643107/
그리고 OPatch CheckSystemSpace 명령을 수행합니다.
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -oh $ORACLE_HOME -phBaseFile /tmp/patch_list_db.txt
Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2023, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /oracle/app/oracle/product/19.3.0
Central Inventory : /oracle/app/oraInventory
from : /oracle/app/oracle/product/19.3.0/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19.3.0/cfgtoollogs/opatch/opatch2023-12-06_14-03-29PM_1.log
Invoking prereq "checksystemspace"
Prereq "checkSystemSpace" passed.
OPatch succeeded.
이제 패치 파일경로로 이동하며 opatch apply 명령을 수행합니다.
그전에 리스너와 DB 인스턴스를 stop, shutdown 해두어야 합니다.
[oracle@noyeora p35643107_190000_Linux-x86-64]$ cd 35643107/
[oracle@noyeora 35643107]$ pwd
/media/sf_VmShare/p35643107_190000_Linux-x86-64/35643107
[oracle@noyeora 35643107]$ $ORACLE_HOME/OPatch/opatch apply
Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2023, Oracle Corporation. All rights reserved.
Oracle Home : /oracle/app/oracle/product/19.3.0
Central Inventory : /oracle/app/oraInventory
from : /oracle/app/oracle/product/19.3.0/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19.3.0/cfgtoollogs/opatch/opatch2023-12-06_14-21-50PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 35643107
Do you want to proceed? [y|n]
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/oracle/app/oracle/product/19.3.0')
Is the local system ready for patching? [y|n]
Release Update Patch가 정상적으로 완료되면 아래 메시지 확인 가능합니다.
Patch 35643107 successfully applied.
Sub-set patch [29517242] has become inactive due to the application of a super-set patch [35643107].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /oracle/app/oracle/product/19.3.0/cfgtoollogs/opatch/opatch2023-12-06_14-21-50PM_1.log
OPatch succeeded.
3. Patch 결과 확인
다음 명령어로 패치 버전을 확인할 수 있습니다. 패치 전 버전 19.3에서 패치 후 버전 19.21을 확인할 수 있습니다. OCW의 경우 싱글 인스턴스 DB 구성에서는 사용하지 않기 때문에 패치하지 않았습니다.
$ORACLE_HOME/OPatch/opatch lspatches -oh $ORACLE_HOME
35643107;Database Release Update : 19.21.0.0.231017 (35643107)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
OPatch succeeded.
이상으로 Oracle 19c에 OPatch, Release Update를 진행해 보았습니다.
'Database > Oracle' 카테고리의 다른 글
[Oracle] 계정 관리 테이블 스페이스 관리 (0) | 2023.12.16 |
---|---|
오라클 데이터베이스 시작 및 종료 방법 (0) | 2023.12.15 |
SQL Developer 설치 및 기본 설정 (0) | 2023.12.08 |
linux에 oracle 19c 설치 (2) | 2023.12.06 |
oracle linux oracle 19c 설치환경 설정 (0) | 2023.11.29 |