远洋君家庭背景:oracle9.2.0.4安装 for REDHAT linux as4.0

来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 13:19:28
文件:
oracle9.2.0.4在RHEL4u2AS上安装补丁.rar
大小:
365KB
下载:
下载
特别说明:此文章参考了众多大侠的帖子,主要是根据自己的实际操作来写的,主机环境也许不同,但是思路都是一样的!!!

安装REDHAT LINUX AS4.0时选择完全安装(6030M)
(一)  以ORACLE用户解压缩Oracle9204的安装文件 (最好在根分区建立/orasetup,系统坏了,也只是重装系统,而无须重新拷贝数据库安装文件)
1)         Oracle 9iR2 (9.2.0.4)
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)         解包和解压过程中,自动创建了3个包含安装文件的目录:
Disk1
Disk2
Disk3

(二)  安装前的检查和准备工作;
1)        查看这些开发包是否已安装:
使用以下命令查看:#rpm -qa|grep ‘compat’

compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-oracle-rhel4-1.0-3
compat-libcwait-2.0-1
compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gnome-libs-1.4.1.2.90-44
gnome-libs-devel-1.4.1.2.90-44
libaio-devel-0.3.102-1
libaio-0.3.102-1
make-3.80-5
openmotif21-2.1.30-11
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL

2)        安装需要的软件包和补丁包:
p4198954_21_linux.zip在运行runInstaller之前打.
p3238244_9204_LINUX.zip修复agent错误的补丁.
p2617419_210_GENERIC.zip打3238244补丁所需要的补丁.
其中p4198954_21_linux.zip补丁包括compat-oracle-rhel4和compat-libcwait两个RPM包,可以在如下网站:
http://oss.oracle.com/projects/compat-oracle/files/RedHat/
补充说明:
p4198954_40_LINUX.zip(compat-oracle-rhel4-1.0-5.i386.rpm和compat-libcwait-2.0-2.i386.rpm 不打这个补丁在安装ORACLE时会报一大堆的错,找不到文件什么的)
p3006854_9204_LINUX.zip(不打这个补丁在安装ORACLE时运行runInstaller.sh后图形界面出不来,没法安装)
p2617419_10102_GENERIC.zip(网上文章说要p2617419_210_GENERIC.zip文件,ORACLE工程师所给文件版本更新。)
p3238244_9204_LINUX.zip (p2617419和p3238244两个补丁是为解决Agent启动不了问题)
(三)  创建数据库安装的准备工作
1)        创建oracle用户
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
2)        建立oracle安装文件夹
# mkdir -p /app/oracle/product/9.2.0.4
# chown oracle:dba /orasetup
# chmod 777 /orasetup
# chown -R oracle:dba  /app/oracle/product/9.2.0.4
# chmod -R 777 /app/oracle/product/9.2.0.4
注意:ORACLE_HOME目录的权限要层层授权给oracle用户。
3)        配置环境变量;
使用Oracle用户登陆:
#su – oracle
$vi .bash_profile
以下是配置文件的内容,我的内容如下:(红色为新增内容)
PATH=$PATH:$HOME/bin
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=/app/oracle/product/9.2.0.4
PATH=/orasetup/OPatch:/usr/java/j2sdk1.4.2_09/bin:$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
JAVA_HOME=/usr/java/j2sdk1.4.2_09
CLASSPATH=.:/usr/java/j2sdk1.4.2_09/lib/tools.jar
export ORACLE_OWNER=oracle
export ORACLE_SID=jdemis
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG="American_america.zhs16gbk"
#export NLS_LANG="IMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
#export DISPLAY=192.168.2.9:0.0  
export LANG=en_US
export GDM_LANG= en_US
export LC= en_US
export JAVA_HOME
export PATH  
unset USERNAME
unset LANG
4)        设置系统参数
#su – root切换到root用户
a)        修改#vi /etc/sysctl.conf,
以下是配置文件的内容(其中红色字体为添加的内容):
kernel.shmmni = 4096
kernel.sem = 256 32000 100 142
kernel.shmmax = 1073741824
kernel.shmall=2097152
fs.file-max = 65536
fs.aio-max-size = 2147483648
net.ipv4.ip_local_port_range = 1024 65000
修改后运行#sysctl –p命令使得内核改变立即生效
译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是2G,则可以设置最大共享内存为1073741824,如上;如物理内存是1G,则可以设置最大共享内存为512*1024*1024=536870912;以此类推。)
建议永久地增加shmmax设置。
sem4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax最大共享内存,官方文档建议是内存的1/2,Shmmni最小共享内存4096KB.Shmall所有内存大小
b)        设置oracle对文件的要求
编辑文件:#vi /etc/security/limits.conf 加入以下语句:
oracle    soft    nofile    65536
oracle    hard    nofile   65536
oracle    soft    nproc    16384
oracle    hard    nproc    16384
5)        安装oracle补丁
当你从 Oracle 9iR2 光盘执行 runInstaller 时,会出现错误信息:
Error occurred during initialization of VM
Unable to load native library:
/tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386
/libjava.so symbol _libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
为了解决 _libc_wait 符号问题,
compat-libcwait-2.1-1.i386.rpm  compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁,可以运行:
$su – root
#cd /orasetup
# rpm -Uvh compat*.rpm
Preparing...            ########################################### [100%]
1: compat-libcwait-2.1-1.i386.rpm ##################################### [ 50%]
2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%]
说明:如果使用compat-libcwait-2.0-2.i386.rpm补丁,最后在安装好ORACLE数据库的时候,重新启动机器的时候会报以下错误:INIT:no more processes left in this runlevel,也就是/USR分区不能UMOUNT下来,死机在那里,解决方法是,重新安装compat-libcwait-2.1-1.i386.rpm这个高版本的补丁。
(四)  开始安装oracle9iR2
1)        以oracle用户登录系统,进行Oracle的安装
                $ cd Disk1
                $ ./runInstaller过一会儿就会出现Oracle的安装界面
