출처: https://ta-starter.tistory.com/27
- Server Spec -
CPU - 2 Core
MEMORY - 4GB
HDD - 40G
OS - CentOS 7 minimal
+ Putty SSH로 접속, X11 사용 설정
1. Oracle 18c 설치를 위한 패키지 설치
$ sudo yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 ksh elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 make sysstat unixODBC unixODBC-devel xclock xterm compat-libcap1
2. Kernel parameter를 아래와 같이 수정 후 적용
$ sudo vi /usr/lib/sysctl.d/00-system.conf
# Disable netfilter on bridges.
# net.bridge.bridge-nf-call-ip6tables = 0
# net.bridge.bridge-nf-call-iptables = 0
# net.bridge.bridge-nf-call-arptables = 0
$ sudo vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2147483648
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
$ sysctl -p
3. 설치 계정 및 그룹 생성
$ sudo groupadd oinstall
$ sudo groupadd dba
$ sudo useradd -g oinstall -G dba oracle
$ sudo passwd oracle
4. 리소스 제한 설정, 아래의 내용 추가
$ sudo vi /etc/security/limits.conf
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
$ sudo vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5. SELinux 끄기
$ setenforce 0
$ sudo vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
6. Oracle 환경 설정 폴더 권한 변경 및 유저 추가
$ sudo mkdir -p /usr/oracle/app
$ sudo mkdir /usr/oracle/oradata
$ sudo chmod -R 755 /usr/oracle
$ sudo chown -R oracle:oinstall /usr/oracle
7. Oracle 계정에 환경변수 추가
$ vi /home/oracle/.bash_profile
umask 022
export ORACLE_BASE=/usr/oracle/app
8. Oracle 설치파일 다운로드 후 압축 해제
오라클 홈페이지에서 LINUX.X64_180000_db_home.zip 설치 후 압축 풀기
# 압축 풀면 Oracle DB 구성 파일들이 생기므로 특정 폴더 안에서 압축 푸는것을 권장
$ unzip LINUX.X64_180000_db_home.zip
9. xhost 연결 확인
접속한 OS( ex. Window )에서 Xming 설치 후
Linux에서 $ sudo xhost +
※ unable ~ 에러 출력시
$ export DISPLAY=localhost:0.0
혹은 Putty의 X11 설정 하였는지 확인
$ xclock
접속된 OS에서 xclock 출력 확인
10. Oracle 설치 진행
$ su oracle
$ ./runInstaller
※ unable ~ 에러 출력시 Linux 접속을 oracle 계정으로 로그인 ( root 등의 계정 후 su 명령어로 유저 변경하면 에러 발생 )
![](https://blog.kakaocdn.net/dn/r0HVM/btso212ARns/x8AiY804eIrmle4gRyg6kK/img.png)
데이터베이스와 리스너를 같이 설정한다면 위 옵션
oracle 18C 구성만 한다면 아래 옵션
![](https://blog.kakaocdn.net/dn/Uwnt4/btso6bKud4I/GE1XBO8PRMoMt2lma6GIO0/img.png)
클래스 선택
![](https://blog.kakaocdn.net/dn/vV6BY/btso073bmjP/jM1BvTR7KoNxews53GEGJ1/img.png)
기본 설정을 원하면 위 옵션
세부 설정을 원하면 아래 옵션
![](https://blog.kakaocdn.net/dn/c0EJnS/btso9gqfnGk/K2a12qWOhNseShpeExCwY0/img.png)
라이센스 선택
![](https://blog.kakaocdn.net/dn/bdXWNm/btso11uSQqw/e1zp8ImBhru26cIfwk1oqK/img.png)
oracle base 경로 지정
![](https://blog.kakaocdn.net/dn/Fqk0u/btso6bQ8wHK/2b38kLHmOrDttqNsKXcCa0/img.png)
inventory 경로 지정
![](https://blog.kakaocdn.net/dn/cXTnWs/btso4y0ikE9/5sPB0zgPI1cpMZDIz8mA00/img.png)
일반 목적 선택
![](https://blog.kakaocdn.net/dn/48EOn/btso6jO5DtN/KhzbtKodlx1HSKkTAyRZI1/img.png)
SID명 지정
![](https://blog.kakaocdn.net/dn/K3Pmn/btso11O9Xct/j8Z0dGRgW7QH3Uo5WQNA3K/img.png)
메모리 타겟 설정
![](https://blog.kakaocdn.net/dn/KdboW/btso0sGxX7z/kD5NNizjmqypqOV9IbRxY1/img.png)
문자셋 설정
![](https://blog.kakaocdn.net/dn/W71dv/btso9hbCASd/M20fE2lwbKrD1DT8GNRuuK/img.png)
샘플 스키마 생성 여부 설정
![](https://blog.kakaocdn.net/dn/xiAOW/btso6MwEvHw/Vi3c5E7DqlHtVeW7P1zkBk/img.png)
데이터베이스 데이터파일 경로 지정
![](https://blog.kakaocdn.net/dn/7MYUM/btso5XZQHI6/VqovTkFawQtCAPcqeNsft0/img.png)
EM 사용 여부 설정
![](https://blog.kakaocdn.net/dn/d1k4xz/btso5tR4fDC/7qSCAG6gDrcx9pRP4tQEd0/img.png)
복구 사용 여부 설정
![](https://blog.kakaocdn.net/dn/WMQAg/btso6K6KvZk/c3obWdi22PXagKKPESxDp0/img.png)
관리자 계정 비밀번호 설정
![](https://blog.kakaocdn.net/dn/dawbAG/btso8dgeQRs/kqfVw2ewcIKSenYR5k7FE1/img.png)
그룹 계정 지정
![](https://blog.kakaocdn.net/dn/RdrFx/btso6TvHT69/bHevQteZGsufklmSHVD1UK/img.png)
phsical Memory - ignore all로 무시
OS Kernel Paramete: shmall - 상단 중앙에 Fix & check again을 클릭하고 스크립트 실행
package: compat-libcap1-1.10 - 패키지 설치 [ yum -y install compat-libcap1-1.10 ]
![](https://blog.kakaocdn.net/dn/t6hos/btso5XFwWwY/FSJaV1Y6GVXahIk3Eu6qG1/img.png)
에러가 전부 사라졌다면 완료
![](https://blog.kakaocdn.net/dn/enV4BN/btso08A3pnS/axptVRhfzadGhDB2v13LSK/img.png)
설치 진행
![](https://blog.kakaocdn.net/dn/78CSu/btso4yeUyxA/BkatEQARLzaYnhykFYQS61/img.png)
설치가 종료되면 위의 스크립트 실행
11. Oracle 계정에 환경변수 추가 후 적용
# 위에서 압축을 해제 했을 때 Oracle 구성 파일들의 위치를 환경 변수에 추가해야 함
# 필자는 11g, 12c와 비슷하게 구성하기 위해 /usr/oracle/app/product/18c/dbhome_1 경로로 폴더를 생성하여 구성 파일들을 옮김
$ su oracle
$ vi ~/.bash_profile
export ORACLE_HOME=/usr/oracle/app/product/18c/dbhome_1
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=/usr/oracle/app/product/18c/dbhome_1/lib
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH
$ source ~/.bash_profile
12. init.ora 복사 후 수정
# 위에 설정을 그대로 따라했다면 Recovery를 사용하지 않겠다고 체크 했으므로 init.ora 파일도 수정 필요
$ cp $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/init.ora
$ vi $ORACLE_HOME/dbs/init.ora
# 예시) 필자의 initORCL.ora 설정
# recovery 부분 주석 처리 및 서버의 메모리에 맞게 sga_target 추가 및 Control file 위치 지정 등 필요
sga_target = 1G
db_name='ORCL'
processes = 150
# audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
# audit_trail ='db'
db_block_size=8192
db_domain=''
# db_recovery_file_dest='<ORACLE_BASE>/fast_recovery_area'
# db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCL)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = '/usr/oracle/app/oradata/ORCL/control01.ctl', '/usr/oracle/app/oradata/ORCL/control02.ctl'
compatible ='18.0.0'
13. 접속 확인, DB 시작
$ sqlplus sys as sysdba
$ startup
'정보관리(데이터베이스, DB) > 오라클' 카테고리의 다른 글
Docker Custom Image는 Dockerfile을 통해 생성 (0) | 2023.07.26 |
---|---|
[데이터베이스] tomcat과 Oracle 연동 (0) | 2023.07.26 |
Linux CentOS 7 Oracle 18c Express 설치 진행 (0) | 2023.07.26 |
Oracle XE 18c 샘플데이터 HR 스키마 생성 과정 (0) | 2023.07.26 |
오라클 18c C## 붙이는 이유 (0) | 2023.07.26 |