[Linux] CentOS7 - Java Web 서버 - 기초환경 설치 및 구성 #01
[Linux] CentOS7 - Java Web 서버 - 실운용을 위한 Tomcat 설정 #02
[Linux] CentOS7 - Java Web 서버 - Oracle 설치 및 설정 #03
[Linux] CentOS7 - GIT을 이용한 버전관리 시스템 구축 #04
#1. Oracle 11g XE 다운받기
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
Oracle Database 11gR2 Express Edition for Linux x64 선택하고
oracle-xe.11.버전.x86_64.rpm.zip 파일을 다운받는다.
다운받은 oracle-xe.11.버전.x86_64.rpm.zip 파일을
FTP 프로그램통해 설치를 진행할 리눅스 서버에 업로드 한다.
#2. Oracle 11g XE 설치하기
업로드된 oracle-xe.11.버전.x86_64.rpm.zip 파일의 압축을 해제한다.
$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Archive : oracle-xe-11.2.0-1.0.x86_64.rpm.zip
creating : Disk1/
creating : Disk1/upgrade/
inflating : Disk1/upgrade/gen_inst.sql
creating : Disk1/response/
inflating : Disk1/response/xe.rsp
inflating : Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm
압축을 해제하면 Disk1 디렉터리가 추가적으로 생성되는데
$ ls -al
drwx------. 3 user user 221 M월 DD 00:00 .
drwxr-xr-x. 3 root root 22 M월 DD 00:00 ..
-rw-------. 1 user user 441 M월 DD 00:00 .bash_history
-rw-r--r--. 1 user user 18 M월 DD YYYY .bash_logout
-rw-r--r--. 1 user user 193 M월 DD YYYY .bash_profile
-rw-r--r--. 1 user user 231 M월 DD YYYY .bashrc
-rw-------. 1 user user 712 M월 DD DD:DD .viminfo
// oracle-xe-11.zip 파일의 압축을 해제하면 Disk1 폴더가 생성됨
drwxrwxr-x. 4 user user 76 M월 DD YYYY Disk1
-rw-rw-r--. 1 user user 10559131 M월 DD 00:00 apache-tomcat-8.5.68.tar.gz
-rw-rw-r--. 1 user user 178418154 M월 DD 00:00 jdk-8u202-linux-x64.rpm
-rw-rw-r--. 1 user user 315891481 M월 DD 00:00 oracle-xe-11.2.0-1.0.x86_64.rpm.zip
거기서 Diks1 디렉터리 안에 있는 oracle-xe.11.버전.x86_64.rpm 파일을 실행하면
Oralce 11g XE의 버전의 설치가 아래와 같이 진행된다.
$ sudo rpm -ivh ./Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm
Preparing... ################################# [100%]
/var/tmp/rpm-tmp.uBm3z1: line 257: [: 18446744073692774399: integer expression expected
/var/tmp/rpm-tmp.uBm3z1: line 271: [: 18446744073692774399: integer expression expected
Updating / installing...
1:oracle-xe-11.2.0-1.0 ################################# [100%]
Executing post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
#3. Oralce 11g 접속 포트 설정
Oralce 설치가 완료되었다면 이제 설치된 Oralce에 접근을 위한 포트를 설정해 주어야 한다.
$ sudo /etc/init.d/oracle-xe configure
Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press <Enter> to accept the defaults.
Ctrl-C will abort.
// ① Oracle Application Express에서 사용할 HTTP 포트 지정
Specify the HTTP port that will be used for Oracle Application Express [8080] : 8080
// ② Oralce DataBase 수신기에 사용할 포트 지정
Specify a port that will be used for the database listener [1521] : 1521
// ③ Oralce DataBase 비밀번호 지정
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration : 비밀번호
Confirm the password : 비밀번호 확인
// ④ 재부팅시 오라클 자동 재시작 여부
Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y] : y
Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.
위와 같이 oracle-xe configure 실행하면 몇가지 질의 항목이 있는데
차례대로 어떤 내용인지 살펴보고 값을 입력하자.
① Oracle Application Express에서 사용할 HTTP 포트 지정
Specify the HTTP port that will be used for Oracle Application Express [8080] : 8080
② Oralce DataBase 수신기에 사용할 포트 지정
Specify a port that will be used for the database listener [1521] : 1521
※ 8080, 1521 PORT에 대한 방화벽( FIREWALL ) 설정을 진행하지 않은 경우
해당 포스팅은 CentOS7 - Java Web 서버 - 기초환경 설치 및 구성 #01 문서에 이미
방화벽( FIREWALL )PORT를 열어 두었다는 것을 전제로 진행된다.
$ sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
$ sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent
$ sudo firewall-cmd --reload
만일 PORT 설정작업을 진행하지 않았다면, 위와같이 PORT를 오픈해 주도록 한다.
③ Oralce DataBase 비밀번호 지정
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration : 비밀번호
Confirm the password : 비밀번호 확인
④ 재부팅시 오라클 자동 재시작 여부
Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y] : y
#4. Oralce 11g 환경 변수 등록 및 관리자 계정 접속
Oracle 11g의 설치가 완료되었다면 실행에 앞서 먼저 .bash_profile에 Oralce 실행을 위한 환경변수를 등록해 준다.
$ sudo vim .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=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export PATH=$ORACLE_HOME/bin:$PATH
Oracle에 환경변수 등륵이 완료되었다면 시스템 전역 쉘 변수들을 초기화 한다.
$ source /etc/profile
이후 Linux를 한번 재부팅 해주도록 한다.
$ sudo shutdown -r now
※ CentOS7은 굳이 재부팅을 해줄 필요는 없었지만, AWS EC2의 경우 꼭 재부팅을 해주어야 했다.
이제 sqlplus 명령을 통해 설치한 Oracle11G XE를 실행시켜보자.
$ sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on week M월 D HH:MM:SS YYYY
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter user-name: system
Enter password: 패스워드
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> SELECT SYSDATE FROM DUAL;
SYSDATE
--------
YY/MM/DD
비밀번호는 해당 포스팅에서 진행한 Oracle DataBase 비밀번호를 입력해 주면 된다.
#5. Oralce 사용자 계정 생성
01) 데이터 베이스 사용자 계정 생성
먼저 Oracle의 신규 사용자 계정을 생성한다.
SQL> CREATE USER 신규_계정명 IDENTIFIED BY 비밀번호 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
User Created.
USERS(기본값)
TEMP(기본값)
02) 사용자 계정에 권한 부여
-- DataBase 접근 권한 허용
SQL> GRANT CREATE SESSION TO 신규_계정명;
SQL> GRANT ALTER SESSION TO 신규_계정명;
-- 모든 테이블 스페이스에 할당량을 줄 수 있는 권한 부여
SQL> GRANT UNLIMITED TABLESPACE TO 신규_계정명;
-- 데이터베이스 링크 생성
SQL> GRANT CREATE DATABASE LINK TO 신규_계정명;
SQL> GRANT CREATE MATERIALIZED VIEW TO 신규_계정명;
SQL> GRANT CREATE PROCEDURE TO 신규_계정명;
SQL> GRANT CREATE PUBLIC SYNONYM TO 신규_계정명;
SQL> GRANT CREATE ROLE TO 신규_계정명;
SQL> GRANT CREATE SEQUENCE TO 신규_계정명;
-- 테이블을 생성할 수 있는 권한부여
SQL> GRANT CREATE TABLE TO 신규_계정명;
-- 테이블을 제거할 수 있는 권한 부여
SQL> GRANT DROP ANY TABLE TO 신규_계정명;
-- 트리거 생성 권한 부여
SQL> GRANT CREATE TRIGGER TO 신규_계정명;
SQL> GRANT CREATE TYPE TO 신규_계정명;
SQL> GRANT CREATE VIEW TO 신규_계정명;
-- DBA 권한 부여
-- 데이터 베이스 접속과 관련한 권한
SQL> GRANT CONNECT TO 신규계정명;
-- 사용자가 테이블, 시퀀스 등 데이터 관련 객체를 생성할 수 있는 권한
SQL> GRANT RESOURCE TO 신규계정명;
-- 시스템 자원의 무제한 사용, 다른 사용자 권한 조정 등 강력한 기능에 대한 권한
SQL> GRANT DBA TO 신규계정명;
권한 부여에 있어서는 필자도 아직 정리중이다.
기본적으로 DataBase 접근권한과, 테이블 생성 및 제거 등의 기능은 기본적인 사용을 위해서는
필 수 적이라고 생각한다.
해당 부분은 이후 좀더 정리를 해두도록 하겠다.
우선 전체적인 권한이 다 필요하다면 아래 코드를 복사하여 실행하도록 하자.
SQL> GRANT CREATE SESSION, ALTER SESSION, CREATE DATABASE LINK,
CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM,
CREATE ROLE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE,
CREATE TRIGGER, CREATE TYPE, CREATE VIEW, UNLIMITED TABLESPACE
to 신규_계정명;
참고 : https://sgcomputer.tistory.com/247
#6. Oralce 11g XE GUI 원격 접속을 위한 조치
외부망에서 DBMS 툴등을 통해 DB에 접근하기 위해 관리자 계정( system )에 접속되 어있는 상태에서
아래와 같이 명령어를 입력하여 설정을 반영해 두자.
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS( FALSE );
PL/SQL procedure successfully completed.
이제 원격지 컴퓨터에서 DataBase 관리 프로그램을 이용하여
CentOS7 Linux Server에 세팅한 Oralce DB에 접속해 보자.
항목 | 설 정 값 |
DNS( HOST IP ) | · CentOS7 Linux Server IP 주소 |
DB계정 | · 신규_계정명 |
DB암호 | · 비밀번호 |
PORT | · 1521( Oracle 기본 포트번호 ) |
DB | · xe |
공통적으로 위와같이 입력하여 접속을 테스트 해보자.
위와같이 접속이 완료되면 개발 및 실 운영에 필요한 최소한의 CentOS7 Linux 설정이 완료되었다.
'LINUX > CentOS' 카테고리의 다른 글
[Linux] CentOS7 - HTTPS 접속을 위한 Apache 웹 서버의 Mod_Proxy 설정 (0) | 2022.11.15 |
---|---|
[Linux] CentOS7 - GIT을 이용한 버전관리 시스템 구축 (0) | 2021.07.04 |
[Linux] CentOS7 - Java Web 서버 - 실운영을 위한 Tomcat 설정 (1) | 2021.07.01 |
[Linux] CentOS7 - Java Web 서버 - 기초환경 설치 및 구성 (0) | 2021.07.01 |
[Linux] VirtualBox6 가상머신을 이용한 - CentOS7 설치 (0) | 2021.06.29 |