1. YUM 설정 및 패키지 설치

A) Local YUM Repository 설정

외부 인터넷 연결을 하지않고 설치 ISO 이미지로 YUM Repository를 구성하여 yum install을 사용할 수 있도록 설정하는 방법입니다.

디스크 마운트
mount /dev/cdrom /mnt
df | grep mnt
[root@node1 ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.

[root@node1 ~]# df | grep mnt
/dev/sr0              8141108 8141108         0 100% /mnt

VM에 ISO 파일을 연결하고, cdrom을 디렉토리에 mount 시켜줍니다. 

기존 Repository 파일 정리
mv /etc/yum.repos.d/oracle-linux-ol8.repo /etc/yum.repos.d/oracle-linux-ol8.repo.bak
mv /etc/yum.repos.d/uek-ol8.repo /etc/yum.repos.d/uek-ol8.repo.bak
mv /etc/yum.repos.d/virt-ol8.repo /etc/yum.repos.d/virt-ol8.repo.bak
[root@node1 ~]# mv /etc/yum.repos.d/oracle-linux-ol8.repo /etc/yum.repos.d/oracle-linux-ol8.repo.bak
[root@node1 ~]# mv /etc/yum.repos.d/uek-ol8.repo /etc/yum.repos.d/uek-ol8.repo.bak
[root@node1 ~]# mv /etc/yum.repos.d/virt-ol8.repo /etc/yum.repos.d/virt-ol8.repo.bak

기존에 생성되어 있던 Repository 파일은 모두 이름을 변경하여, 사용하지 않도록 수정합니다.

vi /etc/yum.repos.d/local.repo
[InstallMedia-BaseOS]
name=Oracle Linux 8 - BaseOS
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///mnt/BaseOS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

[InstallMedia-AppStream]
name=Oracle Linux 8 - AppStream
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///mnt/AppStream/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
[root@node1 ~]# cat /etc/yum.repos.d/local.repo
[InstallMedia-BaseOS]
name=Oracle Linux 8 - BaseOS
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///mnt/BaseOS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

[InstallMedia-AppStream]
name=Oracle Linux 8 - AppStream
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///mnt/AppStream/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

local.repo라는 Repository 파일을 생성합니다.

Repository 이름과 연결될 디렉토리 등을 입력합니다.

Repository 로딩 및 확인
yum clean all
yum repolist all
[root@node1 ~]# yum clean all
0 files removed

[root@node1 ~]# yum repolist all
repo id                            repo name                               status
InstallMedia-AppStream             Oracle Linux 8 - AppStream              사용
InstallMedia-BaseOS                Oracle Linux 8 - BaseOS                 사용

Repository를 재로딩하면 정상적으로 등록된 것을 확인할 수 있습니다.

B) 필수 패키지 설치

필수 패키지 설치
yum install elfutils-libelf-devel fontconfig-devel ksh libaio-devel libnsl sysstat
# yum install kmod-oracleasm
[root@node1 ~]# yum install elfutils-libelf-devel fontconfig-devel ksh libaio-devel libnsl sysstat
Oracle Linux 8 - BaseOS                          176 MB/s | 3.2 MB     00:00
Oracle Linux 8 - AppStream                       176 MB/s | 5.8 MB     00:00
마지막 메타 데이터 만료 확인 : 0:00:02 전에 2020년 09월 22일 (화) 오후 01시 10분 06초.
Dependencies resolved.
=================================================================================
 Package               Arch   Version               Repository              Size
=================================================================================
Installing:
 elfutils-libelf-devel x86_64 0.178-7.el8           InstallMedia-BaseOS     58 k
 fontconfig-devel      x86_64 2.13.1-3.el8          InstallMedia-BaseOS    151 k
 ksh                   x86_64 20120801-254.0.1.el8  InstallMedia-AppStream 927 k
 libaio-devel          x86_64 0.3.112-1.el8         InstallMedia-BaseOS     19 k
 libnsl                x86_64 2.28-101.0.1.el8      InstallMedia-BaseOS     97 k
 sysstat               x86_64 11.7.3-2.el8          InstallMedia-AppStream 426 k
Installing dependencies:
 bzip2-devel           x86_64 1.0.6-26.el8          InstallMedia-BaseOS    224 k
 expat-devel           x86_64 2.2.5-3.el8           InstallMedia-BaseOS     55 k
 freetype-devel        x86_64 2.9.1-4.el8           InstallMedia-BaseOS    464 k
 libpng-devel          x86_64 2:1.6.34-5.el8        InstallMedia-BaseOS    327 k
 libuuid-devel         x86_64 2.32.1-22.el8         InstallMedia-BaseOS     95 k
 lm_sensors-libs       x86_64 3.4.0-21.20180522git70f7e08.el8
                                                    InstallMedia-BaseOS     59 k
 zlib-devel            x86_64 1.2.11-13.el8         InstallMedia-BaseOS     57 k

