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
[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
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
tmpfs /dev/shm tmpfs size=8g 0 0
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 시켜줍니다.
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 파일은 모두 이름을 변경하여, 사용하지 않도록 수정합니다.
[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
enabled=0
[main] enabled=0
기존 enable=1을 enable=0으로 수정합니다.
(conf 파일이 없을 경우에는 작업 생략)
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
오라클 설치에 필요한 패키지가 모두 설치되었는지 확인합니다.
eject
[root@ol8 ~]# eject
재부팅시에 CD로 부팅이 되지 않도록, YUM 설치 후 CD를 제거합니다.
{}
{}
3. VirtualBox Guest Additions 설치 (옵션)
{}
4. OS 환경 설정
A) Preinstall 패키지 설치
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) 그룹 및 유저 생성
# groupadd oinstall # groupadd dba groupadd oper groupadd backupdba groupadd dgdba groupadd kmdba groupadd racdba
설치를 진행할 사용자 계정과 그룹을 생성 또는 추가합니다.
Preinstall 패키지가 설치되었다면 oracle 유저와 oinstall, dba 그룹은 이미 생성되어 있습니다.
19c의 preinstall 패키지를 설치한 경우에는 모든 그룹이 생성되어 있습니다.
# 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) 설치 경로 생성
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) 사용자 환경 설정
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
$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) 실행
export CV_ASSUME_DISTID=OEL7 dbca
{}
B) 데이터베이스 작업
C) 생성 모드
D) 배치 유형
E) 데이터베이스 식별
F) 저장 영역 옵션
G) 빠른 복구 옵션
H) 네트워크 구성
I) Data Vault 옵션
J) 구성 옵션
K) 관리 옵션
L) 사용자 인증서
M) 생성 옵션
N) 요약
O) 진행 페이지
P) 완료
{}