ORACLE STUDYRAC 설치 (19C)14 ARTICLES
PUBLIC STUDY

RAC 설치 (19C)

OS : Oracle Linux 8.4

01
2분 읽기

1. 실습 환경 및 구성 개요

‣

이 글의 노션 원문 ↗

‣

‣

OS : Oracle Linux 8.4

DB : Oracle 19c RAC

SHELL
RAC1
├─ Public IP  : 관리자와 사용자 접속
├─ Private IP : RAC1 ↔ RAC2 내부 통신
└─ VIP        : 장애 발생 시 접속 지연 방지

RAC2
├─ Public IP
├─ Private IP
└─ VIP

RAC 전체
└─ SCAN       : 클러스터 대표 접속 주소

→ VIP와 SCAN IP는 Grid Infrastructure 설치 전에는 어떤 장비에서도 사용하지 않는 미사용 IP

→ Grid 설치 과정에서 Oracle Clusterware가 VIP와 SCAN IP를 생성하여 관리

SHELL
예시 주소

RAC1 Public : 10.10.10.11
RAC2 Public : 10.10.10.12

RAC1 Private : 192.168.56.11
RAC2 Private : 192.168.56.12

RAC1 VIP : 10.10.10.21
RAC2 VIP : 10.10.10.22

SCAN Name : rac-scan

SCAN IP1 : 10.10.10.31
SCAN IP2 : 10.10.10.32
SCAN IP3 : 10.10.10.33
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

02
1분 읽기

2.1 호스트명 설정

→ Oracle Clusterware는 서버를 IP만으로 관리하지 않고 노드 이름으로 구분하기 때문에 같으면 구분 못 함

이 글의 노션 원문 ↗

hostname 변경

→ Oracle Clusterware는 서버를 IP만으로 관리하지 않고 노드 이름으로 구분하기 때문에 같으면 구분 못 함

COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

03
47분 읽기

2.2 네트워크 인터페이스 구성

NIC (Network Interface Card)

이 글의 노션 원문 ↗

Private NIC 추가

NIC (Network Interface Card)

→ vSphere에서 각 VM에 네트워크 어댑터를 하나 더 추가

→ node끼리는 지속적으로 데이터를 주고 받기 때문에 통신들을 일반 사용자 트래픽과 같은 NIC에서 처리하면 네트워크 혼잡 가능성 있기에 rac1, rac2 내부 전용 통신을 따로 분리

ifconfig -a에서 네트워크 어댑터 주소 설정 제대로 됐는지만 확인

ip -br addr

SHELL
RAC1 Public  : 10.10.10.11
RAC2 Public  : 10.10.10.12

RAC1 VIP     : 10.10.10.21
RAC2 VIP     : 10.10.10.22

SCAN Name    : rac-scan
SCAN IP1     : 10.10.10.31
SCAN IP2     : 10.10.10.32
SCAN IP3     : 10.10.10.33

RAC1 Private : 192.168.200.11
RAC2 Private : 192.168.200.12

→ 위의 VIP와 SCAN 주소는 실제 네트워크에서 사용하지 않는 주소여야 하므로 아래처럼 했을 때 응답 없어야 함

SHELL
# 응답이 없어야 정상
ping -c 3 10.10.10.21
ping -c 3 10.10.10.22
ping -c 3 10.10.10.31
ping -c 3 10.10.10.32
ping -c 3 10.10.10.33

# 로컬 NIC에도 등록되지 않아야 함
ip addr | grep -E '10\.10\.10\.(21|22|31|32|33)'

[연결 프로파일 확인]

nmcli connection show

nmcli device status

SHELL
ens192 : 관리자가 MobaXterm으로 서버에 접속
→ 프로파일 존재
→ 현재 활성화됨
→ 실제 ens192 장치에 연결됨

ens224 : Oracle RAC Public, VIP, SCAN이 사용하는 네트워크
→ 프로파일 존재
→ 아직 활성화되지 않음
→ DEVICE가 --

ens256 : RAC1과 RAC2가 내부적으로 통신하는 네트워크
→ 프로파일 존재
→ 아직 활성화되지 않음
→ DEVICE가 --

RAC1 수정

SHELL
nmcli connection modify ens224 \
  ipv4.method manual \
  ipv4.addresses 10.10.10.11/24 \
  ipv4.never-default yes \
  connection.autoconnect yes

nmcli connection modify ens256 \
  ipv4.method manual \
  ipv4.addresses 192.168.200.11/24 \
  ipv4.never-default yes \
  connection.autoconnect yes
  
nmcli connection up ens224
nmcli connection up ens256
SHELL
[root@rac1 ~]# ip -br addr
lo               UNKNOWN        127.0.0.1/8 ::1/128
ens192           UP             10.70.101.181/24 fe80::250:56ff:fea8:a668/64
ens224           UP             10.10.10.11/24 fe80::250:56ff:fea8:c504/64
ens256           UP             192.168.200.11/24 fe80::250:56ff:fea8:9aec/64
virbr0           DOWN           192.168.122.1/24
virbr0-nic       DOWN
[root@rac1 ~]#

→ 현재 서버의 ip 주소 알고 있는 것

RAC2 수정

SHELL
nmcli connection modify ens224 \
  connection.interface-name ens224 \
  connection.autoconnect yes \
  ipv4.method manual \
  ipv4.addresses 10.10.10.12/24 \
  ipv4.gateway "" \
  ipv4.dns "" \
  ipv4.never-default yes \
  ipv6.method disabled
  
nmcli connection modify ens256 \
  connection.interface-name ens256 \
  connection.autoconnect yes \
  ipv4.method manual \
  ipv4.addresses 192.168.200.12/24 \
  ipv4.gateway "" \
  ipv4.dns "" \
  ipv4.never-default yes \
  ipv6.method disabled
  
nmcli connection up ens224
nmcli connection up ens256
SHELL
[root@rac2 ~]# ip -br addr
lo               UNKNOWN        127.0.0.1/8 ::1/128
ens192           UP             10.70.101.182/24 fe80::250:56ff:fea8:306c/64
ens224           UP             10.10.10.12/24
ens256           UP             192.168.200.12/24
virbr0           DOWN           192.168.122.1/24
virbr0-nic       DOWN

→ 현재 서버의 ip 주소 알고 있는 것

RAC1과 RAC2에 똑같은 내용 입력 (<ip> 자리에 결정한 ip 적기)

→ 두 서버가 같은 이름을 동일한 ip로 해석해야 하기 때문

rac1, rac2, rac1-priv 같은 이름이 어느 IP인지 모름

