DoubleDBDeep

[ORACLE] 12c -> 19c RAC GUI (DBUA) 사용한 Upgrade 본문

ORACLE/Administration

[ORACLE] 12c -> 19c RAC GUI (DBUA) 사용한 Upgrade

DBCAMI 2023. 3. 21. 14:33
  대상 장비 DB_NAME VERSION STORAGE ORACLE_HOME GRID_HOME
SOURCE rac1, rac2 rac 12.1.0.2.0 FILESYSTEM /u01/app/oracle/product/12c/db_1 /u01/app/12c/grid
TARGET rac1, rac2 rac 19.17.0.0.0 FILESYSTEM /u01/app/oracle/product/19c/db_1 /u01/app/19c/grid

https://docs.oracle.com/en/database/oracle/oracle-database/21/upgrd/upgrading-oracle-database-upgrade-assistant-dbua.html#GUID-BBF591A5-EB02-405A-9F99-572429838C73

참조

 

Database Upgrade Guide

Database Upgrade Assistant (DBUA) provides a graphical user interface to guide you through the upgrade of Oracle Database.

docs.oracle.com

12.1.0.2 는 별도의 과정 없이 19c로 바로 업그레이드 가능함 (다른 단계를 추가적으로 가져야 하는 버전 존재 // oracle docs 2539778.1 확인

사전 작업

1. OS 환경 확인 (모든 노드 진행)

# OS 버전 확인
--- 권고 : -> Oracle Linux 7.4 with Unbreakable Enterprise Kernal 5: 4.14.35-1818.1.6.el7uek.x86_64 or later
[rac2|oracle:/home/oracle]> cat /etc/*-release
Oracle Linux Server release 7.9

[rac2|oracle:/home/oracle]> uname -a
Linux rac2 5.4.17-2102.201.3.el7uek.x86_64

# OS 용량 확인
[rac1|oracle:/home/oracle]> df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.9G     0  4.9G   0% /dev
tmpfs                8.0G  631M  7.4G   8% /dev/shm
tmpfs                4.9G  9.5M  4.9G   1% /run
tmpfs                4.9G     0  4.9G   0% /sys/fs/cgroup
/dev/mapper/ol-root   90G   54G   37G  60% /
/dev/sda1            497M  257M  241M  52% /boot
tmpfs                996M   28K  996M   1% /run/user/

[rac2|oracle:/home/oracle]> df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.9G     0  4.9G   0% /dev
tmpfs                8.0G  631M  7.4G   8% /dev/shm
tmpfs                4.9G  9.4M  4.9G   1% /run
tmpfs                4.9G     0  4.9G   0% /sys/fs/cgroup
/dev/mapper/ol-root   90G   48G   42G  54% /
/dev/sda1            497M  211M  286M  43% /boot
tmpfs                996M   28K  996M   1% /run/user/0


# PSU 패치 적용 확인 (12.1 - 28553832 이상)
-- grid
34057742;Database Patch Set Update : 12.1.0.2.220719 (34057742)
33112931;ACFS Interim patch for 33112931
32758932;OCW PATCH SET UPDATE 12.1.0.2.210720 (32758932)
26983807;WLM Patch Set Update: 12.1.0.2.180116 (26983807)

OPatch succeeded.

-- database
34057742;Database Patch Set Update : 12.1.0.2.220719 (34057742)
32758932;OCW PATCH SET UPDATE 12.1.0.2.210720 (32758932)

OPatch succeeded.


# inventory 여부 확인
[rac2|oracle:/home/oracle]> cat /etc/oraInst.loc 
inventory_loc=/u01/app/oraInventory
inst_group=dba

2. crontab 확인

크론탭이 비활성화 되어있어야한다.

[rac2|root:/root]> crontab -l
no crontab for root
[rac2|root:/root]> ora
Last login: Mon Mar 20 08:20:05 KST 2023 on pts/0
[rac2|oracle:/home/oracle]> crontab -l
no crontab for oracle

# crontab 수정
$ crontab -e

# crontab 중지 및 재시작
$ service crond start
$ service crond stop
$ service crond restart

3. Oracle 19c OS 권장 패키지 확인

# 권고
bc
binutils
compat-libcap1
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
fontconfig-devel
glibc
glibc-devel
ksh
libaio
libaio-devel
libXrender
libXrender-devel
libX11
libXau
libXi
libXtst
libgcc
libstdc++
libstdc++-devel
libxcb
make
net-tools (for Oracle RAC and Oracle Clusterware)
nfs-utils (for Oracle ACFS)
python (for Oracle ACFS Remote)
python-configshell (for Oracle ACFS Remote)
python-rtslib (for Oracle ACFS Remote)
python-six (for Oracle ACFS Remote)
targetcli (for Oracle ACFS Remote)
smartmontools
sysstat

[rac1|root:/root]> rpm -qa fontconfig-devel
[rac1|root:/root]> yum install -y fontconfig-devel

# not installed 설치
yum install -y [package명] 
or
rpm 다운받아서
rpm -ivh [pachkage명]

/*
bc-1.06.95-13.el7 (x86_64)
binutils-2.27-44.base.0.1.el7 (x86_64)
compat-libcap1-1.10-7.el7 (x86_64)
compat-libstdc++-33-3.2.3-72.el7 (x86_64)
elfutils-libelf-0.176-5.el7 (x86_64)
elfutils-libelf-devel-0.176-5.el7 (x86_64)
package fontconfig-devel is not installed
glibc-2.17-317.0.1.el7 (x86_64)
glibc-devel-2.17-317.0.1.el7 (x86_64)
ksh-20120801-144.0.1.el7_9 (x86_64)
libaio-0.3.109-13.el7 (x86_64)
libaio-devel-0.3.109-13.el7 (x86_64)
libXrender-0.9.10-1.el7 (x86_64)
package libXrender-devel is not installed
libX11-1.6.7-2.el7 (x86_64)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.9-1.el7 (x86_64)
libXtst-1.2.3-1.el7 (x86_64)
libgcc-4.8.5-44.0.3.el7 (x86_64)
libstdc++-4.8.5-44.0.3.el7 (x86_64)
libstdc++-devel-4.8.5-44.0.3.el7 (x86_64)
libxcb-1.13-1.el7 (x86_64)
make-3.82-24.el7 (x86_64)
smartmontools-7.0-2.el7 (x86_64)
sysstat-10.1.5-19.el7 (x86_64)
*/

4. DB 환경 확인

# SYSTEM, SYSAUX 용량 및 autoextensible 확인
select tablespace_name, file_id, bytes/1024/1024 "SIZE_MB", maxbytes/1024/1024 "MAX_SIZE_MB", autoextensible
from dba_data_files
where tablespace_name in ('SYSTEM', 'SYSAUX')
order by 1, 2;

# processes 크기 (300 이상 권고)
SQL> show parameter processes

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
~~
processes			     integer	 300

# 300 미만일 시 변경
SQL> alter system set processes=300 scope=spfile;
SQL> shutdown immediate
SQL> startup
# Database version 확인
SQL> set linesize 200
SQL> select * from v$version;

# ASM 정보 및 사용량 확인

SQL> SELECT NAME, STATE, TYPE, TOTAL_MB/1024 TOTAL_GB, FREE_MB/1024 FREE_GB,  COMPATIBILITY FROM V$ASM_DISKGROUP ;

NAME    STATE    TYPE  TOTAL_GB    FREE_GB COMPATIBILITY
---------- --------------- ---------- ---------- ---------- --------------------
FRA    CONNECTED    EXTERN     29.9990234 29.6757813 12.1.0.0.0
DATA    CONNECTED    EXTERN     49.9990234 47.7675781 12.1.0.0.0
CRS    MOUNTED    EXTERN     8.99707031   4.609375 12.1.0.0.0

 

# DB LINK 확인
-- 존재 유무 및 Object의 관련성 확인
select owner, db_link, username, host 
from dba_db_links;

# 실행중인 JOB 확인
-- 실행중인 job이 없어야 함.
select owner, job_name, session_id, elapsed_time, cpu_used 
from dba_scheduler_running_jobs;

# 10g 이하 패스워드 사용하는 계정 유무 확인
select username 
from dba_users 
where ( password_versions = '10g '
or password_versions = '10g http ')
and username <> 'anonymous';

** 계정의 PASSWORD_VERSIONS에 10G만 있을 경우 조치방법
1. $ORACLE_HOME/network/admin/sqlnet.ora 파일의 SQLNET.ALLOWED_LOGON_VERSION_SERVER 를 서버에 맞는 버전으로 설정한다 (=12)
2. 업그레이드가 완료된 후 아래 작업 진행
- ALTER USER [username] PASSWORD EXPIRE;
- 해당 USER로 로그인 시 암호 재설정
3. SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON -> TRUE로 변경
- ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;


# TDE 설정 확인
-- TDE 암호가 있는 경우 명령줄에서 해당 암호를 지정해야함
select wrl_parameter, status, wallet_type
from v$encryption_wallet;

-- 경로 확인 : show parameter WALLET_ROOT ;

# spfile 경로 확인
show parameter spfile

# BCT (Block Change Tracking) 상태 확인
-- MEMORY OVERHEAD 방지를 위해 비활성화여야 함
select status
from v$block_change_tracking;
# compatible parameter 확인 : 호환성을 유지해야하는 파라미터
-- 권고 : 11.2.0 이상이어야 함
SELECT name, value, description FROM v$parameter WHERE name = 'compatible';

show parameter compatible

SQL> show parameter compatible

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
compatible			     string	 12.1.0.2.0
# Invalid Object 확인 
select owner, object_type, count(*) cnt from dba_objects
where status='INVALID' group by owner, object_type order by 1, 2;
# Oracle Component 확인
select comp_id,comp_name,status,version from dba_registry;

5.  19c (TARGET) 압축 파일 및 디렉토리 준비

# MEDIA DIRECTORY 생성
mkdir -p /u01/media/patch/19c
mkdir -p /u01/media/engine/19c
chown -R oracle:dba /u01/media
chmod -R 755 /u01/media

# 파일 업로드 확인
[rac1]
[rac1|root:/u01/media/engine/19c]> ls -al
total 5809468
drwxrwxr-x. 2 oracle dba         80 Mar 17 09:00 .
drwxrwxr-x. 4 oracle dba         28 Mar 16 15:05 ..
-rw-r--r--. 1 oracle dba 3059705302 Mar 17 09:02 LINUX.X64_193000_db_home.zip
-rw-r--r--. 1 oracle dba 2889184573 Mar 17 09:02 LINUX.X64_193000_grid_home.zip

[rac1|root:/u01/media/patch/19c]> ls -al
total 2672424
drwxr-xr-x. 2 oracle dba         93 Mar 20 09:48 .
drwxrwxr-x. 4 oracle dba         28 Mar 17 09:01 ..
-rw-r--r--. 1 oracle dba 2610825269 Mar 17 09:12 19.17_p34416665_190000_Linux-x86-64.zip
-rw-r--r--. 1 oracle dba  125734641 Mar 17 09:02 p6880880_190000_Linux-x86-64.zip

[rac2]
[rac2|root:/u01/media/engine/19c]> ls -al
total 5809472
drwxrwxr-x. 2 oracle dba          80 Mar 20 09:48 .
drwxrwxr-x. 4 oracle dba          28 Mar 16 15:05 ..
-rw-r--r--. 1 root   root 3059705302 Mar 20 09:49 LINUX.X64_193000_db_home.zip
-rw-r--r--. 1 root   root 2889184573 Mar 20 09:49 LINUX.X64_193000_grid_home.zip

[rac2|root:/u01/media/patch/19c]> ls -al
total 2672424
drwxr-xr-x. 2 oracle dba         93 Mar 20 09:48 .
drwxrwxr-x. 4 oracle dba         28 Mar 17 15:28 ..
-rw-r--r--. 1 oracle dba 2610825269 Mar 17 15:30 19.17_p34416665_190000_Linux-x86-64.zip
-rw-r--r--. 1 oracle dba  125734641 Mar 17 15:28 p6880880_190000_Linux-x86-64.zip


## HOME DIRECTORY 생성

# GRID_HOME DIRECTORY
mkdir -p /u01/app/19c/grid
chown -R oracle:dba /u01/app/19c/
chmod -R 755 /u01/app/19c/

# ORACLE_HOME DIRECTORY
mkdir -p /u01/app/oracle/product/19c/db_1
chown -R oracle:dba /u01/app/oracle/product/19c
chmod -R 755 /u01/app/oracle/product/19c
# 압축해제 < 1번 노드에서만 >
-- grid engine (Grid profile)
unzip -d /u01/app/19c/grid /u01/media/engine/19c/LINUX.X64_193000_grid_home.zip

-- db engine (Oracle profile)
unzip -d /u01/app/oracle/product/19c/db_1 /u01/media/engine/19c/LINUX.X64_193000_db_home.zip

# Patch (oracle 계정) 
-- Grid
mv /u01/app/19c/grid/OPatch /u01/app/19c/grid/OPatch_old
unzip -d /u01/app/19c/grid /u01/media/patch/19c/p6880880_190000_Linux-x86-64.zip
unzip -d /u01/media/patch/19c /u01/media/patch/19c/19.17_p34416665_190000_Linux-x86-64.zip

-- Database
mv /u01/app/oracle/product/19c/db_1/OPatch /u01/app/oracle/product/19c/db_1/OPatch_old
unzip -d /u01/app/oracle/product/19c/db_1 /u01/media/patch/19c/p6880880_190000_Linux-x86-64.zip

6.  백업 : 모든 노드에서 진행 (DB 제외)

# .ora 파일 백업
# tnsnames.ora
# listener.ora
# sqlnet.ora
[rac1|oracle:/home/oracle]> mkdir -p /u01/backup

cp -apv /u01/app/12c/grid/network/admin/listener.ora /u01/backup/listener.ora_bk
cp -apv /u01/app/12c/grid/network/admin/sqlnet.ora /u01/backup/sqlnet.ora_bk
cp -apv /u01/app/12c/grid/network/admin/tnsnames.ora /u01/backup/tnsnames.ora_bk

# orapw file
[rac2|oracle:/u01/app/oracle/product/12c/db_1/dbs]> crsctl stat res ora.rac.db -f | grep PWFILE
PWFILE=+DATA/RAC/PASSWORD/pwdrac.256.1131721067

ASMCMD> cp +DATA/RAC/PASSWORD/pwdrac.256.1131721067 /u01/backup/pwdRAC.bk

# 파라미터 파일 백업
# rac1 pfile
cp -apv /u01/app/oracle/product/12c/db_1/dbs/initrac1.ora /u01/backup/initrac1.ora_bk
# rac2 pfile
cp -apv /u01/app/oracle/product/12c/db_1/dbs/initrac2.ora /u01/backup/initrac2.ora_bk

# oraInventory 백업
cp -Rp /u01/app/oraInventory /u01/app/oraInventory_12c

# grid, db engine 백업
# grid engine
cd /u01/app/12c/grid
tar -cvfp /media/engine/12c/dbengine_12c.tar ./

# db engine
cd /u01/app/oracle/product/12c/db_1
tar -cvfp /media/engine/12c/dbengine_12c.tar ./

# OCR 백업 확인
[rac1|oracle:/home/oracle]> ocrconfig -showbackup
PROT-24: Auto backups for the Oracle Cluster Registry are not available
[rac2|oracle:/u01/app]> ocrconfig -showbackup
PROT-24: Auto backups for the Oracle Cluster Registry are not available

-- ocr backup 이 ASM에 존재할경우 수행
[root] ocrconfig -copy asm경로  local 경로
[rac1|root:/u01/media/patch/19c]> ocrconfig -copy /u01/app/12c/grid/cdata/rac/backup_20230317_154232.ocr /u01/backup/backup_20230317_154232.ocr

+ 기타 백업 및 database backup (RMAN, export, utility 사용 등등..)

본작업

1.  grid engine 설치

# 설치 전 업그레이드 사전 검증
[grid profile]
cd /u01/app/19c/grid
./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/12c/grid -dest_crshome /u01/app/19c/grid -dest_version 19.0.0.0 -fixup -verbose
Result: 
"Package: cvuqdisk-1.0.10-1" could not be fixed on nodes "rac2,rac1"

Fix up operations for selected fixable prerequisites were unsuccessful on nodes "rac2,rac1"

# cvuqdisk 설치 [두 노드 모두 진행 | root 계정]
cd $GRID_HOME/cv/rpm
rpm -Uvh cvuqdisk-1.0.10-1.rpm
# 19c profile 수정
cp -apv .bash_profile ./.bash_profile_19c
vi ~/.bash_profile_19c
###############################
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19c/db_1
export ORACLE_SID=rac1
export GRID_HOME=/u01/app/19c/grid
###############################
vi ~/.bash_profile
alias 19c='. ~/.bash_profile_19c'

gui 모드로 설치 진행

# gui 실행
[+ASM1|oracle:/home/oracle]> cd $GRID_HOME
[+ASM1|oracle:/u01/app/19c/grid]> ./gridSetup.sh 
Launching Oracle Grid Infrastructure Setup Wizard...

1) 새 클러스터를 위한 GI 설치

