Linux系の企業向けディストリビューションのオープンソース版である CentOS5 に Oracle10g Release1(Enterprise Edition 30日間トライアル版)をインストール時のメモ書きです。環境によって、不備があるかもしれないが、コメントお願いします。
1.前提条件
1.1 ハードウェア条件
メモリ | 512MB以上 |
スワップ(SWAP)領域 | 1GBまたはメモリの2倍 |
一時ディレクトリー(/tmp) | 400MB以上 |
Oracleインストール用ディスク | 1.5GB |
データベース用ディスク | 1.5GB |
1.2 システム条件
CentOS 5 が正常にインストールされていること。CentOS 5 のインストールについては centossrv.com を参照する。
下記のパッケージがインストールされていること。
xwindow
setarch-2*
make-3*
glibc-2*
libaio-0*
compat-libstdc++-33-3*
compat-gcc-34-3*
compat-gcc-34-c++-3*
gcc-4*
libXp-1*
openmotif-2*
compat-db-4*
2.インストール手順
2.1 インストール前
以下は root で操作すること。
Oracle Database 10g Release 1 (10.1.0) for Linux x86 30日間トライアル版 を ダウンロード し、解凍する。
/etc/sysctl.confを以下のように編集する
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
以下のコマンドを実行する。編集した内容を反映する
/sbin/sysctl -p
/etc/security/limits.confを編集する
soft nproc 2047
hard nproc 16384
soft nofile 1024
hard nofile 65536
インストール用フォルダを作成する
mkdir /opt/oracle/product/10.1/db_1
chown oracle –R /opt/oracle
インストール用グループとユーザを作成する
groupadd oinstall
groupadd dba
useradd oracle –g oinstall –G dba
passwd oracle
ネットワーク設定を確認する
hostname コマンドでホスト名を確認する。
vi /etc/hosts
host、domain などが問題ないこと
例 127.0.0.1 dbsrv dbsrv WORKGROUP localhost
::1 localhost6.localdomain6 localhost6
以下は oracle で操作すること
環境変数を設定する
/home/oracle/bash_profileを以下のように修正する
export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/10.1/db_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_SID=your_sid
一度ログアウトして、環境変数を有効にする。
2.2 インストール
oracleでログインして、「startx」 で xwindow を起動し、これからの操作はxwindowのcommand lineで行う
OSバージョンなどのシステム環境が満たさないので、システムの事前チェックを「off」にする
. /runInstaller -ignoreSysPrereqs
OUI画面が出るので、その画面のウィザードに従い、インストールする
2.3 インストール時の問題対応
■インストール時のDBCA起動が失敗した場合、原因として、ホスト名が取得できない可能性がある。
対応 ① 初期データベースを作成せず、インストールを完了させる
② ネットワークとシステム設定を確認する
③ $ORACLE_HOME/network/admin/listener.ora を修正
修正前 (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(PORT = 1521))
)
修正後 (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv)(PORT = 1521))
)
④ oracle ユーザで、$ORACLE_HOME/bin/dbca を実行し、データベースを作成
■インストールが完了した後、再起動する時、下記エラーが出た場合の対処
エラー: INIT: Id "h1" respawning too fast: disabled for 5 minutes
対応: /etc/inittab を修正する
修正前: h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null
修正後: #h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null
理由: cssd.binは、ASM (Automatic Storage Management) の機能を使うためのプロセスだそう。
Oracleから起動されるのではなく、OS自体が起動させてコントロールするとのこと。
ASMを利用しない場合、このプロセスを起動する必要がない。
2.4 起動scriptを作成する(rootで操作)
vi /etc/rc.d/init.d/dbora
#!/bin/sh # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/opt/oracle/product/10.1/db_1 ORA_OWNER=oracle export ORACLE_HOME=$ORA_HOME if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ] then echo "Oracle startup: cannot start" exit fi case "$1" in start) # Start the Oracle databases: su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" # Start Oracle Net su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" # Start emctl su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" touch /var/lock/subsys/dbora ;; stop) # Stop Oracle Net su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" # Stop the Oracle databases: su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" # Stop emctl su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" rm -f /var/lock/subsys/dbora ;; restart) $0 stop $0 start ;; status) if [ -f /var/lock/subsys/dbora ]; then echo $0 started. else echo $0 stopped. fi ;; *) echo "usage: dbora {start|stop|restart|status}" exit 1 esac exit 0 |
DBの起動と停止コマンド
起動:/etc/rc.d/init.d/dbora start を実行し、http://dbsrv:5500/em にアクセスする。sys でログインし、データベースをオープンする。
停止:/etc/rc.d/init.d/dbora stop
2.5 ポートの開放
DBサーバのファイアウォールの以下のポートを開放する
1521: oracle net 用
5500: emctl 用
5560: isqlplus 用 (isqlplusctlを起動した場合)
2.6 動作確認
http://dbsrv:5500/em
にアクセスし、Database Control 画面が表示される。
dbsrv でsqlplus /nolog を実行すると、sqlplus画面が表示される。
isqlplus が起動された場合
http://dbsrv:5560/isqlplus
にアクセスし、isqlplus画面が表示される。
3.Oracle XE について
以上Oracle 10g Enterprise Edition 版のインストールについて説明しましたが、初心者と個人の利用は Oracle のフリー版である Oracle XE を薦めます。 Oracle Database 10g Express Editor (OracleXE)はオラクルが提供する、Oracle Database の無償版です、詳しくは こちら です。
原文:http://uprush.net/book/6/9/1.html