2009/10/03

2009/10/03のダメ人間備忘録

「Oracle 10g XE for Linux のインストール」

今日も明日もどうしても早起きしなければならない事情がある。
それも早起きどころの騒ぎではない時間に起きなければならない。
このまま寝てしまったら多分起きられない。
最近疲れているのか、寝つきが悪い。起きる事が辛い。ついでに人生も。

なので今日は寝ない事にした。典型的なダメ人間の選択だ。
寝ないためには、何か閑を潰すネタがどうしても欲しい。
最近導入された地上デジタル放送などうっかり見ていたら、
それこそいつの間にか睡魔に負け駄眠を貪り続けてしまう事もあり得る。

そんな有閑倶楽部な自分にヤケクソ気味に押しつけた課題が、
商用データベースサーバの雄が遂に出した無料のデータベース、
「Oracle 10g Express Edition」のインストールだ。。。と思いきや、
あまりにもあっさりインストール出来てしまった。忘れないうちに備忘録。

先日の「肉の会」で先輩方に「まだあの ThinkPad 使ってんの?」
と言われてしまった X40 のさらに以前に使用していた X21 は、
何と今だ自宅で現役なのである。この投稿もその X21 で書いている。
しかし、メインメモリが 386MB しかないこの非力なるマシンに、
無料とは言え商用に耐える堅牢性を誇る Oracle なんか突っ込んで大丈夫か?

なんやかんや言う前にとりあえずやってみようか。
インストールするブツは Debian パッケージ形式で用意されており、
そいつは事前にダウンロード。Server と Client あり。

oracle-xe-universal_10.2.0.1-1.0_i386.deb
oracle-xe-client_10.2.0.1-1.0_i386.deb

またインストール前に libaio がインストールされている必要がある。

# apt-get install libaio1

インストール用件として swap 領域が 1024MB 必要との事。
X21 の swap は 512MB しか無いので一時的にスワップを増やす。
スワップファイルなるものを必要分追加してやれば良さげ。

# dd if=/dev/zero of=/swapfile bs=1024 count=550000
# mkswap /swapfile
# swapon /swapfile

ルート直下に swapfile という名のスワップファイルが出来た。
swap 領域のトータルは 1024MBになっている。
これで要件は満たされた。では次いってみよう。

-- Server install
# dpkg -i oracle-xe-universal_10.2.0.1-1.0_i386.deb

あっさりと、何の問題もなくインストールはコンプリート。
インストール後に設定処理を行うスクリプトの実行を促される。当然実行。

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

途中 Web ブラウザ経由でデータベースを管理出来るツールのポート番号を指定する。
そのデフォルトが 8080 なのだが、いろんなのとカブってそうなので別の番号を指定する。

Specify the HTTP port that will be used for Oracle Application Express [8080]:1580

「データベースを XE って名前で作っとく?」「うん!」
と答えたのでデータベースは勝手に作ってくれる。以下が出力されれば設定終了。
これがブラウザ経由データベース管理ツールのアドレスの様だ。

To access the Database Home Page go to "http://127.0.0.1:1580/apex"

肝心の Oracle サービスの起動・終了は以下で可能。

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


-- Client install
# dpkg -i oracle-xe-client_10.2.0.1-1.0_i386.deb

これもあっさりと終る。なんだか拍子抜け。
クライアントアプリを使用するユーザの環境に設定を展開するスクリプトがある。
そいつをログイン時に有効にするにはログインシェルの設定ファイルに以下を追記。

source /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/oracle_env.sh

sqlplus のネットサービス名は ホスト名/サービス名 で繋げる。
サービス名はORACLE_SIDの事。つまりデータベース名。
デフォルトなら XE にしてるはず。よって書式は以下。

sqlplus oracleuser/password@hostname/xe

先程のブラウザ経由データベース管理ツールは、
デフォルトではローカルからのアクセスしか出来ない設定となっている。
そのためにいちいち X 立ち上げるのも面倒なので、
リモートクライアントからアクセスできるように設定した。
sqlplus にて system ユーザに接続し、以下の SQL を実行。

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

ちなみに、リモートからのアクセスを無効化するのは、

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(TRUE);

だそうだ。以上、作業終了。


うーん、さんざん苦労するかと思いきや呆気無く終ってしまったよ。
まだまだ時間はあるのだが、さて、この後どうする有閑貴族!?

0 Comments:

コメントを投稿

<< Home