2014年5月15日木曜日

ubuntu14.04にoracle-xe 11gをインストール

1 コメント
ubuntu14.04 LTS ServerにOracle Database Express Edition 11g Release2をインストールしたときの手順のまとめ。

こちらのサイトを参考にさせていただきました。というか、パクリです。

まず、Oracle-XE-11.2.0のLinux x64版をダウンロードして、ubuntuにコピーしておく。

必要なパッケージをインストール。
sudo apt-get install alien libaio1 unixodbc unzip

oracle-xeのパッケージを解凍。
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

rpmパッケージをdebパッケージに変換。
cd Disk1/
sudo alien --to-deb --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

パッケージをインストール。
/sbin/chkconfig をviで編集し
sudo vi /sbin/chkconfig
以下の内容を記述。
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
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
configureのawkのパスが違うのでシンボリックリンクを作成。
sudo ln -s /usr/bin/awk /bin/awk
ファイルのパーミッションを変更。
sudo chmod 755 /sbin/chkconfig

パッケージのインストール。
sudo dpkg --install ./oracle-xe_11.2.0-2_amd64.deb

/etc/init.d/oracle-xeの /var/lock/subsys/ を /var/lock/ に変更。
sudo vi /etc/init.d/oracle-xe


※私の試した環境(仮想マシンに1Gのメモリを設定)では、このままconfigureを実行してうまくいきましたが、configureでエラーが出るような場合は、以下のパラメータを変更してみてください。
/u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora
/u01/app/oracle/product/11.2.0/xe/config/scripts/initXETemp.ora
の2つのファイルの、memory_targetをコメントにして、pga_aggregate_targetとsga_targetを設定します。
sudo vi /u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora
sudo vi /u01/app/oracle/product/11.2.0/xe/config/scripts/initXETemp.ora
以下の内容を記述。
#memory_target=418381824
pga_aggregate_target=200540160
sga_target=601620480


configureを実行。
sudo /etc/init.d/oracle-xe configure

.profileを編集して、oracleの環境変数が設定されるようにする。
vi ~/.profile
以下の内容を追加する。
source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

編集した.profileの内容を反映する。
source ~/.profile

oracleに接続できるか確認する。
sqlplus system/[設定したパスワード]@XE

これでoracleに接続できたらOK!