I. 리눅스 설치

1. 시작



2. 설치

A) 언어 선택


B) 설치 요약


C) 시간 및 날짜



D) 소프트웨어 선택



E) 설치 목적지











F) KDUMP



G) 네트워크 & 호스트 이름







H) 보안 정책



I) 사용자 설정







3. 재부팅

A) 부팅 옵션



B) 초기 설정




II. 사전 준비

1. Oracle Linux 8 시작

A) Linux GUI 접속










B) 설치 내역 확인

cat /etc/oracle-release
cat /etc/redhat-release
uname -r
[root@ol8 ~]# cat /etc/oracle-release
Oracle Linux Server release 8.1

[root@ol8 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 (Ootpa)

[root@ol8 ~]# uname -r
4.18.0-147.el8.x86_64


C) 리눅스 설정 변경

vi /etc/hosts 로 서버 정보 추가
vi /etc/hosts
[root@ol8 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.0.1.20       ol8


vi /etc/selinux/config 로 SELinux 설정 변경
SELINUX=permissive
SELinux 모드 permissive 로 적용
setenforce permissive

기존의 값을 주석처리하고 permissive로 대체

[root@ol8 ~]# cat /etc/selinux/config | grep SELINUX=
# SELINUX= can take one of these three values:
#SELINUX=enforcing
SELINUX=permissive

실시간으로 적용

[root@ol8 ~]# setenforce permissive


vi /etc/fstab 로 tmpfs 재설정
tmpfs                   /dev/shm                tmpfs   size=8g         0 0
/dev/shm 영역 remount 수행
mount -o remount /dev/shm
tmpfs                   /dev/shm                tmpfs   size=8g         0 0
[root@ol8 ~]# df -h | grep shm
tmpfs                4.9G     0  4.9G   0% /dev/shm
 
[root@ol8 ~]# mount -o remount /dev/shm

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


D) 사용하지 않는 서비스 끄기

### 블루투스 중지
systemctl stop bluetooth.service
systemctl disable bluetooth.service
### 방화벽 중지
systemctl stop firewalld
systemctl disable firewalld
### 시간 동기화 중지
systemctl stop chronyd
systemctl disable chronyd
### NTP 중지
systemctl stop ntpdate
systemctl disable ntpdate
### DNS 중지
systemctl stop avahi-daemon
systemctl disable avahi-daemon
### 가상 시스템 관리 중지
systemctl stop libvirtd
systemctl disable libvirtd.service
[root@ol8 ~]# systemctl stop bluetooth.service
[root@ol8 ~]# systemctl disable bluetooth.service
Removed /etc/systemd/system/dbus-org.bluez.service.
Removed /etc/systemd/system/bluetooth.target.wants/bluetooth.service.

[root@ol8 ~]# systemctl stop firewalld
[root@ol8 ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@ol8 ~]# systemctl stop chronyd
[root@ol8 ~]# systemctl disable chronyd

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

[root@ol8 ~]# systemctl stop avahi-daemon
Warning: Stopping avahi-daemon.service, but it can still be activated by:
  avahi-daemon.socket
[root@ol8 ~]# systemctl disable avahi-daemon
Removed /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
Removed /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
Removed /etc/systemd/system/dbus-org.freedesktop.Avahi.service.

[root@ol8 ~]# systemctl stop libvirtd
[root@ol8 ~]# systemctl disable libvirtd.service
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.


2. YUM 설정 및 패키지 설치

A) Local YUM Repository 설정

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

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

[root@ol8 ~]# df | grep mnt
/dev/sr0              7541034 7541034         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@ol8 ~]# mv /etc/yum.repos.d/oracle-linux-ol8.repo /etc/yum.repos.d/oracle-linux-ol8.repo.bak
[root@ol8 ~]# mv /etc/yum.repos.d/uek-ol8.repo /etc/yum.repos.d/uek-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@ol8 ~]# 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 이름과 연결될 디렉토리 등을 입력합니다.

Red Hat Enterprise Linux는 아래와 같이 gpgkey 부분을 수정합니다.

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


vi /etc/yum/pluginconf.d/subscription-manager.conf 로 subscription manager 설정 변경
 enabled=0
[main]
enabled=0


기존 enable=1을 enable=0으로 수정합니다.

(conf 파일이 없을 경우에는 작업 생략)

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

[root@ol8 ~]# yum repolist all
Oracle Linux 8 - BaseOS                          58 MB/s | 2.2 MB     00:00
Oracle Linux 8 - AppStream                      106 MB/s | 5.6 MB     00:00
마지막 메타 데이터 만료 확인 : 0:00:01 전에 2020년 06월 04일 (목) 오전 08시 44분 04초.
repo id                         repo name                            status
InstallMedia-AppStream          Oracle Linux 8 - AppStream           사용: 4,804
InstallMedia-BaseOS             Oracle Linux 8 - BaseOS              사용: 1,654

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

