Backend/데이터베이스

오라클 19c 설치 (REHL 8) with RPM

냠냠:) 2024. 2. 13. 13:09

요구사항

프로젝트 수행 중 AWS에 있는 RDS를 설치형 RDB로 변경해서 진행해야하는 요구사항이 있었다.
우리가 사용하는 RDS는 MariaDB인데, 고객사가 보안정책 상 Oracle을 사용해야한다 해서 설치하게 되었다. (JPA만세)

우여곡절이 정말 많았던 설치. Oracle은 처음이여서 처음보는 에러와 난관에 2~3일은 걸린 듯하다.

나중에 내가 다시 보기위해 포스트를 한다. 만약 처음부터 설치하고 싶은 사람은 Docs 참고하길 바란다.

백엔드 개발자라면 DB설치도 할 수 있어야한다고 생각한다

 

1. REHL 8에서 누락된 compat-libca1, compat-libstdc++-33 패키지 설치

yum install -y http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum install -y http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm

 

반응형

2. 설치

2.1. 수동 설치

2.1.1 Oracle preinstall rpm 설치

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
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

2.1.2. Oracle 19c rpm 설치

설치 파일 링크

-> 설치한 파일은 /tmp 디렉터리로 옮겨주기*

2.1.2. Local install

# cd /tmp
# yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

2.2. 자동 설치

2.2.1 Preinstallation RPM and the Oracle Database RPM 자동 설치

# Log in as root.
yum -y install oracle-database-ee-19c

 

3. Oracle DB 실행

/etc/init.d/oracledb_ORCLCDB-19c configure
# sqlplus 실행

sqlplus / as sysdba
# 재실행 시
lsnrctl stop
sqlplus /nolog
connect /as sysdba
shutdown immediate;
sqlplus /nolog
connect /as sysdba
startup
lsnrctl start

4. 기타 참고사항

The java.library.path system variable is missing or invalid 에러 시

yum install libnsl.x86_64

환경 변수 설정파일

su oracle
cd /opt/oracle/product/19c/dbhome_1/bin
. oraenv

 

728x90

etc

# 참고용 프로파일 (oracle 유저 .bash_profile에 추가)
cat /etc/init.d/oracledb_ORCLCDB-19c
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 
export ORACLE_VERSION=19c 
export ORACLE_SID=ORCLCDB
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=AL32UTF8
export PDB_NAME=ORCLPDB1
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true

# General exports and vars
export PATH=$ORACLE_HOME/bin:$PATH
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
DBCA=$ORACLE_HOME/bin/dbca
NETCA=$ORACLE_HOME/bin/netca
ORACLE_OWNER=oracle
RETVAL=0
CONFIG_NAME="oracledb_$ORACLE_SID-$ORACLE_VERSION.conf"
CONFIGURATION="/etc/sysconfig/$CONFIG_NAME"


--------------------------------------사용자 생성 및 스키마 생성------------------------

ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE; #_oracle_script 설정을 true로 변경하면 c## 접두어를 붙이지 않고 사용자를 생성할 수 있다.
CREATE USER sample IDENTIFIED BY "sample123";
DROP USER sample CASCADE;

GRANT RESOURCE,CONNECT,DBA TO sample;

sqlplus sample/sample123;
select * from user_tables;
GRANT SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO sample;

 

Reference

 

 

반응형