DoubleDBDeep

[ORACLE] Oracle Database 12c R1 RAC 설치 본문

ORACLE/INSTALL

[ORACLE] Oracle Database 12c R1 RAC 설치

DBCAMI 2023. 3. 17. 16:59

12c -> 19c update test를 위한 12c R1 RAC 설치

  OS / ORACLE ENVIRONMENT
EDITION EE
RAC RAC 2 NODE
VERSION ORACLE 12C R1
PATCH GI : 34204576 (12.1.0.2.0)
DB : 34057742 (12.1.0.2.0)
SERVER Linux 7.9 (5.4.17-2102.201.3.el7uek.x86_64)

 

 

Media 준비

- 엔진 : https://edelivery.oracle.com/osdc/faces/SoftwareDelivery

wget.sh로 엔진 다운

 - Patch Set : support.oracle.com (opatch number : p6880880 / DB patch number : 34057742 / GI patch number : 34204576)

--> 가장 최신 release로 받았음

GI
DB

환경 구성

서버

 
VM HOSTNAME Memory Net Adapter 1 Net Adapter 2 구성 방법
RAC1 rac1 10GB 어댑터에 브리지 호스트 전용 어댑터 linux 설치
RAC2 rac2 10GB 어댑터에 브리지 호스트 전용 어댑터 RAC 복제

스토리지

파일 이름 용량 타입 용도
RAC1.VDI 100GB Dynamic / Normal RAC1 NODE STORAGE
RAC2.VDI 100GB Dynamic / Normal RAC2 NODE STORAGE
CRS1.VDI 3GB Fixed / Shareable OCR / Vote 저장 영역



CRS2.VDI 3GB Fixed / Shareable
CRS3.VDI 3GB Fixed / Shareable
DATA.VDI 50GB Fixed / Shareable DATA 영역
FRA.VDI 30GB Fixed / Shareable FAST RECOVERY AREA

네트워크

VM PUBLIC IP PRIVATE IP VIRTUAL IP NETMASK GATEWAY DNS SCAN IP
RAC1 10.0.1.101 10.0.5.101 10.0.1.201 255.255.255.0 10.0.1.1 127.0.0.1 10.0.1.191,
10.0.1.192,
10.0.1.193
RAC2 10.0.1.102 10.0.5.102 10.0.1.202 255.255.255.0 10.0.1.1 127.0.0.1

# 서버 구성 참조 : https://dataforum.io/m/mobile.action

 

디렉토리 및 유저 생성

# group 생성
groupadd dba

# oracle 유저생성
useradd -g dba -G dba oracle

# oracle 유저 password 설정
passwd oracle
# oracle home directory 생성
mkdir -p /u01/app/oracle/product/12c/db_1

# grid home directory 생성
mkdir -p /u01/app/12c/grid

# media directory 생성
mkdir -p /u01/media/engine/12c
mkdir -p /u01/media/engine/19c -- for upgrade
mkdir -p /u01/media/patch/12c
mkdir -p /u01/media/patch/19c -- for upgrade
mkdir -p /u01/media/rpm

# 권한 조정
chown -R oracle:dba /u01
chmod -R 775 /u01

 

 

패키지 설치

$ yum install -y oracleasm-support
$ yum install -y ksh
$ yum install -y zlib-devel
$ yum install -y elfutils-libelf-devel
$ yum install oracle-rdbms-server-12cR1-preinstall -y

oracleasmlib media rpm 파일로 설치

[rac1|root:/u01/media/rpm]> rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm

https://www.oracle.com/linux/downloads/linux-asmlib-rhel7-downloads.html

 

Oracle ASMLib Downloads for Red Hat Enterprise Linux 7

Oracle ASMLib Downloads for Red Hat Enterprise Linux 7 Note: All ASMLib installations require the oracleasmliband oracleasm-supportpackages appropriate for their machine. The 'oracleasmlib' and 'oracleasm-support' packages are available for download at the

www.oracle.com

프로필 설정

- root

##########################################
# 1. ORACLE
##########################################
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12c/db_1
export ORACLE_SID=rac1
export GRID_HOME=/u01/app/12c/grid

##########################################
# 2. FORMAT
##########################################
export PATH=$PATH:$GRID_HOME/bin
export PS1='[$ORACLE_SID|\u:$PWD]> '
set -o vi
stty erase ^H

