ubuntu 13.04(64bit)にoracleをインストールしてjavaでの接続までの確認。

Oracle 11g XE を Ubuntu 11.10 にインストールするを教科書として手順のみを記述。

#oracleのサイトからoracle-xe-11.2.0-1.0.x86_64.rpm.zipをダウンロード。

#zipを解凍
$unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
#解凍した出来たDisk1ディレクトリへ移動。
$cd Disk1/

#rpm形式をdebian形式に変換
$sudo alien --to-deb --scripts oracle-xe-11.2.0-1.0.x86_64.rpm 
oracle-xe_11.2.0-2_amd64.deb generated

#chkconfigファイルの作成
$ 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
#属性の変更
$ sudo chmod 755 /sbin/chkconfig 
#awkのシンボリックリンクを作成
sudo ln -s /usr/bin/awk /bin/awk
unixodbc等をインストール
$ sudo apt-get install alien libaio1 unixodbc
#oracle本体をインストール
$ sudo dpkg --install ./oracle-xe_11.2.0-2_amd64.deb
#以下二つの初期化スクリプトを修正
$ 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
#パスワードは"oracle"に設定。 #sqlplusを実行
$ sqlplus system/oracle@XE

SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 15 10:16:45 2013

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


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

SQL> select * from test;

no rows selected
javaでの接続確認。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;


public class Oracle {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	    try {
	        Class.forName("oracle.jdbc.OracleDriver");
	        //各設定
	        String url = "jdbc:oracle:thin:@192.168.1.212:1521:XE";
	        String user = "system";
	        String pass = "oracle";

	        //データベースに接続
	        Connection con = DriverManager.getConnection(url,user,pass);

	        System.out.println("接続成功");
	        
	        Statement st = con.createStatement();
	        try{
	        st.execute("drop table test");
	        }catch(Exception e){
	        	e.printStackTrace();
	        }
	        st.execute("create table test ( name varchar2(255), value varchar2(255))");
	        st.execute("insert into  test ( name,value) values('name','value')");
	        
	        //データベースを切断
	        con.close();

	      } catch (Exception e) {
	        System.out.println("例外発生:" + e );
	      }		

	}

}
sqlplusで作成したテーブルを確認。
SQL> select * from test;

NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
name
value


SQL>