본문 바로가기

강남 아이티윌 오라클DBA과정 94기/RAC

[오라클 DBA 과정] 85일차 RAC(2)(RAC 설치(2)) (2026-07-21)

RAC 설치(2)

 

[[rac1]]
[oracle@rac1 ~]$ ping -c 3 rac2
[oracle@rac1 ~]$ ping -c 3 rac2-vip
[oracle@rac1 ~]$ ping -c 3 rac2-priv


[[rac2]]
[oracle@rac2 ~]$ ping -c 3 rac1
[oracle@rac2 ~]$ ping -c 3 rac1-vip
[oracle@rac2 ~]$ ping -c 3 rac1-priv

ping했을 때 아무 문제 없으면 마저 설치 가능


cat .bash_profile

export ORACLE_UNQNAME=racdb -- 이 이름은 서로 같아야 함.

cat .grid_env
cat .db_env

양쪽 다 이름 잘 되어있는지 확인하고

su -
init 0

둘 다 서버 끊어버리기. 전원 꺼짐으로 되어있어야 함.

# asm disk 생성(윈도우에서 생성) - cmd창 관리자 권한으로 실행


C:\Windows\System32>cd C:\Program Files\Oracle\VirtualBox


VBoxManage.exe createhd --filename C:\rac\asm1.vdi --size 5120 --format VDI --variant fixed
VBoxManage.exe createhd --filename C:\rac\asm2.vdi --size 5120 --format VDI --variant fixed
VBoxManage.exe createhd --filename C:\rac\asm3.vdi --size 5120 --format VDI --variant fixed
VBoxManage.exe createhd --filename C:\rac\asm4.vdi --size 5120 --format VDI --variant fixed
VBoxManage.exe createhd --filename C:\rac\asm5.vdi --size 5120 --format VDI --variant fixed
VBoxManage.exe createhd --filename C:\rac\asm6.vdi --size 5120 --format VDI --variant fixed

cmd도 마우스 우클릭으로 붙여넣기 가능

(size 5120 --format VDI --variant fixed 여기는 고정. 사이즈 줄여도 됨.)

 

 

아래와 같이 asm VDI(Virtual Disk Image)가 생성되었다.

 

 

여기서도 이미지 만드는 거 가능

cmd창에서 한 것처럼 명령어로 해도 되고 아래처럼 virtual box에서 해도 됨.

 

도구 > 미디어 > 만들기

 

VDI -> 다음

 

미리 전체 크기 할당 체크->다음

 

폴더 지정하고 가상 하드 디스크 크기 아무렇게나 지정하고 완료

 

무조건 공유 가능으로 바꾸기

 

 

* ASM 디스크 추가 작업

rac1, rac2  둘 다 설정 저장소 > SATA >하드디스크 이미지 추가하고 확인

asm1~7 하나씩 더블클릭(순서 상관 없음)

 

사진은 rac1만 넣어놨는데 rac2도 똑같이 하기.

 

 

추가 다 했으면 rac1 서버 시작

putty로 rac1 로그인

ASM 관리는 시스템엔지니어가 함.

 

su - (root유저로 로그인)

 

