Chinaunix
标题:
在RHEL3上安装Oracle9204 『总结』
[打印本页]
作者:
weatherfish
时间:
2006-03-15 20:19
标题:
在RHEL3上安装Oracle9204 『总结』
在RHEL3上安装Oracle9204
Redhat Enterprise Linux Advanced Server 3.0
Oracle9204 for linux (32bit)
本资料整理人:
weatherfish@163.com
一、安装前准备
友情提示:安装过程中出错,可参考以下资料
http://www.puschitz.com/InstallingOracle9i.shtml
1. 下载
从
http://www.oracle.com/technology ... docs/linuxsoft.html
(网站需注册)下载安装文件
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
解压
执行gunzip -d ship_9204_linux_disk1.cpio.gz,再执行cpio -idmv < ship_9204_linux_disk1.cpio 即可,其他同样。
从
http://metalink.oracle.com
(网站需授权登录)下载以下补丁,或者尝试从
http://e.pku.edu.cn
搜索文件
p3006854_9204_LINUX.zip (runInstaller 之前打)
p3238244_9204_LINUX.zip (修复agent错误的补丁)
p2617419_210_GENERIC.zip (打3238244补丁所需要的补丁)
2.检查并安装操作系统系统补丁包
检查是否安装以下包:
引用:#su - root
#rpm -qa|grep compat
compat-db-4.0.14-5.i386
compat-gcc-7.3-2.96.122.i386
compat-gcc-c++-7.3-2.96.122.i386
compat-libstdc++-7.3-2.96.122.i386
compat-libstdc++-devel-7.3-2.96.122.i386
#rpm -qa|grep openmotif21
openmotif21-2.1.30-8.i386
#rpm -qa|grep setarch
setarch-1.3-1.i386
#rpm -qa|grep tcl
tcl-8.3.5-92.i386
上面显示的内容安装了具体的RPM包之后的结果。它们对应的软件包是:
compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm
这些包一般在安装光盘的第三张和第二张,安装方法示例
#su - root
#rpm -ivh compat-db-4.0.14-5.i386.rpm
安装有些包有先后顺序,请按相应提示安装即可
4.打补丁p3006854_9204_LINUX.zip
#su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
5.gcc降级
需要将gcc、g++更换为2.96的版本.
方法如下:
引用:#su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323
ln -s /usr/bin/g++296 /usr/bin/g++
二、设置内核参数:
1.修改内核:
#vi /etc/sysctl.conf
加入:
kernel.shmmax =268435456
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
注:其中shmmax根据你的实际内存大小修改,其他项可不改,shmmax一般建议为内存一半,这里是以物理内存512M为例,,即512*1024*1024/2
=268435456,实际上如果内存较小,如128M,可以设置为内存本身大小,本人实验成功过的,shmmax最大设置值要小于4G,即最大可为4G-
1Byte,即4294967295 bytes)
保存后,执行sysctl -p 使其生效。
2. 修改oracle对文件的要求:
#vi /etc/security/limits.conf
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384
三、oracle程序安装
1、建立用户、设置环境变量
建立用户的命令是以root用户运行的。
引用:
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
设置环境变量:
以oracle用户登录,
引用:vi $HOME/.bash_profile
插入下面的内容:
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1 # for RH 9 and RHEL AS 3
# Oracle Environment
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
export PATH=$PATH
ORACLE_HOME/bin
然后执行source .bash_profile 使环境变量生效,用env 或set|more查看环境变量是否生效。
注:以上是ORACLE_BASE值为/home/oracle,当然你也可以安装到指定的目录,但是要建立相应目录及赋予权限,如下
引用:#su - root
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
#chown -R oracle.oinstall /opt/oracle
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle
这时ORACLE_BASE的值就是/opt/oracle。
2.启动图形界面安装前准备
#su - root
#xhost +192.168.0.1 (根据自己主机ip修改,下同)
#su - oracle
$ export DISPLAY=192.168.0.1:0.0
$ export LANG=en_us (以英文方式启动oracle安装图形界面, 这样在中文字符环境下安装oracle时就不会出现乱码,例如按钮上的字为“
口口” )
3、开始安装程序
#su - oracle
进入Disk1目录
$./runInstaller
期待以久的图形界面终于出来了
UNIX组名,输入Oracle用户所在的组“oinstall”
安装方式:选择不建库,只安装程序
安装过程提示执行orainstRoot.sh ,另开终端窗口,以root执行:sh /tmp/orainstRoot.sh
4.修复agent错误
oracle身份运行agentctl start agent ,如果提示错误安装p3238244_9204_LINUX.zip补丁
引用: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
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply
补丁修复完成,需要relinked一个.mk文件。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
再次运行agentctl start agent ,启动agent服务,agentctl stop agent、agentctl status来停止此服务或者检查服务的状态。
四、建库。
以 oracle执行dbca建库
注意根据需要选择字符集,安装后字符集不可修改
建库完毕后
以oracle身份启动listener和数据库实例
$ lsnrctl start
$sqlplus /nolog
connect / as sysdba
startup 启动
shutdown immediate 关闭
================若一切正常,到此即宣告安装全部成功==================
附加内容:数据库自启动/关闭脚本
让数据库随开机自行启动以及关机前自动关闭
步骤
1.
cp /home/oracle/admin/test/pfile/init.ora* /u01/app/oracle/product/9.2.0/dbs/inittest.ora
请根据实际情况修改文件路径
2.修改/etc/oratab,把boss那一行最后的N改成Y,
3.创建脚本ora9i
以root执行vi /etc/rc.d/init.d/ora9i,加入以下内容
#!/bin/bash
#start and stop the oracle instance
# chkconfig –level 5 --add ora9i
#chkconfig: 345 91 19
# description: starts the oracle listener and instance
export ORACLE_HOME="/u01/app/oracle/product/9.2.0.4"
export
PATH=$ORACLE_HOME/bin
ORACLE_HOME/Apache/Apache/bin
PATH
export ORACLE_OWNER="oracle"
export ORACLE_SID=oradb
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "oracle startup:cannot start"
exit 1
fi
case "$1" in
start)
#startup the listener and instance
echo -n "oracle startup: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "finished"
;;
stop)
# stop listener, apache and database
echo -n "oracle shutdown:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "finished"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: ora9i [start|stop|reload|restart]"
exit 1
esac
exit 0
存为ora9i后,然后用执行 chmod a+x ora9i ,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止
了。如果要将这个脚本加入到系统中使其可开机运行,有三种办法:
方法一.执行chkconfig --level 3(或者是5) --add ora9i
方法二.root用户执行如下命令:
#cp /orasetup/ora9i /etc/rc.d/init.d/
#chmod a+x /etc/rc.d/init.d /ora9
#cd /etc/rc.d/rc5.d
#ln -s /etc/rc.d/init.d/ora9i S99ora9i
#cd /etc/rc.d/rc0.d
#ln -s /etc/rc.d/init.d/ora9i K99ora9i
方法三. 在/etc/rc.d/rc.local中加入如下:
su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start"
su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/dbstart start"
============================本文完=================
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2