Transaction Summary
=================================================================================
설치  13 Packages

Total size: 2.9 M
Installed size: 9.5 M
Is this ok [y/N]: y
패키지 다운로드중:
경고: /mnt/BaseOS/Packages/bzip2-devel-1.0.6-26.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Oracle Linux 8 - BaseOS                          3.0 MB/s | 3.1 kB     00:00
GPG키 0xAD986DA3를 불러옵니다:
 사용자     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
  GPG 지문: 76FD 3DB1 3AB6 7410 B89D B10E 8256 2EA9 AD98 6DA3
 출처        : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Is this ok [y/N]: y
성공적으로 가져온 키
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
거래 실행 중
  준비 중입니다  :                                                           1/1
  Installing     : zlib-devel-1.2.11-13.el8.x86_64                          1/13
  Installing     : libpng-devel-2:1.6.34-5.el8.x86_64                       2/13
  Installing     : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_6    3/13
  스크립틀릿 실행: lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_6    3/13
  Installing     : libuuid-devel-2.32.1-22.el8.x86_64                       4/13
  Installing     : expat-devel-2.2.5-3.el8.x86_64                           5/13
  Installing     : bzip2-devel-1.0.6-26.el8.x86_64                          6/13
  Installing     : freetype-devel-2.9.1-4.el8.x86_64                        7/13
  Installing     : fontconfig-devel-2.13.1-3.el8.x86_64                     8/13
  Installing     : sysstat-11.7.3-2.el8.x86_64                              9/13
  스크립틀릿 실행: sysstat-11.7.3-2.el8.x86_64                              9/13
  Installing     : elfutils-libelf-devel-0.178-7.el8.x86_64                10/13
  Installing     : ksh-20120801-254.0.1.el8.x86_64                         11/13
  스크립틀릿 실행: ksh-20120801-254.0.1.el8.x86_64                         11/13
  Installing     : libnsl-2.28-101.0.1.el8.x86_64                          12/13
  Installing     : libaio-devel-0.3.112-1.el8.x86_64                       13/13
  스크립틀릿 실행: libaio-devel-0.3.112-1.el8.x86_64                       13/13
  확인 중        : bzip2-devel-1.0.6-26.el8.x86_64                          1/13
  확인 중        : elfutils-libelf-devel-0.178-7.el8.x86_64                 2/13
  확인 중        : expat-devel-2.2.5-3.el8.x86_64                           3/13
  확인 중        : fontconfig-devel-2.13.1-3.el8.x86_64                     4/13
  확인 중        : freetype-devel-2.9.1-4.el8.x86_64                        5/13
  확인 중        : libaio-devel-0.3.112-1.el8.x86_64                        6/13
  확인 중        : libnsl-2.28-101.0.1.el8.x86_64                           7/13
  확인 중        : libpng-devel-2:1.6.34-5.el8.x86_64                       8/13
  확인 중        : libuuid-devel-2.32.1-22.el8.x86_64                       9/13
  확인 중        : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_6   10/13
  확인 중        : zlib-devel-1.2.11-13.el8.x86_64                         11/13
  확인 중        : ksh-20120801-254.0.1.el8.x86_64                         12/13
  확인 중        : sysstat-11.7.3-2.el8.x86_64                             13/13

설치됨:
  bzip2-devel-1.0.6-26.el8.x86_64
  elfutils-libelf-devel-0.178-7.el8.x86_64
  expat-devel-2.2.5-3.el8.x86_64
  fontconfig-devel-2.13.1-3.el8.x86_64
  freetype-devel-2.9.1-4.el8.x86_64
  ksh-20120801-254.0.1.el8.x86_64
  libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-101.0.1.el8.x86_64
  libpng-devel-2:1.6.34-5.el8.x86_64
  libuuid-devel-2.32.1-22.el8.x86_64
  lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64
  sysstat-11.7.3-2.el8.x86_64
  zlib-devel-1.2.11-13.el8.x86_64

완료되었습니다!

오라클 설치에 필요한 패키지들을 설치합니다.