2) Oracle Restart 설치

3) GI 업그레이드

4) 소프트웨어만 설치

업그레이드 할 클러스터 노드가 모두 선택되어있는지 확인 후 다음

 

ㅇㄴ.. 업그레이드하는데 21.1기가나 필요하대...... 뭐라고요 ..?

급히 30G 추가 하고옴..

https://devcami.tistory.com/37 참조 ㅎㅎ 아주 잘설명해놓음 ^^ v

훗 다음단계.

em은 사용안함 . . . 

ORACLE_BASE, GRID_HOME (ORACLE_HOME) 경로 확인

맞으면 다음

root.sh 자동으로 돌려줄까..?!?!? ㄴㄴ 알아서할게 . . .

넥슽 레블

조건 검사 듕 . .

1) OS Kernel Version

OS Kernel Version - This is a prerequisite condition to test whether the system kernel version is at least "4.1.12".  

Error:  - PRVF-7524 : Kernel version is not consistent across all the nodes.

Kernel version = "5.4.172136.316.7.el7uek.x86_64" found on nodes: rac1.

Kernel version = "5.4.17-2102.201.3.el7uek.x86_64" found on nodes: rac2.

>>>> 4.1 이상이면 된다면서 뭐가 문제라는 건지 모르겠음  ; ㅠㅠ 버그 검색해도 안나옴 ㅠㅠㅠ

 