SHELL
vi /etc/hosts
SHELL
[root@rac1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# Management
10.70.101.181   rac1-mgmt
10.70.101.182   rac2-mgmt

# Oracle Public
<RAC1_PUBLIC_IP>   rac1.example.com rac1
<RAC2_PUBLIC_IP>   rac2.example.com rac2

# Oracle VIP
<RAC1_VIP_IP>      rac1-vip.example.com rac1-vip
<RAC2_VIP_IP>      rac2-vip.example.com rac2-vip

# Private Interconnect
<RAC1_PRIVATE_IP>  rac1-priv
<RAC2_PRIVATE_IP>  rac2-priv
SHELL
[root@rac2 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# Management
10.70.101.181   rac1-mgmt
10.70.101.182   rac2-mgmt

# Oracle Public
<RAC1_PUBLIC_IP>   rac1.example.com rac1
<RAC2_PUBLIC_IP>   rac2.example.com rac2

# Oracle VIP
<RAC1_VIP_IP>      rac1-vip.example.com rac1-vip
<RAC2_VIP_IP>      rac2-vip.example.com rac2-vip

# Private Interconnect
<RAC1_PRIVATE_IP>  rac1-priv
<RAC2_PRIVATE_IP>  rac2-priv

⇒ VIP와 SCAN IP는 Grid 설치 전까지 응답하면 안 됨

SHELL
ping -c 2 10.10.10.21
ping -c 2 10.10.10.22

ping -c 2 10.10.10.31
ping -c 2 10.10.10.32
ping -c 2 10.10.10.33

명령어 실행 후 아래 응답이면 사용하지 않는 것
Destination Host Unreachable

아래 응답이면 이미 다른 장비가 사용하는 ip이므로 다른 주소 선택 필요
100% packet loss

동일한 공유 디스크 사용하는지 확인

SHELL
[admin@rac1 ~]$ lsblk -o NAME,SIZE,TYPE,FSTYPE,SERIAL,WWN
NAME  SIZE TYPE FSTYPE SERIAL WWN
sda    20G disk        6000c2 0x6000c2953b9e74e067960935e533983b
sdb    10G disk        6000c2 0x6000c29fadec108919cb6404c724caa8
sdc    15G disk        6000c2 0x6000c2910c4a8d470de853bc6d51939f
sdd   100G disk
├─sdd1
│     500M part xfs
└─sdd2
     99.5G part LVM2_m
  ├─ol-root
  │  91.5G lvm  xfs
  └─ol-swap
        8G lvm  swap
sr0   9.3G rom  iso966 000000
SHELL
[admin@rac2 ~]$ lsblk -o NAME,SIZE,TYPE,FSTYPE,SERIAL,WWN
NAME  SIZE TYPE FSTYPE SERIAL WWN
sda    10G disk        6000c2 0x6000c29fadec108919cb6404c724caa8
sdb    20G disk        6000c2 0x6000c2953b9e74e067960935e533983b
sdc    15G disk        6000c2 0x6000c2910c4a8d470de853bc6d51939f
sdd   100G disk
├─sdd1
│     500M part xfs
└─sdd2
     99.5G part LVM2_m
  ├─ol-root
  │  91.5G lvm  xfs
  └─ol-swap
        8G lvm  swap
sr0  1024M rom         000000

Preinstall RPM 설치 (RAC1,2)

SHELL
rpm -q oracle-database-preinstall-19c
dnf -y install oracle-database-preinstall-19c

sysctl --system

수동설정 파일 수정

SHELL
[admin@rac1 ~]$ su -
Password:
[root@rac1 ~]# vi /etc/sysctl.conf
[root@rac1 ~]# /sbin/sysctl -p
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

→ 설정 안 되어있다면 아래처럼 Shell Limits로 수동 설정

SHELL
# vi /etc/security/limits.d/oracle-database-preinstall-19c.conf
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728
SHELL
# vi /etc/security/limits.d/oracle-grid-19c.conf
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc  16384
grid hard nproc  16384
grid soft stack  10240
grid hard stack  32768
SHELL
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc  16384
grid hard nproc  16384
grid soft stack  10240
grid hard stack  32768

Grid/Database 설치 사용자 및 그룹 생성

→ oracle , grid 두 유저로 하는 경우, oracle 한 유저로 하는 경우 2가지

SHELL
groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
groupadd asmoper
groupadd racdba

useradd -g oinstall \
  -G asmadmin,asmdba,asmoper,dba,racdba grid

useradd -g oinstall \
  -G dba,asmdba,racdba oracle

passwd grid
passwd oracle
SHELL
id grid
id oracle
getent group oinstall
getent group asmadmin

selinux disable 설정

SHELL
[root@rac1 limits.d]# vi /etc/selinux/config
[root@rac2 ~]# vi /etc/selinux/config

SELINUX=disabled

불필요한 서비스 중지

→ 운영 환경에서는 서비스를 무조건 비활성화하지 않고 Oracle Grid Infrastructure에 필요한 포트와 보안 정책을 구성

SHELL
systemctl stop firewalld
systemctl disable firewalld
 
systemctl stop bluetooth
systemctl disable bluetooth
 
systemctl stop avahi-daemon.socket
systemctl disable avahi-daemon.socket
 
systemctl stop avahi-daemon
systemctl disable avahi-daemon
 
systemctl stop libvirtd
systemctl disable libvirtd

시간 동기화 설정

SHELL
systemctl enable --now chronyd

chronyc sources -v
chronyc tracking
timedatectl

Selinux를 일시적으로 Permissive 상태로 변경

→ 운영 환경에서는 서비스를 무조건 비활성화하지 않고 Oracle Grid Infrastructure에 필요한 포트와 보안 정책을 구성

SHELL
[root@rac1 ~]# setenforce 0
[root@rac1 ~]# getenforce
Permissive
SHELL
[root@rac2 ~]# setenforce 0
[root@rac2 ~]# getenforce
Permissive

ASM용 추가 RPM 설치

‣ oracleasmlib-2.0.17-1.el8.x86_64.rpm 다운로드

‣  oracleasm-support-2.1.12-1.el8.rpm 다운로드

SHELL
[root@rac1 admin]# rpm -ivh oracleasmlib-2.0.17-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasmlib-2.0.17-1.el8        ################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6:       hwcap directive ignored
[root@rac1 admin]# rpm -ivh oracleasm-support-2.1.12-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasm-support-2.1.12-1.el8   ################################# [100%]
Note: Forwarding request to 'systemctl enable oracleasm.service'.
Synchronizing state of oracleasm.service with SysV service script with /usr/lib/      systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable oracleasm
Created symlink /etc/systemd/system/multi-user.target.wants/oracleasm.service →       /usr/lib/systemd/system/oracleasm.service.
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6:       hwcap directive ignored
SHELL
[root@rac2 ~]#
[root@rac2 ~]# cd /home/admin
[root@rac2 admin]# rpm -ivh oracleasm-support-2.1.12-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasm-support-2.1.12-1.el8   ################################# [100%]
Note: Forwarding request to 'systemctl enable oracleasm.service'.
Synchronizing state of oracleasm.service with SysV service script with /usr/lib/      systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable oracleasm
Created symlink /etc/systemd/system/multi-user.target.wants/oracleasm.service →       /usr/lib/systemd/system/oracleasm.service.
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6:       hwcap directive ignored
[root@rac2 admin]# rpm -ivh oracleasmlib-2.0.17-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasmlib-2.0.17-1.el8        ################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6:       hwcap directive ignored

Temp 파일시스템 할당

SHELL
[root@rac1 admin]# cat /etc/fstab

/dev/mapper/ol-root     /                       xfs     defaults        0 0
UUID=f0b0428e-dbba-47fa-af8a-934c6bcbe22a /boot                   xfs     defaults        0 0
/dev/mapper/ol-swap     none                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   size=7g         0 0
SHELL
[root@rac2 admin]# cat /etc/fstab
/dev/mapper/ol-root     /                       xfs     defaults        0 0
UUID=f0b0428e-dbba-47fa-af8a-934c6bcbe22a /boot                   xfs     defaults        0 0
/dev/mapper/ol-swap     none                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   size=7g         0 0

/dev/shm 영역 remount 후 확인

SHELL
[root@rac1 admin]# mount -o remount /dev/shm
[root@rac1 admin]# df -h /dev/shm
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           7.0G     0  7.0G   0% /dev/shm
SHELL
[root@rac2 admin]# mount -o remount /dev/shm
[root@rac2 admin]# df -h /dev/shm
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           7.0G     0  7.0G   0% /dev/shm

추가한 디스크 확인

/dev/sda, /dev/sdb 이름은 노드마다 달라질 수 있다. 같은 공유 디스크인지는 장치 이름이 아니라 WWID, SCSI ID, VMDK UUID와 용량으로 판별

SHELL
[root@rac1 admin]# fdisk -l
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 15 GiB, 16106127360 bytes, 31457280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdd: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x775753eb

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sdd1  *       2048   1026047   1024000  500M 83 Linux
/dev/sdd2       1026048 209715199 208689152 99.5G 8e Linux LVM


Disk /dev/mapper/ol-root: 91.5 GiB, 98255765504 bytes, 191905792 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/ol-swap: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
SHELL
(SSORAC1)[root@rac1 ~]$ lsblk -o NAME,SIZE,TYPE,FSTYPE,UUID,WWN,SERIAL
NAME  SIZE TYPE FSTYPE UUID                                   WWN                                SERIAL
sda    20G disk                                               0x6000c2953b9e74e067960935e533983b 6000c2
└─sda1
       20G part                                               0x6000c2953b9e74e067960935e533983b
sdb    10G disk                                               0x6000c29fadec108919cb6404c724caa8 6000c2
└─sdb1
       10G part                                               0x6000c29fadec108919cb6404c724caa8
sdc    15G disk                                               0x6000c2910c4a8d470de853bc6d51939f 6000c2
└─sdc1
       15G part                                               0x6000c2910c4a8d470de853bc6d51939f
sdd   100G disk
├─sdd1
│     500M part xfs    f0b0428e-dbba-47fa-af8a-934c6bcbe22a
└─sdd2
     99.5G part LVM2_m VB6YXz-BVnE-dt1h-CuXP-ywAN-lVvt-mhKUBJ
  ├─ol-root
  │  91.5G lvm  xfs    0c07e9ed-62ee-4952-a48c-8759e31f0858
  └─ol-swap
        8G lvm  swap   90d56547-a50d-41b9-87a4-50d66d97a632
sr0   9.3G rom  iso966 2021-05-24-10-19-07-00                                                    000000
(SSORAC1)[root@rac1 ~]$ blkid
/dev/sdd1: UUID="f0b0428e-dbba-47fa-af8a-934c6bcbe22a" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="775753eb-01"
/dev/sdd2: UUID="VB6YXz-BVnE-dt1h-CuXP-ywAN-lVvt-mhKUBJ" TYPE="LVM2_member" PARTUUID="775753eb-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-05-24-10-19-07-00" LABEL="OL-8-4-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="22b580ee" PTTYPE="dos"
/dev/mapper/ol-root: UUID="0c07e9ed-62ee-4952-a48c-8759e31f0858" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/ol-swap: UUID="90d56547-a50d-41b9-87a4-50d66d97a632" TYPE="swap"
/dev/sdb1: LABEL="OCR" TYPE="oracleasm" PARTUUID="9d7dc692-01"
/dev/sdc1: LABEL="RECO" TYPE="oracleasm" PARTUUID="de181971-01"
/dev/sda1: LABEL="DATA" TYPE="oracleasm" PARTUUID="bdd44a47-01"
(SSORAC1)[root@rac1 ~]$ lsscsi -i
[0:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR00 1.00  /dev/sr0   -
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sdd   -
[3:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   36000c2953b9e74e067960935e533983b
[3:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb   36000c29fadec108919cb6404c724caa8
[3:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc   36000c2910c4a8d470de853bc6d51939f
SHELL
[root@rac2 admin]# fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 15 GiB, 16106127360 bytes, 31457280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes




Disk /dev/sdd: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x775753eb

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sdd1  *       2048   1026047   1024000  500M 83 Linux
/dev/sdd2       1026048 209715199 208689152 99.5G 8e Linux LVM


Disk /dev/mapper/ol-root: 91.5 GiB, 98255765504 bytes, 191905792 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/ol-swap: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
SHELL
(SSORAC2)[root@rac2 ~]$ lsblk -o NAME,SIZE,TYPE,FSTYPE,UUID,WWN,SERIAL
NAME  SIZE TYPE FSTYPE UUID                                   WWN                                SERIAL
sda    10G disk                                               0x6000c29fadec108919cb6404c724caa8 6000c2
└─sda1
       10G part oracle                                        0x6000c29fadec108919cb6404c724caa8
sdb    20G disk                                               0x6000c2953b9e74e067960935e533983b 6000c2
└─sdb1
       20G part oracle                                        0x6000c2953b9e74e067960935e533983b
sdc    15G disk                                               0x6000c2910c4a8d470de853bc6d51939f 6000c2
└─sdc1
       15G part oracle                                        0x6000c2910c4a8d470de853bc6d51939f
sdd   100G disk
├─sdd1
│     500M part xfs    f0b0428e-dbba-47fa-af8a-934c6bcbe22a
└─sdd2
     99.5G part LVM2_m VB6YXz-BVnE-dt1h-CuXP-ywAN-lVvt-mhKUBJ
  ├─ol-root
  │  91.5G lvm  xfs    0c07e9ed-62ee-4952-a48c-8759e31f0858
  └─ol-swap
        8G lvm  swap   90d56547-a50d-41b9-87a4-50d66d97a632
sr0  1024M rom                                                                                   000000
(SSORAC2)[root@rac2 ~]$ blkid
/dev/sdd1: UUID="f0b0428e-dbba-47fa-af8a-934c6bcbe22a" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="775753eb-01"
/dev/sdd2: UUID="VB6YXz-BVnE-dt1h-CuXP-ywAN-lVvt-mhKUBJ" TYPE="LVM2_member" PARTUUID="775753eb-02"
/dev/mapper/ol-root: UUID="0c07e9ed-62ee-4952-a48c-8759e31f0858" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/ol-swap: UUID="90d56547-a50d-41b9-87a4-50d66d97a632" TYPE="swap"
/dev/sda1: LABEL="OCR" TYPE="oracleasm" PARTUUID="9d7dc692-01"
/dev/sdc1: LABEL="RECO" TYPE="oracleasm" PARTUUID="de181971-01"
/dev/sdb1: LABEL="DATA" TYPE="oracleasm" PARTUUID="bdd44a47-01"
(SSORAC2)[root@rac2 ~]$ lsscsi -i
[0:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR00 1.00  /dev/sr0   -
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   36000c29fadec108919cb6404c724caa8
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb   36000c2953b9e74e067960935e533983b
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc   36000c2910c4a8d470de853bc6d51939f
[3:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sdd   -

공유 ASM 디스크 파티셔닝 - RAC1에서만 실행

공유 VMDK의 파티션 테이블은 RAC1 한 곳에서만 생성, RAC2에서는 동일 공유 디스크를 다시 파티셔닝하지 않고 재스캔

이미 파티션이 존재하면 fdisk 생략하고, partprobe, udevadm settle 진행

SHELL
# rac1
fdisk /dev/<WWID로 확인한 OCR 디스크>
fdisk /dev/<WWID로 확인한 DATA 디스크>
fdisk /dev/<WWID로 확인한 RECO 디스크>

partprobe
udevadm settle
SHELL
# rac2
partprobe
udevadm settle
lsblk -o NAME,SIZE,FSTYPE,WWN,SERIAL

.bash_profile 설정 (grid/oracle user)

-grid

SHELL
#============================================================
# Oracle Grid Infrastructure 19c Environment
# Installation owner: grid
#============================================================

umask 022

export TMP=/tmp
export TMPDIR=/tmp

# Grid Infrastructure Base
export ORACLE_BASE=/u01/app/grid

# Grid Infrastructure Home
export ORACLE_HOME=/u01/app/19.0.0/grid

# 공통 OS PATH
export BASE_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$HOME/bin

# Grid 실행 파일 및 OPatch 경로
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH

# Grid Home 라이브러리 경로
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

# Grid 설치 완료 후 ASM 인스턴스가 생성되면 사용
case "$(hostname -s)" in
    rac1)
        export ORACLE_SID=+ASM1
        ;;
    rac2)
        export ORACLE_SID=+ASM2
        ;;
    *)
        echo "WARNING: 알 수 없는 호스트명: $(hostname -s)"
        unset ORACLE_SID
        ;;
esac

# 프롬프트에 현재 SID 표시
export PS1="(${ORACLE_SID:-GRID})[\u@\h \w]\$ "

# ASM 접속 단축 명령
alias sa='sqlplus / as sysasm'
SHELL
[grid@rac1 ~]$ vi ~/.bash_profile

[grid@rac1 ~]$ source ~/.bash_profile

(+ASM1)[grid@rac1 ~]$ echo "$ORACLE_BASE"
/u01/app/grid
(+ASM1)[grid@rac1 ~]$ echo "$ORACLE_HOME"
/u01/app/19.0.0/grid
(+ASM1)[grid@rac1 ~]$ echo "$ORACLE_SID"
+ASM1

-oracle

SHELL
#============================================================
# Oracle Database 19c Environment
# Installation owner: oracle
#============================================================

umask 022

export TMP=/tmp
export TMPDIR=/tmp

# Oracle Database Base
export ORACLE_BASE=/u01/app/oracle

# Oracle Database Home
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1

# 공통 OS PATH
export BASE_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$HOME/bin

# Database 실행 파일 및 OPatch 경로
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH

# Database Home 라이브러리 경로
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

# Database 생성 완료 후 실제 인스턴스명에 맞게 사용
case "$(hostname -s)" in
    rac1)
        export ORACLE_SID=SSORAC1
        ;;
    rac2)
        export ORACLE_SID=SSORAC2
        ;;
    *)
        echo "WARNING: 알 수 없는 호스트명: $(hostname -s)"
        unset ORACLE_SID
        ;;
esac

# 프롬프트에 현재 SID 표시
export PS1="(${ORACLE_SID:-DB})[\u@\h \w]\$ "

# Database 접속 단축 명령
alias ss='sqlplus / as sysdba'
SHELL
[oracle@rac2 ~]$ vi ~/.bash_profile
[oracle@rac2 ~]$ source ~/.bash_profile
(SSORAC2)[oracle@rac2 ~]$ echo "$ORACLE_BASE"
/u01/app/oracle
(SSORAC2)[oracle@rac2 ~]$ echo "$ORACLE_HOME"
/u01/app/oracle/product/19.0.0/dbhome_1
(SSORAC2)[oracle@rac2 ~]$ echo "$ORACLE_SID"

디렉터리 및 권한 설정 (root에서 한 번에)

SHELL
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u01/app/oraInventory

chown -R grid:dba /u01/app/19.0.0/grid
chown -R grid:dba /u01/app/grid
chown -R oracle:dba /u01/app/oracle
chown -R grid:dba /u01/app/oraInventory

chmod -R 775 /u01/app

oracleasm configure

SHELL
(SSORAC1)[root@rac1 ~]$ 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]: grid
Default group to own the driver interface [dba]: asmadmin
Start Oracle ASM library driver on boot (y/n) [y]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
SHELL
(SSORAC2)[root@rac2 ~]$ 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]: grid
Default group to own the driver interface [dba]: asmadmin
Start Oracle ASM library driver on boot (y/n) [y]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