##########################################
# 3. ALIAS
##########################################
alias ss='sqlplus / as sysdba'
alias ob='cd $ORACLE_BASE'
alias oh='cd $ORACLE_HOME'
alias dbs='cd $ORACLE_HOME/dbs'
alias net='cd $ORACLE_HOME/network/admin'
alias ..='. ~/.bash_profile'
alias ...='vi  ~/.bash_profile'
alias ora="su - oracle"

- oracle

##########################################
# 1. ORACLE
##########################################
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12c/db_1
export ORACLE_SID=rac1
export GRID_HOME=/u01/app/12c/grid

##########################################
# 2. FORMAT
##########################################
export PATH=$PATH:$ORACLE_HOME/bin:$GRID_HOME/bin:$ORACLE_HOME/OPatch
export BASE_PATH=/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export DISPLAY=10.0.5.1:0.0
export PS1='[$ORACLE_SID|\u:$PWD]> '
export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
set -o vi
stty erase ^H


##########################################
# 3. ALIAS
##########################################
alias ss='sqlplus / as sysdba'
alias ob='cd $ORACLE_BASE'
alias oh='cd $ORACLE_HOME'
alias dbs='cd $ORACLE_HOME/dbs'
alias net='cd $ORACLE_HOME/network/admin'
alias ..='. ~/.bash_profile'
alias ...='vi  ~/.bash_profile'
alias a='tail -50f /u01/app/oracle/diag/rdbms/rac/rac1/trace/al*.log'
alias bdump='cd /u01/app/oracle/diag/rdbms/rac/rac1/trace'
alias asm='export ORACLE_SID=+ASM;export ORACLE_HOME=$GRID_HOME;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH'

 

공유 스토리지 생성

rac1 VM 끄고 진행

VirtualBox > 파일 > 가상미디어 관리자 선택

고정크기로 원하는 디스크 크기 부여하여 생성
공유가능으로 설정

위 과정으로 CRS1, CRS2, CRS3 : 3GB 씩

DATA 50GB , FRA 30GB 생성

 

rac1 > 설정 > 저장소 > 생성 순서대로 스토리지 연결

asm 환경 구성

$ oracleasm configure -i
-------------------------------------------------------------------------
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
-------------------------------------------------------------------------
$ oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm
-------------------------------------------------------------------------
$ oracleasm status

Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
-------------------------------------------------------------------------
$ oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
-------------------------------------------------------------------------

 

디스크 파티셔닝

$ ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdc  /dev/sde
/dev/sda1  /dev/sdb   /dev/sdd  /dev/sdf

$ fdisk /dev/sdb  ### "n", "p", "1", "엔터", "엔터", "w" 입력
$ fdisk /dev/sdc  ### "n", "p", "1", "엔터", "엔터", "w" 입력
$ fdisk /dev/sdd  ### "n", "p", "1", "엔터", "엔터", "w" 입력
$ fdisk /dev/sde  ### "n", "p", "1", "엔터", "엔터", "w" 입력
$ fdisk /dev/sdf  ### "n", "p", "1", "엔터", "엔터", "w" 입력


[rac1|root:/u01/media]> ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdb1  /dev/sdc1  /dev/sdd1  /dev/sde1  /dev/sdf1
/dev/sda1  /dev/sdb   /dev/sdc   /dev/sdd   /dev/sde   /dev/sdf

asm 디스크 생성

$ oracleasm createdisk CRS1 /dev/sdb1
$ oracleasm createdisk CRS2 /dev/sdc1
$ oracleasm createdisk CRS3 /dev/sdd1
$ oracleasm createdisk DATA /dev/sde1
$ oracleasm createdisk FRA /dev/sdf1


[rac1|root:/u01/media]> oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...


[rac1|root:/u01/media]> oracleasm listdisks
CRS1
CRS2
CRS3
DATA
FRA

 

 

rac2 복제

VirtualBox > 파일 > 가상미디어 관리자 선택

rac1 선택 후 복사
이름 설정
방금 만든 스토리지 붙여서 새로만들거임

후 설정

 

스토리지

  • 네트워크 - 어댑터1 : 어댑터에브리지 / 어댑터 2 : 호스트 전용 어댑터
  • 오디오 - 사용안함
  • 시스템 - 부팅순서 플로피 x / 프로세서 CPU 2

 

rac2 접속 후 network 설정 / hostname / profile 변경

# network 설정 변경
[rac2|root:/root]> vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
IPADDR=10.0.1.102 변경

[rac2|root:/root]> vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
IPADDR=10.0.5.102 변경