2) Package: cvuqdisk-1.0.10-1 

This is a prerequisite condition to test whether the package "cvuqdisk-1.0.10-1" is available on the system.
>>>> 아까 깔았는뎁쇼.......? ㅜㅜ

 

3) ACFS Driver Checks

Ensure that the operating system version is upgraded to the minimum supported version required for the Oracle ACFS driver for the indicated target Oracle Clusterware release version.

운영 체제 버전이 지정된 대상 오라클 Clusterware 릴리스 버전의 오라클 ACFS 드라이버에 필요한 최소 지원 버전으로 업그레이드되었는지 확인하십시오.

>>>> 19c ACFS and AFD Supported Platforms

위와 마찬가지로 .. 내 커널은 Kernel version = "5.4.172136.316.7.el7uek.x86_64"  인뒤............

[rac1|root:/root]> uname -r
5.4.17-2136.316.7.el7uek.x86_64

[+ASM2|oracle:/u01/app/19c/grid]> uname -r
5.4.17-2102.201.3.el7uek.x86_64

>>>> 일단 넘겨보겠씀..

***************** Oracle Linux 7.6 이상 버전에 대한 버그로 19.4에서 해결된 버그라함 ! (docs 1369107.1)

 

4) resolv.conf Integrity 

>>>> DNS관련 >> PASS

 