ASMLib 디스크 생성

→ rac2에는 생성하지 않음

SHELL
oracleasm createdisk OCR  /dev/sdb1
oracleasm createdisk DATA /dev/sdc1
oracleasm createdisk RECO /dev/sdd1

(SSORAC1)[root@rac1 ~]$ oracleasm listdisks
DATA
OCR
RECO
SHELL
[root@rac1 ~]# oracleasm querydisk -p OCR
Disk "OCR" is a valid ASM disk
/dev/sdb1: LABEL="OCR" TYPE="oracleasm" PARTUUID="9d7dc692-01"
[root@rac1 ~]# oracleasm querydisk -p DATA
Disk "DATA" is a valid ASM disk
/dev/sda1: LABEL="DATA" TYPE="oracleasm" PARTUUID="bdd44a47-01"
[root@rac1 ~]# oracleasm querydisk -p RECO
Disk "RECO" is a valid ASM disk
/dev/sdc1: LABEL="RECO" TYPE="oracleasm" PARTUUID="de181971-01"
SHELL
[root@rac2 ~]# partprobe
[root@rac2 ~]# udevadm settle

[root@rac2 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Cleaning disk "DATA"
Cleaning disk "OCR"
Scanning system for ASM disks...
Instantiating disk "OCR"
Instantiating disk "DATA"
[root@rac2 ~]# oracleasm listdisks
DATA
OCR
RECO

[root@rac2 ~]# oracleasm querydisk -p OCR
Disk "OCR" is a valid ASM disk
/dev/sda1: LABEL="OCR" TYPE="oracleasm" PARTUUID="9d7dc692-01"
[root@rac2 ~]# oracleasm querydisk -p DATA
Disk "DATA" is a valid ASM disk
/dev/sdb1: LABEL="DATA" TYPE="oracleasm" PARTUUID="bdd44a47-01"
[root@rac2 ~]# oracleasm querydisk -p RECO
Disk "RECO" is a valid ASM disk
/dev/sdc1: LABEL="RECO" TYPE="oracleasm" PARTUUID="de181971-01"

[root@rac2 ~]# blkid /dev/sda1 /dev/sdb1 /dev/sdc1
/dev/sda1: LABEL="OCR" TYPE="oracleasm" PARTUUID="9d7dc692-01"
/dev/sdb1: LABEL="DATA" TYPE="oracleasm" PARTUUID="bdd44a47-01"
/dev/sdc1: LABEL="RECO" TYPE="oracleasm" PARTUUID="de181971-01"

→ /dev/sdX 장치명은 노드별로 달라질 수 있음

→ 동일한 공유 디스크인지는 장치 경로가 아니라 WWID로 판단한다. RAC1과 RAC2에서 OCR, DATA, RECO의 WWID가 각각 일치하므로 동일한 공유 VMDK를 정상적으로 인식

COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

04
8분 읽기

3. 설치 전 최종 검증

이 글의 노션 원문 ↗
SHELL
vi /root/grid_precheck.sh
chmod 750 /root/grid_precheck.sh
chown root:root /root/grid_precheck.sh
bash -n /root/grid_precheck.sh
/root/grid_precheck.sh
SHELL
#!/bin/bash
#
# Oracle Grid Infrastructure 19c Preinstallation Check
# 실행 사용자: root
# 실행 위치: RAC1, RAC2 각각
#

set -u

HOST="$(hostname -s)"
NOW="$(date '+%Y%m%d_%H%M%S')"
LOG="/tmp/grid_precheck_${HOST}_${NOW}.log"

exec > >(tee -a "$LOG") 2>&1

PASS=0
FAIL=0

title()
{
    echo
    echo "================================================================"
    echo "$1"
    echo "================================================================"
}

run()
{
    local description="$1"
    shift

    echo
    echo "[CHECK] ${description}"
    echo "[COMMAND] $*"

    "$@"
    local rc=$?

    if [ "$rc" -eq 0 ]; then
        echo "[RESULT] OK"
        PASS=$((PASS + 1))
    else
        echo "[RESULT] WARNING 또는 확인 필요 (rc=${rc})"
        FAIL=$((FAIL + 1))
    fi

    return 0
}

title "Oracle Grid Infrastructure 19c 설치 전 검사"
echo "검사 노드 : ${HOST}"
echo "검사 시간 : $(date)"
echo "로그 파일 : ${LOG}"

if [ "$(id -u)" -ne 0 ]; then
    echo "[ERROR] root 사용자로 실행해야 합니다."
    exit 1
fi


title "1. OS, 호스트명 및 시간"

run "Short hostname" hostname -s
run "FQDN 확인" hostname -f
run "시스템 아키텍처 확인" uname -m
run "커널 버전 확인" uname -r
run "Oracle Linux 버전 확인" cat /etc/oracle-release
run "시간 및 NTP 상태" timedatectl
run "chronyd 자동 시작 여부" systemctl is-enabled chronyd
run "chronyd 실행 여부" systemctl is-active chronyd
run "chrony 동기화 소스" chronyc sources -v
run "chrony 동기화 상세" chronyc tracking


title "2. 메모리, swap 및 파일시스템"

run "물리 메모리 확인" grep MemTotal /proc/meminfo
run "swap 크기 확인" grep SwapTotal /proc/meminfo
run "메모리 사용량 확인" free -h
run "/tmp, /dev/shm, /u01 공간 확인" df -h /tmp /dev/shm /u01
run "/dev/shm 마운트 확인" findmnt /dev/shm


title "3. Oracle 설치 사용자 및 그룹"

run "grid 사용자 확인" id grid
run "oracle 사용자 확인" id oracle

for group_name in dba
do
    run "${group_name} 그룹 확인" getent group "$group_name"
done

run "grid UID/GID 확인" getent passwd grid
run "oracle UID/GID 확인" getent passwd oracle


title "4. 사용자 자원 제한"

run "grid 사용자 ulimit" su - grid -c 'ulimit -a'
run "oracle 사용자 ulimit" su - oracle -c 'ulimit -a'

echo
echo "[INFO] limits 설정 파일"
grep -R -E '^[[:space:]]*(grid|oracle)[[:space:]]' \
    /etc/security/limits.conf \
    /etc/security/limits.d 2>/dev/null || \
    echo "[WARNING] grid/oracle limits 설정을 찾지 못했습니다."


title "5. 패키지 및 보안 상태"

run "19c preinstall RPM 확인" rpm -q oracle-database-preinstall-19c
run "oracleasm-support 확인" rpm -q oracleasm-support
run "kmod-oracleasm 확인" rpm -q kmod-oracleasm
run "SELinux 상태 확인" getenforce
run "firewalld 상태 확인" systemctl is-active firewalld


title "6. 네트워크 인터페이스 및 이름 해석"

run "NetworkManager 장치 상태" nmcli device status
run "NetworkManager 연결 프로파일" nmcli connection show
run "NIC 및 IP 확인" ip -br addr
run "라우팅 테이블 확인" ip route

run "Public hostname 이름 해석" getent hosts rac1 rac2
run "VIP hostname 이름 해석" getent hosts rac1-vip rac2-vip
run "SCAN IPv4 이름 해석" getent ahostsv4 rac-scan


title "7. 노드 통신 검사"

run "rac1 Public 통신" ping -c 3 -W 2 rac1
run "rac2 Public 통신" ping -c 3 -W 2 rac2

run "rac1 Private 통신" ping -c 3 -W 2 192.168.200.11
run "rac2 Private 통신" ping -c 3 -W 2 192.168.200.12


title "8. grid 사용자 무암호 SSH"

run "grid -> rac1 SSH" \
    su - grid -c 'ssh -o BatchMode=yes -o ConnectTimeout=5 rac1 hostname'

run "grid -> rac2 SSH" \
    su - grid -c 'ssh -o BatchMode=yes -o ConnectTimeout=5 rac2 hostname'

run "grid -> rac1 시간 확인" \
    su - grid -c 'ssh -o BatchMode=yes -o ConnectTimeout=5 rac1 date'

run "grid -> rac2 시간 확인" \
    su - grid -c 'ssh -o BatchMode=yes -o ConnectTimeout=5 rac2 date'


title "9. 공유 ASM 디스크"

run "블록 장치 및 WWID 확인" \
    lsblk -o NAME,SIZE,TYPE,FSTYPE,UUID,WWN,SERIAL

run "SCSI 장치 및 WWID 확인" lsscsi -i
run "ASMLib 디스크 목록" oracleasm listdisks
run "OCR 디스크 확인" oracleasm querydisk -p OCR
run "DATA 디스크 확인" oracleasm querydisk -p DATA
run "RECO 디스크 확인" oracleasm querydisk -p RECO


title "10. Grid 및 Inventory 디렉터리"

run "/u01/app 권한 확인" ls -ld /u01/app
run "Grid Base 권한 확인" ls -ld /u01/app/grid
run "Grid Home 권한 확인" ls -ld /u01/app/19.0.0/grid
run "oraInventory 권한 확인" ls -ld /u01/app/oraInven
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

05
3분 읽기

3.1 grid 사용자 무암호 SSH 구성

Grid 설치 프로그램은 RAC1에서 RAC2로 설치 파일과 설정을 전달하므로, grid 사용자가 양쪽 노드에 비밀번호 없이 접속할 수 있어야 함

이 글의 노션 원문 ↗

Grid 설치 프로그램은 RAC1에서 RAC2로 설치 파일과 설정을 전달하므로, grid 사용자가 양쪽 노드에 비밀번호 없이 접속할 수 있어야 함

RAC1에서 grid 사용자로

SHELL
su - grid

mkdir -p ~/.ssh
chmod 700 ~/.ssh

# 기존 키가 없다면 생성
test -f ~/.ssh/id_rsa || ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa

ssh-copy-id grid@rac1
ssh-copy-id grid@rac2

ssh rac1 hostname
ssh rac2 hostname

RAC2에서 grid 사용자로

SHELL
su - grid

mkdir -p ~/.ssh
chmod 700 ~/.ssh

test -f ~/.ssh/id_rsa || ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa

ssh-copy-id grid@rac1
ssh-copy-id grid@rac2

ssh rac1 hostname
ssh rac2 hostname

권한 정리

SHELL
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/known_hosts 2>/dev/null || true
CODE
# RAC1, RAC2에서 각각 grid 사용자로 실행
ssh -o BatchMode=yes rac1 hostname
ssh -o BatchMode=yes rac2 hostname

→ 비번이나 YES/NO 질문 없이 호스트명이 출력되어야 함

SHELL
경로 : cd $GRID_HOME/oui/prov/resources/scripts
포맷 : ./sshUserSetup.sh -user 유저이름 -hosts "1번노드호스트네임 2번노드호스트네임" -noPromptPassphrase -advanced

예시)
./sshUserSetup.sh -user grid -hosts "rac1 rac2" -noPromptPassphrase -advanced
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -advanced
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