[root@rac1 ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54331(asmadmin),54332(asmdba),54333(asmoper)
[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  <<-유저 입력
Default group to own the driver interface []: oinstall  <<- os그룹 입력
Start Oracle ASM library driver on boot (y/n) [n]: y <<- y 입력
Scan for Oracle ASM disks on boot (y/n) [y]: <<- 기본값 y 로 되어있으므로 그냥 엔터
Writing Oracle ASM library driver configuration: done
혹시나 여기 잘못 입력했다면 다시 하면 됨.

 

[root@rac1 ~]# 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

 

[root@rac1 ~]# lsblk  -- 현재 구축되어있는 디스크 확인
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdf           8:80   0    5G  0 disk
sdd           8:48   0    5G  0 disk
sdb           8:16   0    5G  0 disk
sr0          11:0    1 1024M  0 rom
sdg           8:96   0    5G  0 disk
sde           8:64   0    5G  0 disk
sdc           8:32   0    5G  0 disk
sda           8:0    0   50G  0 disk  -- 얘네는 일반 디스크
├─sda2        8:2    0   49G  0 part
│ ├─ol-swap 252:1    0  3.9G  0 lvm  [SWAP]
│ └─ol-root 252:0    0 45.1G  0 lvm  /
└─sda1        8:1    0    1G  0 part /boot
sdh           8:112  0    5G  0 disk

 

sdb~sdh는 파티션이 안 되어 있다. 파티션 작업해야 함.

 

# rac1 노드에서만 작업하면 된다.

n -> Enter -> Enter  -> Enter  (-> Enter) -> w

fdisk /dev/sdb부터  fdisk /dev/sdh까지 쭉 진행

 

[root@rac1 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x60db9ae0.

Command (m for help): n  <<- n 입력
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):  <<- Enter key
Using default response p
Partition number (1-4, default 1):   <<- Enter key
First sector (2048-10485759, default 2048):    <<- Enter key
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): w  <<- w 입력(write. 저장)
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

 

[root@rac1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdf           8:80   0    5G  0 disk
sdd           8:48   0    5G  0 disk
sdb           8:16   0    5G  0 disk
└─sdb1        8:17   0    5G  0 part  -- 파티션 됨.
sr0          11:0    1 1024M  0 rom
sdg           8:96   0    5G  0 disk
sde           8:64   0    5G  0 disk
sdc           8:32   0    5G  0 disk
sda           8:0    0   50G  0 disk
├─sda2        8:2    0   49G  0 part
│ ├─ol-swap 252:1    0  3.9G  0 lvm  [SWAP]
│ └─ol-root 252:0    0 45.1G  0 lvm  /
└─sda1        8:1    0    1G  0 part /boot
sdh           8:112  0    5G  0 disk

 

 

[root@rac1 ~]# lsblk  -- sdb~sdh 디스크 파티션 완료된 모습
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdf           8:80   0    5G  0 disk
└─sdf1        8:81   0    5G  0 part
sdd           8:48   0    5G  0 disk
└─sdd1        8:49   0    5G  0 part
sdb           8:16   0    5G  0 disk
└─sdb1        8:17   0    5G  0 part
sr0          11:0    1 1024M  0 rom
sdg           8:96   0    5G  0 disk
└─sdg1        8:97   0    5G  0 part
sde           8:64   0    5G  0 disk
└─sde1        8:65   0    5G  0 part
sdc           8:32   0    5G  0 disk
└─sdc1        8:33   0    5G  0 part
sda           8:0    0   50G  0 disk
├─sda2        8:2    0   49G  0 part
│ ├─ol-swap 252:1    0  3.9G  0 lvm  [SWAP]
│ └─ol-root 252:0    0 45.1G  0 lvm  /
└─sda1        8:1    0    1G  0 part /boot
sdh           8:112  0    5G  0 disk
└─sdh1        8:113  0    5G  0 part

 

 

# asm disk 생성
oracleasm createdisk ASMDISK01 /dev/sdb1;
oracleasm createdisk ASMDISK02 /dev/sdc1;
oracleasm createdisk ASMDISK03 /dev/sdd1;
oracleasm createdisk ASMDISK04 /dev/sde1;
oracleasm createdisk ASMDISK05 /dev/sdf1;
oracleasm createdisk ASMDISK06 /dev/sdg1;
oracleasm createdisk ASMDISK07 /dev/sdh1;

 

* asm disk 스캔

[root@rac1 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...

 

* 내가 만든 asm disk 확인
[root@rac1 ~]# oracleasm listdisks
ASMDISK01
ASMDISK02
ASMDISK03
ASMDISK04
ASMDISK05
ASMDISK06
ASMDISK07

 

 

 

여기까지 됐으면 이 상태에서 rac2 시작하기. putty root유저로 로그인

# rac2 서버 시작

 

[root@rac2 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdf           8:80   0    5G  0 disk
└─sdf1        8:81   0    5G  0 part
sdd           8:48   0    5G  0 disk
└─sdd1        8:49   0    5G  0 part
sdb           8:16   0    5G  0 disk
└─sdb1        8:17   0    5G  0 part
sr0          11:0    1 1024M  0 rom
sdg           8:96   0    5G  0 disk
└─sdg1        8:97   0    5G  0 part
sde           8:64   0    5G  0 disk
└─sde1        8:65   0    5G  0 part
sdc           8:32   0    5G  0 disk
└─sdc1        8:33   0    5G  0 part
sda           8:0    0   50G  0 disk
├─sda2        8:2    0   49G  0 part
│ ├─ol-swap 252:1    0  3.9G  0 lvm  [SWAP]
│ └─ol-root 252:0    0 45.1G  0 lvm  /
└─sda1        8:1    0    1G  0 part /boot
sdh           8:112  0    5G  0 disk
└─sdh1        8:113  0    5G  0 part


[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  <<- 입력
Default group to own the driver interface []: oinstall <<- 입력
Start Oracle ASM library driver on boot (y/n) [n]: y <<- 입력
Scan for Oracle ASM disks on boot (y/n) [y]: <<- Enter key
Writing Oracle ASM library driver configuration: done

 혹시나 여기 잘못 입력했다면 다시 하면 됨.

 

[root@rac2 ~]# 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


[root@rac2 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "ASMDISK02"
Instantiating disk "ASMDISK01"
Instantiating disk "ASMDISK03"
Instantiating disk "ASMDISK06"
Instantiating disk "ASMDISK04"
Instantiating disk "ASMDISK07"
Instantiating disk "ASMDISK05"

 

[root@rac2 ~]# oracleasm listdisks
ASMDISK01
ASMDISK02
ASMDISK03
ASMDISK04
ASMDISK05
ASMDISK06
ASMDISK07

 

asmdisk 공유하는 거기 때문에 여기 다 rac1에서 했던 거 그대로 뜬다.

 

 

# grid s/w rac1 서버에 oracle 유저에게 전송

모바엑스텀으로 가서

rac1 IP주소 입력, 유저이름은 oracle

 

 

 

 

 

 

# 압축 풀기

[oracle@rac1 ~]$ grid_env
[oracle@rac1 ~]$ echo $ORACLE_HOME
/u01/app/19.0.0/grid
[oracle@rac1 ~]$ cat .grid_env
export ORACLE_SID=+ASM1 # +ASM2
export ORACLE_HOME=$GRID_HOME
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
[oracle@rac1 ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
alias grid_env='. ~/.grid_env'
alias db_env='. ~/.db_env'
[oracle@rac1 ~]$ ls
LINUX.X64_193000_grid_home.zip
[oracle@rac1 ~]$ cd $ORACLE_HOME
[oracle@rac1 grid]$ pwd
/u01/app/19.0.0/grid  -- 그리드 홈

이 위치에 zip파일 압축 풀기

 

[oracle@rac1 grid]$ ls ~/LINUX.X64_193000_grid_home.zip
/home/oracle/LINUX.X64_193000_grid_home.zip
[oracle@rac1 grid]$ unzip -q ~/LINUX.X64_193000_grid_home.zip
[oracle@rac1 grid]$ ls
addnode     dbs           has            ldap     ords     racg            sdk       utl
assistants  deinstall     hs             lib      oss      rdbms           slax      welcome.html
bin         demo          install        md       oui      relnotes        sqlpatch  wlm
cha         diagnostics   instantclient  network  owm      rhp             sqlplus   wwg
clone       dmu           inventory      nls      perl     root.sh         srvm      xag
crs         env.ora       javavm         OPatch   plsql    root.sh.old     suptools  xdk
css         evm           jdbc           opmn     precomp  root.sh.old.1   tomcat
cv          gpnp          jdk            oracore  QOpatch  rootupgrade.sh  ucp
dbjava      gridSetup.sh  jlib           ord      qos      runcluvfy.sh    usm

[oracle@rac1 grid]$ cd cv/rpm
[oracle@rac1 rpm]$
[oracle@rac1 rpm]$ ls
cvuqdisk-1.0.10-1.rpm
[oracle@rac1 rpm]$ pwd
/u01/app/19.0.0/grid/cv/rpm

 

# root유저에서 cvuqdisk-1.0.10-1.rpm 설치

[oracle@rac1 rpm]$ su -
Password:
Last login: Tue Jul 21 10:17:07 KST 2026 on pts/0
[root@rac1 ~]# rpm -ivh /u01/app/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
Preparing...                          ################################# [100%]
Using default group oinstall to install package
Updating / installing...
   1:cvuqdisk-1.0.10-1                ################################# [100%]

[root@rac1 ~]# exit
logout
[oracle@rac1 rpm]$ cd
[oracle@rac1 ~]$ pwd
/home/oracle
[oracle@rac1 ~]$ cd $ORACLE_HOME
[oracle@rac1 grid]$ ls
addnode     dbs           has            ldap     ords     racg            sdk       utl
assistants  deinstall     hs             lib      oss      rdbms           slax      welcome.html
bin         demo          install        md       oui      relnotes        sqlpatch  wlm
cha         diagnostics   instantclient  network  owm      rhp             sqlplus   wwg
clone       dmu           inventory      nls      perl     root.sh         srvm      xag
crs         env.ora       javavm         OPatch   plsql    root.sh.old     suptools  xdk
css         evm           jdbc           opmn     precomp  root.sh.old.1   tomcat
cv          gpnp          jdk            oracore  QOpatch  rootupgrade.sh  ucp
dbjava      gridSetup.sh  jlib           ord      qos      runcluvfy.sh    usm

 

# grid s/w(software) install

[oracle@rac1 grid]$ ./gridSetup.sh
Launching Oracle Grid Infrastructure Setup Wizard...

 

 

scan name: rac-scan으로 수정(어제 써놨던 이름)

 

 

현장에서는 노드 수만큼 add 작업해야 함. 우리는 rac1, rac2만 있으니까 rac2만 추가함.

public hostname: rac2

virtual hostname: rac2-vip

 

 

SSH connectivity

OS password 입력 후 setup

성공하면 OK

 

 

위에서부터 차례대로

Do Not Use

Public

ASM&Private

Do Not Use

 

 

Use Oracle Flex ASM for storage 체크

 

Configure Grid ~ => No

 

 

External로 바꾸기

external: 이중화 작업 안 하겠다는 뜻.

 

Change Discovery Path 눌러서 아래와 같이 경로 설정

/dev/oracleasm/disks/*

 

사이즈를 10GB 정도로 하려고 두 개만 체크

 

 

Use same passwords for these accounts

 

Do not use Intelligent ~ 선택

 

 

체크 해제된 상태로 Next

 

 

groupadd했던 그룹 이름 그대로 들어감. 그대로 놔두고 Next

 

 

export ORACLE_BASE=/u01/app/oracle 경로대로 잘 되어있으니 놔두고 Next

경고창 뜨면 yes

 

인벤토리 경로 그대로 놔두고 Next

 

 

Automatically run configuration scripts 체크하고 root유저 비밀번호 입력

 

 

scan은 원래 권장이 3개인데 우리는 어쩔 수 없이 하나만 함.

[root@rac1 ~]# systemctl stop avahi-daemon

[root@rac1 ~]# systemctl disable avahi-daemon

[root@rac2 ~]# systemctl stop avahi-daemon

[root@rac2 ~]# systemctl disable avahi-daemon

이거 했어야 했는데. 방화벽 내릴 때 같이 하는 게 나음. root유저에서.

putty창 rac1, rac2 둘 다 해주기.

 

Ignore all 체크. 현장에서는 지금처럼 failed 뜨면 하단에 있는 more details 봐주기.

경고창 뜨면 yes

 

 

summary에서 install

 

설치하다가 경고창 뜨면 yes.

35%에서 겁나 안 넘어감. 그치만 멈춘 거 아니고 그리드 환경 구성?이 오래 걸림.

 

 

이 실패창은 무시하기. 그냥 OK 누르고 실패된 것들 넘어가기 위해서 우측 하단에 있는 Skip 누르기

 

 

완료

 

 

설치하다가 문제 생겼을 경우 설치했던 잔재를 없애고 다시 해야 함.

# 양쪽 노드에서 작업
rm -rf /etc/oraInst.loc
rm -rf /opt/ORCLfmap
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -Rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
rm -rf /u01

다시 mkdir부터 chown까지 해야 함. 유저 삭제할 필요는 없음.


mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1  
chown -R oracle:oinstall /u01
chmod -R 755 /u01

 

# rac1노드에서
# asm disk 삭제
oracleasm deletedisk ASMDISK01 /dev/sdb1;
oracleasm deletedisk ASMDISK02 /dev/sdc1;

# asm disk 생성
oracleasm createdisk ASMDISK01 /dev/sdb1;
oracleasm createdisk ASMDISK02 /dev/sdc1;

 

그 다음에 grid_home_zip파일 압축 푸는 거부터 다시 하면 됨.

 

 

다 됐으면 rac1 오라클 유저에서(한쪽 노드에서만 보면 됨.)

[root@rac1 ~]# su - oracle
Last login: Tue Jul 21 12:05:04 KST 2026
[oracle@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        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac1                     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       rac1                     STABLE
--------------------------------------------------------------------------------

 

 

# FRA 디스크 그룹 생성

[oracle@rac1 grid]$ cd
[oracle@rac1 ~]$ grid_env
[oracle@rac1 ~]$ echo $ORACLE_SID
+ASM1
[oracle@rac1 ~]$ asmca

 

사이즈 10GB만큼만

 

Exit하고 창 뜨면 yes누르고 나오기

create 눌러서 FRA 생성한 것.

 

 

# ORACLE S/W(software) 설치

한 쪽 노드에서만 하면 됨.

 

LINUX.X64_193000_db_home.zip파일을 오라클 유저로 드래그

[oracle@rac1 ~]$ db_env
[oracle@rac1 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/19.0.0/dbhome_1  <<- 이렇게 안 뜨면 SSH 세션 새로 띄워서 하기.
[oracle@rac1 ~]$ echo $ORACLE_SID
racdb1

[oracle@rac1 ~]$ ls
LINUX.X64_193000_db_home.zip  LINUX.X64_193000_grid_home.zip
[oracle@rac1 ~]$ cd $ORACLE_HOME
[oracle@rac1 dbhome_1]$ pwd
/u01/app/oracle/product/19.0.0/dbhome_1
[oracle@rac1 dbhome_1]$ ls
[oracle@rac1 dbhome_1]$ unzip -q ~/LINUX.X64_193000_db_home.zip

[oracle@rac1 dbhome_1]$ ls
addnode     css     deinstall    env.ora        javavm  md       OPatch   oui      R            root.sh.old.1  sqlj      usm
apex        ctx     demo         has            jdbc    mgw      opmn     owm      racg         runInstaller   sqlpatch  utl
assistants  cv      diagnostics  hs             jdk     network  oracore  perl     rdbms        schagent.conf  sqlplus   wwg
bin         data    dmu          install        jlib    nls      ord      plsql    relnotes     sdk            srvm      xdk
clone       dbjava  drdaas       instantclient  ldap    odbc     ords     precomp  root.sh      slax           suptools
crs         dbs     dv           inventory      lib     olap     oss      QOpatch  root.sh.old  sqldeveloper   ucp
[oracle@rac1 dbhome_1]$ pwd
/u01/app/oracle/product/19.0.0/dbhome_1
[oracle@rac1 dbhome_1]$ ./runInstaller
Launching Oracle Database Setup Wizard...

 

The response file for this session can be found at:
 /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_2026-07-21_02-11-09PM.rsp

You can find the log of this install session at:
 /u01/app/oraInventory/logs/InstallActions2026-07-21_02-11-09PM/installActions2026-07-21_02-11-09PM.log

-- 로그 정보. 어디서 봤는지 물어보는 회사도 있음.

 

 

software만 먼저 설치. DB는 따로 설치할 것.

 

 

 

SSH connectivity 눌러서 OS Password 입력 후 Setup

 

 

 

자동으로 그룹 설정됨. OS에서 그룹 설정 미리 해놨기 때문

 

 

 

warning 뜨는 거 more details 확인하기

 

Summary에서 Install

 

설치중에 경고창 나오면 yes 누르기. 설치 다 되면 Close 누르고 나오기.

 

 

# 데이터베이스 생성

[oracle@rac1 dbhome_1]$ dbca

 

Advanced configuration 체크

 

RAC로 놔두고 General 선택

View details. 기본적으로 생기는 테이블스페이스, 여기 4개 + temp

 

모두 선택

 

이름을 racdb으로 하기. 어제 vi .bash_profile로 설정해놨던 이름ORACLE_UNQNAM)

create as container database 체크 해제.(19c 버전에서는 안 쓴다. 23ai버전부터 씀.)

 

DATA로 선택

 

그대로 놔두고 Next

 

 

flash나 fast 동일. Noarchive mode로 먼저 함.

 

 

보안 부분. 그냥 넘어가기.

 

 

memory, sizing 그대로 둠

 

dedicated server는 유저프로세스와 서버프로세스가 1:1

 

Add sample schemas to the database 체크하고 Next

 

그대로 두고 next

 

Use the same~ 체크하고 비밀번호 입력

 

Create database 체크

 

All Intialization Parameters. show advanced parameters를 누르면 advanced parameter까지 볼 수 있음.

All Intialization Parameters. show advanced parameters를 누르면 advanced parameter까지 볼 수 있음.

 

Custom할 거 있으면 Customize 하면 됨. 우리는 그대로 놔둠.

 

 

우리는 DNS서버를 만들지 않았기 때문에 failed가 뜨는 것. 그냥 Ignore하고 Next.

현장에서는 more details 보는 습관 갖기

 

Summary에서 Finish

 

완료되었다. Close하기.

 

 

root유저에서 실행

# rac1

vi /etc/oratab

+ASM1:/u01/app/19.0.0/grid:Y

racdb:/u01/app/oracle/product/19.0.0/dbhome_1:Y

racdb1:/u01/app/oracle/product/19.0.0/dbhome_1:Y

 

# rac2

vi /etc/oratab

+ASM2:/u01/app/19.0.0/grid:Y

racdb:/u01/app/oracle/product/19.0.0/dbhome_1:Y

racdb2:/u01/app/oracle/product/19.0.0/dbhome_1:Y

 

rac1에서 . oraenv로 racdb1 환경 적용 → rac2에서 . oraenv로 racdb2 환경 적용 → glogin.sql 프롬프트 설정 → 각 노드에서 v$instance로 인스턴스 확인 → RAC 설치 완료

 

 

오라클 유저에서 환경변수 설정

su - oracle

[oracle@rac1 ~]$ . oraenv
ORACLE_SID = [racdb1] ?
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@rac1 ~]$ cd $ORACLE_HOME/sqlplus/admin
[oracle@rac1 admin]$ vi glogin.sql

set sqlprompt "_user'@'_connect_identifier> "

[oracle@rac1 admin]$ sqlplus / as sysdba

SYS@racdb1> select instance_name from v$instance;

INSTANCE_NAME
----------------
racdb1

 

 

[oracle@rac2 ~]$ . oraenv
ORACLE_SID = [racdb2] ?
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@rac2 ~]$ cd $ORACLE_HOME/sqlplus/admin
[oracle@rac2 admin]$ vi glogin.sql

set sqlprompt "_user'@'_connect_identifier> "

[oracle@rac2 admin]$ sqlplus / as sysdba

SYS@racdb2>

SYS@racdb2> select instance_name from v$instance;

INSTANCE_NAME
----------------
racdb2

 

 

다음에 rac1, rac2 끄고 grid1, grid2로 이름을 정해서 설치해보기

 

지금까지 한 것(모든 설치 완료)

1. rac1, rac2 OS 구성

2. Public / Private / VIP / SCAN 네트워크 구성

3. 공유 ASM 디스크 구성

4. Grid Infrastructure 설치

5. ASM 디스크 그룹 DATA, FRA 생성

6. Oracle Database 소프트웨어 설치

7. DBCA로 RAC 데이터베이스 racdb 생성