[rac2|root:/root]> systemctl restart network


# hostname 설정 변경
hostnamectl status -- rac1일것임 복제해서
hostnamectl set-hostname rac2
hostnamectl status -- 변경확인

# .bash_profile 변경 < root / oracle >
export ORACLE_SID=rac2
alias a='tail -50f /u01/app/oracle/diag/rdbms/rac/rac2/trace/al*.log'
alias bdump='cd /u01/app/oracle/diag/rdbms/rac/rac2/trace'

 

Grid 설치 (rac1 에서만 진행)

- 엔진 압축 해제

[rac1|root:/u01/media/engine/12c/grid]> ora
Last login: Fri Mar 17 09:29:19 KST 2023 on pts/1
[rac1|oracle:/home/oracle]> asm
[+ASM|oracle:/home/oracle]> cd /u01/media/engine/12c/grid
[+ASM|oracle:/u01/media/engine/12c/grid]> unzip ./V46096-01_1of2.zip -d $ORACLE_HOME
[+ASM|oracle:/u01/media/engine/12c/grid]> unzip ./V46096-01_2of2.zip -d $ORACLE_HOME

[+ASM|oracle:/u01/media/engine/12c/grid]> cd $ORACLE_HOME
[+ASM|oracle:/u01/app/12c/grid]> ls -al
total 4
drwxr-xr-x. 3 oracle dba   18 Mar 17 10:21 .
drwxr-xr-x. 3 oracle dba   18 Mar 17 09:40 ..
drwxr-xr-x. 7 oracle dba 4096 Jul  7  2014 grid
[+ASM|oracle:/u01/app/12c/grid]> cd grid/
[+ASM|oracle:/u01/app/12c/grid/grid]> ls -al
total 36
drwxr-xr-x.  7 oracle dba 4096 Jul  7  2014 .
drwxr-xr-x.  3 oracle dba   18 Mar 17 10:21 ..
drwxr-xr-x.  4 oracle dba 4096 Mar 17 10:22 install
drwxrwxr-x.  2 oracle dba   30 Jul  7  2014 response
drwxr-xr-x.  2 oracle dba   34 Jul  7  2014 rpm
-rwxr-xr-x.  1 oracle dba 5085 Dec 20  2013 runcluvfy.sh
-rwxr-xr-x.  1 oracle dba 8534 Jul  7  2014 runInstaller
drwxrwxr-x.  2 oracle dba   29 Jul  7  2014 sshsetup
drwxr-xr-x. 14 oracle dba 4096 Jul  7  2014 stage
-rwxr-xr-x.  1 oracle dba  500 Feb  7  2013 welcome.html

- 설치 진행

[+ASM|oracle:/u01/app/12c/grid/grid]> ./runInstaller 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 415 MB.   Actual 64007 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 10239 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2023-03-17_10-29-30AM. Please wait

1) 소프트웨어 설치 후 Cluster 구성까지 진행

2) 소프트웨어 설치 후 Standalone 서버 구성

3) Grid 업그레이드 하거나 ASM 구성 진행

4) 소프트웨어만 설치

1) 일반적인 Cluster 구성

2) 많은 node의 구성을 할 수 있는 Cluster 구성

1) 일반설치

2) 상세 설정 적용

영어만 선택

cluster name 설정

GNS 사용 X (Grid Name Service 설정)

rac2 추가
두 노드간 비밀번호 없는 ssh 접속 설정
설정 완료

1) 일반적 ASM 사용

2) Flex Cluster 구성 시 ASM 사용

3) ASM을 다른 서버에서 구성할 때 선택

4) Cluster File System 사용

클러스터 환경을 구성하고 저장할 스토리지 설정

DISK GROUP NAME : 디스크명

Redundancy external AU 1MB / 아까 생성한 공유 디스크 CRS 1, 2, 3 선택 후 next

ORACLE ASM 의 SYS 및 SYSASM 계정의 비밀번호를 동일하게 사용하겠다

INS-30011 : 입력한 비밀번호가 권고사항에 어긋난다 < 무시가능 >

IPMI 사용 X

하드웨어에서 지원하는 서버관리 솔루션 (시스템 온도, 팬 속도, 하드웨어 이벤트 등을 콘솔을 통해 보여주는 솔루션)

EM 사용 X

Oracle에서 제공하는 관리 솔루션 / 거의 사용 x

ASM 관리 그룹 설정

