목차
반응형
oracle XE (Express Edition)은 비상업적 버전으로, Oracle에서 EE와 달리 무료로 제공되는 버전이다.
데이터베이스 크기 및 CPU, 메모리 사용량에 제한이 있다.
(12GB 데이터베이스 크기와 1 CPU, 2GB RAM로 스펙 제한, 따라서 개발용에 적합)
rpm 파일 다운 및 설치(root로 진행)
pre-install
bash
닫기# 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
다운로드 파일 링크(참고) : 여기
bash
닫기# 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 계정이 생성되었을 것이다.
bash
닫기# oracle 계정 생성 확인 $ su - oracle # 별도 oracle 계정 비밀번호 설정을 원하면 다시 root로 재접속해 oracle 계정 비밀번호 설정 # su root # passwd oracle
configure로 db 셋업(root로 진행)
bash
닫기# 설정 시작 $ /etc/init.d/oracle-xe-21c configure # 이후 SYS, SYSTEM, PDBADMIN 계정의 비밀번호를 입력하고 생성한다.

. bash_profile 환경변수 수정(oracle 계정으로 진행)
bash
닫기# 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 접속
환경변수 적용
bash
닫기# 상기 작업한 oracle 사용자 계정의 환경변수 적용 $ source ~/.bash_profile # oracle 환경변수 적용 $ . oraenv
oracle db startup
bash
닫기# sqlplus SYS 계정으로 실행 $ sqlplus SYS as SYSDBA # 이후 비밀번호 입력
실행 결과

DB 활성화, PDB 전환 및 사용자 생성
DB 활성화
sql
닫기# DB 상태 확인 SELECT STATUS FROM v$instance; # mounted 시 DATABASE OPEN을 통해 활성화 ALTER DATABASE OPEN;
최초 접속 시 설정되어 있는 CDB에서 디폴트로 생성된 PDB로 전환
sql
닫기# 존재하는 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의 자원을 공유할 수 있다.
유저 생성
sql
닫기# 계정 생성 CREATE USER <USERNAME> IDENTIFIED BY <PASSWORD>; # 권한 부여 GRANT DBA TO <USERNAME>;
접속 확인 (해당 유저로 접속하기 위해서는 CDB가 아닌 PDB로 접속해야 한다)
bash
닫기$ sqlplus <username>/<password>@//<host>:<port>/<PDB명> # ex) sqlplus foo/bar@localhost:1521/XEPDB1 # 해당 내용은 shortcut을 만들기 위해서는 bash_profile로 등록하시던지 말던지
접속 결과

서비스 등록, selinux 비활성화 설정
서비스 등록 (root 계정으로 진행, 재부팅 시 oracle 서비스 자동 시작)
bash
닫기$ systemctl enable oracle-xe-21c.service

selinux 비활성화 설정 (시스템 통신 문제 사유)
bash
닫기$ 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 이후 재부팅
bash
닫기$ 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 |