Redhat Linux 9+Oracle 9.2 快速安裝

chensq發表於2005-06-22

[@more@]

前幾天安裝了一臺Server,作業系統Redhat Linux 9,資料庫Oracle 9.2 。
由於Oracle 9.2 在Redhat Linux 9下面沒有得到認證(也就不推薦這一樣一種組合了,就象Linux 7.3+Oracle 8i 一樣,雖然能夠安裝,但有時候會出現一些故障。),安裝起來也就麻煩一點了。

環境變數:
[oracle@lserver oracle]$ env
REMOTEHOST=10.0.0.4
HOSTNAME=lserver
SHELL=/bin/bash
TERM=ansi
HISTSIZE=1000
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
USER=oracle
LD_LIBRARY_PATH=:/oracle/lib:/oracle/network/lib
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;0
1:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.b
tm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:
*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*
.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;3
5:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
ORACLE_SID=orcl
ORACLE_BASE=/oracle
MAIL=/var/spool/mail/oracle
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/oracle/bin:/oracle/bin
INPUTRC=/etc/inputrc
PWD=/oracle
LANG=zh_CN.gbk
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/oracle
LD_ASSUME_KERNEL=2.4.1
LOGNAME=oracle
LESSOPEN=|/usr/bin/lesspipe.sh %s
ORACLE_HOME=/oracle
G_BROKEN_FILENAMES=1
_=/bin/env
[oracle@lserver oracle]$

.bash_profile:
# User specific environment and startup programs
export LD_ASSUME_KERNEL=2.4.1
export PATH=$PATH:$HOME/bin
export ORACLE_HOME=/oracle
export ORACLE_BASE=/oracle
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LANG=zh_CN.gbk
unset USERNAME

根據網上的連結,安裝相應的軟體包,然後再安裝Oracle軟體,編譯的過程非常成功,也沒有7.3下ctx編譯不過的現象。以下內容摘自該連結:
1.安裝前的準備
1.1.調整系統引數(可選)
新增以下幾行到 /etc/sysctl.conf末尾:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 128 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

新增以下幾行到/etc/security/limits.conf末尾:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

[hantsy@hantsy]$ sudo echo 250 32000 100 128 > /proc/sys/kernel/sem
[hantsy@hantsy]$ sudo echo 536870912 > /proc/sys/kernel/shmmax
[hantsy@hantsy]$ sudo echo 4096 > /proc/sys/kernel/shmmni
[hantsy@hantsy]$ sudo echo 2097152 > /proc/sys/kernel/shmall
[hantsy@hantsy]$ sudo echo 65536 > /proc/sys/fs/file-max
[hantsy@hantsy]$ sudo echo 1024 65000 > /proc/sys/net/iv4ip_local_port_range


1.2 安裝必要的軟體
使用 apt或yum安裝下面的軟體,參見.
nss_db-compat-2.2-20.4
compat-libstdc++-7.3-2.96.128
compat-libgcj-devel-7.3-2.96.123
compat-slang-1.4.5-5
compat-gcc-c++-7.3-2.96.128
compat-libgcj-7.3-2.96.123
compat-libstdc++-devel-7.3-2.96.128
compat-gcc-7.3-2.96.128
compat-db-4.0.14-5.1
compat-pwdb-0.62-3
pdksh

調整gcc,將gcc改成2.96的gcc
mv /usr/bin/gcc /usr/bin/gcc32
mv /usr/bin/g++ /usr/bin/g++32
ln -s /usr/bin/gcc296 /usr/bin/gcc
ln -s /usr/bin/g++296 /usr/bin/g++

1.3 新建oracle使用者和安裝目錄
[hantsy@hantsy]$sudo groupadd oinstall
[hantsy@hantsy]$sudo groupadd dba
[hantsy@hantsy]$sudo mkdir -p /opt/oracle/product/9.2
建立資料庫目錄,可選,如果安裝目錄空間足夠大,不必另建。
[hantsy@hantsy]$sudo mkdir -p /var/opt/oracle
[hantsy@hantsy]$sudo useradd -g oinstall -G dba -d /opt/oracle -uid 1001 oracle
[hantsy@hantsy]$sudo passwd oracle
[hantsy@hantsy]$sudo chown oracle.oinstall /var/opt/oracle
[hantsy@hantsy]$sudo chown -R oracle.oinstall /opt/oracle
以oracle使用者登入寫入環境變數。
[hantsy@hantsy]$su - oracle
Password:
[oracle@oracle]$pwd
/opt/oracle
使用你喜歡的編輯器編輯.bashrc
[oracle@oracle]$ .bashrc
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