필수 패키지 설치 확인
rpm -qa bc
rpm -qa binutils
#rpm -qa dtrace-utils
rpm -qa elfutils-libelf
rpm -qa elfutils-libelf-devel
rpm -qa fontconfig-devel
rpm -qa glibc
rpm -qa glibc-devel
rpm -qa ksh
rpm -qa libaio
rpm -qa libaio-devel
#rpm -qa libdtrace-ctf-devel
rpm -qa libXrender
rpm -qa libX11
rpm -qa libXau
rpm -qa libXi
rpm -qa libXtst
rpm -qa libgcc
rpm -qa libnsl
rpm -qa librdmacm
rpm -qa libstdc++
rpm -qa libstdc++-devel
rpm -qa libxcb
rpm -qa libibverbs
rpm -qa make
rpm -qa smartmontools
rpm -qa sysstat
[root@node1 ~]# rpm -qa bc
bc-1.07.1-5.el8.x86_64
[root@node1 ~]# rpm -qa binutils
binutils-2.30-73.0.1.el8.x86_64
[root@node1 ~]# rpm -qa elfutils-libelf
elfutils-libelf-0.178-7.el8.x86_64
[root@node1 ~]# rpm -qa elfutils-libelf-devel
elfutils-libelf-devel-0.178-7.el8.x86_64
[root@node1 ~]# rpm -qa fontconfig-devel
fontconfig-devel-2.13.1-3.el8.x86_64
[root@node1 ~]# rpm -qa glibc
glibc-2.28-101.0.1.el8.x86_64
[root@node1 ~]# rpm -qa glibc-devel
glibc-devel-2.28-101.0.1.el8.x86_64
[root@node1 ~]# rpm -qa ksh
ksh-20120801-254.0.1.el8.x86_64
[root@node1 ~]# rpm -qa libaio
libaio-0.3.112-1.el8.x86_64
[root@node1 ~]# rpm -qa libaio-devel
libaio-devel-0.3.112-1.el8.x86_64
[root@node1 ~]# rpm -qa libXrender
libXrender-0.9.10-7.el8.x86_64
[root@node1 ~]# rpm -qa libX11
libX11-1.6.8-3.el8.x86_64
[root@node1 ~]# rpm -qa libXau
libXau-1.0.8-13.el8.x86_64
[root@node1 ~]# rpm -qa libXi
libXi-1.7.9-7.el8.x86_64
[root@node1 ~]# rpm -qa libXtst
libXtst-1.2.3-7.el8.x86_64
[root@node1 ~]# rpm -qa libgcc
libgcc-8.3.1-5.0.3.el8.x86_64
[root@node1 ~]# rpm -qa libnsl
libnsl-2.28-101.0.1.el8.x86_64
[root@node1 ~]# rpm -qa librdmacm
librdmacm-26.0-8.el8.x86_64
[root@node1 ~]# rpm -qa libstdc++
libstdc++-8.3.1-5.0.3.el8.x86_64
[root@node1 ~]# rpm -qa libstdc++-devel
libstdc++-devel-8.3.1-5.0.3.el8.x86_64
[root@node1 ~]# rpm -qa libxcb
libxcb-1.13.1-1.el8.x86_64
[root@node1 ~]# rpm -qa libibverbs
libibverbs-26.0-8.el8.x86_64
[root@node1 ~]# rpm -qa make
make-4.2.1-10.el8.x86_64
[root@node1 ~]# rpm -qa smartmontools
smartmontools-6.6-3.el8.x86_64
[root@node1 ~]# rpm -qa sysstat
sysstat-11.7.3-2.el8.x86_64

오라클 설치에 필요한 패키지가 모두 설치되었는지 확인합니다.

2.  GUI 접속 환경 설정

A)  GUI 환경 접속











3. 리눅스 환경 설정

A) 설치 정보 확인

OS 정보 확인
uname -a
cat /etc/oracle-release
[root@node1 ~]# uname -a
Linux node1 5.4.17-2011.1.2.el8uek.x86_64 #2 SMP Mon Apr 20 22:10:46 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux

[root@node1 ~]# cat /etc/oracle-release
Oracle Linux Server release 8.2

먼저 설치된 리눅스의 버전 정보를 확인합니다.

B) 미사용 서비스 정리

미사용 서비스 정리
### 방화벽 중지
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
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@node1 ~]# systemctl stop bluetooth
[root@node1 ~]# systemctl disable bluetooth
Removed /etc/systemd/system/dbus-org.bluez.service.
Removed /etc/systemd/system/bluetooth.target.wants/bluetooth.service.

[root@node1 ~]# systemctl stop chronyd
[root@node1 ~]# systemctl disable chronyd
[root@node1 ~]# mv /etc/chrony.conf /etc/chrony.conf.bak

