Fedora Core 4(x64)への64ビットRDBMS(DB2, Oracle 10g)の導入
x64対応Fedora Core 4(FC4)へのDB2 V8.2(x64)とOracle 10g(x64)の導入手順を簡単に紹介します。
DB2はDB2 UDB ESE V8.2のベータ版レベルのものを使用しています。
またOracleはOracle 10g Release1(10.1.0.3)を使用しています。
CentOS 4.2(x64)やAsianux 1.0(x64)へのOracle 10g(x64)の導入についても若干触れています。
1.マシン環境
- CPU:AMD Athlon64 3000+ 2GHz
- メモリ:1GB
- その他:Windows Server 2003 Enterprise x64 Edition SP1とのデュアルブート環境
2.Fedora Core 4(x64)環境
3.DB2 UDB ESE V8.2(x64版)の導入
DB2の公開サイトからDB2_V82_ESE_LNX_AMD64_NLV.tar.gzをダウンロードして以下の要領でインストールします。
- ファイルの解凍とインストーラの起動(rootユーザで起動)
# tar zxvf DB2_V82_ESE_LNX_AMD64_NLV.tar.gz
# cd ese
# ./db2setup &
- IBM DB2セットアップランチパッド
製品のインストールをクリックしてインストールを開始します。
- 「セットアップ」画面:デフォルトのまま
- DB2セットアップウィザードの開始
- ソフトウェアライセンス情報への同意
- インストールタイプの選択
「DB2 UDB Enterprise Server Edition をこのコンピュータにインストールする」(デフォルト)のまま次に進みます。
- インストールする機能の選択:デフォルトのまま
この画面でインストール対象を変更しようとするとdb2jinstでセグメンテーション違反となることがあります。
- 言語:日本語(デフォルトのまま)
- DB2インフォメーションセンターの選択:デフォルトのまま
DB2インフォメーションセンターとはdb2icコマンドで表示するWebサイトを意味します。
- DB2 Administration Serverのユーザ情報の設定:パスワード以外はデフォルトのまま
インストーラで設定できるパスワードは8文字以内という制限があります。
8文字超のパスワードを設定したい場合はインストーラの裏でまたは事前にDASユーザアカウントを作成して本画面の既存ユーザーとして指定します。
- DB2インスタンスのセットアップ:デフォルトのまま
ここにはx64版特有の「DB2 インスタンスの作成 - 64 ビット」(デフォルト)というのが表示されます。
- インスタンスの使用方法の選択:デフォルトのまま
- DB2インスタンス所有者のユーザー情報の設定:パスワード以外はデフォルトのまま
ユーザー名はDB2の世界で最もポピュラーなdb2inst1のままとします。
- fencedユーザー情報の設定:パスワード以外はデフォルトのまま
fencedユーザーとはユーザ関数やストアドプロシジャの実行プロセスユーザーを指します。
- DB2インスタンスTCP/IP通信の構成:デフォルトのまま
デフォルトのサービス名(db2c_db2inst1)とデフォルトのポート番号(50000)が/etc/servicesに自動反映されます。
- インスタンスプロパティの設定:デフォルトのまま
- 管理連絡先リストのセットアップ:デフォルトのまま
- ヘルスモニター通知の連絡先の指定:デフォルトのまま
- ファイルのコピーの開始
ここまでの設定情報が表示されます。
- ファイルのコピー
- セットアップの完了
<完了>ボタンを押します。
Windows版とは違ってサンプルDBの作成はインストーラからは行えません。
- DB2ファイルの確認
- サンプルDBの作成
db2inst1インスタンスにサンプルDBを以下のようにして作成します。
# su - db2inst1
$ db2sampl
- db2inst1ユーザ用環境変数の追加
db2inst1ユーザの.bash_profileのPATHに/opt/IBM/db2/V8.1/binを追加して環境変数を有効にします。
- コントロールセンターの起動
db2ccコマンドでコントロールセンターを起動しようとしてもJava関連のエラーが出てコントロールセンターが表示されません。
LD_LIBRARY_PATHを設定し直しても「CLI0622E JDBC 管理サービス拡張機能へのアクセスエラー」となります。
※JDBC サーバーが完全には64ビット対応されていないのかも知れません。
- サンプルデータベースのアクセス
DB2をインストールした直後からインスタンスは自動起動されていますのでdb2コマンドでのデータベースアクセスがすぐ行えます。
- db2levelでのバージョン確認
db2コマンドに限らず、db2levelでも「64」という表示が見られます。
db2levelでの情報トークンがDB2 v8.1.1.64 FixPak7(=v8.2相当)となっていますが、v8.1.1.64の64は最初の「64ビット版」ということでしょうか...。
4.Oracle 10g Release1(10.1.0.3)(x64版)の導入
Fedora CoreはOracle 10g Release1(10.1.0.3)のサポートOS対象にはなっていませんが導入は可能です。
- Oracle 10g Release1(10.1.0.3)(x64版)のダウンロード
OTNのサイトからship.db_Disk1.lnxx86-64.cpio.gzとship.db_Disk2.lnxx86-64.cpio.gzをダウンロードします。
- ファイルの解凍:/tmp/oracle10gにダウンロードしたと仮定します
# cd /tmp/oracle10g
# gunzip ship.db_Disk1.lnxx86-64.cpio.gz
# cpio -idmv < ship.db_Disk1.lnxx86-64.cpio
# gunzip ship.db_Disk2.lnxx86-64.cpio.gz
# cpio -idmv < ship.db_Disk2.lnxx86-64.cpio
上記操作により/tmp/oracle10g/Disk1/runInstallerができます。
- /etc/hostsの変更
listener.oraにはホスト名が反映されますので/etc/hosts中にホストOSのIPアドレスとホスト名を登録しておきます。
- カーネルパラメータの設定とサービスの停止
当然のことながらFedora Core 4のカーネルパラメータはOracle 10g用には最適化されていません。
/etc/sysctl.confに下記の行を追加します。
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
カーネルパラメータを変更するとブート時にサービス起動に失敗してブートできなくなる場合があります。
さしあたって「chkconfig --level 345 sendmail off」でsendmailの自動起動を抑止しておきます。
またカーネルパラメータ変更による早期ブート確認のためにもここでPCをリブートします。
リブートに失敗した場合にはランレベル1で起動してブート失敗の要因となったサービスをchkconfigでoffに設定します。
- OSのグループ/ユーザ追加
# groupadd oinstall
# groupadd dba
# useradd -d /home/oracle -G oinstall,dba oracle
# passwd oracle
本useraddによってoracleユーザのプライマリグループoracleが自動作成され、oracleユーザのセカンダリグループがoinstall,dbaとなります。
- インストール先ディレクトリの作成と所有者設定
# mkdir /opt/oracle
# chown oracle.oinstall /opt/oracle
- oracleユーザの環境変数設定
oracleユーザの.bash_profileにとりあえず下記の環境設定を追加します(他にもoracle 10g用環境変数はありますが...)。
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0.3
export ORACLE_SID=test
export NLS_LANG=Japanese_Japan.JA16EUC
export PATH=$PATH:$ORACLE_HOME/bin
- /etc/redhat-releaseファイルの一時的変更(変更しない場合、OSバージョンチェックではじかれます)
# cd /etc
# cp redhat-release redhat-release.org
# echo 'Red Hat Enterprise Linux AS release 3 (Taroon)' > redhat-release
- oracleユーザによるインストールの開始(英語モードでインストーラを起動します)
$ cd /tmp/oracle10g/Disk1
$ LANG=C ./runInstaller
- Specify Inventory directory and credentials:デフォルトのまま
すぐにrootユーザによる/opt/oracle/oraInventory/oraInstRoot.shの実行要求ダイアログが出るので別ターミナルから下記を実行してから<Continue>。
# /opt/oracle/oraInventory/orainstRoot.sh
- Specify File Locations:デフォルトのまま
- Select Intall Type:General Purpose(デフォルトのまま)
- Specify Database Configuration Options
「export ORACLE_SID=test」で指定した「test」がデフォルト表示されます。
Database Character setは「Japanese JA16EUC」を選択。
Create database with sample schemasにチェックを入れます(サンプルDBの作成オプションです)。
- Select Database Management Option:デフォルトのまま
- Specify Database File Storage Option:デフォルトのまま
- Specify Backup and Recovery Options:デフォルトのまま
- Specify Databse Schema Passwords
SYS, SYSTEM, SYSMAN, DBSNPすべてに同じパスワードを指定するオプションを選択してパスワードを指定します。
- Summary
ここではOracle Database 10g 10.1.0.3.0としてインストールされるものが一覧表示されます。
インストールログに記録されたインストールコンポーネント一覧はこちらです。
- Install
- Configuration Assistants
- Database Configuration Assistant
Configuration Assistantsの上に「Database Configuration Assistant」ダイアログでCreating and starting Oracle instance表示が出ます。
上記が100%になってから「Database creation complete.」 表示となります。
「Password Management」ボタンを押して「Password Management」画面を表示させます。
SCOTTのLock Accountを外し、New PasswordとConfirm Passwordにtigerを指定して<OK>で閉じます。
再度「Password Management」ボタンをクリックして「Password Management」画面を表示するとロック解除されたSCOTTが上の方に移動して表示されます。
しかし後で分かったことですがここで指定したパスワードは正しく受け取れていないようでした(sqlplusで認証エラーが発生)。
- Setup Privileges
rootユーザによる/opt/oracle/product/10.1.0.3/root.shの実行指示が出るので実行してから<OK>。
# /opt/oracle/product/10.1.0.3/root.sh
本シェルは/etc/oratabの作成用です。
- End of Installation
この画面には下記が表示されます。
Ultra Search URL http://fc4x64:5620/ultrasearch
Ultra Search Admin URL http://fc4x64:5620/ultrasearch/admin
iSQL@Plus URL http://fc4x64:5560/isqlplus
iSQL@Plus DBA URL http://fc4x64:5560/isqlplus/dba
Enterprise Manager 10g Database Control URL http://fc4x64:5500/em
<Exit>ボタンでインストールは終了です。
- /etc/redhat-releaseファイルの戻し
# cd /etc
# cp -f redhat-release.org redhat-release
- Oracle 10g ファイル確認
$ORACLE_HOME/lib32は32ビット用ライブラリです。
- Database Configuration Assitantによる別データベースの追加作成:任意
$ LANG=C dbca
- SCOTTユーザのパスワード再設定
Firefoxでhttp://fc4x64:5500/emを開き下記の手順でSCOTTパスワードを再設定します。
sysmanでログイン(接続モード:Normal)。ボタン名は豆腐文字(□)表示となります(Mozillaでは英語モードにつきボタン名が英語で表示されます)。
「管理」タブ
セキュリティの「ユーザ」リンクをクリック。
SCOTTリンクをクリックして再度パスワードを設定して保存します。
- SQL*Plusによるscott/tigerでのアクセス
$ sqlplus scott/tiger
SQL「select * from dept;」が正しく処理されます。
- iSQL*PlusでのSQL実行確認
Firefoxではボタンの文字が表示されませんのでMozillaでの利用がいいようです。
5.ご参考(その1):CentOS 4.2(x64版)へのOracle 10g Release1(10.1.0.3)(x64版)の導入
Red Hat Enterprise Linux互換のCentOS 4.2(x64版)でOracle 10gインストーラを起動すると日本語モードでインストーラが立ち上がります。
しかしインストールの途中でフォント関連のエラーが表示されます。
フォント関連のエラーを無視してもインストールは続行できます。
SQL*PlusやiSQL*PlusなどもFedora Core 4の場合と同じレベルで使用できます。
6.ご参考(その2):Asianux 1.0(x64版)へのOracle 10g Release1(10.1.0.3)(x64版)の導入
Asianux 1.0(x64版)はMIRACLE LINUX 3.0の位置付けでありOracle 10gとの相性もいいようです。
ここではAsianux 1.0(x64版)へのOracle 10g Release1(10.1.0.3)(x64版)導入について簡単に紹介します。
尚、Asianux 1.0(MIRACLE LINUX 3.0)はサーバ用途のLinuxディストリビューションでカーネルパラメータもOracle用にチューニングされています。
またAsianux(MIRACLE)にはOracle導入支援ツールとしてORANAVIも付属しています(今回はORANAVIを使用せずにOracle 10gをインストール)。
- Asianux 1.0デスクトップ
- Oracle 10gのインストール
- カーネルパラメータ
Oracle導入向けにチューニングされていますので/etc/sysctl.confには以下の2行だけを追加します。
kernel.shmall = 2097152
kernel.shmmni = 4096
- /etc/redhat-releaseについて
/etc/redhat-releaseの内容は初めから次のようになっていますのでOracle 10gインストールのための一時的変更は不要です。
Red Hat Enterprise Linux AS release 3 (Taroon Update 3)
- Oracle 10gインストーラ
Oracle 10gインストーラを起動すると日本語モードでインストーラが立ち上がります。
インストールの途中でフォント関連のエラーが出ることもありません。
- Oracle 10gインストール後の基本動作確認
- ORANAVI
Asianux付属のORANAVIを使用してoratabを編集することもできます。
AsianuxについてはDB2 V8.2(x64)もインストールできます。
DB2のインストーラは安定動作している感じがします。
db2コマンドの利用例はこちらです。
7.ご参考(その3):Red Hat Enterprise Linux ES 4(x64版)へのOracle 10g Release1(10.1.0.3)(x64版)の導入
Red Hat Enterprise Linux ES 4(RHEL4)にもOracle 10gを導入することができます(x64版DB2も使用可能)。
今回使用したRed Hat Enterprise Linux ESはRelease 4 Update 2版です。
(1619パッケージのフルインストールです:rpmコママンドで確認したRHEL4のパッケージ一覧)
- Red Hat Enterprise Linux ES 4の外観
- GUIログイン確認
- GNOMEスプラッシュ
- バージョン確認
- デスクトップ
- Oracle 10g Release1(10.1.0.3)(x64版)の導入
- カーネルパラメータ設定
RHEL4はAianux(MIACLE LINUX)とは異なり、Oracle用にチューニングされているわけではありません。
Fedora Coreの場合と同様にカーネルパラメータを設定します。
- /etc/redhat-releaseについて
RHEL4の/etc/redhat-releaseの値は「Red Hat Enterprise Linux ES release 4 (Nahant Update 2)」となっています。
この値のままではOracleインストーラ起動時の最初のインストーラ要件としてのバージョン確認でエラーとなります。
そこで/etc/redhat-releaseの中をOracle 10gがサポートしているバージョンに一時的に変更する必要があります。
- 日本語表示インストーラ
RHEL4でのOracle 10gのインストーラは日本語表示ができます。
- SQL*Plusの実行
Oracle 10gでのコマンドメッセージは日本語表示不可となっています。
そこで英語表示させるためNLS_LANG環境変数の値は例えば「American_Japan.JA16EUC」にしておきます。
- iSQL*Plus
ボタンの日本語名も問題なく表示されます。
- VMware for Linux
RHEL4上にVMware 5.5を導入してみました。
Linux用のVMware 5.5にはVMware Player(vmplayer)も付属しています。
8.ご参考(その4):VMware Player上のFedora Core 4(x86)でのOracle 10g Release1(10.2.0.1)(x86版)実行
2005年10月20日にVMwareのランタイム版にあたるVMware Playerがフリーで公開されました。
他のマシン上のVMware Workstation 5.5 RC上にOracle 10g Release1(10.2.0.1)(x86版)を導入済みのFedora Core 4(x86)の仮想ディスクをWindows XP(x64)上のVMware Playerで動作させてみました。