Install Oracle 9i on Redhat Linux AS4

sdvingo發表於2007-03-22

前兩天受同學之託,要在linux上面裝oracle 9i,開始用的是redhat 9.0無奈沒有metadata的帳號,關鍵的一個補丁包始終下不到,只能放棄安裝。而後轉戰AS4,同樣需要好幾個補丁包,經過苦苦尋找,在網際網路分享精神的保佑下,終於蒐集到了幾個必要的補丁包,開始安裝。

避免麻煩,系統選擇完全安裝。以後不需要的包可以再刪嘛。
1、去oracle的網站把三個映象下載下來,然後解壓。
#zcat ship_9204_linux_disk1.cpio.gz | cpio -idmv
#zcat ship_9204_linux_disk2.cpio.gz | cpio -idmv
#zcat ship_9204_linux_disk3.cpio.gz | cpio -idmv

2. 新建oracle 使用者和使用者組
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
cd /opt
mkdir app
cd app
mkdir oracle
cd oracle
mkdir product
cd product
mkdir 9.2.0
cd /opt
chown -R oracle.dba /opt
chown -R oracle.dba /ora_data
chmod 755 /opt

3、安裝補丁包
解壓p4198954_21_linux.zip得到兩個rpm檔案
安裝
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm
rpm -ivh compat-libcwait-2.0-2.i386.rpm

4、設定共享記憶體(Shared Memory)
# echo 250 32000 100 128 > /proc/sys/kernel/sem
# echo 2147483648 > /proc/sys/kernel/shmmax

修改配置檔案# vi /etc/sysctl.conf,新增
# Set oracle environment variable
net.core.rmem_max=262144
net.core.wmem_max=262144
kernel.shmmax=2147483648
kernel.sem=250 32000 100 128
#vm.pagecache=1 15 15
#fs.aio-max-size=2147483648
net.ipv4.ip_local_port_range=1024 65000
退出後執行# /sbin/sysctl -p

5、修改#vi /home/oracle/.bash_profile檔案,新增
# +————————————————————+
# | FILE : .bash_profile |
# +————————————————————+

umask 022

# +————————–+
# | SETUP ORACLE ENVIRONMENT |
# +————————–+
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
# Use the “Linuxthreads with floating stacks” implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.19

export ORACLE_SID=test
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm

# +————————–+
# | LINUX STUFF |
# +————————–+

# +————————–+
# | SETUP SEARCH PATH |
# +————————–+

export PATH=$PATH:$ORACLE_HOME/bin

# +————————–+
# | SETUP JAVA ENVIRONMENT |
# +————————–+

# +————-+
# | “GREETINGS” |
# +————-+

#./lowermap
#ulimit -n 63536
#ulimit -u 16384
echo “.bash_profile executed”

最後一行將在啟動期間顯示。

6、修改#vi /etc/security/limits.conf檔案,新增:
oracle soft nofile 4096
oracle hard nofile 63536
oracle soft nproc 2047
oracle hard nproc 16384

著急要開始安裝了?別急,還有一步。

7、安裝ncurses4-5.0-11.i386.rpm
在網上的安裝文件中沒有這一步,但如果不裝的話,安裝過程中會出現錯誤,導致安裝失敗。

8、下面是安裝資料庫的主要幾個步驟(用oracle使用者登陸圖形介面):
su - oracle
$ source .bash_profile
.bash_profile executed
$ cd /tmp
$ cd Disk1/
$ ./runInstaller

出現了圖形介面的話就成功了大半了,接下來按提示點滑鼠進行選擇即可。

9、安裝完成後退出安裝程式,打Agent補丁. 包括安裝p3238244_9204_LINUX.zip補丁和opatch軟體包:p2617419_220_GENERIC.zip。
沒有metadata的帳號,找到這兩個包可不容易啊。
#su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs “fuser” which is located in /sbin
$ chmod 777 /tmp/OPatch/opatch
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply

$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install

9、 配置開機後自啟動指令碼。Oralce不建議開機後自動啟動皺眉
修改#vi /etc/rc.local檔案新增

touch /var/lock/subsys/local
umount /dev/shm
mount -t ramfs ramfs /dev/shm
chown oracle:dba /dev/shm
/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

#start Oracle9i
su - oracle -c ‘dbstart’
su - oracle -c ‘lsnrctl start’

修改 #vi /etc/oratab檔案,N修改為Y
test:/opt/app/oracle/product/9.2.0:Y

複製pfile檔案到$ORACLE_HOME/dbs目錄,pfile檔案生產spfile.
#cp $ORACLE_BASE/admin/jcd/pfile/inittest.ora* $ORACLE_HOME/dbs/inittest.ora
注意,這裡$ORACLE_BASE/admin/jcd/pfile/inittest.ora*可能變化,必要時手動找一下
修改#vi /etc/cron.daily/slocate.cron檔案。遮蔽nightly slocate cron job
#!/bin/sh
#. /etc/updatedb.conf
#[ “$DAILY_UPDATE” != “yes” ] && exit 0
#renice +19 -p $$ >/dev/null 2>&1
#/usr/bin/updatedb

按文件上說的話還需要裝一個補丁包,300多兆,可惜google我都翻到後20多頁了都沒找到,估計是沒希望了。好在裝到這一步的話就可以用起來了。萬幸萬幸。

敲sqlplus便可在命令列下對oracle進行操作,敲oemconsole就可以進入類似於SQLServer的企業管理器的圖形介面。

抱怨一下,sqlplus真的很難用,竟然不支援歷史命令,一個命令敲錯一個的話字就得全部重敲。

OVER。

--&gt[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/443058/viewspace-906484/,如需轉載,請註明出處,否則將追究法律責任。

相關文章