ORACLE_BASE와

GRID_HOME 경로 확인

해당 경로에 이미 파일이 존재하는데 ㄱㅊ? > ㅇㅇ YES
oraInventory 경로 확인
설치 시 root script를 자동으로 돌릴까? ㄴㄴ 수동으로 하겠음
설치 가능 조건 검사 진행

1) cvuqdisk rpm package 없다 -> 추후 $GRID_HOME/cv/rpm에서 설치 가능 (Ignore)

2) PRVE-0426 -> /dev/shm is "8388608k" megabytes which is less than the required size of "2048" megabytes on node 

-> root 계정으로 rac1, rac2 모두 진행함

[rac2|root:/root]> df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.9G     0  4.9G   0% /dev
tmpfs                8.0G     0  8.0G   0% /dev/shm

[rac2|root:/root]> vi /etc/fstab
tmpfs                   /dev/shm                tmpfs   defaults,size=8g         0 0

[rac2|root:/root]> mount -o remount /dev/shm

찾아보니 버그랜다 ..!!!!!!! docs 1918620.1

Ignore all 후 진행

요약 -> Install
설치 진행중

root 계정으로 스크립트 실행 -> rac1, rac2 순서대로 돌려야함.

~~~~
~~~~

다되면 오케이 누르기

마저진행중

gi 설치 완료

[rac1|root:/u01/app/12c/grid/grid]> crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.asm
               ONLINE  ONLINE       rac1                     Started,STABLE
               ONLINE  ONLINE       rac2                     Started,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.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.206.62 10.0.
                                                             5.101,STABLE
ora.cvu
      1        ONLINE  ONLINE       rac1                     STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac1                     Open,STABLE
ora.oc4j
      1        ONLINE  ONLINE       rac1                     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
--------------------------------------------------------------------------------

 

ASM 디스크 그룹 추가

[+ASM|oracle:/home/oracle]> asmca

하단 Create

 

FRA도 생성
생성 확인

[+ASM|oracle:/home/oracle]> crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.DATA.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.FRA.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE

 

Database  엔진 설치

1) media파일 압축해제

# OS user oracle로 접속
[rac1|oracle:/home/oracle]> cd /u01/media/engine/12c/db/
[rac1|oracle:/u01/media/engine/12c/db]> ls -al
total 2625080
drwxr-xr-x. 2 oracle dba         60 Mar 17 10:28 .
drwxrwxr-x. 4 oracle dba         28 Mar 17 09:27 ..
-rw-r--r--. 1 oracle dba 1673544724 Mar 17 10:28 12cR1_db_home_1.zip
-rw-r--r--. 1 oracle dba 1014530602 Mar 17 10:28 12cR1_db_home_2.zip

# ORACLE_HOME에 압축해제
[rac1|oracle:/u01/media/engine/12c/db]> unzip 12cR1_db_home_1.zip -d $ORACLE_HOME
[rac1|oracle:/u01/media/engine/12c/db]> unzip 12cR1_db_home_2.zip -d $ORACLE_HOME

[rac1|oracle:/u01/media/engine/12c/db]> cd $ORACLE_HOME
[rac1|oracle:/u01/app/oracle/product/12c/db_1]> ls -al
total 4
drwxr-xr-x. 3 oracle dba   22 Mar 17 14:17 .
drwxr-xr-x. 3 oracle dba   18 Mar 17 09:40 ..
drwxr-xr-x. 7 oracle dba 4096 Jul  7  2014 database
[rac1|oracle:/u01/app/oracle/product/12c/db_1]> cd database/
[rac1|oracle:/u01/app/oracle/product/12c/db_1/database]> ls -al
total 28
drwxr-xr-x.  7 oracle dba 4096 Jul  7  2014 .
drwxr-xr-x.  3 oracle dba   22 Mar 17 14:17 ..
drwxr-xr-x.  4 oracle dba 4096 Mar 17 14:18 install
drwxrwxr-x.  2 oracle dba   61 Jul  7  2014 response
drwxr-xr-x.  2 oracle dba   34 Jul  7  2014 rpm
-rwxr-xr-x.  1 oracle dba 8533 Jul  7  2014 runInstaller
drwxrwxr-x.  2 oracle dba   29 Jul  7  2014 sshsetup
drwxr-xr-x. 14 oracle dba 4096 Jul  7  2014 stage
-rwxr-xr-x.  1 oracle dba  500 Feb  7  2013 welcome.html
[rac1|oracle:/u01/app/oracle/product/12c/db_1/database]> ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 37727 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 10236 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2023-03-17_02-19-37PM.

 