06
4분 읽기

4. Grid 설치

설치 이미지 압축 해제

이 글의 노션 원문 ↗

설치 이미지 압축 해제

RAC1에서만 준비하고, ZIP 파일은 GRID HOME에 직접 압축 해제

SHELL
[root@rac1 ~]# chown -R grid:dba /u01/app/19.0.0/grid
[root@rac1 ~]# chmod 775 /u01/app/19.0.0/grid
[root@rac1 ~]# su - grid
(+ASM1)[grid@rac1 ~]$ cd /u01/app/19.0.0/grid
(+ASM1)[grid@rac1 /u01/app/19.0.0/grid]$ unzip -q /home/grid/LINUX.X64_193000_grid_home.zip

grid 설치 사전 검사

SHELL
# ============================================================
# Grid Infrastructure 설치 사전 검사
# RAC1에서 grid 사용자로 실행
# ============================================================

su - grid
cd /u01/app/19.0.0/grid


# 1. 노드 이름 해석과 도달성
./runcluvfy.sh comp nodereach \
  -n rac1,rac2 \
  -verbose


# 2. Public/Private 네트워크 연결성
./runcluvfy.sh comp nodecon \
  -n rac1,rac2 \
  -verbose


# 3. Grid Infrastructure 전체 설치 전 검사
./runcluvfy.sh stage -pre crsinst \
  -n rac1,rac2 \
  -verbose