2)        一步一个脚印安装下去就行了!
3)        安装过程中报以下错误:Error:You do not have sufficient privileges to write to the specified path.in component Database Configuation Assistant 9.2.0.1.0. Installation cannot continue for this component.
stop installation of all products
stop installation of this component only
原因是前面在授予ORACLE_HOME权限给oracle用户时不完整,需要一步步授权,分别使用chown和chmod命令分层授权。
4)        安装完后打补丁
切换到root:#su – root
首先安装 opatch.
#运行下载的 p2617419_10102_GENERIC.zip
#unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
#export PATH=$PATH:/home/oracle/OPatch
注意:设置环境变量,前面ORACLE的脚本已经设置了,这里只需改变你的路径
5)        继续打补丁
# unzip p3238244_9204_LINUX.zip
# cd 3238244
# opatch apply
6)        补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
cd $ORACLE_HOME/network/lib
make –f ins_oemagent.mk install
7)        启动Agent服务
Oracle用户下运行agentctl start.

8)        执行#dbca建oracle数据库
点击OK,然后退出即可,正常登陆并启动数据库的操作。
[oracle@oracleoracle]$lsnrctl start
[oracle@oracleoracle]$sqlplus  /nolog
SQL*Plus:Release9.2.0.4.0-ProductiononSatMar1222:58:532005
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
SQL>connect  /as sysdba
Connected.
SQL>shutdown immediate关闭数据库
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>startup;启动数据库
ORACLEinstancestarted.
TotalSystemGlobalArea236000356bytes
FixedSize451684bytes
VariableSize201326592bytes
DatabaseBuffers33554432bytes
RedoBuffers667648bytes
Databasemounted.
Databaseopened.

9)        数据库创建完成后,修改/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’tfindinitfile…的错误,需要复制一个初始化文件:
cp/u01/app/oracle/admin/oradb/pfile/init.ora.*/u01/app/oracle/product/9.2.0/dbs/initoradb.ora
重新执行dbstart就可以了。

为了方便管理,可以写一个启动脚本ora9i:
以root身份进入,编写以下脚本:
#!/bin/bash
#startandstoptheoracleinstance
#chkconfig–level5--addora9i
#chkconfig:3459119
#description:startstheoraclelistenerandinstance
exportORACLE_HOME="/u01/app/oracle/product/9.2.0.4"
exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
exportORACLE_OWNER="oracle"
exportORACLE_SID=oradb

if[!-f$ORACLE_HOME/bin/dbstart-o!-d$ORACLE_HOME]
then
echo"oraclestartup:cannotstart"
exit1
fi

case"$1"in
start)
#startupthelistenerandinstance
echo-n"oraclestartup:"
su-$ORACLE_OWNER-c"$ORACLE_HOME/bin/lsnrctlstart"
su-$ORACLE_OWNER-c$ORACLE_HOME/bin/dbstart
touch/var/lock/subsys/oracle
echo"finished"
;;
stop)
#stoplistener,apacheanddatabase
echo-n"oracleshutdown:"
su-$ORACLE_OWNER-c"$ORACLE_HOME/bin/lsnrctlstop"
su-$ORACLE_OWNER-c$ORACLE_HOME/bin/dbshut
rm-f/var/lock/subsys/oracle
echo"finished"
;;
reload|restart)
$0stop
$0start
;;
*)
echo"Usage:ora9i[start|stop|reload|restart]"
exit1
esac
exit0

存为ora9i后,然后用chmoda+xora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9istart|stop来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:chkconfig--level3(或者是5)--addora9i
或者以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/ora9iS99ora9i
#cd /etc/rc.d/rc0.d
#ln-s/etc/rc.d/init.d/ora9iK99ora9i
也可自启动oracle9i!
或者可在/etc/rc.d/rc.local中加入如下:
su-oracle-c"/u01/app/oracle/product/9.2.0.4/bin/lsnrctlstart"
su-oracle-c"/u01/app/oracle/product/9.2.0.4/bin/dbstartstart"
10)     关于数据库删除重新安装的问题:
把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm –f /etc/ora*.*


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21218/showart_133657.html