B) 필수 패키지 설치

필수 패키지 설치
yum install elfutils-libelf-devel fontconfig-devel ksh libaio-devel libnsl sysstat compat-openssl10
[root@ol8 ~]# yum install elfutils-libelf-devel fontconfig-devel ksh libaio-devel libnsl sysstat
마지막 메타 데이터 만료 확인 : 0:00:19 전에 2020년 06월 04일 (목) 오전 08시 51분 22초.
Dependencies resolved.
================================================================================
 Package               Arch   Version              Repository              Size
================================================================================
Installing:
 elfutils-libelf-devel x86_64 0.176-5.el8          InstallMedia-BaseOS     54 k
 fontconfig-devel      x86_64 2.13.1-3.el8         InstallMedia-BaseOS    151 k
 libaio-devel          x86_64 0.3.112-1.el8        InstallMedia-BaseOS     19 k
 libnsl                x86_64 2.28-72.0.1.el8      InstallMedia-BaseOS     94 k
 ksh                   x86_64 20120801-252.0.1.el8 InstallMedia-AppStream 928 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-17.el8        InstallMedia-BaseOS     95 k
 lm_sensors-libs       x86_64 3.4.0-20.20180522git70f7e08.el8
                                                   InstallMedia-BaseOS     59 k
 zlib-devel            x86_64 1.2.11-10.el8        InstallMedia-BaseOS     56 k

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

Total size: 2.9 M
Installed size: 9.8 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                         560 kB/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-10.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-20.20180522git70f7e08.el8.x86_    3/13
  스크립틀릿 실행: lm_sensors-libs-3.4.0-20.20180522git70f7e08.el8.x86_    3/13
  Installing     : libuuid-devel-2.32.1-17.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.176-5.el8.x86_64               10/13
  Installing     : ksh-20120801-252.0.1.el8.x86_64                        11/13
  스크립틀릿 실행: ksh-20120801-252.0.1.el8.x86_64                        11/13
  Installing     : libnsl-2.28-72.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.176-5.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-72.0.1.el8.x86_64                           7/13
  확인 중        : libpng-devel-2:1.6.34-5.el8.x86_64                      8/13
  확인 중        : libuuid-devel-2.32.1-17.el8.x86_64                      9/13
  확인 중        : lm_sensors-libs-3.4.0-20.20180522git70f7e08.el8.x86_   10/13
  확인 중        : zlib-devel-1.2.11-10.el8.x86_64                        11/13
  확인 중        : ksh-20120801-252.0.1.el8.x86_64                        12/13
  확인 중        : sysstat-11.7.3-2.el8.x86_64                            13/13

설치됨:
  elfutils-libelf-devel-0.176-5.el8.x86_64
  fontconfig-devel-2.13.1-3.el8.x86_64
  libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-72.0.1.el8.x86_64
  ksh-20120801-252.0.1.el8.x86_64
  sysstat-11.7.3-2.el8.x86_64
  bzip2-devel-1.0.6-26.el8.x86_64
  expat-devel-2.2.5-3.el8.x86_64
  freetype-devel-2.9.1-4.el8.x86_64
  libpng-devel-2:1.6.34-5.el8.x86_64
  libuuid-devel-2.32.1-17.el8.x86_64
  lm_sensors-libs-3.4.0-20.20180522git70f7e08.el8.x86_64
  zlib-devel-1.2.11-10.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 libvirt-devel
rpm -qa libxcb
rpm -qa libibverbs
rpm -qa make
rpm -qa smartmontools
rpm -qa sysstat
[root@ol8 ~]# rpm -qa bc
bc-1.07.1-5.el8.x86_64
[root@ol8 ~]# rpm -qa binutils
binutils-2.30-58.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa elfutils-libelf
elfutils-libelf-0.176-5.el8.x86_64
[root@ol8 ~]# rpm -qa elfutils-libelf-devel
elfutils-libelf-devel-0.176-5.el8.x86_64
[root@ol8 ~]# rpm -qa fontconfig-devel
fontconfig-devel-2.13.1-3.el8.x86_64
[root@ol8 ~]# rpm -qa glibc
glibc-2.28-72.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa glibc-devel
glibc-devel-2.28-72.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa ksh
ksh-20120801-252.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa libaio
libaio-0.3.112-1.el8.x86_64
[root@ol8 ~]# rpm -qa libaio-devel
libaio-devel-0.3.112-1.el8.x86_64
[root@ol8 ~]# rpm -qa libXrender
libXrender-0.9.10-7.el8.x86_64
[root@ol8 ~]# rpm -qa libX11
libX11-1.6.7-1.el8.x86_64
[root@ol8 ~]# rpm -qa libXau
libXau-1.0.8-13.el8.x86_64
[root@ol8 ~]# rpm -qa libXi
libXi-1.7.9-7.el8.x86_64
[root@ol8 ~]# rpm -qa libXtst
libXtst-1.2.3-7.el8.x86_64
[root@ol8 ~]# rpm -qa libgcc
libgcc-8.3.1-4.5.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa libnsl
libnsl-2.28-72.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa librdmacm
librdmacm-22.3-1.el8.x86_64
[root@ol8 ~]# rpm -qa libstdc++
libstdc++-8.3.1-4.5.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa libstdc++-devel
libstdc++-devel-8.3.1-4.5.0.1.el8.x86_64
[root@ol8 ~]# rpm -qa libxcb
libxcb-1.13-5.el8.x86_64
[root@ol8 ~]# rpm -qa libibverbs
libibverbs-22.3-1.el8.x86_64
[root@ol8 ~]# rpm -qa make
make-4.2.1-9.el8.x86_64
[root@ol8 ~]# rpm -qa smartmontools
smartmontools-6.6-3.el8.x86_64
[root@ol8 ~]# rpm -qa sysstat
sysstat-11.7.3-2.el8.x86_64

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