‣

‣

SHELL
(+ASM1)[grid@rac1 /u01/app/19.0.0/grid]$ ./runcluvfy.sh comp nodereach \
>   -n rac1,rac2 \
>   -verbose

Verification of node reachability was unsuccessful on all the specified nodes.

CVU operation performed:      node reachability
Date:                         Jul 23, 2026 5:29:17 PM
CVU home:                     /u01/app/19.0.0/grid/
User:                         grid
SHELL
(+ASM1)[grid@rac1 /u01/app/19.0.0/grid]$ ./runcluvfy.sh comp nodecon \
>   -n rac1,rac2 \
>   -verbose

Verification of node connectivity was successful.

CVU operation performed:      node connectivity
Date:                         Jul 23, 2026 5:30:46 PM
CVU home:                     /u01/app/19.0.0/grid/
User:                         grid
SHELL
(+ASM1)[grid@rac1 /u01/app/19.0.0/grid]$ ./runcluvfy.sh comp clocksync \
>   -n rac1,rac2 \
>   -verbose

PRVG-1016 : The Oracle Clusterware configuration check is not valid in an environment in which Oracle Clusterware is not configured

Verification of Clock Synchronization across the cluster nodes was unsuccessful.
Checks did not pass for the following nodes:
        rac1

CVU operation performed:      Clock Synchronization across the cluster nodes
Date:                         Jul 23, 2026 5:29:58 PM
CVU home:                     /u01/app/19.0.0/grid/
User:                         grid
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