#set oracle enviroments
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2
export ORACLE_SID=oralin
export ORACLE_OWNER=oracle

#export NLS_LANG=AMERICAN_AMERICA.UTF8;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib

1.4 下載oracle安裝檔案,可以從上下載。
p3948480_9206_LINUX.zip
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
p3006854_9204_LINUX.zip
此patch可以從www.itpub.com上找到。

2.開始安裝
2.1 打patch,解壓安裝檔案。
[hantsy@hantsy]$sudo unzip p3006854_9204_LINUX.zip
[hantsy@hantsy]$sudo cd 3006854
[hantsy@hantsy]$sudo sh rhel3_pre_install.sh
依次解壓幾個檔案:
[hantsy@hantsy]$sudo gunzip .cpio.gz
[hantsy@hantsy]$sudo cpio -idmv < .cpio
得到Disk1,Disk2,Disk3三個目錄。

2.2 開始安裝,這時不要建新資料庫。
[hantsy@hantsy]$sudo xhost +
切換到oracle使用者。
[hantsy@hantsy]$su - oracle
Password:
[oracle@oracle]$cd /Disk1
[oracle@oracle]$./runInstaller&
啟動安裝程式,在選擇安裝型別時選擇"Software Only",結束安裝。

升級到9.2.0.6,執行此步驟之前請修改/etc/redhat-release,rhel 3不必修改,新的補丁安裝程式和oracle 10的一樣會檢測系統。
確保其內容如下:
Red Hat Enterprise Linux AS release 3 (Taroon)

進入9026安裝程式目錄,
[oracle@oracle]$./runInstaller&
選擇安裝 "Oracle Universal Installer"。
安裝完畢,重新啟動安裝程式。
選擇安裝 "Oracle9iR2 Patch Set"。

2.3 建立資料庫
[oracle@oracle]$dbca &
啟動資料庫代理,填寫必要的引數,建立資料。
也可以預先指定引數。
[oracle@oracle]$`dbca -createDatabase -templateName New_Database.dbt
-gdbName oralin.localhost -datafileDestination /var/opt/oralce/oradata/ -sid
oralin` &
如果不想啟動圖形,可以追加上-silent引數。

3 安裝後的處理
3.1 建立啟動服務程式
如果***沒有***進行1.1步,可以從gurulabs()下載rpm包。
wget -c
[hantsy@hantsy]$sudo rpm -ivh oraclerun9i-1.4-1.noarch.rpm
它提供了幾個檔案:
[hantsy@hantsy]$sudo rpm -ql oraclerun9i
/etc/init.d/oracle
/etc/profile.d/oracle.csh
/etc/profile.d/oracle.sh
/etc/sysconfig/oracle
/usr/share/doc/oraclerun9i-1.4/INSTALL

修改/etc/profile.d/oracle.sh,設定$ORACLE_HOME,$ORACLE_SID,$ORACLE_BASE。
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2
export ORACLE_SID=oralin

修改/etc/sysconfig/oracle,將START_ORALCE改成"yes"。
修改/etc/oratab,將N改成Y。

調整系統引數:
[hantsy@hantsy]$sudo /etc/init.d/oracle tunekernel
啟動資料庫:
[hantsy@hantsy]$sudo /etc/init.d/oracle start
關閉資料庫:
[hantsy@hantsy]$sudo /etc/init.d/oracle stop

如果執行了1.1步,自己手寫一個shell(/etc/init.d/oracle)就行了,內容如下
#!/bin/sh
# chkconfig: - 20 80
#
# description: Oracle auto start-stop script.
# 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/9.2
ORA_OWNER=oracle

if [! -f $ORA_HOME/bin/dbstart]
then
echo "Oracle startup: cannot start"
exit
fi

case "" in
'start')
# Start the Oracle databases
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrctl start
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
;;

'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrctl stop
;;

esac


3.2 還原gcc的連結
[hantsy@hantsy]$sudo rm /usr/bin/gcc
[hantsy@hantsy]$sudo rm /usr/bin/g++
[hantsy@hantsy]$sudo mv /usr/bin/g++32 /usr/bin/g++
[hantsy@hantsy]$sudo mv /usr/bin/gcc32 /usr/bin/gcc

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

相關文章