seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

CentOS4.7(final)にOracle 10g Clientを入れてみる。

公式ガイド:
http://www.oracle.com/technology/global/jp/documentation/products/oracle10g/102/index.html#linux

Oracle Database インストレーション・ガイド 10g リリース2(10.2) for Linux x86-64
http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B25532-01/toc.html

※ あらかじめCentOS4.7は開発ツール一式、レガシーサポートを入れておく。

oemapp dbstudioの起動時に例外がでたり、genclntshで失敗する場合は、yum install glibc-develを入れるとよいかもしれない。

1. oracleユーザを作り、そこにログインしておく。

Universal Installerでrootではインストールできないと叱られるので。

2. クライアントインストーラを展開する

10201_client_linux_x86_64.cpio.gz をダウンロードする。

http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linx8664soft.html

gunzip 10201_client_linux_x86_64.cpio.gz

10201_client_linux_x86_64.cpioができるので、今度は

cpio -idcmv < 10201_client_linux_x86_64.cpio

で、~/client というフォルダができる。*1

3. GUIインストーラを起動する。

./client/runinstall

「管理ツール一式」を選択してインストールする。

(インストール先のフォルダには、あらかじめ権限が必要。)

最後に、いくつかのシェルスクリプトをrootで実行するように指示されるので、コンソールを開いてsuして適当に実行。

4. ライブラリをコンパイルしておく。

Pro*Cなどを使うにはライブラリをコンパイルしておく必要がある。
インストーラは、このあたりは自動的には処理しないので自分でやる。

インストール先/product/10.2.0/db_1/binには、あらかじめパスを通しておき、

genclntsh

で生成する。(genではじまる類似ファイルがいろいろある。)

インストール先/product/10.2.0/db_1/lib/とか、lib32とかにできるっぽい。
生成したライブラリ(so)をLD_LIBRARY_PATH環境変数にいれておけば、Pro*C(proc)が動作する。(と思われる。)

5. SQL*Plusが動作するかテストする。

環境変数を設定しておく。(.bashrcとか。)

export ORACLE_HOME=インストール先/product/10.2.0/db_1/
export PATH=$PATH:インストール先/product/10.2.0/db_1/bin
export NLS_LANG=Japanese_Japan.AL32UTF8
export LD_LIBRARY_PATH=インストール先/product/10.2.0/db_1/lib/

NLS_LANG環境変数SQL*Plusの使う言語セットを指定しておく。
LANGがja_JP.UTF-8ならば、NLS_LANGはJapanese_Japan.AL32UTF8とする。
http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B25530-01/app_gblsupp.html#613591

sqlplusは、10gなので、

sqlplus user/pass@ip:port/sid

形式が使える。

6. 管理ツールが使えるかテストする。

oemapp

とすると、使えるアプリケーション一覧が表示される。

oemapp dbastudio

で、Oracle Enterprise Managerコンソールが起動する。

*1:cpioって他であまりみないので何かとおもったら、tarみたいなアーカイブなんだね。rpmも内部はcpioで圧縮しているらしいので、そんな奇異なものでもないらしい、って知った。cpioはアーカイブは標準入出力で取り扱う。-iでアーカイブから展開。dはディレクトリ作成、mはファイルの更新日時の維持、vは処理したファイル名を印字、というオプションらしい。cはcpioのフォーマットの指定で"old ascii"らしい。意味を知らないと何をしているのかさっぱり分からない。