07
8분 읽기

4.1 설치 프로그램 실행

‣

이 글의 노션 원문 ↗
SHELL
```bash
[root@rac1 grid]# cd cv/rpm
[root@rac1 rpm]# ll
total 12
-rw-r--r--. 1 grid oinstall 11412 Mar 13  2019 cvuqdisk-1.0.10-1.rpm
[root@rac1 rpm]# rpm -Uvh cvuqdisk-1.0.10-1.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:cvuqdisk-1.0.10-1                ################################# [100%]
[root@rac1 rpm]# scp cvuqdisk-1.0.10-1.rpm rac2:/tmp
The authenticity of host 'rac2 (10.10.10.12)' can't be established.
ECDSA key fingerprint is SHA256:i+XM2KVwSzdqBcdY4ol3ExhJoYqf5Ep2++n/emC0DJE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'rac2,10.10.10.12' (ECDSA) to the list of known hosts.
root@rac2's password:
cvuqdisk-1.0.10-1.rpm                                                                                                                                100%   11KB  10.6MB/s   00:00
[root@rac1 rpm]# /tmp/GridSetupActions2026-07-24_10-39-40AM/CVU_19.0.0.0.0_grid/runfixup.sh
All Fix-up operations were completed successfully.

```

```bash
(+ASM2)[grid@rac2 /dev/disk/by-label]$ su -
Password:
[root@rac2 ~]# cd /tmp
[root@rac2 tmp]# ll
total 76
-rw-r--r--. 1 root  root      1559 Jul 20 13:50 anaconda.log
drwxr-x---. 3 grid  oinstall  4096 Jul 23 17:31 CVU_19.0.0.0.0_grid
-rw-r--r--. 1 root  root     11412 Jul 24 11:12 cvuqdisk-1.0.10-1.rpm
-rw-r--r--. 1 root  root      2286 Jul 20 13:14 dbus.log
-rw-r--r--. 1 root  root         0 Jul 20 13:14 dnf.librepo.log
-rw-r--r--. 1 root  root     18582 Jul 24 09:24 grid_precheck_rac2_20260724_092356.log
-rw-r--r--. 1 root  root     18484 Jul 24 09:41 grid_precheck_rac2_20260724_094049.log
drwxr-xr-x. 3 grid  oinstall    33 Jul 24 10:07 GridSetupActions2026-07-24_09-53-00AM
drwxr-xr-x. 3 grid  oinstall    33 Jul 24 10:40 GridSetupActions2026-07-24_10-39-40AM
drwxr-xr-x. 2 root  root        19 Jul 20 13:03 hsperfdata_root
-rwx------. 1 root  root       701 Jul 20 13:12 ks-script-epqs1815
-rwx------. 1 root  root       291 Jul 20 13:12 ks-script-miksjvx3
-rw-r--r--. 1 root  root         0 Jul 20 13:14 packaging.log
-rw-r--r--. 1 root  root       131 Jul 20 13:14 program.log
-rw-r--r--. 1 root  root         0 Jul 20 13:14 sensitive-info.log
drwx------. 3 root  root        17 Jul 23 10:20 systemd-private-62c8fc491f314e21a54d7b24679921be-chronyd.service-OgSUZh
drwx------. 3 root  root        17 Jul 21 10:25 systemd-private-62c8fc491f314e21a54d7b24679921be-colord.service-Zar4fj
drwx------. 3 root  root        17 Jul 21 10:25 systemd-private-62c8fc491f314e21a54d7b24679921be-ModemManager.service-PQuBng
drwx------. 3 root  root        17 Jul 21 10:25 systemd-private-62c8fc491f314e21a54d7b24679921be-rtkit-daemon.service-trHyHg
drwx------. 2 admin admin        6 Jul 20 14:41 tracker-extract-files.1000
drwx------. 2 root  root         6 Jul 20 15:45 vmware-root_853-4022308820
drwx------. 2 root  root         6 Jul 20 14:33 vmware-root_862-2731217798
drwx------. 2 root  root         6 Jul 20 15:05 vmware-root_865-3980167289
drwx------. 2 root  root         6 Jul 20 14:57 vmware-root_867-3988621819
drwx------. 2 root  root         6 Jul 21 10:25 vmware-root_931-3988621659
drwx------. 2 root  root         6 Jul 20 13:14 vmware-root_947-4021653323
[root@rac2 tmp]# rpm -Uvh cvuqdisk-1.0.10-1.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Using default group oinstall to install package
Updating / installing...
   1:cvuqdisk-1.0.10-1                ################################# [100%]
[root@rac2 tmp]# /tmp/GridSetupActions2026-07-24_10-39-40AM/CVU_19.0.0.0.0_grid/runfixup.sh
All Fix-up operations were completed successfully.

```
SHELL
# root
chown -R grid:dba /u01/app/19.0.0/grid

