DB ORACLE 공부 기록

Oracle 19c RAC 설치(2) - RAC1 리눅스 환경 설정

레연 2023. 2. 7. 14:00

RAC1 리눅스 환경 설정

Linux 설치 정보 확인

[root@rac1 ~]# uname -a
Linux rac1 4.14.35-1818.3.3.el7uek.x86_64 #2 SMP Mon Sep 24 14:45:01 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@rac1 ~]# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.6"
ID="ol"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.6"
PRETTY_NAME="Oracle Linux Server 7.6"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:6:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.6
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.6

 

불필요한 서비스 정리

### 방화벽 중지
systemctl stop firewalld
systemctl disable firewalld
### 블루투스 중지
systemctl stop bluetooth
systemctl disable bluetooth
### 시간 동기화 중지
systemctl stop chronyd
systemctl disable chronyd
mv /etc/chrony.conf /etc/chrony.conf.bak
### NTP 중지
systemctl stop ntpdate
systemctl disable ntpdate
### AVAHI 중지
systemctl stop avahi-daemon.socket
systemctl disable avahi-daemon.socket
systemctl stop avahi-daemon
systemctl disable avahi-daemon
### 가상 시스템 관리 중지
systemctl stop libvirtd
systemctl disable libvirtd

 

보안 설정

vi /etc/selinux/config 로 selinux 모드 변경

SELINUX=disabled

 

hosts 파일 수정

/etc/hosts 설정

