11장. 데이터베이스 서버 구축 및 운영 (5) - Oracle Database Express 설치 및 운영

728x90
반응형

출처 : https://www.youtube.com/watch?v=jgAXH0BwnSI&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=61

 

Oracle Database Express 18c 설치

 

이번 시간에는 DBMS 중에서 가장 많이 사용되는 Oracle을 Rocky Linux에 설치하고, 설치한 Oracle을 활용하는 환경에 대해서 알아본다.

 

실습 목표

  • Server에 리눅스용 Oracle Database Express 18c를 설치한다.

 

사전 작업

실습을 진행하기 전, server 가상 머신을 설정 완료 상태로 초기화하고, 메모리 용량을 4GB로 변경한다.

부팅하고 root 사용자로 접속한다.

 

 

다음 명령을 입력해 필수 패키지를 다운로드하고 설치한다.

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.i686.rpm
ls -l compat*
dnf -y install compat*.rpm

 

이 패키지는 CentOS 7용 패키지인데 Rocky Linux 9에 Oracle DataBase Express 18c 를 설치하기 위해 필요하다.

 

 

Oracle의 사전 설치 파일을 다운로드하고 설치한다.

wget https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
dnf -y install oracle*.rpm
dnf -y install libnsl

 

 

Oracle Database Express 18c 다운로드 및 설치

 

https://www.oracle.com/database/technologies/xe18c-downloads.html

 

Oracle Database Express Edition (XE) 18c Downloads

Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum for help, feedback, and enhancement requests. Note: Oracle Support Services only provid

www.oracle.com

파이어폭스 웹 브라우저를 열고 해당 주소로 접속해 [Oracle Database 18c Express Edition for Linux x64]를 다운로드 한다.

 

 

다운로드 디렉토리로 이동한 다음 확인하면 해당 rpm 파일이 존재할 것이다.

 

dnf 명령어로 설치를 진행한다.

dnf -y install oracle-database-xe-18c-1.0-1.x86_64.rpm

 

 

cd 명령어로 홈 디렉토리로 돌아온다.

 

환경 설정을 시작한다. 비밀번호 입력 부분에서 비밀번호를 지정해준다.

service oracle-xe-18c configure

Specify a password ... and PDBADMIN accounts : 비밀번호 입력 후 enter 2번

 

생각보다 시간이 오래 걸린다. (기다리는 동안 광고 클릭 한번만 눌러주세용. ^^7;;)

 

 

방화벽 포트 열기

 

Oracle과 관련된 8080번, 1521번 포트를 연다.

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload

 

 

앞으로 사용할 데이터 파일을 저장하기 위해 oradata 라는 디렉토리를 생성하고 파일 권한을 777로 설정한다.

mkdir /oradata
chmod 777 /oradata

 

 

Oracle 사용자 환경 설정

 

oracle 사용자로 접속하고 nano 에디터로 .bash_profile 파일을 연다.

 

그 다음 내용을 가장 아래쪽에 추가한다.

export ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=XE
export ORAENV_ASK=NO
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=KOREAN_KOREA.AL32UTF8

 

저장하고 나가는 방법은 Ctrl + x -> y -> enter를 누르면 된다.

 

exit 명령을 입력해 oracle 사용자를 로그아웃 한다.

 

 

Oracle에서 쇼핑몰 DB 구축

 

실습 목표

  • 위 그림의 쇼핑몰 DB를 Oracle에 구축한다.
  • Oracle의 클라이언트 프로그램인 SQL*Plus 사용법을 익힌다.

 

Oracle 데이터베이스 구축

 

oracle 사용자로 접속한 다음, SQL*Plus를 실행하고 system 사용자로 접속한다.

su - oracle
sqlplus

사용자명 입력 : system
비밀번호 입력 : 우리가 위에서 정한 비밀번호 입력

 

 

쇼핑몰의 데이터베이스인 shopping_db 를 생성하고, 데이터베이스가 잘 생성되었는지 확인한다. 목록을 보면 밑에 shopping_db가 잘 생성된 것을 확인할 수 있다.

CREATE TABLESPACE shopping_db DATAFILE '/oradata/shop.dbf' SIZE 5M; 
-> /oradata/shop.dbf에 5M 크기의 shopping_db라는 이름의 데이터베이스 생성
SELECT tablespace_name FROM DBA_DATA_FILES;	-> 데이터베이스 조회

 

Oracle의 tablespace는 mariaDB의 데이터베이스와 비슷한 개념이다.

 

 

customer 테이블(고객 정보)과 purchase 테이블(구매 정보)를 생성한다.

CREATE TABLE customer (
id VARCHAR(10) NOT NULL PRIMARY KEY,
name NCHAR(5),
age INT,
address NCHAR(5) ) TABLESPACE shopping_db;

CREATE TABLE purchase (
no INT NOT NULL PRIMARY KEY,
cust_id VARCHAR(10),
mdate CHAR(8),
product NCHAR(5) ) TABLESPACE shopping_db;

 

 

생성한 두 테이블의 구조를 확인한다.

DESC customer;
DESC purchase;

 

 

customer 테이블과 purchase 테이블의 데이터를 입력한다. 참고로 MariaDB와 달리 purchase 테이블의 no 열에는 숫자를 직접 입력해야 한다.

INSERT INTO customer VALUES ('hong', '홍길동', 22, '경기');
INSERT INTO customer VALUES ('dang', '당탕이', 23, '충북');
INSERT INTO customer VALUES ('ppuni', '이뿌니', 30, '강원');
INSERT INTO customer VALUES ('john', '존밴이', 28, ' 서울');
INSERT INTO purchase VALUES (1, 'hong', '20160122', 'TV');
INSERT INTO purchase VALUES (2, 'ppuni', '20160211', 'TV');
INSERT INTO purchase VALUES (3, 'john', '20160211', '냉장고');
INSERT INTO purchase VALUES (4, 'hong', '20160222', '세탁기');
INSERT INTO purchase VALUES (5, 'john', '20160311', '비디오');

 

 

customer 테이블과 purchase 테이블의 데이터를 확인한다.

SELECT * FROM customer;
SELECT * FROM purchase;

 

 

Oracle과 MariaDB는 거의 비슷한데, 데이터베이스는 개념이 거의 비슷하기 때문에 tool의 특징만 파악하면 다른 DB도 쉽게 파악할 수 있다.

 

728x90
반응형