Java 11을 설치할 것이므로 jdk 11을 설치해야 한다. 따라서 아래 명령어를 입력해 설치를 진행한다.
sudo apt-get install openjdk-11-jdk
설치가 완료되면 아래 명령어를 사용해 잘 설치되었는지 확인한다.
java -version
tomcat은 9 버전을 설치할 것이므로 아래 명령어를 사용해 설치를 진행한다.
sudo apt-get install tomcat9
설치가 완료되면 아래 명령어를 사용해 잘 설치되었는지 확인한다.
service tomcat9 status
Oracle은 무료 버전인 xe를 사용할 것이며 11 버전을 사용한다. 우선 OracleXE는 오픈소스가 아니기 때문에 오픈소스 패키지를 관리하는 저장소에서 패키지 관리툴(apt)로 설치할 수 없다. Oracle XE는 Oracle 공식 사이트에 RPM
파일 형태로 배포된다. 아래 링크에 접속해 Linux용 64비트를 우분투에 다운로드 받는다.
Ubuntu에서는 .rpm
파일을 사용해서 패키지를 설치할 수 없어 PRM 파일을 Debian 계열 패키지
설치를 위한 .deb
파일로 변경하여 패키지를 설치해야한다. Ubuntu에 Oracle XE를 설치하기 위해서 필요한 패키지들은 아래와 같다.
아래 명령어를 사용해 설치를 진행한다.
sudo apt-get install -y alien libaio1 unixodbc
다운로드 한 .rpm
파일을 Ubuntu에 설치하기 위해 alien
을 사용하여 .deb
파일로 변경한다.
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
Rethat 패키지는 설치할 때 /sbin/chkconfg
를 사용하지만 Ubuntu는 그렇지 않다.
따라서 이와 동일한 환경을 만들어주기 위해서 /bin/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
생성이 완료되면 파일을 실행할 수 있도록 파일 권한을 755 변경한다.
sudo chmod 755 /sbin/chkconfig
Oracle은 서버를 운영함에 있어 리눅스 커널파라미터를 사용한다. 따라서 시스템 컨트롤 데몬에
시스템 파라미터 설정을 저장하여 등록한다.
sudo vi /etc/sysctl.d/60-oracle.conf
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912
시스템컨트롤러 데몬에 커널파라미터를 설정하였으면 커널 파라미터를 로드한다.
sudo service procps start
Oracle XE는 /bin/awk
를 사용하게 되는데 Ubuntu에는 /usr/bin/awk
에 설치되어 있기 때문에 다음과 같이 심볼릭링크를 만들어준다. 만약 /usr/bin/awk
에 심볼릭 링크가 이미 걸려있다면 무시하고 진행해도 된다.
sudo ln -s /usr/bin/awk /bin/awk
Oracle XE는 리스너가 사용할 lock 파일을 만들어준다.
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener
Oracle XE를 설치하기 위한 Ubuntu 환경 구축은 끝났다.
Oracle XE를 설치하기 위해 .rpm
을 .deb
파일로 변환한 패키지를 설치한다.
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
정상적으로 설치가 되면 아래와 같이 Oracle XE가 설치되고 자동으로 데몬을 등록한다.
Selecting previously unselected package oracle-xe.
(Reading database ... 72392 files and directories currently installed.)
Preparing to unpack ./oracle-xe_11.2.0-2_amd64.deb ...
Unpacking oracle-xe (11.2.0-2) ...
Setting up oracle-xe (11.2.0-2) ...
Executing post-install steps...
Adding system startup for /etc/init.d/oracle-xe ...
/etc/rc0.d/K01oracle-xe -> ../init.d/oracle-xe
/etc/rc1.d/K01oracle-xe -> ../init.d/oracle-xe
/etc/rc6.d/K01oracle-xe -> ../init.d/oracle-xe
/etc/rc2.d/S80oracle-xe -> ../init.d/oracle-xe
/etc/rc3.d/S80oracle-xe -> ../init.d/oracle-xe
/etc/rc4.d/S80oracle-xe -> ../init.d/oracle-xe
/etc/rc5.d/S80oracle-xe -> ../init.d/oracle-xe
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
설치가 완료되면 OracleXE 최초 설정을 /etc/init.d/oracle-xe configure
로 설정한다.
sudo /etc/init.d/oracle-xe configure
최초 설정 내용은 아래와 같이 포트설정과 패스워드 설정이다.
Oracle XE 설치가 모두 끝나면 ~/.bashrc
경로에 Oracle 관련된 환경 변수를 추가한다.
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
등록 후 영구 저장을 위해 아래 명령어를 사용한다.
source ~/.bashrc
Ubuntu 서버 전체에 사용하고 싶다면 /etc/environment
파일에 위 내용을 추가한다.
설치가 모두 끝나면 정상적으로 작동하는지 확인하기 위해 아래 명령어를 사용한다.
1. lsnrctl status
2. sudo service oracle-xe status
Installing Oracle 11g R2 Express Edition on Ubuntu 12.04 64-bit