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

망구씨·2023년 12월 17일
0
post-thumbnail

1. RAC1 리눅스 환경 설정

Linux 설치 정보 확인

Last login: Sun Dec 17 11:20:35 2023
/usr/bin/xauth:  file /root/.Xauthority does not exist
[root@rac1 ~]# uname -a
Linux rac1 5.4.17-2102.201.3.el7uek.x86_64 #2 SMP Fri Apr 23 09:05:55 PDT 2021 x86_64 x86_        64 x86_64 GNU/Linux
[root@rac1 ~]# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.9"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Oracle Linux Server 7.9"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:9: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.9
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.9

사용하지 않는 서비스 정리

### 방화벽 중지
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 설정
vi /etc/hosts

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

dnsmasq 활성화

  • vi /etc/dnsmasq.conf 로 dnsmasq에 로컬 도메인 정보 추가
    별도의 DNS 서비스 없이 SCAN 사용하기 위해 활성화한다.
[root@rac1 ~]# vi /etc/dnsmasq.conf
local=/localdomain/

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

[root@rac1 ~]# cat /etc/resolv.conf
[root@rac1 ~]# systemctl start dnsmasq
[root@rac1 ~]# systemctl enable dnsmasq
[root@rac1 ~]# nslookup rac-scan.localdomain   # 경우에 따라 재기동 필요
-- ;; connection timed out; no servers could be reached
-- 재기동함
[root@rac1 ~]# reboot


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

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

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

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

필수 패키지 설치

  • 패키지를 설치하기 위해 리눅스 실행중 ISO 파일을 삽입하고 CD를 실행한다.
-- 해당 경로로 들어감
cd /run/media/root/OL-7.9\ 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

리눅스 필수 패키지 확인

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

설치 안된 패키지 설치해주기

[root@rac1 Packages]# rpm -q elfutils-libelf-devel
package elfutils-libelf-devel is not installed
[root@rac1 Packages]# rpm -q fontconfig-devel
package fontconfig-devel is not installed
[root@rac1 Packages]# rpm -q glibc-devel
package glibc-devel is not installed
[root@rac1 Packages]# rpm -q libstdc++-devel
package libstdc++-devel is not installed
[root@rac1 Packages]# rpm -q libXrender-devel
package libXrender-devel is not installed
  1. 파일 찾기
ll elfutils-libelf-devel*
  1. 밑에꺼로(최신) 설치
rpm -Uvh 파일명 
  1. 안된다면
[root@rac1 Packages]# rpm -ivh elfutils-libelf-devel-0.176-2.el7.x86_64.rpm --nodeps
[root@rac1 Packages]# ll elfutils-libelf-devel*
-rw-rw-r-- 1 root root 40260 May 24  2020 elfutils-libelf-devel-0.176-5.el7.i686.r                                   pm
-rw-rw-r-- 1 root root 40224 May 24  2020 elfutils-libelf-devel-0.176-5.el7.x86_64                                   .rpm
[root@rac1 Packages]# rpm -Uvh elfutils-libelf-devel-0.176-5.el7.x86_64.rpm
warning: elfutils-libelf-devel-0.176-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
        pkgconfig(zlib) is needed by elfutils-libelf-devel-0.176-5.el7.x86_64
[root@rac1 Packages]# rpm -ivh elfutils-libelf-devel-0.176-5.el7.x86_64.rpm --nodeps
warning: elfutils-libelf-devel-0.176-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:elfutils-libelf-devel-0.176-5.el7################################# [100%]

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

Temp 파일시스템 할당

  • 추가 후 저장
[root@rac1 ~]# vi /etc/fstab
tmpfs                   /dev/shm                tmpfs   size=4g         0 0

오라클 추가 패키지 설치

  1. preinstall (패키지가 설치되면 oracle 유저 및 oinstall, dba, oper, backupdba, dgdba, kmdba, racdba 그룹이 생성된다.)
  2. 필수 패키지 중 ASMLib 패키지는 아래의 경로에서 다운로드 받아 설치합니다.

https://www.oracle.com/technetwork/server-storage/linux/asmlib/rhel7-2773795.html

1. preinstall 설치

  • 아까 디스크 뺐는데 다시 넣고 진행
[root@rac1 media]# cd /run/media/root/OL-7.9\ Server.x86_64/Packages/
[root@rac1 Packages]# ll oracle*
-rw-rw-r-- 1 root root   86908 Feb  4  2018 oracleasm-support-2.1.11-2.el7.x86_64.rpm
-rw-rw-r-- 1 root root   19552 Mar 12  2020 oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm
-rw-rw-r-- 1 root root   64728 Oct  1  2020 oraclelinux-release-7.9-1.0.9.el7.x86_64.rpm
-rw-rw-r-- 1 root root   19564 Oct  2  2020 oraclelinux-release-el7-1.0-13.1.el7.x86_64.rpm
-rw-rw-r-- 1 root root 4880752 Jul 22  2020 oracle-logos-70.7.0-1.0.7.el7.noarch.rpm
[root@rac1 Packages]# rpm -ivh oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm

2. oracleasmlib 설치

  • media라는 폴더 하나 만들고 안에 넣어 설치함
[root@rac1 media]# rpm -Uvh oracleasmlib-2.0.12-1.el7.x86_64.rpm


[root@rac1 media]# rpm -Uvh oracleasmlib-2.0.12-1.el7.x86_64.rpm
warning: oracleasmlib-2.0.12-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasmlib-2.0.12-1.el7        ################################# [100%]
[root@rac1 media]# cd ..
[root@rac1 /]# cd ~
[root@rac1 ~]# eject -- disk 꺼냈다.
[root@rac1 ~]#

사용자 그룹 설정 변경

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

oracle 계정 암호 변경

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

설치 경로 생성

[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                # 2번 노드 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]> '

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'

source ~oracle/.bash_profile

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

profile
Slow and steady wins the race.

0개의 댓글