Oracle Database Express Edition(XE) 11g R2 설치하기 (Ubuntu 18.04)

최근에 오라클을 공부하려고 인터넷을 서핑하다 본 설치가이드들을 보면서 실제로 VPS 서버(저사양)에 설치해본 경험들을 정리합니다.

거의 최소사양급인 Vultr 의 1core, 1GB 램의 시스템에 Oracle Database Express Edition 11g Release 2 for Linux 64 버젼을 설치하기로 합니다.

리눅스에서 GUI 환경을 구성하지 않고도 설치할 수 있어서 반가운 버젼이네요. 11g 이후의 버젼은 추가로 다른글에서 뵙기로 하겠습니다.

사전 준비사항으로는 VM이나 Dedi 서버 관계없이 Ubuntu 18.04 가 설치된 시스템에 ssh 로 접근이 가능하면 됩니다.

1. 먼저 Oracle 홈페이지에서 Oracle Database Express Edition 11g Release 2 for Linux 64 을 다운로드를 합니다.

다운로드 URL : https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/xe-prior-releases-5172097.html

아래의 페이지에서 라이선스에 동의를 선택하고 Oracle Database 11gR2 Express Edition for Linux x64 를 Download 받으시면 됩니다. 다운로드시 oracle 계정이 필요합니다. 만약 계정이 없다면 가입하시면 됩니다.

2. 설치할 시스템에 다운로드 받은 “oracle-xe-11.2.0-1.0.x86_64.rpm.zip” 파일을 적당한 경로(ex : /opt) 에 업로드 합니다. 경로는 크게 중요하지 않습니다.

3. ubuntu 18.04 시스템에 오라클 설치에 필요한 몇가지 패키지들을 설치합니다. (alien 은 RPM 패키지를 Debian 패키지로 변환해주는 툴입니다.)

# apt install -y alien libaio1 unixodbc bc unzip

4. 위에서 /opt 에 저장해둔 “oracle-xe-11.2.0-1.0.x86_64.rpm.zip” 파일의 압축을 해제합니다.

# unzip -x oracle-xe-11.2.0-1.0.x86_64.rpm.zip

Disk1 경로 에서 아래의 명령어를 실행하여 rpm 패키지를 deb 패키지로 변환합니다. 1core 시스템이라 변환하는데 약 5분 이상이 소요될 수도 있습니다.

# alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

기다린 끝에 “oracle-xe_11.2.0-2_amd64.deb generated” 메시지와 함께 아래와 같이 deb 파일이 생성이 완료되었습니다.

5. REDHAT 리눅스 환경과 유사하게 /sbin/chkconfig 파일을 생성하고 아래의 내용을 복사해서 넣어주세요.

# vi /sbin/chkconfig
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe  
if [[ ! `tail -n1 $file | grep INIT` ]]; then  
echo >> $file  
echo '### BEGIN INIT INFO' >> $file  
echo '# Provides: OracleXE' >> $file  
echo '# Required-Start: $remote_fs $syslog' >> $file  
echo '# Required-Stop: $remote_fs $syslog' >> $file  
echo '# Default-Start: 2 3 4 5' >> $file  
echo '# Default-Stop: 0 1 6' >> $file  
echo '# Short-Description: Oracle 11g Express Edition' >> $file  
echo '### END INIT INFO' >> $file  
fi  
update-rc.d oracle-xe defaults 80 01  
#EOF

그리고 /sbin/chkconfig 파일에 실행할 수 있도록 권한을 부여합니다.

# chmod 755 /sbin/chkconfig

추가적으로 아래의 명령어를 실행합니다.

ln -s /usr/bin/awk /bin/awk
touch /var/lock/subsys/listner

6. 커널 파라미터에 아래의 내용을 추가하여 줍니다. 이미 설정값이 아래의 값보다 높게 설정이 되어 있다면 그냥 통과하셔도 됩니다.

# vi /etc/sysctl.conf
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000

그리고 설정한 값을 시스템에 적용합니다.

# sysctl -p

7. Oracle 관련 환경변수 파일을 미리 생성합니다. 전체 유저에 적용하기 위해 편리하게 /etc/profile 파일에 하단에 아래 내용을 추가합니다. NLS_LANG 부분은 필요한 characterset 에따라서 알맞게 변경하시기 바랍니다.

# vi /etc/profile
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=KOREAN_KOREA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

변경한 profile 을 적용하기 위해 아래의 명령어를 실행합니다.

# source /etc/profile

8. 오라클을 설치하기 위한  환경구성이 완료되었습니다. 이제 실제로 ORACLE XE deb 패키지를 설치합니다.

# apt install ./oracle-xe_11.2.0-2_amd64.deb
위의 이미지와 유사하게 설치가 완료될 것입니다.

9. “/etc/init.d/oracle-xe configure” 를 실행하여 Oracle 환경 구성을 완료한다.

root@orainstall:/opt/Disk1# /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.

Specify the HTTP port that will be used for Oracle Application Express [8080]: 기본포트 선택

Specify a port that will be used for the database listener [1521]: 기본포트 선택

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: system 계정의 패스워드 설정
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]: 시스템 부팅시에 자동으로 시작되게 할것인지

그럼 아래와 같은 내용으로 진행이 되면서 Oracle Database 설치가 완료됩니다.

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.
root@orainstall:/opt/Disk1#

10. 오라클이 정상적으로 구동되고 있는지 리스너 상태를 아래의 명령어를 사용해서 확인합니다.

root@orainstall:/opt/Disk1# lsnrctl status

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 06-2월 -2019 08:44:39

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                06-2월 -2019 08:41:43
Uptime                    0 days 0 hr. 2 min. 56 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/orainstall/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orainstall)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orainstall)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully
root@orainstall:/opt/Disk1#

11. 마지막으로 system 계정으로 로그인이 정상적으로 되는지 아래와 같이 확인합니다.

root@orainstall:/opt/Disk1# sqlplus system

SQL*Plus: Release 11.2.0.2.0 Production on 수 2월 6 08:47:33 2019

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter password: 패스워드 입력

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL>

마지막으로 시스템이 한번 재기동 된 이후에 /etc/init.d/oracle-xe stop or start 가 가능합니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다