5) RPM Package Manager database

RPM PACKAGE MANAGER DATABASE가 ROOT 유저로 수행되지 않았음.

>>>> [+ASM1|oracle:/u01/app/19c/grid]> ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -method root
Enter "ROOT" password:

-> 여기서도 커널 오류가 나왔음  ; ; ; ; 커널 다시 깔아야하나 ?!?!?!?!?

Fix & Check Again 돌림 - root계정으로 

/tmp/GridSetupActions2023-03-21_07-10-20AM/CVU_19.0.0.0.0_oracle/runfixup.sh

 

2번 패키지 오류 사라짐

커널 다시 깔기 귀찮았음 ... . ... 재삼다 걍 Ignore All 후 진행해보겠음 ..

rsp file 저장 후 Submit

업글중

돌려돌려 루트 업그레이드 ~

rac1, rac2 에서 root 계정으로 위 커맨드 실행 *rac1 부터 수행 완료 후 rac2 수행

>> rootupgrade.sh log

더보기

[rac1|root:/root]> /u01/app/19c/grid/rootupgrade.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/19c/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rac1/crsconfig/rootcrs_rac1_2023-03-21_07-30-27AM.log
2023/03/21 07:30:36 CLSRSC-595: Executing upgrade step 1 of 18: 'UpgradeTFA'.
2023/03/21 07:30:36 CLSRSC-4015: Performing install or upgrade action for Oracle Trace File Analyzer (TFA) Collector.
2023/03/21 07:30:36 CLSRSC-595: Executing upgrade step 2 of 18: 'ValidateEnv'.
2023/03/21 07:30:38 CLSRSC-595: Executing upgrade step 3 of 18: 'GetOldConfig'.
2023/03/21 07:30:38 CLSRSC-464: Starting retrieval of the cluster configuration data
2023/03/21 07:30:42 CLSRSC-692: Checking whether CRS entities are ready for upgrade. This operation may take a few minutes.
2023/03/21 07:32:17 CLSRSC-4003: Successfully patched Oracle Trace File Analyzer (TFA) Collector.
2023/03/21 07:32:42 CLSRSC-693: CRS entities validation completed successfully.
2023/03/21 07:32:44 CLSRSC-515: Starting OCR manual backup.
2023/03/21 07:32:48 CLSRSC-516: OCR manual backup successful.
2023/03/21 07:35:09 CLSRSC-486: 
 At this stage of upgrade, the OCR has changed.
 Any attempt to downgrade the cluster after this point will require a complete cluster outage to restore the OCR.
