- 论坛徽章:
- 0
|
linux as4下 oracle9的安装
RHAS4上安装ORACLE补丁集
http://www.cublog.cn/opera/showart.php?blogid=8463&id=68996
环境:联想万全R630 (我对联想的产品没有任何好感)客户是用这样的服务器,联想服务器说明指明支持REDHAT9。0 /AS 3/AS4所以开始准备安装REDHAT9。0J结果没有相应的,RAID卡驱动,电话到联想技术支持,技术支持说他们不支持,REDHAT9。0。介意安装AS3,于是在下安装AS3,但是还是RAID驱动,致电联想技术支持,要驱动,技术说他们不清楚这款驱动型号,但是我差点崩溃,折腾一天了,结果是这样。郁闷啊!后来询问如何解决呢?技术答曰安装AS4实验一下吧!于是偶一狠心,加个小班装呗!可以说历尽千难万险,GOOLE,BAIDU 好多资料,终于是完成了系统和数据库的安装!饿的心里好受多了!现在把安装过程共享一下,希望其他兄弟少走弯路,早点下班回去睡觉!本来就没有加班费的嘛!加班太不划算了!
一:安装AS4操作系统,最好选完全包安装,要不安装ORACLE回提示少很多包。
这些包是必须的,安装ORACLE前先检查一下:
1, 查看这些开发包是否已安装;
安装需要的软件包和补丁包:
p4198954_21_linux.zip 在运行 runInstaller 之前打.
p3238244_9204_LINUX.zip 修复agent错误的补丁.
p2617419_210_GENERIC.zip 打3238244补丁所需要的补丁.
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
其中compat-oracle-rhel4和compat-libcwait可以在如下网站:
http://oss.oracle.com/projects/compat-oracle/files/RedHat/
# rpm -qa | grep ‘compat’
注:如果包不全,大多书都在第3张系统盘上。自己找一下吧。单独安装包。也许会提示依赖关系,提示安装失败时可以是用
Rpm --nodeps --force *.rpm
二,解压缩Oracle9204的安装文件
1. Oracle 9iR2 (9.2.0.4)
(1) 简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)
在安装LINUX时最好分一个区/bak
gunzip ship_9204_linux_disk1.cpio.gz
cpio –idmv
gunzip ship_9204_linux_disk2.cpio.gz
cpio –idmv ship_9204_linux_disk3.cpio.gz
cpio –idmv 解包和解压过程中,自动创建了3个包含安装文件的目录:
Disk1
Disk2
Disk3
之后就可以安装Oracle9iR2了。
三,创建数据库安装的准备工作;
1,创建user/group;
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
2,建立oracle安装文件夹;
# mkdir -p /u01/app/oracle/product/9.2.0.4
# mkdir /u01/cwdata
# chmod 777 /u01/cwdata
# chown oracle.dba /u01/cwdata
# chown oracle.dba /orasetup
# chmod 777 /orasetup
# chown -R oracle.dba /u01/app/oracle/product/9.2.0.4
# chmod -R 777 /u01/app/oracle/product/9.2.0.4
chmod 777 /u01/app/oracle
2, 配置环境变量;
以root用户登录,设置root用户的环境打开.bash_profile文件,将如下内容加入:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
使用Oracle用户登陆:
#su – oracle
$vi .bash_profile
以下是配置文件的内容(根据自己的实际情况)
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
#ORACLE_BASE 可以定位到盘阵上/data
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG="American_america.zhs16gbk"
# export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export DISPLAY=:0
export LANG=en_US
export GDM_LANG= en_US
export LC= en_US
export PATH
unset USERNAME
4, 设置系统参数;
#su – root切换到root用户
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容):
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl( and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
kernel.shmmax = 536870912 / 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
修改后运行#sysctl –p命令使得内核改变立即生效;
译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。)
建议永久地增加 shmmax 设置。
sem 4个参数依次为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
C) gcc降级
#su – root
#mv /usr/bin/gcc /usr/bin/gcc34
# ln -s /usr/bin/gcc32 /usr/bin/gcc
#mv /usr/bin/g++ /usr/bin/g++34
# ln -s /usr/bin/g++32 /usr/bin/g++
安装完成后记得恢复后来,以防以后会用GCC
5,安装oracle补丁
本人建议安装时先选择SOFT安装,然后用DBCA和NETCA建库和配置。因为as4上安装的ORACLE9204 安装同时建库用DBCA时,调用JRE有问题,你会发现建库可能一直是46%停止不动。我等了2个多小时都没有动一点,后来重新安装还是这样,后来才知道他调用JRE是用错误,应该是个BUG吧。所以建议先安装软件,以后再建立数据库。
当你从 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 符号问题,
从
http://oss.oracle.com/projects/compat-oracle/files/RedHat/
下载补丁
compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁,可以运行:
$su – root
# cd /bak
#ls compat*.rpm
compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm
# rpm -Uvh compat*.rpm
Preparing... ########################################### [100%]
1at-libcwait-2.0-2.i386.rpm ##################################### [ 50%]
at-oracle-rhel4-1.0-5.i386.rpm#################################### [100%]
四,开始安装oracle9iR2
(一)开始安装:
1.以oracle用户登录系统,进行Oracle的安装:
$ cd Disk1
$ ./runInstaller过一会儿就会出现Oracle的安装界面
2.一步一个脚印安装下去就行了!
安装过程中会提示以root用户登陆执行一些程序
3,安装完后打补丁:( 粉色情况我没有遇到)
切换到root:#su – root 首先安装 opatch.
#cd /bak
#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:/orasetup/OPatch:/sbin
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
# unzip p3238244_9204_LINUX.zip
# cd 3238244
#mkdir /var/tmp/.oracle
#chown oracle:dba /var/tmp/.oracle
# opatch apply 不能远程执行
如果提示HOME变量错误可执行语句:
#export ORACLE_BASE=/u01/app/oracle
#export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
出现success的提示就全部安装成功.
补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
cd $ORACLE_HOME/network/lib
make –f ins_oemagent.mk install
之后就可以启动Agent服务了. 可以通过
三:因为DBCA建库是调用ORACLE本身的JRE有错误,所以本人建议自己安装一个JRE上去。
1:下载j2sdk-1_4_2_13-linux-i586-rpm.bin到服务器
2:chmod +x j2sdk-1_4_2_13-linux-i586-rpm.bin
3:sh j2sdk-1_4_2_13-linux-i586-rpm.bin
4:rpm -ivh j2sdk-1_4_2_13-linux-i586.rpm
5: mv $ORACLE_HOME/JRE $ORACLE_HOME/JRE_ORIG
ln -s /usr/java/j2sdk1.4.2_13/jre $ORACLE_HOME/JRE
su - root
ln -s /usr/java/j2sdk1.4.2_13/jre/bin/java /usr/java/j2sdk1.4.2_13/jre/bin/jre
ln -s /usr/java/j2sdk1.4.2_13/jre/lib/i386/native_threads/java (/usr/java/j2sdk1.4.2_13/jre/lib/i386/native_threads/jre替换)/usr/java/j2sdk1.4.2_13/jre/lib/i386/native_threads/jre
6:su – oracle
export JRE_LOCATION=/usr/java/j2sdk1.4.2_13
7:dbca开始顺利建立数据库了。。。。。。。。。。。。。一切好运
8:netca配置数据库 监听
四:配置自启动吧
1, 数据库创建完成后,修改/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:
cp /u01/app/oracle/admin/oradb/pfile/init.ora.* /u01/app/oracle/product/9.2.0/dbs/initoradb.ora
重新执行dbstart就可以了。
为了方便管理,可以写一个启动脚本ora9i:
以root身份进入,编写以下脚本:
#!/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 ora9,即可在以后以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
也可自启动oracle9i!
或者可在/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"
2
关于数据库删除重新安装的问题:
把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm –f /etc/ora*.*
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23551/showart_273481.html |
|