현재 Oracle DB 버전 목록
11g 11.2.0.4 2020년 12월 31일 지원 종료
12c 릴리스 1 12.1.0.1 2016년 8월 31일 지원 종료
12c 릴리스 2 12.2.0.1 지원 종료 2022년 3월 31일
18c 18.5 출시일 2018.2 현재 상용 버전
19c 19.3 출시일 2019.2 현재 상용 버전
21c 클라이언트만 발표되었으므로 서버가 없습니다.
Oracle에서 지원하는 버전은 12c 12.2, 18.5c 및 19.3c입니다.
최신 버전인 19.3c를 설치해 봅시다.
설치 환경 CentOS 7(Yum 업데이트 실행 중), CentOS 7.9 릴리스
(root@JH~)# cat /etc/redhat-release
CentOS Linux 버전 7.9.2009(코어)
APM 원본 설치 환경 버전
OS 디스크가 가득 차지 않은 경우 용량이 약 30GB여야 합니다. 용량을 결정해주세요
제가 작업하고 있는 서버는 가상서버이고 OS디스크가 25GB라서 디스크를 추가로 연결해서 마운트 했습니다.
먼저 스왑 디스크, /home 마운트, Oracle 설치 폴더 /opt 및 APM 설치 파일 저장소 /usr/local/src에 마운트했습니다.
(root@JH 옵션) # df -Th
파일 시스템 유형 사용 크기 사용 가능 사용 % 마운트 위치
/dev/vda1 xfs 25G 9.8G 16G 40% /
/dev/vdc2 ext4 50G 3.0G 44G 7% /홈
/dev/vdc1 ext4 50G 6.2G 41G 14% /usr/local/src
/dev/vdd1 ext4 50G 53M 47G 1% /옵션
가상 서버에 연결된 추가 디스크를 스왑 디스크로 사용하는 방식입니다.
(root@JH~)# 무료 -m
사용 가능한 총 무료 공유 버프/캐시
메모리: 15884 745 15040 19 97 14914
스왑: 0 0 0
# fdisk /dev/vdb
명령(도움을 위한 m): nn 입력
파티션 유형:
p 기본(기본 0개, 확장 0개, 무료 4개)
전자 확장
선택(기본 p): pp 선택
파티션 번호(1-4, 기본값 1): 1을 입력하거나 Enter 키를 누릅니다.
첫 번째 섹터(2048-62914559, 기본값 2048): 2048을 입력하거나 Enter 키를 누릅니다.
기본값 2048 사용
마지막 섹터, +섹터 또는 +size{K,M,G}(2048-62914559, 기본값 62914559): +8G
유형 Linux 및 크기 8GiB의 파티션 1이 설정됨
t 입력
L 유형(목록 보기)
82개 입력(스왑 영역)
w를 입력(저장 후 종료)
(root@JH~)# mkswap /dev/vdb1
mkswap: /dev/vdb1: 경고: 이전 스왑 서명을 삭제합니다.
스왑 공간 버전 1 설정, 크기 = 8388604 KiB
레이블 없음, UUID=c5791477-74bc-4a71-9d74-28b51f4f98da
여기에서 UUID 값을 확인하십시오.
(root@JH~)# blkid | grep /dev/vdb1 >> /etc/fstab
(root@JH~)# vi /etc/fstab
================================================== =======
#/개발/vdb1
UUID=c5791477-74bc-4a71-9d74-28b51f4f98da 스왑 스왑 기본값 0 0
================================================== =======
(root@JH~)# 스왑온 -a
(root@JH~)# swapon -s
파일 이름 유형 크기 사용된 우선 순위
/dev/vdb1 파티션 8388604 0 -2
(root@JH~)# 무료 -m
사용 가능한 총 무료 공유 버프/캐시
메모리: 15884 750 15022 27 110 14899
교환: 8191 0 8191
Oracle을 설치하기 전에 서버에 설정해야 할 몇 가지 사항이 있습니다.
이 파일에서 서버의 호스트 이름을 지정하십시오. 저는 JH와 함께 했습니다.
# vi /etc/호스트이름
================================================== =======
JH
================================================== =======
#ifconfig
# 컬 ifconfig.io
두 아이피가 같으면 같은 아이피를 넣고 다르면 둘 다 /etc/hosts에 넣는다.
위의 파일에 호스트 이름을 추가하십시오. JH
# vi /etc/호스트
================================================== =======
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 JH
::1 로컬호스트 로컬호스트.로컬도메인 로컬호스트6 로컬호스트6.로컬도메인6
10.101.0.7JH
123.123.123.123JH
================================================== =======
오라클 계정 생성
# useradd -g oinstall -G dba 오라클
# groupadd -g 54321 oinstall
# groupadd -g 54322 dba
# groupadd -g 54323 오페라
# groupadd -g 54324 backupdba
# groupadd -g 54325 dgdba
# groupadd -g 54326kmdba
# groupadd -g 54327 asmdba
# groupadd -g 54330 racdba
# useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba 오라클
# 암호 오라클
Oracle은 데스크톱 그래픽 환경에 설치해야 하므로 XWindows를 설치해야 합니다.
# yum -y install groups “GNOME 데스크탑” “X 윈도우 시스템”
############## 재부팅 시 GUI를 열려면 다음을 실행하십시오. #####################
echo “exec gnome-session” >> ~/.xinitrc
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
그러나 재부팅하면 GUI가 시작되므로 권장되지 않습니다.
################################################# ##### #############
필요한 패키지 및 환경 설치
# yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh compat-libstdc++-33 libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXt maket libstXi sysstat xorg-x11-apps unzip zip xterm smartmontools net-tools vim tigervnc-server
구성 파일을 복사합니다.
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
구성 파일을 편집합니다.
# vi /etc/systemd/system/vncserver@:1.service
================================================== =======
(단위)
설명=원격 데스크톱 서비스(VNC)
이후=syslog.target network.target
(서비스)
유형=단순
# /tmp/.X11 유닉스 환경의 기존 파일 정리
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l oracle -c “/usr/bin/vncserver %i”
#ExecStart=/usr/bin/vncserver_wrapper
PIDFile=/home/oracle/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
(설치하기 위해서)
WantedBy=다중 사용자.대상
================================================== =======
# Systemctl 데몬 리로드
# systemctl은 vncserver@:1.service를 시작합니다.
# vncserver
데스크톱에 액세스하려면 암호가 필요합니다.
비밀번호:
확인하려면:
읽기 전용(y/n) 암호를 입력하시겠습니까? 제이
비밀번호:
확인하려면:
xauth: 파일 /root/.Xauthority가 존재하지 않습니다.
새 “JH:1(루트)” 데스크톱은 JH:1입니다.
기본 시작 스크립트 만들기 /root/.vnc/xstartup
기본 구성 만들기 /root/.vnc/config
/root/.vnc/xstartup에 지정된 애플리케이션 시작
로그 파일은 /root/.vnc/JH:1.log입니다.
VNC 액세스를 위한 방화벽 설정.
# vi /etc/sysconfig/iptables
================================================== =======
*필터
:입력 수락(0:0)
:계속 수락(0:0)
:출력 수락(0:0)
:RH-방화벽-1-입력 – (0:0)
-A 입력 -j RH-방화벽-1-입력
-A 전달 -j RH-방화벽-1-입력
-A RH-방화벽-1-INPUT -p tcp -m 상태 –상태 신규 -m tcp –dport 5901 -j ACCEPT
-A RH-방화벽-1-INPUT -p tcp -m 상태 –상태 신규 -m tcp –dport 6001 -j ACCEPT
================================================== =======
# systemctl이 iptables를 다시 시작합니다.
VNC 목록을 확인하십시오.
(root@JH~)# vncserver -list
TigerVNC 서버 세션:
X 디스플레이 # 프로세스 ID
:1 23706
Oracle 설정 서버에서 설정합니다.
# vi /etc/sysctl.conf
================================================== =======
fs.aio-max-nr = 1048576
fs.file-max = 6815744
커널.sem = 250 32000 100 128
커널.shmmni = 4096
커널.shmall = 1073741824
커널..shmmax = 4398046511104
커널.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
net.ipv4.ip_local_port_range = 9000 65500
================================================== =======
커널 변경 사항을 적용하고 확인합니다.
# sysctl-p
# mkdir /etc/limit.d
# vi /etc/limit.d/oracle-database-preinstall-19c.conf
=====================
# oracle-database-preinstall-19c nofile 소프트 제한 설정은 1024입니다.
오라클 소프트 노파일 1024
# oracle-database-preinstall-19c Nofile Hard Limit 설정은 65536입니다.
오라클 하드 노파일 65536
# oracle-database-preinstall-19c nproc 소프트 제한 설정은 16384입니다.
# 자세한 내용은 orabug15971421을 참조하십시오.
오라클 소프트 nproc 16384
# oracle-database-preinstall-19c nproc 하드 제한 설정은 16384입니다.
오라클 하드 nproc 16384
# 스택 소프트 제한에 대한 oracle-database-preinstall-19c 설정은 10240KB입니다.
오라클 소프트스택 10240
# oracle-database-preinstall-19c 스택 하드 제한 설정은 32768KB입니다.
오라클 하드 스택 32768
# oracle-database-preinstall-19c Memlock Hard Limit 설정은 x86_64에서 최대 128GB 또는 x86에서 3GB 또는 90% RAM입니다.
오라클 하드 Memlock 134217728
# oracle-database-preinstall-19c Memlock Soft Limit 설정은 x86_64에서 최대 128GB 또는 x86에서 3GB 또는 90% RAM입니다.
오라클 소프트 memlock 134217728
# oracle-database-preinstall-19c 데이터 소프트 제한 설정은 “무제한”입니다.
오라클 소프트 데이터 무제한
# oracle-database-preinstall-19c 데이터 하드 제한 설정은 “무제한”입니다.
오라클 하드 데이터 무제한
=====================
CentOS 8 버전의 경우 다음 명령을 사용하여 설정 및 필수 패키지를 자동으로 설치하고 구성할 수 있습니다.
# 얌 설치 -y dnf
# dnf 설치 -y https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
시스템 환경 변수 설정, Oracle 홈 및 인벤토리 디렉토리 생성
# vi /home/oracle/.bash_profile
# vi /기타/프로필
# vi ~/.bash_profile
===============================
내보내기 ORACLE_BASE=/opt/oracle
내보내기 ORACLE_HOME=$ORACLE_BASE/product/19.3/dbhome_1
내보내기 ORACLE_SID=ORCL
내보내기 경로=$ORACLE_HOME/bin:$PATH
내보내기 ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
내보내기 LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
경로=$PATH:$HOME/.local/bin:$HOME/bin
===============================
# 소스 /etc/profile
# 소스 /home/oracle/.bash_profile
# 소스 ~/.bash_profile
# mkdir -p /opt/oracle/product/19.3/dbhome_1 => 소프트웨어 디렉토리 생성. (ORACLE_HOME)
# mkdir -p /opt/oraInventory => 인벤토리 디렉토리를 생성합니다. (설치 로그 저장 디렉터리)
오라클 데이터베이스 실패
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery 이 웹 사이트에서 Oracle에 로그인하여 찾아 다운로드할 수 있습니다.
내 컴퓨터에 다운로드하고 FTP 서버에 업로드했습니다.
# 받은 MV 파일의 이름을 Oracle_Database_19.3.0.0.0_for_Linux_x86_64.zip으로 변경합니다.
# cp -arp Oracle_Database_19.3.0.0.0_for_Linux_x86_64.zip /opt/oracle/product/19.3/dbhome_1/
# cd /opt/oracle/product/19.3/dbhome_1/
# Oracle_Database_19.3.0.0.0_for_Linux_x86_64.zip 추출
# chown -R oracle:oinstall /opt/oracle/
# chown -R oracle:oinstall /opt/oraInventory/
# netstat -ntlp
활성 인터넷 연결(서버 전용)
Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름
tcp 0 0 0.0.0.0:6001 0.0.0.0:* 수신 23706/Xvnc
tcp 0 0 0.0.0.0:21 0.0.0.0:* 수신 27356/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* 20662/sshd 듣기
tcp 0 0 127.0.0.1:25 0.0.0.0:* 수신 1102/마스터
tcp 0 0 0.0.0.0:3306 0.0.0.0:* 듣기 1924/mysqld
tcp 0 0 0.0.0.0:5901 0.0.0.0:* 수신 23706/Xvnc
tcp6 0 0 :::80 :::* 2059/httpd 듣기
tcp6 0 0 :::6001 :::* 수신 23706/Xvnc
tcp6 0 0 :::22 :::* 20662/sshd 듣기
tcp6 0 0 ::1:25 :::* 수신 1102/마스터
tcp6 0 0 :::5901 :::* 23706/Xvnc 듣기
연결할 현재 컴퓨터에 VNC 뷰어를 설치하고 실행합니다. 포트 5901에 대한 VNC 연결.
# vncserver
데스크톱에 액세스하려면 암호가 필요합니다.
비밀번호:
확인하려면:
읽기 전용(y/n) 암호를 입력하시겠습니까? 제이
비밀번호:
확인하려면:
xauth: 파일 /root/.Xauthority가 존재하지 않습니다.
새 “JH:1(루트)” 데스크톱은 JH:1입니다.
기본 시작 스크립트 만들기 /root/.vnc/xstartup
기본 구성 만들기 /root/.vnc/config
/root/.vnc/xstartup에 지정된 애플리케이션 시작
로그 파일은 /root/.vnc/JH:1.log입니다.
여기에 입력한 비밀번호를 입력하세요.
처음 실행하면 아래와 같은 화면을 볼 수 있습니다. 한국어를 클릭한 후 다음을 클릭합니다.
한국인이고 표준 키보드를 사용하는 경우 한국어(101/104 키 호환)를 선택하고 다음을 클릭합니다.
위치 정보의 체크를 해제하고 다음을 누르세요.
CentOS Linux 시작을 클릭합니다.
위 화면을 클릭하면 다음과 같은 화면이 나타납니다. 우클릭 후 터미널 열기를 클릭하여 실행합니다.
(root@JH~)# su oracle –
(oracle@JH 루트)$ 출처 ~/.bash_profile
(oracle@JH dbhome_1)$ cd $ORACLE_HOME
(oracle@JH dbhome_1)$ 비밀번호
/opt/oracle/product/19.3/dbhome_1
# ./runInstaller에서 다음과 같은 오류가 발생합니다.
새 터미널을 열고 루트로 연결하십시오.
(root@JH~)# xhost +
액세스 제어 비활성화, 클라이언트는 모든 호스트에서 연결할 수 있습니다. ->> 나에게 중요하지 않습니다.
(root@JH ~)# xclock (시계가 열립니다. x를 눌러 닫으십시오. 또는 ctrl+c를 누르십시오.)
(root@JH~)# xterm
xterm: ‘-misc-fixed-medium-r-semicondensed–13-120-75-75-c-60-iso10646-1’ 글꼴을 로드할 수 없습니다.
xterm 명령을 입력하면 새 터미널이 나타납니다.
새 xterm 터미널을 입력하십시오.
(root@JH~)# xclock 입력
xterm에 다음 명령을 입력합니다.
(root@JH~)# 내보내기 DISPLAY=:1
(root@JH ~)# echo $DISPLAY
:하나
그리고 오라클로 로그인한 터미널에서 다시 명령을 실행하면 같은 에러가 납니다(아마 공백 때문인듯).
(oracle@JH dbhome_1)$ 내보내기 DISPLAY=:1
(oracle@JH dbhome_1)$ ./runInstaller
실행 중인 터미널을 절대 만지지 마십시오.




