2023/03/21 07:35:09 CLSRSC-541: 
 To downgrade the cluster: 
 1. All nodes that have been upgraded must be downgraded.
2023/03/21 07:35:09 CLSRSC-542: 
 2. Before downgrading the last node, the Grid Infrastructure stack on all other cluster nodes must be down.
2023/03/21 07:35:13 CLSRSC-465: Retrieval of the cluster configuration data has successfully completed.
2023/03/21 07:35:14 CLSRSC-595: Executing upgrade step 4 of 18: 'GenSiteGUIDs'.
2023/03/21 07:35:14 CLSRSC-595: Executing upgrade step 5 of 18: 'UpgPrechecks'.
2023/03/21 07:35:16 CLSRSC-363: User ignored prerequisites during installation
2023/03/21 07:35:21 CLSRSC-595: Executing upgrade step 6 of 18: 'SetupOSD'.
2023/03/21 07:35:21 CLSRSC-595: Executing upgrade step 7 of 18: 'PreUpgrade'.
2023/03/21 07:36:18 CLSRSC-468: Setting Oracle Clusterware and ASM to rolling migration mode
2023/03/21 07:36:18 CLSRSC-482: Running command: '/u01/app/12c/grid/bin/crsctl start rollingupgrade 19.0.0.0.0'
CRS-1131: The cluster was successfully set to rolling upgrade mode.
2023/03/21 07:36:23 CLSRSC-482: Running command: '/u01/app/19c/grid/bin/asmca -silent -upgradeNodeASM -nonRolling false -oldCRSHome /u01/app/12c/grid -oldCRSVersion 12.1.0.2.0 -firstNode true -startRolling false '

ASM configuration upgraded in local node successfully.

2023/03/21 07:36:24 CLSRSC-469: Successfully set Oracle Clusterware and ASM to rolling migration mode
2023/03/21 07:36:30 CLSRSC-466: Starting shutdown of the current Oracle Grid Infrastructure stack
2023/03/21 07:36:55 CLSRSC-467: Shutdown of the current Oracle Grid Infrastructure stack has successfully completed.
2023/03/21 07:36:58 CLSRSC-595: Executing upgrade step 8 of 18: 'CheckCRSConfig'.
2023/03/21 07:36:58 CLSRSC-595: Executing upgrade step 9 of 18: 'UpgradeOLR'.
2023/03/21 07:37:05 CLSRSC-595: Executing upgrade step 10 of 18: 'ConfigCHMOS'.
2023/03/21 07:37:05 CLSRSC-595: Executing upgrade step 11 of 18: 'UpgradeAFD'.
2023/03/21 07:37:09 CLSRSC-595: Executing upgrade step 12 of 18: 'createOHASD'.
2023/03/21 07:37:13 CLSRSC-595: Executing upgrade step 13 of 18: 'ConfigOHASD'.
2023/03/21 07:37:13 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2023/03/21 07:37:41 CLSRSC-595: Executing upgrade step 14 of 18: 'InstallACFS'.
2023/03/21 07:37:51 CLSRSC-595: Executing upgrade step 15 of 18: 'InstallKA'.
2023/03/21 07:37:54 CLSRSC-595: Executing upgrade step 16 of 18: 'UpgradeCluster'.
clscfg: EXISTING configuration version 5 detected.
Successfully taken the backup of node specific configuration in OCR. 
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2023/03/21 07:42:39 CLSRSC-343: Successfully started Oracle Clusterware stack
2023/03/21 07:42:46 CLSRSC-595: Executing upgrade step 17 of 18: 'UpgradeNode'.
2023/03/21 07:42:48 CLSRSC-474: Initiating upgrade of resource types

2023/03/21 07:46:07 CLSRSC-475: Upgrade of resource types successfully initiated.
2023/03/21 07:46:20 CLSRSC-595: Executing upgrade step 18 of 18: 'PostUpgrade'.
2023/03/21 07:46:26 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

둘다 완료 수행되면 OK

마저 진행중 ~

끝 ~

# opatch 확인
[+ASM1|oracle:/home/oracle]> opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)

OPatch succeeded.

[+ASM1|oracle:/home/oracle]> opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.33
Copyright (c) 2023, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/19c/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.33
OUI version       : 12.2.0.7.0
Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2023-03-21_08-13-03AM_1.log

19.3.0.0.0 의 Grid 엔진이 되어 잘 자라주었구나 ..!

# crs 확인
[rac2|oracle:/home/oracle]> crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.chad
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.net1.network
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.ons
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.CRS.dg
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.DATA.dg
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.FRA.dg
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rac1                     STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rac1                     STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac1                     169.254.31.59 10.0.5
                                                             .101,STABLE
ora.asm
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     Started,STABLE
ora.asmnet1.asmnetwork
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.cvu
      1        ONLINE  ONLINE       rac2                     STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac1                     Open,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       rac2                     STABLE
ora.rac.db
      1        ONLINE  ONLINE       rac1                     Open,HOME=/u01/app/o
                                                             racle/product/12c/db
                                                             _1,STABLE
      2        ONLINE  ONLINE       rac2                     Open,HOME=/u01/app/o
                                                             racle/product/12c/db
                                                             _1,STABLE
