출처: 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 명령어로 유저 변경하면 에러 발생 )
데이터베이스와 리스너를 같이 설정한다면 위 옵션
oracle 18C 구성만 한다면 아래 옵션
클래스 선택
기본 설정을 원하면 위 옵션
세부 설정을 원하면 아래 옵션
라이센스 선택
oracle base 경로 지정
inventory 경로 지정
일반 목적 선택
SID명 지정
메모리 타겟 설정
문자셋 설정
샘플 스키마 생성 여부 설정
데이터베이스 데이터파일 경로 지정
EM 사용 여부 설정
복구 사용 여부 설정
관리자 계정 비밀번호 설정
그룹 계정 지정
phsical Memory - ignore all로 무시
OS Kernel Paramete: shmall - 상단 중앙에 Fix & check again을 클릭하고 스크립트 실행
package: compat-libcap1-1.10 - 패키지 설치 [ yum -y install compat-libcap1-1.10 ]
에러가 전부 사라졌다면 완료
설치 진행
설치가 종료되면 위의 스크립트 실행
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 |