[root@node1 ~]# systemctl stop ntpdate
Failed to stop ntpdate.service: Unit ntpdate.service not loaded.
[root@node1 ~]# systemctl disable ntpdate
Failed to disable unit: Unit file ntpdate.service does not exist.

[root@node1 ~]# systemctl stop avahi-daemon.socket
[root@node1 ~]# systemctl disable avahi-daemon.socket
Removed /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
[root@node1 ~]# systemctl stop avahi-daemon
[root@node1 ~]# systemctl disable avahi-daemon
Removed /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
Removed /etc/systemd/system/dbus-org.freedesktop.Avahi.service.

[root@node1 ~]# systemctl stop libvirtd
[root@node1 ~]# systemctl disable libvirtd
Removed /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Removed /etc/systemd/system/sockets.target.wants/virtlogd.socket.
Removed /etc/systemd/system/sockets.target.wants/virtlockd.socket.

테스트 환경에서 사용하지 않는 서비스를 정리합니다.

실습 환경에서는 CTSS를 활성화 모드로 운영할 것이므로 NTP나 chrony 등의 시간 동기화 서비스를 중지할 것입니다.

그러나 실제 운영환경에서는 구성 환경을 고려하여 사용 여부를 결정해야하며, 가급적 NTP를 설정(-x 포함)하여 사용하는 것을 권장합니다.

C) hosts 파일 수정

vi /etc/hosts 로 호스트 파일 수정
### Public
10.0.3.101  node1           node1.localdomain
10.0.3.102  node2           node2.localdomain
### Private
10.0.5.101  node1-priv      node1-priv.localdomain
10.0.5.102  node2-priv      node2-priv.localdomain
### Virtual
10.0.3.201  node1-vip       node1-vip.localdomain
10.0.3.202  node2-vip       node2-vip.localdomain
### SCAN
10.0.3.191  cluster-scan    cluster-scan.localdomain
10.0.3.192  cluster-scan    cluster-scan.localdomain
10.0.3.193  cluster-scan    cluster-scan.localdomain

/etc/hosts 파일에 설치할 모든 서버의 IP와 호스트명을 추가합니다.

오라클 소프트웨어 설치를 정상적으로 진행하기 위해 로컬 노드와 원격 노드에 대한 정보를 정확히 입력해야 합니다.

SCAN IP는 1개만 할당해도 설치에 지장은 없습니다. 다만, 18c부터는 3개를 할당하지 않을 경우, 필요 조건 검사 과정에서 검증 실패 메시지가 출력됩니다.

D) 보안 설정 변경

vi /etc/selinux/config 로 selinux 모드 변경
SELINUX=permissive
SELinux 모드를 온라인 상에서 변경
setenforce permissive

Selinux 모드를 permissive로 변경합니다.

E) dnsmasq 활성화

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

dnsmasq 서비스의 환경 설정 파일에 로컬 도메인에 대한 정보를 입력합니다.

resolv.conf 내용 확인 및 dnsmasq 활성화
cat /etc/resolv.conf
systemctl start dnsmasq
systemctl enable dnsmasq
nslookup rac-scan.localdomain	# 경우에 따라 재기동 필요
[root@node1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 127.0.0.1

[root@node1 ~]# systemctl start dnsmasq
[root@node1 ~]# systemctl enable dnsmasq
Created symlink /etc/systemd/system/multi-user.target.wants/dnsmasq.service → /usr/lib/systemd/system/dnsmasq.service.

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

Name:   cluster-scan.localdomain
Address: 10.0.3.193
Name:   cluster-scan.localdomain
Address: 10.0.3.191
Name:   cluster-scan.localdomain
Address: 10.0.3.192

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

Name:   cluster-scan.localdomain
Address: 10.0.3.191
Name:   cluster-scan.localdomain
Address: 10.0.3.192
Name:   cluster-scan.localdomain
Address: 10.0.3.193

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

Name:   cluster-scan.localdomain
Address: 10.0.3.192
Name:   cluster-scan.localdomain
Address: 10.0.3.193
Name:   cluster-scan.localdomain
Address: 10.0.3.191

별도의 DNS 서비스 없이 SCAN을 사용하기 위해 dnsmasq 서비스를 활성화합니다.

DNS 설정 파일(resolv.conf)에는 "nameserver 127.0.0.1"가 입력되어 있어야 합니다.

F) 가상 메모리 파일 시스템 할당

