RedHat AS 4.0最新安装Oracle9204手记 Linux as 2.6.9-15.ELsmp 一,解压缩Oracle9204的安装文件 1. Oracle 9iR2 (9.2.0.4) (1) 简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快) 在安装LINUX时最好分一个区/orasetup,这样一来即使系统坏了,也只是重装系统,而无须重新拷贝数据库安装文件. 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 之后就可以安装Oracle9iR2了。 二,安装前的检查和准备工作; 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’ 三,创建数据库安装的准备工作; 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 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(8) 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++
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 符号问题,
从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 /orasetup #ls compat*.rpm compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm # rpm -Uvh compat*.rpm Preparing... ########################################### [100%] 1:compat-libcwait-2.0-2.i386.rpm ##################################### [ 50%] 2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%] 注意安装这两个补丁前要按以下顺序打好相关补丁(这些补丁都在第三张盘上) freetype-devel-2.1.9-1.i386.rpm (不能在光盘上安装,要拷贝到硬盘) fontconfig-devel-2.2.3-7.i386.rpm xorg-x11-6.8.2-1.EL.13.20.i386.rpm libaio-devel-0.3.103-3.i386.rpm xorg-x11-devel-6.8.2-1.EL.13.20.i386.rpm xorg-x11-deprecated-libs-devel-6.8.2-1.EL.13.20.i386.rpm 四,开始安装oracle9iR2 (一)开始安装: 1.以oracle用户登录系统,进行Oracle的安装: $ cd Disk1 $ ./runInstaller过一会儿就会出现Oracle的安装界面 如果没有出现安装界面,请输入xhost + 2.一步一个脚印安装下去就行了! 3,安装完后打补丁: 切换到root:#su – root 首先安装 opatch. #cd /orasetup #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 # 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服务了.
4, 最后执行 #dbca 建oracle数据库 21,点击OK,然后退出即可,正常登陆并启动数据库的操作。 [oracle@oracle oracle]$ lsnrctl start [oracle@oracle oracle]$ sqlplus /nolog SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL>; connect / as sysdba Connected. SQL>; shutdown immediate 关闭数据库 Database closed. Database dismounted. ORACLE instance shut down. SQL>; startup; 启动数据库 ORACLE instance started. Total System Global Area 236000356 bytes Fixed Size 451684 bytes Variable Size 201326592 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. Database opened.
5, 数据库创建完成后,修改/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"
6, 关于数据库删除重新安装的问题: 把ORACLE安装目录删除及/etc/ora*.*删除就行了 #rm –f /etc/ora*.* 7,关于在LINUX中运行管理软件 #oemapp 如图
[ 本帖最后由 blue_stone 于 2006-9-21 14:14 编辑 ]
|
|
|
|
phiazat 回复于:2005-08-10 09:03:45
支持!
ylwy 回复于:2005-08-10 09:16:22
收藏,试试
chen_cng 回复于:2005-08-31 19:29:28
非常好的教程,感谢楼主的辛劳。 通过它偶在centos 4.1下安装成功oracle 9.2.4.0
sunmoonsea 回复于:2005-09-01 10:37:08
很不错啊
creat7151 回复于:2005-09-01 16:56:43
好文,收藏
vahala 回复于:2005-09-07 10:28:49
请楼主发贴的时候尽量本着认真负责的态度,像你这样随便抄过来的文档以后就不要乱发了。
另外: 对搞计算机的中国人提一点点我的意见:希望大家本着实事求是塌实认真的工作态度和精神,在发表文章的时候一定要自己先去亲身实践一下,然后再把文章发出来,告诉大家什么地方你做到了,什么地方没有做到,什么地方需要注意,你对需要注意的地方有什么建议!
我很悲哀,现在中国搞计算机的同志们实在是太浮躁了!
wyckwemail 回复于:2005-09-07 17:53:24
那么楼上的有没有做过?没有做过就不要乱发评论,这是我自己参考资料,并且自己安装过程中写的资料,有相同是很正常的,你以为你是天才,天生下来就会吗?但也有我自己的东西,我不是拿来做论文,不是靠他吃饭,有错误难免,有相同也难免, 我只是想为我们这些初学者提供一些详细的参考资料! 而你又做到了多少?你是高手吗?你也没有发多少或整理多少可以让我们参考的资料吧? 不要表现的太伟大,我们只是混口饭吃!
vahala 回复于:2005-09-07 19:13:45
你个贱人,看来你活着就是为了混口饭吃!
sunchunqiang200 回复于:2005-09-07 21:54:25
楼主的安装有点问题,我在本机上安装不成功!
vahala 回复于:2005-09-08 10:21:01
我早说了楼主的文章是胡写的,一看题目就知道他在胡说。 chinaunix.net的编辑应该多检查一下此类文章,这样的文章一看题目就让人觉得脸红啊!
另外:想获得真经最好去www.oracle.com oracle的网站上有比较全面和认真的安装文章。
wyckwemail 回复于:2005-09-08 19:39:16
to:vahala 如果你很有素质,就不应该骂人,一个没有素质的人还感叹"我很悲哀,现在中国搞计算机的同志们实在是太浮躁了!",哈哈哈,可笑!
wyckwemail 回复于:2005-09-08 20:04:55
也可以安装以下几个软件包: compat-libstdc++-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122 compat-db-4.0.14-5 compat-gcc-7.3-2.96.122 tcl-devel-8.3.5-92.i386.ipm openmotif21-2.1.30-8 setarch-1.3-1 或可能要其他软件包 然后gcc降级 #su – root #mv /usr/bin/gcc /usr/bin/gcc34 #ln –s /usr/bin/gcc296 /usr/bin/gcc #mv /usr/bin/g++ /usr/bin/g++34 #ln –s /usr/bin/g++296 /usr/bin/g++ 这样也应可以的,试一下,我自个安装成功的! 还有我们公司采用LINUX+ORACLE9.X的浪潮财务系统,安装没有问题, 最好用gcc296! 有错误,希望各位指出,共同提高!
wyckwemail 回复于:2005-09-08 20:14:12
http://www.puschitz.com/InstallingOracle9i.shtml#RunningOracleInstallationOnRHELAS4 这里有全英文的安装文档资料,大家可以参考一下!
lifeistrue 回复于:2005-09-12 21:30:16
vahala,我颇怀疑你的人品
expresso 回复于:2005-09-13 00:10:43
非常感谢楼主!
to:vahala 实施的环境有差异,实施的人水平有高低,难免有些问题。 如果帖子有问题的话,可以出来讨论。 骂人就太没素质了。
king3171 回复于:2005-09-13 12:27:39
引用:原帖由 "vahala"]你个贱人,看来你活着就是为了混口饭吃!
大家都是讨论技术,不要在这骂人,指出别人问题本无可厚非,但不应该骂人,CU里不欢迎你这样的人
isky8888 回复于:2005-09-21 22:50:33
引用:原帖由 "chen_cng" 发表: 非常好的教程,感谢楼主的辛劳。 通过它偶在centos 4.1下安装成功oracle 9.2.4.0
你好,chen_cng,我现在也是使用的CentOS 4.1,x86_64.但是我安装Oracle 9.2.4遇到问题。 我按照以前在AS3(32位,现在正在工作的环境)上的安装经验,将需要的包全部安装完毕了,本贴中楼主贴的包我也安装了,但是他说的几个zip我并没有安装,因为我以前在As3中也是没有安装的。 现在具体的问题是,./runInstaller的时候出现can't find libjava.so.错误 而在此之前的p3006854_9204_LINUX.zip这个补丁安装也不成功,编译无法通过,提示 suffix or operands invalid for 'push' suffix or operands invalid for 'pop' 说这两条指令有问题,无法生成/etc/libcwait.so,不知道是不是64位 AMD Opteron 有什么差别。我没管它了,但runInstaller出现了那个错误,我无法继续了。
大家遇到过这个问题吗,谢谢。
isky8888 回复于:2005-09-22 09:31:46
这是我在Metalink找到的一个说明,但是,我在CentOS4.1(相当于Redhat As 4 Update1)应用这个补丁的时候,出现了/usr/bin/ld:crti.o:No such file的错误。我在继续需求解决方法,希望有经验的人参与讨论,谢谢。 Requirements for Installing Oracle 9iR2 on RHEL4 X86_64 -------------------------------------------------------
1. Hardware: ========= * Minimum Hardware Requirements - 512 MB of physical RAM - 1 GB of swap space (or twice the size of RAM) On systems with 2 GB or more of RAM, the swap space can be between one and two times the size of RAM. - 400 MB of disk space&nb 发表: |