FrontPage

OracleXE

遂にOracleがOracle Express Edition(Oracle XE)として無料になった。Oracle10gR2をベースとして、機能が制限されているが、そこはOracle。やはりOracle。

 
 
しかも、Debian/Ubuntu用のパッケージが用意されている
 
 

ではないか。ということは、,

 
 
apt-get一発でOracleがインストールできるかも!?
 
 

ということで、OracleXEを使ってみよう。

インストール

Oracleは丁寧にもapt-lineを提供してくれている。/etc/apt/sources.listに下記のapt-lineを追加しよう。

deb http://oss.oracle.com/debian unstable main non-free
deb-src http://oss.oracle.com/debian/ unstable main

apt-getで楽々インストール。

# apt-get install oracle-xe-universal

インストールが完了したら、Oracle XEのコンフィギュレーションを実行する。

# /etc/init.d/oracle-xe configure

Oracle XEのHTTPインタフェースのポートと、SYSTEM/SYSユーザのパスワードを入力すればインストール完了。

起動

# /etc/init.d/oracle-xe start

http://localhost:8080/apex/にアクセスすると、DB管理ツールが表示される。

環境変数の設定

.bashrcに次のように記述。

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export PATH=${JAVA_HOME}/bin:${ORACLE_HOME}/bin:${PATH}
export NLS_LANG=japanese_japan.UTF8

NLS_LANGを設定しないと、日本語が正しく処理されないので注意。

接続

$ export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
$ export PATH=${ORACLE_HOME}/bin:${PATH}
$ sqlplus /nolog
SQL> connect SYS/<password>@XE as SYSDBA;

Oracle XEはOracleのインスタンスを1つしか持つことができず、インスタンス名はXEとなる。

その他

データベース名の変更

デフォルトのデータベース名XEをそのまま使うのは気持ち悪い。データベース名を変えてみよう。tnsnames.oraの次の部分を

XE =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = piano)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = XE)
   )
 )

次の様にに変更。

TEST =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = piano)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = XE)
   )
 )

アクセスしてみる。

$ sqlplus SYSTEM/<パスワード>@TEST

ただし、JDBCのURLは上記の設定では変わらない。

tnsnames.oraの内容

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/tnsnames.oraの内容

XE =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = piano)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = XE)
   )
 )
EXTPROC_CONNECTION_DATA =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
   )
   (CONNECT_DATA =
     (SID = PLSExtProc)
     (PRESENTATION = RO)
   )
 )

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS