[[FrontPage]]
*OracleXE [#g14f68e6]
遂にOracleがOracle Express Edition(Oracle XE)として無料になった。Oracle10gR2をベースとして、機能が制限されているが、そこはOracle。やはりOracle。
#br
#br
CENTER:&size(24){しかも、Debian/Ubuntu用のパッケージが用意されている};
#br
#br
ではないか。ということは、,
kyu
#br
#br
CENTER:&size(24){apt-get一発でOracleがインストールできるかも!?};
#br
#br
ということで、OracleXEを使ってみよう。
**インストール [#gf41c6b5]
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ユーザのパスワードを入力すればインストール完了。
**起動 [#p069ece7]
# /etc/init.d/oracle-xe start
http://localhost:8080/apex/にアクセスすると、DB管理ツールが表示される。
**環境変数の設定 [#j6c622d0]
.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を設定しないと、日本語が正しく処理されないので注意。
**接続 [#mf6e486d]
$ 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となる。
**その他 [#v61008cf]
***データベース名の変更 [#lfec0926]
デフォルトのデータベース名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の内容 [#fa9b1087]
/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)
)
)