chown grid:dba /u01/app/grid
chown -R grid:dba /u01/app/oraInventory

chmod 755 /u01
chmod 755 /u01/app
chmod 755 /u01/app/19.0.0
chmod 775 /u01/app/19.0.0/grid
chmod 775 /u01/app/grid
chmod 775 /u01/app/oraInventory
SHELL
[admin@rac1 ~]$ su - grid
Password:

(+ASM1)[grid@rac1 ~]$ su -

# oracle linux 8 os 호환성 문제 때문에 아래 변수 설정
(+ASM1)[grid@rac1 /u01/app/19.0.0/grid]$ export CV_ASSUME_DISTID=RHEL7.6
(+ASM1)[grid@rac1 /u01/app/19.0.0/grid]$ ./gridSetup.sh

‣

COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

08
8분 읽기

4.3 Grid 설치 완료 확인

이 글의 노션 원문 ↗
SHELL
[admin@rac1 ~]$ su - grid
Password:

(+ASM1)[grid@rac1 ~]$ crsctl check cluster -all
**************************************************************
rac1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
rac2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************

(+ASM1)[grid@rac1 ~]$ 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
      3        OFFLINE OFFLINE                               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.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     Started,STABLE
      2        ONLINE  ONLINE       rac2                     Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rac1                     STABLE
ora.qosmserver
      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
--------------------------------------------------------------------------------

(+ASM1)[grid@rac1 ~]$ olsnodes -n -s -t
rac1    1       Active  Unpinned
rac2    2       Active  Unpinned