설치가 완료되었습니다.
cui 터미널을 실행하여 연결합니다. 그런 다음 VNC를 닫습니다.
(root@JH~)# netstat -ntlp
활성 인터넷 연결(서버 전용)
Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름
tcp 0 0 0.0.0.0:6001 0.0.0.0:* 수신 23706/Xvnc
tcp 0 0 0.0.0.0:21 0.0.0.0:* 수신 27356/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* 20662/sshd 듣기
tcp 0 0 127.0.0.1:25 0.0.0.0:* 수신 1102/마스터
tcp 0 0 0.0.0.0:3306 0.0.0.0:* 듣기 1924/mysqld
tcp 0 0 0.0.0.0:5901 0.0.0.0:* 수신 23706/Xvnc
tcp6 0 0 :::80 :::* 2059/httpd 듣기
tcp6 0 0 :::6001 :::* 수신 23706/Xvnc
tcp6 0 0 :::22 :::* 20662/sshd 듣기
tcp6 0 0 ::1:25 :::* 수신 1102/마스터
tcp6 0 0 :::18907 :::* 수신 19708/ora_d000_ORCL
tcp6 0 0 :::5901 :::* 23706/Xvnc 듣기
(root@JH ~)# kill -9 23706 터미널 강제 종료 PID 보안상의 이유로 다른 사람이 VNC를 통해 연결할 수 있기 때문에 종료합니다.
(root@JH~)# netstat -ntlp
활성 인터넷 연결(서버 전용)
Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름
tcp 0 0 0.0.0.0:21 0.0.0.0:* 수신 27356/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* 20662/sshd 듣기
tcp 0 0 127.0.0.1:25 0.0.0.0:* 수신 1102/마스터
tcp 0 0 0.0.0.0:3306 0.0.0.0:* 듣기 1924/mysqld
tcp6 0 0 :::80 :::* 2059/httpd 듣기
tcp6 0 0 :::22 :::* 20662/sshd 듣기
tcp6 0 0 ::1:25 :::* 수신 1102/마스터
tcp6 0 0 :::18907 :::* 수신 19708/ora_d000_ORCL
Oracle 설치 후 연결 방법
(root@JH~)# su – 오라클
마지막 로그인: Pkt./0 2021년 6월 16일 수요일 18:46:37 KST
(오라클@JH~)$ cd $ORACLE_HOME/bin
(오라클@JH빈)$ ./sqlplus /as sysdba
SQL*Plus: 릴리스 19.0.0.0.0 – 2021년 6월 16일 수요일 18:47:36 생산
버전 19.3.0.0.0
Copyright (c) 1982, 2019, 오라클. 판권 소유.
연결됨:
Oracle Database 19c Enterprise Edition 버전 19.0.0.0.0 – 프로덕션
버전 19.3.0.0.0
SQL>
Oracle 인스턴스, Oracle 리스너 실행 및 재시작
(root@JH~)# 수 – 오라클
마지막 로그인: Pkt./0 2021년 6월 16일 수요일 18:46:37 KST
(오라클@JH~)$ cd $ORACLE_HOME/bin
(오라클@JH빈)$ ./sqlplus /as sysdba
SQL> Oracle 인스턴스를 시작하는 시작 명령
ORA-01081: 이미 실행 중인 ORACLE을 시작할 수 없습니다. 먼저 중지하십시오.
SQL> Oracle 인스턴스를 즉시 종료하는 명령
데이터베이스가 닫혔습니다.
데이터베이스 연결이 끊어졌습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> 시작
ORACLE 인스턴스가 시작되었습니다.
전체 시스템 전역 영역 4999609728바이트
고정 크기 9145728바이트
가변 크기 973078528바이트
데이터베이스 버퍼 4009754624바이트
다시 실행 버퍼 7630848바이트
데이터베이스가 마운트되었습니다.
데이터베이스가 열려 있습니다.
Oracle 인스턴스 시작 전 데몬 상태
# netstat -ntlp
활성 인터넷 연결(서버 전용)
Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름
tcp 0 0 0.0.0.0:21 0.0.0.0:* 수신 27356/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* 20662/sshd 듣기
tcp 0 0 127.0.0.1:25 0.0.0.0:* 수신 1102/마스터
tcp 0 0 0.0.0.0:3306 0.0.0.0:* 듣기 1924/mysqld
tcp6 0 0 :::80 :::* 2059/httpd 듣기
tcp6 0 0 :::22 :::* 20662/sshd 듣기
tcp6 0 0 ::1:25 :::* 수신 1102/마스터
Oracle 인스턴스 시작 후 데몬 상태
# netstat -ntlp
활성 인터넷 연결(서버 전용)
Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름
tcp 0 0 0.0.0.0:21 0.0.0.0:* 수신 27356/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* 20662/sshd 듣기
tcp 0 0 127.0.0.1:25 0.0.0.0:* 수신 1102/마스터
tcp 0 0 0.0.0.0:3306 0.0.0.0:* 듣기 1924/mysqld
tcp6 0 0 :::80 :::* 2059/httpd 듣기
tcp6 0 0 :::13777 :::* 수신 32240/ora_d000_ORCL
tcp6 0 0 :::22 :::* 20662/sshd 듣기
tcp6 0 0 ::1:25 :::* 수신 1102/마스터
오라클 리스너 실행
루트 Oracle 계정으로 로그인해야 합니다. (Oracle은 Oracle 데이터베이스의 소유자이므로 Oracle로 로그인해야 합니다.)
(root@JH bin)# su oracle –
(oracle@JH 빈)$pwd
/opt/oracle/product/19.3/dbhome_1/bin
(oracle@JH 빈)$ lsnrctl 시작
(oracle@JH 빈)$ lsnrctl 중지
# netstat -ntlp
tcp6 0 0 :::1539 :::* LISTEN 3199/tnslsnr <– 오라클 리스너 실행 데몬
tcp6 0 0 :::13777 :::* LISTEN 32240/ora_d000_ORCL <– Oracle 인스턴스 실행 데몬
Oracle 수신기와 Oracle 인스턴스가 정상적으로 실행되었습니다.
PS 설치 중 오류 및 TIP
설치 중 발생한 오류입니다.
(INS-20802) Oracle Net Configuration Assistant가 실패했습니다.
#ifconfig
# 컬 ifconfig.io
둘 다 같은 경우에는 같은 IP만 입력하고, 다른 경우에는 두 개의 IP를 입력해야 합니다.
#호스트네임
JH
# vi /etc/호스트
================================================== =======
전)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 JH
::1 로컬호스트 로컬호스트.로컬도메인 로컬호스트6 로컬호스트6.로컬도메인6
10.101.0.7JH
123.123.123.123JH
================================================== =======
로그인하시면 설치 과정을 보실 수 있습니다.
# 꼬리 -f /tmp/InstallActions2021-06-16_11-30-29AM/installActions2021-06-16_11-30-29AM.log
그게 다야.