요구사항
프로젝트 수행 중 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
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
반응형
'Backend > 데이터베이스' 카테고리의 다른 글
[PostgreSQL] Logical Replication로 데이터 Migration하기 (1) | 2024.10.13 |
---|---|
AWS RDS(MariaDB), MongoDB 운영 데이터를 개발로 이관하기 (0) | 2024.02.13 |
MariaDB 명령어 정리 (테이블/유저/백업/복구) (0) | 2024.02.13 |
[데이터베이스 / DB] Error Code: 1175, You are using safe update mode and you tried to update a table without a WHERE.... 처리방법 (0) | 2021.02.23 |