(+ASM1)[grid@rac1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node rac2
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node rac1
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node rac1

(+ASM1)[grid@rac1 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

09
3분 읽기

4.4 DATA, RECO 디스크 그룹 생성

현재 OCR 디스크 그룹만 생성

이 글의 노션 원문 ↗

현재 OCR 디스크 그룹만 생성

SHELL
(+ASM1)[grid@rac1 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     10236     9876                0            9876              0             Y  OCR/
SHELL
(+ASM1)[grid@rac1 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     20476    20344                0           20344              0             N  DATA/
MOUNTED  EXTERN  N         512             512   4096  4194304     10236     9876                0            9876              0             Y  OCR/
MOUNTED  EXTERN  N         512             512   4096  4194304     15356    15224                0           15224              0             N  RECO/
SHELL
(+ASM1)[grid@rac1 ~]$ srvctl status diskgroup -diskgroup DATA
Disk Group DATA is running on rac1,rac2

(+ASM1)[grid@rac1 ~]$ srvctl status diskgroup -diskgroup RECO
Disk Group RECO is running on rac1,rac2
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

10
2분 읽기

5. DB 설치

DB HOME 확인

이 글의 노션 원문 ↗

DB HOME 확인

SHELL
(SSORAC1)[oracle@rac1 ~]$ ls -ld \
>   /u01/app/oracle \
>   /u01/app/oracle/product/19.0.0 \
>   /u01/app/oracle/product/19.0.0/dbhome_1
drwxrwxr-x 4 oracle dba 33 Jul 24 17:10 /u01/app/oracle
drwxrwxr-x 3 oracle dba 22 Jul 24 16:13 /u01/app/oracle/product/19.0.0
drwxrwxr-x 2 oracle dba  6 Jul 24 16:13 /u01/app/oracle/product/19.0.0/dbhome_1
SHELL
(SSORAC1)[oracle@rac1 ~]$ echo "$ORACLE_BASE"
/u01/app/oracle
(SSORAC1)[oracle@rac1 ~]$ echo "$ORACLE_HOME"
/u01/app/oracle/product/19.0.0/dbhome_1
(SSORAC1)[oracle@rac1 ~]$ echo "$ORACLE_SID"
SSORAC1
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

11
9분 읽기

5.1 oracle 사용자 무암호 SSH 구성

DB 설치 프로그램도 rac1에서 rac2로 sw 복사하므로 oracle 사용자도 노드 간 무암호 SSH가 필요

이 글의 노션 원문 ↗

DB 설치 프로그램도 rac1에서 rac2로 sw 복사하므로 oracle 사용자도 노드 간 무암호 SSH가 필요

SHELL
(SSORAC1)[oracle@rac1 ~]$ mkdir -p ~/.ssh
(SSORAC1)[oracle@rac1 ~]$ chmod 700 ~/.ssh

(SSORAC1)[oracle@rac1 ~]$ test -f ~/.ssh/id_rsa || \
>   ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa
Generating public/private rsa key pair.

Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:kxQ7MVHvpAowkouir39IH+9JfkbCjM2CoXFFDB6p9Ug oracle@rac1
The key's randomart image is:
+---[RSA 4096]----+
|  o=.   =o.      |
| .Eoo    = .     |
| +++o   +   o    |
|o.+o.o . o +     |
|o+.o *. S . .    |
|+ o + *..o       |
|.. o +.o.        |
| .. oo..o        |
|.oo. .+o         |
+----[SHA256]-----+


(SSORAC1)[oracle@rac1 ~]$ ssh-copy-id oracle@rac1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/oracle/.ssh/id_rsa.pub"
The authenticity of host 'rac1 (10.10.10.11)' can't be established.
ECDSA key fingerprint is SHA256:i+XM2KVwSzdqBcdY4ol3ExhJoYqf5Ep2++n/emC0DJE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
oracle@rac1's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@rac1'"
and check to make sure that only the key(s) you wanted were added.
SHELL
(SSORAC1)[oracle@rac1 ~]$ ssh-copy-id oracle@rac2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/oracle/.ssh/id_rsa.pub"
The authenticity of host 'rac2 (10.10.10.12)' can't be established.
ECDSA key fingerprint is SHA256:i+XM2KVwSzdqBcdY4ol3ExhJoYqf5Ep2++n/emC0DJE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
oracle@rac2's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@rac2'"
and check to make sure that only the key(s) you wanted were added.

(SSORAC1)[oracle@rac1 ~]$ ssh -o BatchMode=yes rac2 hostname
rac2
SHELL
[admin@rac2 ~]$ su - oracle
Password:
(SSORAC2)[oracle@rac2 ~]$ mkdir -p ~/.ssh
(SSORAC2)[oracle@rac2 ~]$ chmod 700 ~/.ssh

(SSORAC2)[oracle@rac2 ~]$ test -f ~/.ssh/id_rsa || \
>   ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa
Generating public/private rsa key pair.

Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Q8SjTdUE0a34OZCoF6nsDgwIPGO07QtyNTnhKaDoMFI oracle@rac2
The key's randomart image is:
+---[RSA 4096]----+
|..E .  ...+*..   |
|=oo. + .+   o .  |
|B*..B  +.+ o .   |
|*o+o o..= + .    |
|ooo. . oS. o .   |
|...o. + ..  +    |
|   .o. .     .   |
|     ..          |
|     ..          |
+----[SHA256]-----+

(SSORAC2)[oracle@rac2 ~]$ ssh-copy-id oracle@rac1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/oracle/.ssh/id_rsa.pub"
The authenticity of host 'rac1 (10.10.10.11)' can't be established.
ECDSA key fingerprint is SHA256:i+XM2KVwSzdqBcdY4ol3ExhJoYqf5Ep2++n/emC0DJE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
oracle@rac1's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@rac1'"
and check to make sure that only the key(s) you wanted were added.
SHELL
(SSORAC2)[oracle@rac2 ~]$ ssh -o BatchMode=yes rac2 hostname
oracle@rac2: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
(SSORAC2)[oracle@rac2 ~]$ ssh-copy-id oracle@rac2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/oracle/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
oracle@rac2's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@rac2'"
and check to make sure that only the key(s) you wanted were added.

(SSORAC2)[oracle@rac2 ~]$ ssh -o BatchMode=yes rac2 hostname
rac2
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

12
1분 읽기

5.2 DB 이미지 압축 해제

이 글의 노션 원문 ↗
SHELL
[root@rac1 ~]# chown oracle:dba   /home/oracle/LINUX.X64_193000_db_home.zip
[root@rac1 ~]# su - oracle
(SSORAC1)[oracle@rac1 ~]$ cd /u01/app/oracle/product/19.0.0/dbhome_1
(SSORAC1)[oracle@rac1 /u01/app/oracle/product/19.0.0/dbhome_1]$
(SSORAC1)[oracle@rac1 /u01/app/oracle/product/19.0.0/dbhome_1]$ unzip -q  /home/oracle/LINUX.X64_193000_db_home.zip
SHELL
(SSORAC1)[oracle@rac1 /u01/app/oracle/product/19.0.0/dbhome_1]$ export CV_ASSUME_DISTID=RHEL7.6
(SSORAC1)[oracle@rac1 /u01/app/oracle/product/19.0.0/dbhome_1]$ ./runInstaller
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

14
13분 읽기

5.5 검증

환경변수는 SSORAC1, SSORAC2이지만, DBCA 생성할 때 orcl1, orcl2로 db 생성해서 oracle_sid 수정

이 글의 노션 원문 ↗
SHELL
(SSORAC1)[oracle@rac1 ~]$ srvctl config database -db orcl
Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/ORCL/PARAMETERFILE/spfile.268.1239714935
Password file: +DATA/ORCL/PASSWORD/pwdorcl.256.1239713573
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA,RECO
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: dba
Database instances: orcl1,orcl2
Configured nodes: rac1,rac2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

(SSORAC1)[oracle@rac1 ~]$ srvctl status database -db orcl
Instance orcl1 is running on node rac1
Instance orcl2 is running on node rac2
SHELL
(+ASM1)[grid@rac1 ~]$ 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
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
      3        ONLINE  OFFLINE                               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.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.RECO.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     Started,STABLE
      2        ONLINE  ONLINE       rac2                     Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rac1                     STABLE
      2        ONLINE  ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rac1                     STABLE
ora.orcl.db
      1        ONLINE  ONLINE       rac1                     Open,HOME=/u01/app/o
                                                             racle/product/19.0.0
                                                             /dbhome_1,STABLE
      2        ONLINE  ONLINE       rac2                     Open,HOME=/u01/app/o
                                                             racle/product/19.0.0
                                                             /dbhome_1,STABLE
ora.qosmserver
      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
--------------------------------------------------------------------------------

환경변수는 SSORAC1, SSORAC2이지만, DBCA 생성할 때 orcl1, orcl2로 db 생성해서 oracle_sid 수정

SHELL
(SSORAC1)[oracle@rac1 ~]$ export ORACLE_SID=orcl1
(SSORAC1)[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 27 13:39:32 2026
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SHELL
SET LINES 200
SET PAGES 100

SELECT inst_id,
       instance_name,
       host_name,
       status,
       database_status
FROM gv$instance
ORDER BY inst_id;


   INST_ID INSTANCE_NAME    HOST_NAME                      STATUS       DATABASE_STATUS
---------- ---------------- ------------------------------ ------------ -----------------
         1 orcl1            rac1                           OPEN         ACTIVE
         2 orcl2            rac2                           OPEN         ACTIVE
SHELL
(SSORAC2)[oracle@rac2 ~]$ export ORACLE_SID=orcl2
(SSORAC2)[oracle@rac2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 27 13:39:01 2026
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SHELL
SET LINES 200
SET PAGES 100

SELECT inst_id,
       instance_name,
       host_name,
       status,
       database_status
FROM gv$instance
ORDER BY inst_id;


   INST_ID INSTANCE_NAME    HOST_NAME                      STATUS       DATABASE_STATUS
---------- ---------------- ------------------------------ ------------ -----------------
         1 orcl1            rac1                           OPEN         ACTIVE
         2 orcl2            rac2                           OPEN         ACTIVE
COMMENTS

이 글의 댓글

0

아직 댓글이 없습니다. 이 글에서 얻은 생각이나 질문을 남겨보세요.

3S
나도 공부 기록을 꺼내볼까요?

공개 노션 링크 하나면 목차가 있는 스터디가 됩니다.

내 글 공유하기 →