linux下oracle9204安装笔记
gobeta
|
1#
gobeta 发表于 2008-02-27 00:40
linux下oracle9204安装笔记
一、准备工作
1、检查组件的安装情况 完全安装的话,系统就只差两个补丁compat-libcwait-2.0-2.i386.rpm 和 compat-oracle-rhel4-1.0-5.i386.rpm , 若你不是完全安装的话 那就要检查很多的组件是不是安装了。 以下这些是必须的: 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 用以下命令检查 # rpm -qa | grep ‘compat’ rpm -qa | grep gcc 等 方法是一样的,没有的话,光盘里,然后安装一下就可以了。 但compat-libcwait-2.0-2.i386.rpm 和compat-oracle-rhel4-1.0-5.i386.rpm光盘中没有 可以从网站上下载 这些补丁还是好找的 地址:http://oss.oracle.com/projects/compat-oracle/files/RedHat/ 2、检查软件和补丁情况,必须先要下载好的补丁为 p3006854_9204_LINUX.zip 安装前就要打好的补丁(AS4 这个版本以经打完了) p2617419_210_GENERIC.zip 安装后要打的(这只是一个伴随补丁,只要设置它的环境变量) p3238244_9204_LINUX.zip 安装后要打的9204的补丁 compat-libcwait-2.0-2.i386.rpm LINUX AS 4 的补丁在安装前就要打 compat-oracle-rhel4-1.0-5.i386.rpm LINUX AS 4 的补丁在安装前就要打 准备好oracle安装文件 ship_9204_linux_disk1.cpio.gz ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz 我已经将所有的文件都下载好了放在/tmp目录下了 3、准备工作 以root 用户登陆 第一部就要检查一下你剩余的空间,最好大于5G以上,要不会提示你空间不足,而阻止你安装。 压缩安装包 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 解压缩后会产生DISK1 DISK2 DISK3 用root 用户登陆 # unzip 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 如果安装了,会提示你,以经处在。 如果打这个补丁的话在安装时会提示你这样的错误 Initializing Java Virtual Machine from /tmp/OraInstall2005-01-18_06-01-55PM/jre/bin/java. Please wait... Error occurred during initialization of VM Unable to load native library: /tmp/OraInstall2005-01-18_06-01-55PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference 用root用户登陆 rpm -Uvh compat-libcwait-2.0-2.i386.rpm rpm -Uvh compat-oracle-rhel4-1.0-5.i386.rpm 或图形下安装,双击就可以了。 4、创建用户 groupadd oinstall (在安装oracle时会提示输入UNIX Group name:oinstall) groupadd dba useradd -g oinstall -G dba oracle passwd oracle (注意:此不能忘记,如果没有建立密码,可能下次无法用oracle登陆) 5、创建目录 mkdir -p /opt/oracle/product/9.2.0 mkdir -p /opt/oradata chmod 777 /opt/oracle chmod -R 777 /opt/oracle/product/9.2.0 chown oracle.dba /opt/oradata chown -R oracle.dba /opt/oracle/product/9.2.0 6、设置内核的参数 修改 /etc/sysctl.conf 这个文件,加入以下的语句: kernel.shmmax = 268435456 这里设置为物理内存的一半 1G内存的话为:512×1024×1024 我们的内存为512的所为268435456(指定共享内存) kernel.shmmni = 4096 2G内存的话为:1024×1024×1024 kernel.shmall = 2097152 kernel.sem = 250 32000 100 128 其他的值都不用动 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 执行sysctl以反映修改 使内核参数立刻生效,重启也可以 # sysctl –p 7、设置oracle对文件的要求 编辑文件:/etc/security/limits.conf 加入以下语句: oracle soft nofile 65536 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 这些值直接手工输入进去,最好不要用复制的方法,因为复制的时候,可能会产生很多的奇怪的符号, 在安装时会出现很多的错误如 map lss.key ins_net-client.mk ins_plsql.mk ins_oem_agent 等等 很多的错误,有一次安装的时候我就是从文本文件里直接复制过去也没有做检查 就开始安装,安装 过程报了一大堆的错误。 8、设置环境变量 vi /home/oracle/.bash_profile 加入以下内容 export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/9.2.0 export ORACLE_SID=tbdb ---SID根据实际情况修改 export ORACLE_TERM=xterm export NLS_LANG="AMERICAN_AMERICA.zhs16gbk" 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 PATH=$PATH ORACLE_HOME/bin:/sbin:/usr/sbin export PATH export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/9.2.0 export PATH=$ORACLE_HOME/bin$ORACLE_HOME/Apache/Apache/bin$PATH export ORACLE_OWNER=oracle export ORACLE_SID=oratest export ORACLE_TERM=xterm export LD_ASSUME_KERNEL=2.4.19 export THREADS_FLAG=native export LD_LIBRARY_PATH=/opt/oracle/product/9.2.0/lib$LD_LIBRARY_PATH export NLS_LANG=JAPANESE_JAPAN.JA16SJIS export PATH=$PATH ORACLE_HOME/bin #export LC_CTYPE=en_US.UTF-8 还有有关 export LANG的问题,我怕安装过程出现和语言相关的问题所以在安装时将.bash_profile中 export LANG=en_US在运行./runInstaller前手工输入一遍export LANG=en_US或直接改成export LANG=en_US 然后# source /home/oracle/.bash_profile 刷新一下 9、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++ 别忘了安装全部结束后再还原回来(若有需要的话) 10、cd Disk1 ./runInstall 这里有一个要注意的地方,如果你直接运行./runInstall的话有一个错误, Exception in thread "main" java.lang.InternalError: Can''t connect to X11 window server using ''127.0.0.1:0.0'' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:59) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:120) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58) at java.awt.Window.(Window.java:188) at java.awt.Frame.(Frame.java:315) at java.awt.Frame.(Frame.java:262) at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:593) 原因可能是由于JDK的版本过老,在使用AWT时的一个属性出了问题。可以使用如下方法解决: 如果你设置了环境变量DISPLAY,请先到/home/oracle/.bash_profile中把DISPLAY删掉,然后打开一个新的终端 (注:必须是图形界面下的Koncole,如果在文字界面下将不成功),以root登陆,输入如下命令: #xhost + 如果成功,会输出其他用户可以连接此窗口的结果。 之后就开始安装了,如果按照上面的方法做,安装期间应该是一个错误都没有 一步步进行就可以了。 11、安装过程中有二个提示,让你运行一下角本,你运行一下就可以了。 其中有一个让你运行/opt/ora9/root.sh然后输入oracle_home 的路径 /opt/oracle/product/9.2.0/bin此时安装就算完成了。 12、打相应的补丁 解压缩那个伴随的补丁 #unzip p2617419_210_GENERIC.zip cd /tmp/Opatch export export PATH=$PATH:/tmp/OPatch:/sbin (修改PATH时要要包括解压缩出来的Opatch 和 sbin目录) 然后解压缩另外一个补丁 unzip p3238244_9204_LINUX.zip # cd 3238244 # opatch apply 如果提示HOME变量错误可执行语句:#export ORACLE_BASE=/opt/ora9 #export ORACLE_HOME=/opt/ora9/product/9.2出现success的提示就全部安装成功。 或者以oracle用户来安装 chown oracle /home/zhouheng/3238244 chmod 777 /home/zhouheng/3238244 # cd 3238244 # opatch apply 应该也是可以的 补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口cd $ORACLE_HOME/network/lib make –f ins_oemagent.mk install之后就可以启动Agent服务了。 $ ./agentctl start DBSNMP for Linux: Version 9.2.0.4.0 - Production on 27-OCT-2006 12:11:21 Copyright (c) 2003 Oracle Corporation. All rights reserved. Starting Oracle Intelligent Agent...... Agent started 最后若你安装的是中文的AS4 每次进到终端的时候要用DBCA的话还要用export LANG=en_US 如果不在 .bash_profile中没有写,有个方法 修该/etc/sysconfig/i18n文件 其中默认的为 LANG=zh_CN.UTF-8 更改为 LANG=en_US.UTF-8 然后source i18n 文件就OK了。 13、安装完成 安装完成运行dbca正常,也可以正常的建库 sqlplus / nolog 等都没有问题 14、如果删除数据库 把ORACLE安装目录删除及/etc/ora*.*删除就行了#rm –f /etc/ora*.* #rm -rf /opt/ora9 问题及解决办法: 1)Exception String: Error in invoking target relink of makefile /home/oracle/precomp/lib/ins_precomp.mk 错误是因为gcc版本太高了 解决办法: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++ 2)当运行 ./runInstaller 过程中 当link进行到61%时出现一个关于ins_oemagent错误,选择ignore,安装完后修复 当link进行到84%时出现一个关于ins_ctx错误,编辑$ORACLE_HOME/ctx/lib/env_ctx.mk文件,把$(LDLIBFLAG)dl加到以下位置 INSO_LINK=-L$(CTXLIB)$ (LDLIBFLAG)m $(LDLIBFLAG)dl处。 安装完成 修复第一个错误 在shell下,oracle用户 cd $ORACLE_HOME/network/lib make –f ins_client.mk install 编辑$ORACLE_HOME/ctx/lib/ins_ctx文件 13—14行处 $(LINK) $(CTXHXOBJ) $(INSO_LINK) 为 $(LINK) –ldl $(CTXHXOBJ) $(INSO_LINK) 3)运行dbca 出错(运行几步后现图形界面不见了) 修改:/opt/u01/app/oracle/product/9.2.0.4/bin/dbca文件 把下面两行注释掉:# if [-f /etc/rac_on];then #Run DBCA |