ora.rac1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac2.vip
      1        ONLINE  ONLINE       rac2                     STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac2                     STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rac1                     STABLE
--------------------------------------------------------------------------------

2.  database engine 설치

# bash_profile을 19c 버전으로 변경
## 아까 수정한걸로 
mv ~/.bash_profile ~/.bash_profile_12c
mv ~/.bash_profile_19c ~/.bash_profile
. ~/.bash_profile


[rac2|oracle:/home/oracle]> mv ~/.bash_profile ~/.bash_profile_12c
[rac2|oracle:/home/oracle]> mv ~/.bash_profile_19c ~/.bash_profile
[rac2|oracle:/home/oracle]> . ~/.bash_profile

# 잘 적용됐는지 확인
[rac2|oracle:/home/oracle]> env | grep ORACLE
ORACLE_SID=rac2
ORACLE_BASE=/u01/app/oracle
PS1=[$ORACLE_SID|\u:$PWD]> 
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
# GUI 실행해 엔진 설치 - 1번 노드에서만 진행
[rac1|oracle:/home/oracle]> cd $ORACLE_HOME
[rac1|oracle:/u01/app/oracle/product/19c/db_1]> ./runInstaller

1) 단일 인스턴스 데이터베이스 생성 및 구성

2) 소프트웨어만 설정 

-> 소프트웨어만 설치 후 DBUA 사용하여 업그레이드 할 것

1) 단일 인스턴스 데이터베이스 설치

2) RAC 데이터베이스 설치

설치할 노드를 모두 선택 / SSH는 이미 연결되어있기때문에 바로 Next 레ㅂ블

에디션 선택 / rac는 EE만 가능함

ORACLE_BASE, ORACLE_HOME 경로 확인

OS 인증을 위한 그룹 설정 (관리의 편의를 위해 주로 dba로 통일함)

루트스크립트 자동? 수동 ? 자동 ? 체크 수동? 노체크

설치 전 줙권궘솨

무시 갈겨

날 겁주지마라 버그녀석

Install ㄱㅂㅈㄱ

개ㅐㅅ.노

개ㅐㅅ.노 로그

더보기

[rac1|root:/root]> /u01/app/oracle/product/19c/db_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19c/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

냠긋

# opatch 확인
[rac1|oracle:/home/oracle]> opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

OPatch succeeded.

[rac1|oracle:/home/oracle]> opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.33
Copyright (c) 2023, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/19c/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.33
OUI version       : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2023-03-21_08-38-09AM_1.log

 

3. 엔진 패치

1) grid 패치 (각 노드에서 모두 진행)

# grid opatch 확인
/u01/app/19c/grid/OPatch/opatch lspatches
/u01/app/19c/grid/OPatch/opatch lsinventory

[+ASM2|oracle:/home/oracle]> opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)

OPatch succeeded.

[+ASM2|oracle:/u01/app/19c/grid]> /u01/app/19c/grid/OPatch/opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.33
Copyright (c) 2023, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/19c/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.33
OUI version       : 12.2.0.7.0
Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2023-03-21_08-46-41AM_1.log
# grid 패치 - 두 노드 모두 진행
/u01/app/19c/grid/OPatch/opatchauto apply /u01/media/patch/19c/34416665/

가벼운 실수 기록

[+ASM1|oracle:/u01/app/19c/grid/OPatch]> ./opatchauto apply /u01/media/patch/19c/34416665/

OPatchauto session is initiated at Tue Mar 21 08:51:29 2023
/u01/app/19c/grid/opatchautocfg/db/dbtmp/patchinginfo_rac1.properties (No such file or directory)

>>>> ㅎㅎ 루트계정으로 패치해라
[rac1|root:/u01/media/engine/19c]> /u01/app/19c/grid/OPatch/opatchauto apply /u01/media/patch/19c/34416665/

opatchauto must run from one of the homes specified
opatchauto returns with error code = 2

>>> ㅎㅎ 패치할땐 언셋해라
[rac1|root:/u01/media/engine/19c]> unset GRID_HOME
[rac1|root:/u01/media/engine/19c]> unset ORACLE_HOME

GRID 패치 로그

더보기

OPatchauto session is initiated at Tue Mar 21 08:59:13 2023

System initialization log file is /u01/app/19c/grid/cfgtoollogs/opatchautodb/systemconfig2023-03-21_08-59-16AM.log.

Session log file is /u01/app/19c/grid/cfgtoollogs/opatchauto/opatchauto2023-03-21_08-59-30AM.log
The id for this session is V9MP

Executing OPatch prereq operations to verify patch applicability on home /u01/app/19c/grid
Patch applicability verified successfully on home /u01/app/19c/grid


Executing patch validation checks on home /u01/app/19c/grid
Patch validation checks successfully completed on home /u01/app/19c/grid


Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/19c/grid

Prepatch operation log file location: /u01/app/oracle/crsdata/rac1/crsconfig/crs_prepatch_apply_inplace_rac1_2023-03-21_09-00-05AM.log
CRS service brought down successfully on home /u01/app/19c/grid


Start applying binary patch on home /u01/app/19c/grid
Binary patch applied successfully on home /u01/app/19c/grid


Performing postpatch operations on CRS - starting CRS service on home /u01/app/19c/grid

Postpatch operation log file location: /u01/app/oracle/crsdata/rac1/crsconfig/crs_postpatch_apply_inplace_rac1_2023-03-21_09-06-28AM.log
CRS service started successfully on home /u01/app/19c/grid

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:rac1
CRS Home:/u01/app/19c/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /u01/media/patch/19c/34416665/33575402
Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-03-39AM_1.log