[root@rac1 ~]# cat /etc/host
cat: /etc/host: 그런 파일이나 디렉터리가 없습니다
[root@rac1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

### Public
10.0.2.15  rac1        rac1
10.0.2.16  rac2        rac2
### Private
192.168.56.101  rac1-priv   rac1-priv
192.168.56.102  rac2-priv   rac2-priv
### Virtual
10.0.2.150  rac1-vip    rac1-vip
10.0.2.160  rac2-vip    rac2-vip
### SCAN
10.0.2.20  rac-scan    rac-scan
10.0.2.21  rac-scan    rac-scan
10.0.2.22  rac-scan    rac-scan

 

dnsmasq 활성화

vi /etc/dnsmasq.conf 로 dnsmasq에 로컬 도메인 정보 추가

별도의 DNS 서비스 없이 SCAN 사용하기 위해 활성화한다.

[root@rac1 ~]# vi /etc/dnsmasq.conf
local=/localdomain/

 

resolv.conf 내용 확인 및 dnsmasq 활성화

cat /etc/resolv.conf
systemctl start dnsmasq
systemctl enable dnsmasq
nslookup rac-scan.localdomain   # 경우에 따라 재기동 필요
더보기
[root@rac1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 127.0.0.1
[root@rac1 ~]# systemctl start dnsmasq
[root@rac1 ~]# systemctl enable dnsmasq
Created symlink from /etc/systemd/system/multi-user.target.wants/dnsmasq.service to /usr/lib/systemd/system/dnsmasq.service.
[root@rac1 ~]# nslookup rac-scan
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   rac-scan
Address: 10.0.2.21
Name:   rac-scan
Address: 10.0.2.20
Name:   rac-scan
Address: 10.0.2.22

[root@rac1 ~]# nslookup rac-scan
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   rac-scan
Address: 10.0.2.20
Name:   rac-scan
Address: 10.0.2.22
Name:   rac-scan
Address: 10.0.2.21

[root@rac1 ~]# nslookup rac-scan
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   rac-scan
Address: 10.0.2.22
Name:   rac-scan
Address: 10.0.2.21
Name:   rac-scan
Address: 10.0.2.20

 

필수 패키지 설치

패키지를 설치하기 위해 리눅스 실행중 ISO 파일을 삽입하고 CD를 실행한다.

 

해당 경로로 들어간다.

[root@rac1 ~]# cd /run/media/root/OL-7.6\ Server.x86_64/Packages/

 

다음 패키지 설치

rpm -Uvh ksh-*.x86_64.rpm
rpm -Uvh libaio-devel-*.x86_64.rpm
rpm -Uvh oracleasm-support-*.x86_64.rpm
rpm -Uvh kmod-oracleasm-*.x86_64.rpm

 

리눅스 필수 패키지 확인

설치가 안되어있으면 yum install -y [패키지명] 설치

참조) Oracle linux 7.6에서 yum 사용하기

2023.01.30 - [DB ORACLE 공부 기록] - Oracle Linux 7.6에서 yum repository 설정 (YUM 사용하기)

 

Oracle Linux 7.6에서 yum repository 설정 (YUM 사용하기)

OS CD 삽입 후 진행 cd에 있는 패키지를 담을 경로 생성 mkdir -p /localrepo cd 파일을 해당 디렉토리로 복사 cp -rv /run/media/root/OL-7.6\ Server.x86_64/Packages/ /localrepo/ 기존 Online Repository 설정 파일 이름 변경 [r

lemonandgrapefruit.tistory.com

rpm -q bc
rpm -q binutils
rpm -q compat-libcap1
rpm -q compat-libstdc++-33
rpm -q elfutils-libelf
rpm -q elfutils-libelf-devel
rpm -q fontconfig-devel
rpm -q glibc
rpm -q glibc-devel
rpm -q kmod-20
rpm -q kmod-libs-20
rpm -q ksh
rpm -q libaio
rpm -q libaio-devel
rpm -q libgcc
rpm -q libstdc++
rpm -q libstdc++-devel
rpm -q libX11
rpm -q libXau
rpm -q libxcb
rpm -q libXi
rpm -q libXtst
rpm -q libXrender
rpm -q libXrender-devel
rpm -q make
rpm -q net-tools
rpm -q nfs-utils
rpm -q policycoreutils
rpm -q policycoreutils-python
rpm -q smartmontools
rpm -q sysstat

 

패키지가 모두 설치되었으면 디스크 삽입을 제거한다.

 

Temp 파일시스템 할당

추가 후 저장

[root@rac1 ~]# vi /etc/fstab
tmpfs                   /dev/shm                tmpfs   size=4g         0 0

 

/dev/shm 영역 remount

[root@rac1 ~]# mount -o remount /dev/shm
[root@rac1 ~]# df -h | grep shm
tmpfs                4.0G     0  4.0G   0% /dev/shm

 

오라클 추가 패키지 설치 

preinstall 패키지가 설치되면 oracle 유저 및 oinstall, dba, oper, backupdba, dgdba, kmdba, racdba 그룹이 생성된다.

oracleasmlib 파일은 아래에서 다운

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

[root@rac1 ~]# yum install -y oracle-database-preinstall-18c.x86_64
[root@rac1 ~]# rpm -Uvh oracleasmlib-2.0.12-1.el7.x86_64.rpm

 

사용자 그룹 설정 변경

[root@rac1 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle

 

oracle 계정 암호 변경

[root@rac1 ~]# passwd oracle
oracle 사용자의 비밀 번호 변경 중
새  암호: oracle
잘못된 암호: 암호는 8 개의 문자 보다 짧습니다
새  암호 재입력: oracle
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

 

설치 경로 생성

[root@rac1 ~]# mkdir -p /u01/app/oracle
[root@rac1 ~]# chown -R oracle:oinstall /u01
[root@rac1 ~]# chmod -R 775 /u01

 

사용자 환경 설정

oracle 계정 .bash_profile 수정

[root@rac1 ~]# vi ~oracle/.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 GRID_HOME=/u01/app/19c/grid
export DB_HOME=$ORACLE_BASE/product/19c/db_1
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=racdb1                # node2  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
export NLS_LANG=AMERICAN_KOREA.AL32UTF8
PS1='[$ORACLE_SID:$PWD]> '

 

.bashrc로 alias 설정

[root@rac1 ~]# vi ~oracle/.bashrc
alias grid_env='export ORACLE_HOME=$GRID_HOME;export ORACLE_SID=+ASM1;export ORACLE_HOME=$GRID_HOME;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH'
alias db_env='export ORACLE_HOME=$DB_HOME;export ORACLE_SID=racdb1;export ORACLE_HOME=$DB_HOME;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH'

 

root 계정 .bash_profile 수정

[root@rac1 ~]# vi ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/19c/grid
export DB_HOME=$ORACLE_BASE/product/19c/db_1
export PATH=$PATH:$GRID_HOME/bin

 

 

참조
https://dataforum.io/display/ORCL/Oracle+Database+19c+Real+Application+Cluster
https://positivemh.tistory.com/522