2. GUI로 엔진 설치

소프트웨어 및 패치세트(PSU) 및 기타 권장 패치에 대해 갱신할것인지 -> X 

1) 소프트웨어 설치 후 database 생성까지

2) 소프트웨어만 설치

3) 데이터베이스 업그레이드

1) 단일 인스턴스 설치

2) RAC 설치

3) RAC의 한 node만 설치

설치 노드 선택
영어만
오라클 에디션 선택
ORACLE_BASE 및 ORACLE_HOME 지정
DATABASE SOFTWARE ENGINE 관리 그룹 선택
설치 전제 조건 체크

1. /dev/shm mounted as temporary file system 는 무시 가능 (GI와 같은 버그)

2. Maximum locked memory check (PRVE-0044) 

아래 과정 rac1, rac2 모든 노드에서 진

[rac1|root:/u01/media/engine/12c/grid]> vi /etc/security/limits.conf

# 아래 두줄 추가
oracle soft memlock unlimited
oracle hard memlock unlimited

# 확인
[rac1|root:/u01/media/engine/12c/grid]> ulimit -a
~
max locked memory       (kbytes, -l) 64
~

Check Again

사라졌다

Ignore All 후 Install

요약 > Install

돌려돌려 루트쉘~

Database Configuration Assistant (Database 생성)

[rac1|oracle:/u01/app/oracle/product/12c/db_1]> dbca

Database 생성

1) 일반 설치

2) 상세 설정 적용 설치

구성 타입 : Admin-Managed

Custom Database 선택 후 Next (데이터베이스 환경을 따로 선택)

ORACLE_SID

RAC 구성에 사용되는 NODE 선택

EM 사용 안함 

oracle database의 SYS, SYSTEM 계정의 비밀번호 설정 (동일하게)

Database File Storage Type : ASM

Data File 저장 위치 : +DATA

Fast Recovery Area 위치 : +FRA

Oracle Components : 선택안함 / Sample Schemas : 설치안함

메모리 설정 (default로 함)

block 크기 & Process 지정

캐릭터셋 설정 *(추후에 바꿀 수 없으니 신중히 선택) // 바꿀 순 있으나 데이터가 다 깨져버리는 수가 있음.. 안하길 권고

전용서버모드

> 이와 관련한 글.. 제 블로그 글에 있음다. (architecture) 

1) database 생성

2) database 템플릿으로 저장

3) database 생성 스크립트 만들기

하단 Customize Storage Locations 선택 시 Datafile 및 control, redo 등 파일을 원하는 경로로 지정할 수 있음

생성 전제 조건 검사
생성 정보 요약 > Finish
생성 레스고
생성완료

확인

1) crs

# 두 노드 모두 잘 되는지 진행
[rac1|root:/root]> crsctl stop crs
[rac1|root:/root]> crsctl start crs

[rac2|root:/root]> crsctl stop crs
[rac2|root:/root]> crsctl start crs


[rac1|root:/root]> crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       rac1                     STABLE
ora.DATA.dg
               ONLINE  ONLINE       rac1                     STABLE
ora.FRA.dg
               ONLINE  ONLINE       rac1                     STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                     STABLE
ora.asm
               ONLINE  ONLINE       rac1                     Started,STABLE
ora.net1.network
               ONLINE  ONLINE       rac1                     STABLE
ora.ons
               ONLINE  ONLINE       rac1                     STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac1                     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.206.62 10.0.
                                                             5.101,STABLE
ora.cvu
      1        ONLINE  ONLINE       rac1                     STABLE
ora.mgmtdb
      1        ONLINE  OFFLINE      rac1                     STARTING
ora.oc4j
      1        ONLINE  OFFLINE      rac1                     STARTING
ora.rac.db
      1        ONLINE  OFFLINE      rac1                     Instance Shutdown,ST
                                                             ARTING
      2        ONLINE  OFFLINE                               STABLE
ora.rac1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac2.vip
      1        ONLINE  INTERMEDIATE rac1                     FAILED OVER,STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rac1                     STABLE
--------------------------------------------------------------------------------

2) Database

# 1번 노드
[rac1|oracle:/home/oracle]> ss

SQL*Plus: Release 12.1.0.2.0 Production on Fri Mar 17 15:12:58 2023