Patch: /u01/media/patch/19c/34416665/34419443
Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-03-39AM_1.log

Patch: /u01/media/patch/19c/34416665/34428761
Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-03-39AM_1.log

Patch: /u01/media/patch/19c/34416665/34444834
Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-03-39AM_1.log

Patch: /u01/media/patch/19c/34416665/34580338
Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-03-39AM_1.log



Following homes are skipped during patching as patches are not applicable:

/u01/app/oracle/product/12c/db_1



OPatchauto session completed at Tue Mar 21 09:17:04 2023
Time taken to complete the session 17 minutes, 51 seconds

2) database 패치 (각 노드에서 모두 진행)

# opatch 확인
[rac2|oracle:/home/oracle]> /u01/app/oracle/product/19c/db_1/OPatch/opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

OPatch succeeded

[rac2|oracle:/home/oracle]> /u01/app/oracle/product/19c/db_1/OPatch/opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.33
Copyright (c) 2023, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/19c/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.33
OUI version       : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2023-03-21_09-28-23AM_1.log
# database engine 패치
[rac2|root:/root]> unset GRID_HOME
[rac2|root:/root]> unset ORACLE_HOME
[rac2|root:/root]> /u01/app/oracle/product/19c/db_1/OPatch/opatchauto apply /u01/media/patch/19c/34416665/ -oh /u01/app/oracle/product/19c/db_1

DATABASE 패치 로그

더보기

OPatchauto session is initiated at Tue Mar 21 09:29:07 2023

System initialization log file is /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchautodb/systemconfig2023-03-21_09-29-12AM.log.

Session log file is /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/opatchauto2023-03-21_09-29-26AM.log
The id for this session is 3HVC

Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19c/db_1
Patch applicability verified successfully on home /u01/app/oracle/product/19c/db_1


Executing patch validation checks on home /u01/app/oracle/product/19c/db_1
Patch validation checks successfully completed on home /u01/app/oracle/product/19c/db_1


Verifying SQL patch applicability on home /u01/app/oracle/product/19c/db_1
No sqlpatch prereq operations are required on the local node for this home
No step execution required.........
 

Preparing to bring down database service on home /u01/app/oracle/product/19c/db_1
No step execution required.........
 

Performing prepatch operation on home /u01/app/oracle/product/19c/db_1
Prepatch operation completed successfully on home /u01/app/oracle/product/19c/db_1


Start applying binary patch on home /u01/app/oracle/product/19c/db_1

Binary patch applied successfully on home /u01/app/oracle/product/19c/db_1


Performing postpatch operation on home /u01/app/oracle/product/19c/db_1
Postpatch operation completed successfully on home /u01/app/oracle/product/19c/db_1


Preparing home /u01/app/oracle/product/19c/db_1 after database service restarted
No step execution required.........
 

Trying to apply SQL patch on home /u01/app/oracle/product/19c/db_1
No sqlpatch operations are required on the local node for this home
SQL patch applied successfully on home /u01/app/oracle/product/19c/db_1

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:rac2
RAC Home:/u01/app/oracle/product/19c/db_1
Version:19.0.0.0.0
Summary:

==Following patches were SKIPPED:

Patch: /u01/media/patch/19c/34416665/34428761
Reason: This patch is not applicable to this specified target type - "rac_database"

Patch: /u01/media/patch/19c/34416665/33575402
Reason: This patch is not applicable to this specified target type - "rac_database"

Patch: /u01/media/patch/19c/34416665/34580338
Reason: This patch is not applicable to this specified target type - "rac_database"


==Following patches were SUCCESSFULLY applied:

Patch: /u01/media/patch/19c/34416665/34419443
Log: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-30-08AM_1.log

Patch: /u01/media/patch/19c/34416665/34444834
Log: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2023-03-21_09-30-08AM_1.log



OPatchauto session completed at Tue Mar 21 09:34:13 2023
Time taken to complete the session 5 minutes, 7 seconds

3) 패치 확인

# rac1 grid
[+ASM1|oracle:/home/oracle]> opatch lspatches
34580338;TOMCAT RELEASE UPDATE 19.0.0.0.0 (34580338)
34444834;OCW RELEASE UPDATE 19.17.0.0.0 (34444834)
34428761;ACFS RELEASE UPDATE 19.17.0.0.0 (34428761)
34419443;Database Release Update : 19.17.0.0.221018 (34419443)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)

OPatch succeeded.

# rac1 database
[rac1|oracle:/home/oracle]> opatch lspatches
34444834;OCW RELEASE UPDATE 19.17.0.0.0 (34444834)
34419443;Database Release Update : 19.17.0.0.221018 (34419443)

OPatch succeeded.
# rac2 grid
[+ASM2|oracle:/home/oracle]> opatch lspatches
34580338;TOMCAT RELEASE UPDATE 19.0.0.0.0 (34580338)
34444834;OCW RELEASE UPDATE 19.17.0.0.0 (34444834)
34428761;ACFS RELEASE UPDATE 19.17.0.0.0 (34428761)
34419443;Database Release Update : 19.17.0.0.221018 (34419443)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)

OPatch succeeded.


# rac2 database
[rac2|oracle:/home/oracle]> opatch lspatches
34444834;OCW RELEASE UPDATE 19.17.0.0.0 (34444834)
34419443;Database Release Update : 19.17.0.0.221018 (34419443)

OPatch succeeded.

 

4. database upgrade assistant (DBUA)

# DBUA 실행
[rac1|oracle:/home/oracle]> dbua
Logs directory:  /u01/app/oracle/cfgtoollogs/dbua/upgrade2023-03-21_10-10-40AM

