OS환경 : Oracle Linux 7.6 (64bit)
DB 환경 : Oracle Database 19.3.0.0
방법 : Oracle Linux 7.6에 Oracle 19c RPM 설치 가이드
OS 설치는 아래 게시물 참조
Oracle linux 7.6 설치 가이드(https://positivemh.tistory.com/521)
oracle 19c rpm 설치파일 다운로드(See All 한뒤 sha256sum 확인 가능)
공식홈페이지 접속(https://www.oracle.com/database/technologies/oracle-database-software-downloads.html)
(2,694,664,264 bytes) (sha256sum - c519397aea7af9f097cbde6597783f17964e5d53ea3fd90da042d4b65d379652)
로그인 후 linux x86-64 RPM 파일 다운로드
설치파일 서버에 업로드 후 sha256sum 값 확인(파일 검증)
1 2 3 4 5 6 7 8 9 | # mkdir -p /app/media # 파일업로드 # ls -al /app/media/ total 4194240 drwxr-xr-x. 2 root root 53 Apr 10 11:40 . drwxr-xr-x. 3 root root 19 Apr 10 11:39 .. -rw-r--r--. 1 root root 2694664264 Apr 10 11:41 oracle-database-ee-19c-1.0-1.x86_64.rpm # sha256sum oracle-database-ee-19c-1.0-1.x86_64.rpm c519397aea7af9f097cbde6597783f17964e5d53ea3fd90da042d4b65d379652 oracle-database-ee-19c-1.0-1.x86_64.rpm |
나온 값이 다운로드 받을 때 나와있는 값과 동일한지 확인(동일함)
오라클 설치 전 사전 설정
자동 설정(rpm)(root 계정)
공식홈페이지에서 preinstall rpm 다운로드 후 서버에 업로드
또는 curl로 서버에 직접 다운로드
1 | # curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm |
preinstall 패키지 설치
1 2 | # cd /app/media # yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm |
자동 설정(network)
preinstall 패키지 설치(root 계정)
1 | # yum install -y oracle-database-preinstall-19c |
자동 설정 후 수동설정 파일 확인필요
/etc/sysctl.conf에 아래 내용 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # cat /etc/sysctl.conf fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.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 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 |
잘 입력되었는지 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # /sbin/sysctl -p fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.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 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 |
아래 파일 생성 후 내용 추가(확인)
1 2 3 4 5 6 7 8 9 | # cat /etc/security/limits.d/oracle-database-preinstall-19c.conf oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728 |
유저 및 그룹 생성(수동 생성시)
1 2 | # groupadd dba # useradd -g dba -G dba oracle |
유저 및 그룹 수정(자동 생성시)
1 | # usermod -g dba -G dba oracle |
패스워드 설정
1 | # passwd oracle |
selinux disable 설정
1 2 | # vi /etc/selinux/config SELINUX=disabled |
불필요한 서비스 정지
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # systemctl stop firewalld systemctl disable firewalld systemctl stop bluetooth systemctl disable bluetooth systemctl stop chronyd systemctl disable chronyd mv /etc/chrony.conf /etc/chrony.conf.bak systemctl stop ntpdate systemctl disable ntpdate systemctl stop avahi-daemon.socket systemctl disable avahi-daemon.socket systemctl stop avahi-daemon systemctl disable avahi-daemon systemctl stop libvirtd systemctl disable libvirtd |
Oracle Software 설치
oracle rpm 설치(root 계정)
1 | # yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm |
Oracle DB 생성 및 구성
1 | # /etc/init.d/oracledb_ORCLCDB-19c configure |
파라미터 수정 필요시 configuration 수정
/etc/sysconfig/oracledb_ORCLCDB-19c.conf
기본 설정값은 ORCLPDB1라는 pluggable database(pdb)를 사용하여 ORCLCDB라는 container database[cdb]를 생성함
그리고 리스너를 기본 포트 (1521)로 구성함
ORACLE_DATA_LOCATION은 /opt/oracle/oradata 로 설정됨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # vi /etc/sysconfig/oracledb_ORCLCDB-19c.conf #This is a configuration file to setup the Oracle Database. #It is used when running '/etc/init.d/oracledb_ORCLCDB configure'. #Please use this file to modify the default listener port and the #Oracle data location. # LISTENER_PORT: Database listener LISTENER_PORT=1521 # ORACLE_DATA_LOCATION: Database oradata location ORACLE_DATA_LOCATION=/opt/oracle/oradata # EM_EXPRESS_PORT: Oracle EM Express listener EM_EXPRESS_PORT=5500 |
설치 경로 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 | # cd /opt/oracle/ # ls -al total 8 drwxr-xr-x. 10 oracle oinstall 4096 Apr 10 12:02 . drwxr-xr-x. 5 root root 46 Apr 10 11:57 .. drwxr-x---. 3 oracle dba 21 Apr 10 12:02 admin drwxr-x---. 3 oracle dba 21 Apr 10 12:05 audit drwxr-x---. 5 oracle dba 47 Apr 10 12:05 cfgtoollogs drwxrwx---. 2 oracle dba 6 Apr 10 11:57 checkpoints drwxrwxr-x. 23 oracle dba 4096 Apr 10 11:57 diag drwxr-x---. 3 oracle dba 21 Apr 10 12:02 oradata drwxrwx---. 4 oracle dba 78 Apr 10 12:23 oraInventory drwxr-xr-x. 3 oracle oinstall 17 Apr 10 11:49 product |
/opt/oracle이 일반적으로 오라클 설치 후 보이는 $ORACLE_BASE가 됨
오라클, 리스너 프로세스 확인
1 2 3 4 5 6 7 | # ps -ef | grep pmon oracle 3177 1 0 12:23 ? 00:00:00 ora_pmon_ORCLCDB root 6070 31606 0 13:02 pts/1 00:00:00 grep --color=auto pmon # ps -ef | grep tns root 15 2 0 10:54 ? 00:00:00 [netns] root 6081 31606 0 13:02 pts/1 00:00:00 grep --color=auto tns oracle 32537 1 0 12:02 ? 00:00:00 /opt/oracle/product/19c/dbhome_1/bin/tnslsnr LISTENER -inherit |
oracle 계정 .bash_profile 설정
1 2 3 4 5 6 7 8 | # su - oracle $ vi .bash_profile export TMP=/tmp; export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export ORACLE_SID=ORCLCDB export PATH=$PATH:$ORACLE_HOME/bin alias ss='sqlplus / as sysdba' |
적용
1 | $ . ./.bash_profile |
sqlplus 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 10 13:07:51 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> select instance_name, version, status from v$instance; INSTANCE_NAME VERSION STATUS ---------------- ----------------- ------------ ORCLCDB 19.0.0.0.0 OPEN |
system 유저 패스워드 변경(cdb, pdb)
1 2 3 4 5 6 7 8 9 | SQL> SHOW CON_NAME CON_NAME ------------------------------ CDB$ROOT SQL> alter user system identified by oracle; User altered. |
pdb로 세션 스위칭
1 2 3 4 5 6 7 8 9 | SQL> ALTER SESSION SET CONTAINER = ORCLPDB1; Session altered. SQL> SHOW CON_NAME CON_NAME ------------------------------ ORCLPDB1 |
간단한 세션 변경 확인 테스트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #세션 PDB로 전환 SQL> ALTER SESSION SET CONTAINER = ORCLPDB1; Session altered. # 확인 SQL> SHOW CON_NAME CON_NAME ------------------------------ ORCLPDB1 #오브젝트 수 확인 SQL> select count(*) from dba_objects; COUNT(*) ---------- 72356 #세션 CDB로 전환 SQL> ALTER SESSION SET CONTAINER = CDB$ROOT; Session altered. # 확인 SQL> SHOW CON_NAME CON_NAME ------------------------------ CDB$ROOT #오브젝트 수 확인 SQL> select count(*) from dba_objects; COUNT(*) ---------- 72374 |
cdb와 pdb의 오브젝트 수가 다름을 확인 가능
간단한 접속변경 확인 테스트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #PDB로 접속 SQL> CONN system/oracle@//localhost:1521/ORCLPDB1 Connected. # 확인 SQL> SHOW CON_NAME CON_NAME ------------------------------ ORCLPDB1 #오브젝트 수 확인 SQL> select count(*) from dba_objects; COUNT(*) ---------- 72356 #CDB로 접속 CONN system/oracle@//localhost:1521/ORCLCDB # 확인 SQL> SHOW CON_NAME CON_NAME ------------------------------ CDB$ROOT #오브젝트 수 확인 SQL> select count(*) from dba_objects; COUNT(*) ---------- 72374 |
RPM으로 설치한 Oracle 삭제
오라클 계정으로 리스너 종료
1 2 3 4 5 6 7 8 | $ lsnrctl stop LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 10-APR-2020 15:01:55 Copyright (c) 1991, 2019, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle19)(PORT=1521))) The command completed successfully |
dbca 로 db 제거(oracle 계정)
1 | $ dbca -silent -deleteDatabase -sourceDB ORCLCDB -sysDBAUserName sys -sysDBAPassword oracle |
Oracle Software 제거(root 계정)
1 | # yum -y remove oracle-database-ee-19c |
삭제 확인
1 2 3 4 5 6 7 8 9 | # su - oracle Last login: Fri Apr 10 15:13:37 KST 2020 on pts/1 $ cd $ORACLE_BASE $ ls -al total 4 drwxr-xr-x. 4 oracle oinstall 37 Apr 10 15:13 . drwxr-xr-x. 5 root root 46 Apr 10 11:57 .. drwxr-x---. 5 oracle dba 47 Apr 10 12:05 cfgtoollogs drwxrwxr-x. 23 oracle dba 4096 Apr 10 11:57 diag |
$ORACLE_BASE에 로그 파일 경로 밖에 남아있지 않음
참조 :
https://dataforum.io/display/ORCL/Oracle+Database+19c+RPM+Install
https://oracle-base.com/articles/12c/multitenant-connecting-to-cdb-and-pdb-12cr1'ORACLE > Install' 카테고리의 다른 글
Oracle Linux 7.6에 Oracle 19c 설치 가이드 (19) | 2020.04.26 |
---|---|
Oracle 19c SINGLE OPatch Release Update 적용 가이드 (2) | 2020.04.24 |
Oracle Linux 7.6에 Oracle 18c 에서 Oracle 19c로 AutoUpgrade 가이드 (0) | 2020.03.24 |
Oracle Linux 6.8에 Oracle 11g R2 환경 OS Watcher 설치 가이드 (0) | 2020.03.11 |
Oracle 19c RAC OPatch Release Update 적용 가이드 (6) | 2020.03.08 |