Copyright (c) 1982, 2014, 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> select instance_name, status from v$instance ;

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


# 2번 노드
[rac2|oracle:/home/oracle]> ss

SQL*Plus: Release 12.1.0.2.0 Production on Fri Mar 17 15:12:11 2023

Copyright (c) 1982, 2014, 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> select instance_name, status from v$instance ;

INSTANCE_NAME	 STATUS
---------------- ------------
rac2		 OPEN

3) LISTENER

[rac1|root:/root]> lsnrctl status

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 17-MAR-2023 15:11:46

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                17-MAR-2023 15:11:02
Uptime                    0 days 0 hr. 0 min. 43 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12c/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 "-MGMTDBXDB" has 1 instance(s).
  Instance "-MGMTDB", status READY, has 1 handler(s) for this service...
Service "_mgmtdb" has 1 instance(s).
  Instance "-MGMTDB", status READY, has 1 handler(s) for this service...
Service "rac" has 2 instance(s).
  Instance "-MGMTDB", status READY, has 1 handler(s) for this service...
  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

패치

1) OPatch version up (p6880880_122010 버전 사용 가능) / rac1, rac2 모두 진행

[+ASM|oracle:/home/oracle]> opatch version
OPatch Version: 12.1.0.1.3

OPatch succeeded.

[rac1|root:/u01/app/12c/grid]> mv $GRID_HOME/OPatch $GRID_HOME/OPatch_old
[rac1|root:/u01/app/12c/grid]> ora
Last login: Fri Mar 17 13:37:49 KST 2023 on pts/0
[rac1|oracle:/home/oracle]> asm
[+ASM|oracle:/home/oracle]> cd /u01/media/patch/12c
[+ASM|oracle:/u01/media/patch/12c]> unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME
[+ASM|oracle:/u01/media/patch/12c]> opatch version
OPatch Version: 12.2.0.1.36

OPatch succeeded.

2) patch set p34204576_121020 

1) GRID patch

# 오라클 인벤토리의 유효성 검사
[+ASM|oracle:/u01/media/patch/12c/34204576]> $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

# 패치 상태 확인
[+ASM|oracle:/home/oracle]> opatch lspatches
There are no Interim patches installed in this Oracle Home "/u01/app/12c/grid".

OPatch succeeded.

# 패치파일 압축해제
[+ASM|oracle:/u01/media/patch/12c]> unzip p34204576_121020_Linux-x86-64.zip 
[+ASM|oracle:/u01/media/patch/12c]> ls -al
~
drwxr-xr-x. 7 oracle dba       4096 Jul 22  2022 34204576


# Patching Oracle RAC Database Homes and GI Together
## root 계정으로 각 노드에서 모두 실행
[rac1|root:/u01/app/12c/grid]> $GRID_HOME/OPatch/opatchauto apply /u01/media/patch/12c/34204576 -oh $GRID_HOME
[rac2|root:/u01/media/patch/12c]> $GRID_HOME/OPatch/opatchauto apply /u01/media/patch/12c/34204576 -oh $GRID_HOME

# 확인
[+ASM|oracle:/home/oracle]> opatch lspatches
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.

2) Database Patch

# 오라클 인벤토리 유효성 검사
[rac1|oracle:/home/oracle]> opatch lsinventory -detail -oh $ORACLE_HOME
Oracle Interim Patch Installer version 12.2.0.1.36
Copyright (c) 2023, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/12c/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.36
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12c/db_1/cfgtoollogs/opatch/opatch2023-03-20_07-22-13AM_1.log

Lsinventory Output file location : /u01/app/oracle/product/12c/db_1/cfgtoollogs/opatch/lsinv/lsinventory2023-03-20_07-22-13AM.txt


# 패치 상태 확인
[rac1|oracle:/home/oracle]> opatch lspatches
There are no Interim patches installed in this Oracle Home "/u01/app/oracle/product/12c/db_1".

OPatch succeeded.


# root 계정으로 두 노드 모두 실행 database patch 
[rac1|root:/root]> $ORACLE_HOME/OPatch/opatchauto apply /u01/media/patch/12c/34204576 -oh $ORACLE_HOME


# 확인
[rac1|oracle:/home/oracle]> opatch lspatches
34057742;Database Patch Set Update : 12.1.0.2.220719 (34057742)
32758932;OCW PATCH SET UPDATE 12.1.0.2.210720 (32758932)

OPatch succeeded.
728x90