업그레이드할 database 선택 후 sysdba 계정 / 패스워드 입력

수행 전 업그레이드 사전 체크

1) 사전 업그레이드 권장사항 1 : 고정 오브젝트에 대한 통계 수집 권장

 EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; 커맨드를 실행하시오

[rac1|oracle:/home/oracle]> . ~/.bash_profile_12c
[rac1|oracle:/home/oracle]> ss

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 21 10:22:12 2023
Version 19.17.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> show parameter db_name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_name 			     string	 rac
SQL>  EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

PL/SQL procedure successfully completed.

2) 사후 업그레이드 권장사항 (완료 후 진행할 )

next

1) 병렬 업그레이드 사용

2) 사후 업그레이드 중 부적합한 객체 리컴파일

3) 시간대 데이터 업그레이드

4) 사용자 정의 SQL 스크립트 지정 실행 (pass)

업그레이드 실패 시 데이터베이스 복구 옵션 선택

1) 플래시백 복원 지점 사용

2) RMAN 백업 사용

3) 고유한 백업 및 복원 전략 있음

EM 마케팅팀 열일

요약 확인 

수행중

post upgrade 시 recompile 및 timezone 수행

결과 확인

Database upgrade has been completed successfully, and the database is ready to use.

 

접속 확인

# CRS상태 및 ora.rac.db 홈 변경 확인

[rac1|oracle:/home/oracle]> crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.chad
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.net1.network
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.ons
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.CRS.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac1                     STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rac2                     STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac2                     169.254.6.249 10.0.5
                                                             .102,STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     Started,STABLE
      2        ONLINE  ONLINE       rac2                     Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
ora.cvu
      1        ONLINE  ONLINE       rac2                     STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac2                     Open,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac.db
      1        ONLINE  ONLINE       rac1                     Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
      2        ONLINE  ONLINE       rac2                     Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
ora.rac1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac2.vip
      1        ONLINE  ONLINE       rac2                     STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rac2                     STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rac2                     STABLE
--------------------------------------------------------------------------------
# 리스너 상태 확인
[rac1|oracle:/home/oracle]> lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-MAR-2023 11:03:39

Copyright (c) 1991, 2022, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                21-MAR-2023 09:09:58
Uptime                    0 days 1 hr. 53 min. 40 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/19c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rac1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.1.101)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.1.201)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_CRS" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "rac" has 1 instance(s).
  Instance "rac1", status READY, has 1 handler(s) for this service...
Service "racXDB" has 1 instance(s).
  Instance "rac1", status READY, has 1 handler(s) for this service...
The command completed successfully
# database 접속 및 정보 확인
[rac1|oracle:/home/oracle]> ss

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 21 11:04:10 2023
Version 19.17.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.17.0.0.0

# DB명 확인
SQL> show parameter db_name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_name 			     string	 rac

# spfile 상태 확인
SQL> show parameter spfile

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile				     string	 +DATA/RAC/PARAMETERFILE/spfile
						 rac.ora

# upgrade 버전 확인
SQL> select banner_full from v$version; 

BANNER_FULL
----------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.17.0.0.0


# 컴포넌트 확인
set lines 200
col comp_id for a15
col comp_name for a40
col status for a10
col version for a20
select comp_id,comp_name,status,version from dba_registry;

COMP_ID 	COMP_NAME				 STATUS     VERSION
--------------- ---------------------------------------- ---------- --------------------
CATALOG 	Oracle Database Catalog Views		 VALID	    19.0.0.0.0
CATPROC 	Oracle Database Packages and Types	 VALID	    19.0.0.0.0
JAVAVM		JServer JAVA Virtual Machine		 VALID	    19.0.0.0.0
XML		Oracle XDK				 VALID	    19.0.0.0.0
CATJAVA 	Oracle Database Java Packages		 VALID	    19.0.0.0.0
RAC		Oracle Real Application Clusters	 VALID	    19.0.0.0.0
XDB		Oracle XML Database			 VALID	    19.0.0.0.0
OWM		Oracle Workspace Manager		 VALID	    19.0.0.0.0
# 권장사항 수행
execute dbms_stats.gather_dictionary_stats;
execute dbms_stats.gather_fixed_objects_stats;

# ASM compatiable 수정 <grid profile로 수행>
sqlplus / as sysasm

alter diskgroup DATA set attribute 'compatible.asm' = '19.0.0';
alter diskgroup CRS set attribute 'compatible.asm' = '19.0.0';
alter diskgroup FRA set attribute 'compatible.asm' = '19.0.0';

사후 작업

1. sqlnet.ora 원복

cat /u01/app/12c/grid/network/admin/sqlnet.ora
cp -pR /u01/app/12c/grid/network/admin/sqlnet.ora /u01/app/19c/grid/network/admin/sqlnet.ora

2. DB compatible 수정

SQL> alter system set compatible='19.0.0.0.0' scope=spfile sid='*';

System altered.

 

 

+) 기타 flashback, retention , restore point 등 수정 필요 시 수정진행 (없음)

3. 재기동

srvctl stop database -d rac
srvctl start database -d rac

 

최종 확인

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 21 12:38:58 2023
Version 19.17.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.17.0.0.0

SQL> show parameter db_name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_name 			     string	 rac

SQL> select instance_name, status from v$instance ;

INSTANCE_NAME	 STATUS
---------------- ------------
rac1		 OPEN

SQL> show parameter compatible

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
compatible			     string	 19.0.0.0.0
noncdb_compatible		     boolean	 FALSE

끗 !

728x90