사용 후 CD 제거
eject
[root@ol8 ~]# eject

재부팅시에 CD로 부팅이 되지 않도록, YUM 설치 후 CD를 제거합니다.

3. VirtualBox Guest Additions 설치 (옵션)




4. OS 환경 설정

A) Preinstall 패키지 설치

Preinstall RPM 패키지 설치
rpm -ivh oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
[root@ol8 ~]# rpm -ivh oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
경고: oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Verifying...                          ################################# [100%]
준비 중...                         ################################# [100%]
Updating / installing...
   1:oracle-database-preinstall-19c-1.################################# [100%]


B) 그룹 및 유저 생성

root 유저로 수행
# groupadd oinstall
# groupadd dba
groupadd oper
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba

설치를 진행할 사용자 계정과 그룹을 생성 또는 추가합니다.

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

19c의 preinstall 패키지를 설치한 경우에는 모든 그룹이 생성되어 있습니다.

root 유저로 수행
# useradd -g oinstall -G  oinstall,dba,oper,backupdba,dgdba,kmdba,racdba,vboxsf oracle
usermod -g oinstall -G oinstall,dba,oper,backupdba,dgdba,kmdba,racdba,vboxsf oracle
id oracle
passwd oracle
[root@ol8 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,vboxsf oracle

[root@ol8 ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),975(vboxsf),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)

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

oracle 계정에 추가된 그룹의 권한을 부여합니다.

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

passwd 명령어로 계정의 암호를 입력합니다.

C) 설치 경로 생성

root 유저로 수행
mkdir -p /u01/app/oracle/product
chown -R oracle:oinstall /u01
chmod -R 775 /u01
[root@ol8 ~]# mkdir -p /u01/app/oracle/product

[root@ol8 ~]# chown -R oracle:oinstall /u01

[root@ol8 ~]# chmod -R 775 /u01

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

D) 사용자 환경 설정

vi ~oracle/.bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/<설치버전>/db_1    # 설치할 버전에 맞게 경로명 수정
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/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 PS1='[\u@$ORACLE_SID \W]$ '

oracle 계정으로 접속하여 .bash_profile을 수정합니다.

Database 버전이나 구축할 소프트웨어나 환경에 맞게 경로를 정해주면 됩니다.

III. Database 소프트웨어 설치

1. 설치 파일 압축 해제

설치 파일 압축 해제
mkdir -p $ORACLE_HOME
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME


OPatch 업데이트
$ORACLE_HOME/OPatch/opatch version
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.old
unzip <패치 파일 다운로드 경로>/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
chown -R oracle:oinstall $ORACLE_HOME/OPatch
$ORACLE_HOME/OPatch/opatch version


2. 패치 적용 및 설치

A) runInstaller 수행

설치 파일 패치 적용 및 설치
export CV_ASSUME_DISTID=OEL7
cd $ORACLE_HOME
./runInstaller -applyRU <패치 파일 압축 해제 경로>/30899722


B) 구성 옵션


C) 데이터베이스 설치 옵션


D) 데이터베이스 버전


E) 설치 위치


F) 인벤토리 설정


G) 운영체제 그룹


H) 루트 스크립트 실행 구성


I) 필요 조건 검사 수행


J) 요약


K) 제품 설치



L) 완료


IV. Database 생성

1. DBCA

A) 실행

DBCA 실행
export CV_ASSUME_DISTID=OEL7
dbca



B) 데이터베이스 작업


C) 생성 모드


D) 배치 유형


E) 데이터베이스 식별


F) 저장 영역 옵션


G) 빠른 복구 옵션





H) 네트워크 구성


I) Data Vault 옵션


J) 구성 옵션


K) 관리 옵션


L) 사용자 인증서


M) 생성 옵션








N) 요약


O) 진행 페이지


P) 완료



  • 레이블 없음