반응형
oracle XE (Express Edition)은 비상업적 버전으로, Oracle에서 EE와 달리 무료로 제공되는 버전이다.
데이터베이스 크기 및 CPU, 메모리 사용량에 제한이 있다.
(12GB 데이터베이스 크기와 1 CPU, 2GB RAM로 스펙 제한, 따라서 개발용에 적합)
rpm 파일 다운 및 설치(root로 진행)
pre-install
# curl로 rpm 파일 저장하기, -o로 output 파일명 지정
$ curl -o oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm
# yum으로 install
$ yum -y localinstall oracle-databasepreinstall-21c-1.0-1.el7.x86_64.rpm
install
다운로드 파일 링크(참고) : 여기
# curl로 파일 저장
# -L 옵션 : Redirect (301, 302)가 응답될 경우, redirect 된 링크로 가서, 파일을 다운로드 받음
$ curl -L -o oracle-database-install-21c-1.0-1.el7.x86_64.rpm https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-21c-1.0-1.ol7.x86_64.rpm
# yum으로 설치
$ yum -y localinstall oracle-database-install-21c-1.0-1.el7.x86_64.rpm
여기까지 완료되었다면 oracle 계정이 생성되었을 것이다.
# oracle 계정 생성 확인
$ su - oracle
# 별도 oracle 계정 비밀번호 설정을 원하면 다시 root로 재접속해 oracle 계정 비밀번호 설정
# su root
# passwd oracle
configure로 db 셋업(root로 진행)
# 설정 시작
$ /etc/init.d/oracle-xe-21c configure
# 이후 SYS, SYSTEM, PDBADMIN 계정의 비밀번호를 입력하고 생성한다.
. bash_profile 환경변수 수정(oracle 계정으로 진행)
# oracle 계정으로 전환
$ su - oracle
# vim 열어 수정
$ vi ~/.bash_profile
# 이하는 .bash_profile 내용
##########################
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_HOME=/opt/oracle/product/21c/dbhomeXE
export ORACLE_SID=XE
export ORAENV_ASK=NO
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=.:$ORACLE_HOME/bin:$PATH
환경변수 적용, sqlplus를 통한 DB 접속
환경변수 적용
# 상기 작업한 oracle 사용자 계정의 환경변수 적용
$ source ~/.bash_profile
# oracle 환경변수 적용
$ . oraenv
oracle db startup
# sqlplus SYS 계정으로 실행
$ sqlplus SYS as SYSDBA
# 이후 비밀번호 입력
실행 결과
DB 활성화, PDB 전환 및 사용자 생성
DB 활성화
# DB 상태 확인
SELECT STATUS FROM v$instance;
# mounted 시 DATABASE OPEN을 통해 활성화
ALTER DATABASE OPEN;
최초 접속 시 설정되어 있는 CDB에서 디폴트로 생성된 PDB로 전환
# 존재하는 PDB를 확인
SELECT NAME FROM v$pdbs;
# CDB -> PDB로 세션 전환
ALTER SESSION SET CONTAINER=<PDB 명>
PDB(Plugged Database)와 CDB(Container Database)는 Oracle 12c 이상에서 도입된 다중 테넌트 아키텍처의 핵심 개념이다.
CDB는 여러 개의 PDB를 포함할 수 있는 데이터베이스이다.
PDB는 CDB 내에 존재하는 독립적인 데이터베이스이다.
각 PDB는 자신의 데이터 및 메타데이터를 갖고 있으며, 다른 PDB와 완전히 분리되어 있다.
즉, PDB는 데이터베이스의 독립성을 유지하면서도 CDB의 자원을 공유할 수 있다.
유저 생성
# 계정 생성
CREATE USER <USERNAME> IDENTIFIED BY <PASSWORD>;
# 권한 부여
GRANT DBA TO <USERNAME>;
접속 확인 (해당 유저로 접속하기 위해서는 CDB가 아닌 PDB로 접속해야 한다)
$ sqlplus <username>/<password>@//<host>:<port>/<PDB명>
# ex) sqlplus foo/bar@localhost:1521/XEPDB1
# 해당 내용은 shortcut을 만들기 위해서는 bash_profile로 등록하시던지 말던지
접속 결과
서비스 등록, selinux 비활성화 설정
서비스 등록 (root 계정으로 진행, 재부팅 시 oracle 서비스 자동 시작)
$ systemctl enable oracle-xe-21c.service
selinux 비활성화 설정 (시스템 통신 문제 사유)
$ vi /etc/selinux/config
# 이하는 파일 내용 (12번째 라인만 변경)
#################
# 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 #### 기존 enforcing을 disabled로 변경 #####
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
SELINUX disabled 이후 재부팅
$ init 6
반응형
'DEV > Database' 카테고리의 다른 글
[ORACLE] DECODE 함수 (0) | 2024.06.07 |
---|---|
[ORACLE] CASE WHEN THEN (0) | 2024.01.29 |
[Oracle] WHERE 절에서 LIKE 조건 패턴의 대소문자를 구분 없이 적용하는 법 (3) | 2024.01.18 |
[MySQL] 기초 문법 정리 (2 / 2) (0) | 2023.11.01 |
[MySQL] 기초 문법 정리 (1 / 2) (0) | 2023.10.31 |