vi /etc/fstab 로 tmpfs 영역 할당
tmpfs                   /dev/shm                tmpfs   size=8g         0 0
mount 명령으로 /dev/shm 영역 remount
mount -o remount /dev/shm
tmpfs                   /dev/shm                tmpfs   size=8g         0 0
[root@node1 ~]# df -h | grep shm
tmpfs                4.9G     0  4.9G   0% /dev/shm

[root@node1 ~]# cat /etc/fstab | grep tmpfs
tmpfs                   /dev/shm                tmpfs   size=8g         0 0

[root@node1 ~]# mount -o remount /dev/shm

[root@node1 ~]# df -h | grep shm
tmpfs                8.0G     0  8.0G   0% /dev/shm

가상 메모리 파일 시스템(tmpfs) 값을 설정하고 remount하여 적용시킵니다.

G) oracle 제공 추가 패키지 설치

Oracle 사전환경 구성 패키지 및 ASMLib 패키지 설치
rpm -ivh oracle-database-preinstall-19c-*.el8.x86_64.rpm
rpm -ivh oracleasm-support-*.el8.x86_64.rpm
rpm -ivh oracleasmlib-*.el8.x86_64.rpm
[root@node1 sf_oracle]# rpm -ivh oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
준비 중...                         ################################# [100%]
Updating / installing...
   1:oracle-database-preinstall-19c-1.################################# [100%]

[root@node1 sf_oracle]# rpm -ivh oracleasm-support-2.1.12-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
준비 중...                         ################################# [100%]
Updating / installing...
   1:oracleasm-support-2.1.12-1.el8   ################################# [100%]
알림: '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.

[root@node1 sf_oracle]# rpm -ivh oracleasmlib-2.0.17-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
준비 중...                         ################################# [100%]
Updating / installing...

추가로 Oracle Database 설치를 위한 preinstall 패키지와 ASMLib 패키지를 설치합니다.

preinstall 패키지는 Oracle Linux Repository에서 받을 수 있고, ASMLib 패키지는 아래 경로에서 다운로드 합니다.

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

H) 그룹 및 사용자 계정 작업

그룹 등록 및 사용자 설정 변경
### 그룹 등록 (정책에 따라 생략)
# groupadd oper
# groupadd backupdba
# groupadd dgdba
# groupadd kmdba
# groupadd racdba
groupadd asmadmin
groupadd asmdba
groupadd asmoper
### 유저 그룹 설정 변경 (vboxsf는 VirtualBox의 Guest Additions 사용시 설정)
usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper,vboxsf oracle
# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper oracle
### 계정 암호 변경
passwd oracle
[root@node1 ~]# groupadd asmadmin
[root@node1 ~]# groupadd asmdba
[root@node1 ~]# groupadd asmoper

[root@node1 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper,vboxsf oracle

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

소프트웨어를 설치할 사용자 계정과 그룹을 생성 또는 추가합니다.

preinstall 패키지가 설치되었다면 oracle 유저와 oinstall, dba, oper, backupdba, dgdba, kmdba, racdba 그룹은 이미 생성되어 있습니다.

vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.

passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.

I) 설치 경로 생성

설치 경로 생성 및 권한 부여
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
[root@node1 ~]# mkdir -p /u01/app/oracle
[root@node1 ~]# chown -R oracle:oinstall /u01
[root@node1 ~]# chmod -R 775 /u01

오라클 소프트웨어 설치를 위한 경로를 생성하고, 해당 경로에 대한 권한과 소유권을 수정합니다.

J) 사용자 환경 설정

vi ~oracle/.bash_profile 로 oracle 프로필 설정
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_HOSTNAME=node1            # 호스트명에 맞게 변경
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=sehadb
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
export CV_ASSUME_DISTID=OEL7
PS1='[$ORACLE_SID:$PWD]> '

oracle 유저의 .bash_profile을 수정합니다.

root계정에서 해당 파일을 직접 수정할 수 있습니다.

vi ~oracle/.bashrc 로 alias 설정
alias grid_env='export ORACLE_HOME=$GRID_HOME;export ORACLE_SID=+ASM1;export PATH=$ORACLE_HOME/bin:$BASE_PATH'
alias db_env='export ORACLE_HOME=$DB_HOME;export ORACLE_SID=sehadb;export PATH=$ORACLE_HOME/bin:$BASE_PATH'

Grid와 DB 인스턴스 간의 변환을 쉽게 하기 위해 alias를 설정합니다.

vi ~/.bash_profile 로 root 프로필 수정
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 계정의 .bash_profile에도 경로 정보를 추가로 입력합니다.

  • 레이블 없음