RAC 설치(1)
네트워크 주소 아래 거로 하기.
vi /etc/hosts
## Public(어댑터 2 - enp0s8)
192.168.56.175 rac1
192.168.56.176 rac2
## Private(어댑터 3 - enp0s9)
192.168.55.175 rac1-priv
192.168.55.176 rac2-priv
## Virtual
192.168.56.177 rac1-vip
192.168.56.178 rac2-vip
## grid scan
192.168.56.179 rac-scan
VM VirtualBox 새로 만들기 클릭
1) 가상 머신 이름과 운영 체제
이름: rac1
폴더: rac
종류: Linux

2) 하드웨어
기본 메모리: 4096MB(4GB)
프로세서: CPU 2개

3) 가상 하드 디스크
디스크 크기: 50.00GB

4) 요약 확인 및 완료

설정
1) 저장소
OracleLinux-R7-U9 이미지

2) 네트워크
어댑터 1: 그대로

어댑터2: 호스트 전용 어댑터(외부에서 접속할 수 있는 IP주소. public망)

어댑터3: 어댑터에 브리지(내부 망(private))

확인 누르고 시작
Install Oracle Linux 7.9로 방향키 이동

언어는 영어 설정
시간대는 아시아/서울
software selection: server with GUI
network&hostname은 아래처럼.
enp0s3,8,9 General은 똑같이 Automatically connect 어쩌고 체크

enp0s8
IPv4 Settings
Address 192,168.56.175
Netmask 255.255.255.0

ens0s9
- General 똑같이 Automatically 체크
- 이거는 주소를 56 대신 55로만 바꿈.(private한 내부 망)

host name: rac1로 설정

KDUMP, SECURITY POLICY 둘 다 꺼버리기. 그 후 install 진행


두 번째 서버(rac2)는 첫 번째 서버 복제해서 따로 설치할 필요 없음.
install 다 되면 reboot
license 동의하고 네트워크 잘 됐는지 다시 한 번 확인해주고 finish configuration

