오라클 설치

JDBC를 배우려면 데이터베이스를 선택해 설치해야 한다. 우리나라 산업 현장에서 가장 많이 사용되는 데이터베이스는 오라클이다. 프로그램 테스트가 목적이라면 무료로 사용할 수 있는 Oracle Database 11gR2 Express Edition 설치를 추천한다. --Express Edition을 XE라고 줄여 쓴다--

윈도에 오라클 11g XE 설치

https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
위 사이트를 방문해, 자신의 윈도 시스템에 맞는 Oracle Database 11gR2 Express Edition을 내려받는다. 오라클 웹사이트의 회원이 아니면 회원 가입을 하고 로그인해야 내려받을 수 있다.

윈도는 오라클이 지원하는 운영체제이니 오라클이 쉽게 설치된다. 압축을 풀고 Disk1 디렉터리에서 setup.exe를 실행한 후, 다음 버튼을 계속 눌러 설치할 수 있다. 설치 과정에서 관리자 계정의 비밀번호는 기억해야 한다.

윈도의 경우 오라클 설치 과정에서 오라클 XDB의 디폴트 포트 8080을 변경할 수 없다. 설치 후 XDB의 8080 포트를 9090으로 바꾸는 방법은 다음과 같다.

C:\Users> sqlplus
Enter user-name: system
Enter password:
Connected.

SQL> Exec DBMS_XDB.SETHTTPPORT(9090);

PL/SQL procedure successfully completed.

SQL>

우분투에 오라클 11g XE 설치

우분투(Ubuntu)는 오라클이 공식 지원하는 리눅스 배포판이 아니다.

몇 가지 조치를 하면 우분투에 오라클 11g XE를 설치할 수 있다.
원글: http://meandmyubuntulinux.blogspot.com/2012/05/installing-oracle-11g-r2-express.html

https://www.oracle.com/database/technologies/xe-prior-release-downloads.html으로 이동한다.
64-비트 시스템이면 Oracle Database 11gR2 Express Edition for Linux x64를 선택한다.
파일을 내려받기 위해선 로그인이 필요하다. --오라클 웹사이트의 회원이 아니면 회원 가입을 한다-- 로그인하면 내려받기가 시작된다. 내려받기가 끝나면 파일이 있는 디렉터리로 이동해 다음 명령을 수행한다.

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
sudo apt install alien unixodbc
sudo apt install libaio1
만일 sudo apt install libaio1 명령이 실패한다면
libaio-dev를 대신 설치한다. --우분투 24.04는 libaio1를 지원하지 않는다--
sudo apt install libaio-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
cd Disk1
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

/sbin/chkconfig 파일을 만든다.

sudo nano /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

파일을 저장하고 실행 권한을 부여한다.

sudo chmod 755 /sbin/chkconfig

커널 파라미터를 설정한다.

sudo nano /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

Swap이 4000 이상인지 확인한다.

free -m
             total       used       free     shared    buffers     cached
Mem:          3942       3809        133        947         50       1571
-/+ buffers/cache:       2186       1756
Swap:         4083        378       3705

위와 달리, Swap이 4000을 넘지 않는다면 다음을 차례로 실행한다.

sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener

커널 파라미터를 검증한다.

sudo cat /etc/sysctl.d/60-oracle.conf

새로운 커널 파라미터를 올린다.

sudo service procps start

다음 명령으로 검증한다. --위에서 설정한 값과 다르게 나오더라도 설치를 완료할 수 있다--

sudo sysctl -q fs.file-max

오라클 설치 파일이 있는 Disk1 디렉터리에서 다음 명령으로 설치를 시작한다.

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
sudo /etc/init.d/oracle-xe configure

Oracle Application Express의 디폴트 포트 번호인 8080을 바꾸어 주는 게 좋다. --아래는 9090로 설정했다--

리슨너 포트는 디폴트 값인 1521을 그대로 사용한다. --엔터 키만 치면 디폴트 값이 선택된다--

관리자 계정인 SYS와 SYSTEM의 비밀번호를 지정한다.

마지막으로 부팅 시 오라클이 자동으로 시작하도록 설정한다. (엔터)

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]:9090

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: <관리자 비밀번호>
Confirm the password: <관리자 비밀번호>

Do you want Oracle Database 11g Express Edition to be started 
on boot (y/n) [y]:

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

환경변수를 추가한다.

nano ~/.bashrc

아래를 .bashrc 가장 아래에 붙여넣는다.

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

오라클을 시작한다.

sudo service oracle-xe start

부팅 시 오라클이 자동으로 시작하므로 재부팅 후 이 명령은 필요 없다.