enp0s3, 8, 9는 이름이 이 이름이 아니라 다를 수도 있음.
일반 유저 itwill 말고 root유저로 로그인
그 다음 putty에서 root유저로 접속 (192.168.56.175) -- public한 걸로 접속해야 함.
[root@rac1 ~]# cd /etc/sysconfig/network-scripts/
[root@rac1 network-scripts]# ls
ifcfg-enp0s3 ifdown-eth ifdown-ppp ifup ifup-ipv6 ifup-routes init.ipv6-global
ifcfg-enp0s8 ifdown-ib ifdown-routes ifup-aliases ifup-isdn ifup-sit network-functions
ifcfg-enp0s9 ifdown-ippp ifdown-sit ifup-bnep ifup-plip ifup-Team network-functions-ipv6
ifcfg-lo ifdown-ipv6 ifdown-Team ifup-eth ifup-plusb ifup-TeamPort
ifdown ifdown-isdn ifdown-TeamPort ifup-ib ifup-post ifup-tunnel
ifdown-bnep ifdown-post ifdown-tunnel ifup-ippp ifup-ppp ifup-wireless
[root@rac1 network-scripts]# cat ifcfg-enp0s8
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=27a4abe3-6a85-4576-87c4-cb4621780a95
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.175
PREFIX=24
IPV6_PRIVACY=no
[root@rac1 network-scripts]# service network stop -- 접속 끊어지는 것.
Stopping network (via systemctl):
vm virtualbox terminal 창 열어서
[root@rac1 ~]# service network start
[root@rac1 ~]# ip a ls
다시 putty에서
[root@rac1 ~]# yum -y install oracle-database-preinstall-19c
...
Complete!
# yum 설치 시 오류 발생하는 경우
ps -ef | grep yum
kill -9 프로세스
rm -rf /var/run/yum.pid
[root@rac1 ~]# yum -y install oracleasm-support
...
Complete!
[root@rac1 ~]# yum -y install kmod-oracleasm
...
Complete!
[root@rac1 ~]# yum list *oracleasm*
Loaded plugins: langpacks, ulninfo
Installed Packages
kmod-oracleasm.x86_64 2.0.8-28.0.1.el7 @ol7_latest
oracleasm-support.x86_64 2.1.11-2.el7 @ol7_latest
[root@rac1 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
## Public
192.168.56.175 rac1
192.168.56.176 rac2
## Private
192.168.55.175 rac1-priv
192.168.55.176 rac2-priv
## Virtual
192.168.56.177 rac1-vip
192.168.56.178 rac2-vip
## grid scan
192.168.56.179 rac-scan
이거 ##public부터 붙여넣기
[root@rac1 ~]# vi /etc/security/limits.conf
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728
oracle hard memlock 3145728
# End of file 이거 위에 oracle~~ 이거 붙여넣기(레퍼런스에 있음.)
[root@rac1 ~]# systemctl stop firewalld
[root@rac1 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[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@rac1 ~]# yum -y install ntp -- 시간 동기화(각각의 머신끼리 시간이 다르면 안 됨. 시간을 같게 맞춰줘야 함.)
[root@rac1 ~]# vi /etc/sysconfig/ntpd
기존 OPTIONS="-g"는 앞에 # 달아서 주석 처리 하고
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
SYNC_HWCLOCK=no
NTPDATE_OPTIONS=""
이거 삽입
[root@rac1 ~]# systemctl start ntpd
[root@rac1 ~]# systemctl enable ntpd
[root@rac1 ~]# systemctl status ntpd
[root@rac1 ~]# tail -1 /etc/passwd
oracle:x:54321:54321::/home/oracle:/bin/bash
[root@rac1 ~]# tail /etc/group
stapdev:x:158:
tcpdump:x:72:
itwill:x:1000:itwill
oinstall:x:54321:oracle
dba:x:54322:oracle
oper:x:54323:oracle
backupdba:x:54324:oracle
dgdba:x:54325:oracle
kmdba:x:54326:oracle
racdba:x:54330:oracle
* OS group 추가하기
[root@rac1 ~]# groupadd -g 54331 asmadmin
[root@rac1 ~]# groupadd -g 54332 asmdba
[root@rac1 ~]# groupadd -g 54333 asmoper
[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)
oracle OS 사용자의 기본 그룹과 보조 그룹을 수정하는 명령어
[root@rac1 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper oracle
[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 ~]# mkdir -p /u01/app/oracle
[root@rac1 ~]# mkdir -p /u01/app/oraInventory
[root@rac1 ~]# mkdir -p /u01/app/19.0.0/grid
[root@rac1 ~]# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
[root@rac1 ~]# chown -R oracle:oinstall /u01
[root@rac1 ~]# chmod -R 755 /u01
[root@rac1 ~]# ls -lR /u01 -- 마지막에 이거로 확인
/u01:
total 0
drwxr-xr-x. 5 oracle oinstall 54 Jul 20 17:17 app
/u01/app:
total 0
drwxr-xr-x. 3 oracle oinstall 18 Jul 20 17:17 19.0.0
drwxr-xr-x. 3 oracle oinstall 21 Jul 20 17:17 oracle
drwxr-xr-x. 2 oracle oinstall 6 Jul 20 17:17 oraInventory
/u01/app/19.0.0:
total 0
drwxr-xr-x. 2 oracle oinstall 6 Jul 20 17:17 grid
/u01/app/19.0.0/grid:
total 0
/u01/app/oracle:
total 0
drwxr-xr-x. 3 oracle oinstall 20 Jul 20 17:17 product
/u01/app/oracle/product:
total 0
drwxr-xr-x. 3 oracle oinstall 22 Jul 20 17:17 19.0.0
/u01/app/oracle/product/19.0.0:
total 0
drwxr-xr-x. 2 oracle oinstall 6 Jul 20 17:17 dbhome_1
/u01/app/oracle/product/19.0.0/dbhome_1:
total 0
/u01/app/oraInventory:
total 0
grid를 먼저 설치하고 db 설치하는 것
* oracle유저 비밀번호 설정
[root@rac1 ~]# passwd oracle -- oracle유저 비밀번호 설정
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
* oracle 유저에서 환경설정
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ vi .bash_profile
기존 거 밑에
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_HOSTNAME=rac1
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export GRID_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=racdb1
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
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
umask 022
복붙

[oracle@rac1 ~]$ vi .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 ~]$ vi .db_env
export ORACLE_SID=racdb1 # racdb2
export ORACLE_HOME=$ORACLE_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 ~]$ vi .bashrc
기존에 있는 것 밑에
alias grid_env='. ~/.grid_env'
alias db_env='. ~/.db_env'
복붙

[oracle@rac1 ~]$ exit
logout
다시 root 유저에서
[root@rac1 ~]# init 0 -- OS 내림. 네트워크 끊어짐. rac1 전원 꺼짐.
# 복제
rac1에서 마우스 우클릭>복제
이름: rac2
경로: rac1이랑 똑같은 경로. rac폴더
MAC 주소 정책: 모든 네트워크 어댑터의 새 MAC 주소 생성(새 주소 아니면 rac1이랑 충돌됨.)

완전한 복제, 완료

똑같은 서버가 만들어짐. 그대로 복제되었기 때문에 IP주소가 동일하다.
host주소와 IP주소 변경해야 함. rac2 시작(복제한 것만 시작해야 함.)
* IPv4 주소 변경


putty 접속(192.168.56.176)
* hostname 수정
[root@rac1 ~]# hostname
rac1
[root@rac1 ~]# hostnamectl status
Static hostname: rac1
Icon name: computer-vm
Chassis: vm
Machine ID: d02fc4076f330b4192d8dc4c7f1d7707
Boot ID: 3883093d2f4e4a1e81ed6170fe8f2432
Virtualization: kvm
Operating System: Oracle Linux Server 7.9
CPE OS Name: cpe:/o:oracle:linux:7:9:server
Kernel: Linux 5.4.17-2102.201.3.el7uek.x86_64
Architecture: x86-64
[root@rac1 ~]# hostnamectl set-hostname rac2
[root@rac1 ~]# su - -- 새롭게 접속
Last login: Mon Jul 20 17:37:04 KST 2026 from 192.168.56.1 on pts/0
[root@rac2 ~]# -- 새롭게 접속해야 바뀐 호스트이름으로 보임.
[root@rac2 ~]# su - oracle
Last login: Mon Jul 20 17:19:47 KST 2026 on pts/1
[oracle@rac2 ~]$ vi .bash_profile
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_HOSTNAME=rac2 <<- 여기 수정(rac1 -> rac2)
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export GRID_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=racdb2 <<- 여기 수정(racdb1 -> racdb2)
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
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
umask 022
[oracle@rac2 ~]$ vi .grid_env
export ORACLE_SID=+ASM2 <<- 수정(1로 되어있는 거 2로 수정)(주석으로 # 되어있는 거 지워도 됨.)
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@rac2 ~]$ vi .db_env
export ORACLE_SID=racdb2 <<- 수정(1로 되어있는 거 2로 수정)(주석으로 # 되어있는 거 지워도 됨.)
export ORACLE_HOME=$ORACLE_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@rac2 ~]$ exit
logout
[root@rac2 ~]# init 0 -- OS 내림. 네트워크 끊어짐. rac2 전원 꺼짐.
서버 두 개 구축하고 끝~ 오늘은 여기까지만 하고 나머지는 내일 진행.
'강남 아이티윌 오라클DBA과정 94기 > RAC' 카테고리의 다른 글
| [오라클 DBA 과정] 89일차 RAC(6) (2026-07-27) (0) | 2026.07.27 |
|---|---|
| [오라클 DBA 과정] 88일차 RAC(5) (2026-07-24) (0) | 2026.07.25 |
| [오라클 DBA 과정] 87일차 RAC(4) (2026-07-23) (0) | 2026.07.23 |
| [오라클 DBA 과정] 86일차 RAC(3) (2026-07-22) (0) | 2026.07.22 |
| [오라클 DBA 과정] 85일차 RAC(2)(RAC 설치(2)) (2026-07-21) (0) | 2026.07.21 |