Oracle 9.2.0.1 在RedHat 4.8上的安装过程及错误处理

来源:互联网 发布:人工智能做的好的企业 编辑:程序博客网 时间:2024/05/19 22:24

 

一、安装过程

数据库版本:Oracle9i R2 (9.2.0.1.0),Linux 版本:RedHat 4.8

 

  1. 创建用户与组:
  -------------------------
  切换为 Root 用户并执行下列命令

  $ su -

  # groupadd oinstall
  # groupadd dba
  # useradd -g oinstall -G dba oracle
  # passwd oracle

  2. 创建目录。
  --------------------------
  我们将把所有东西都安装到在 /opt/ora9 目录下:

  # mkdir -p /opt/ora9/product/9.2
  # mkdir /var/opt/oracle
  # chown oracle.dba /var/opt/oracle
  # chown -R oracle.dba /opt/ora9

  3. 预安装(系统配置):
  ---------------------------

  3.1 安装这些兼容性库:

  compat-gcc-7.3-2.96.118.i386.rpm
  compat-libgcj-7.3-2.96.118.i386.rpm
  compat-libgcj-devel-7.3-2.96.118.i386.rpm
  nss_db-compat-2.2-20.i386.rpm

  您可以在安装 CD 上找到这些程序包。
  第一个文件在 CD1 的 RedHat RPMS 目录中
  另外 3 个文件在 CD2 的 RPMS 目录中

  3.2 设置内核参数以便能够成功启动:

  把这些行添加到 /etc/sysctl.conf
  如果您有更多 RAM,也可以更改这些值:

  kernel.shmmax = 536870912
  kernel.shmmni = 4096
  kernel.shmall = 2097152
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000

  把这些行添加到 /etc/security/limits.conf

  oracle soft nofile 65536
  oracle hard nofile 65536
  oracle soft nproc 16384
  oracle hard nproc 16384

  重启系统以使这些内核更改生效,如果不允许重启,您可以在运行时通过执行下列命令更改内核参数:

  # echo 250 32000 100 128 > /proc/sys/kernel/sem
  # echo 536870912 > /proc/sys/kernel/shmmax
  # echo 4096 > /proc/sys/kernel/shmmni
  # echo 2097152 > /proc/sys/kernel/shmall
  # echo 65536 > /proc/sys/fs/file-max
  # echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

  4. 预安装(oracle 环境):
  ----------------------------
  以 oracle 用户身份登录:

  su - oracle

  将下列行放置在 ~/.bashrc:

  #oracle 9i
  export ORACLE_BASE=/opt/ora9
  export ORACLE_HOME=/opt/ora9/product/9.2
  export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
  export ORACLE_OWNER=oracle
  export ORACLE_SID=ora9i
  export ORACLE_TERM=vt100
  export LD_ASSUME_KERNEL=2.4.1
  export THREADS_FLAG=native
  export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
  export PATH=/opt/ora9/product/9.2/bin:$PATH
  #
  #根据您本国的情况更改这个 NLS 设置:
  #示例:
  # german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
  #export NLS_LANG='AMERICAN.ZHS16CGB231280(简体中文)'
  export NLS_LANG='croatian_croatia.ee8iso8859p2'

  
  如果您需要其它的国家设置(这些是克罗地亚的),请参考这里的支持设置,并对 NLS_LANG 变量进行相应更改。

  5. 安装:
  ------------------------

  以 Root 用户登录并允许用户 oracle 向 X 显示器写入:

  su -
  xhost +

  登录为 oracle 用户:

  su - oracle

  开始安装。不要切换到您的 CD-ROM 安装目录,因为您将无法在系统需要时卸下第一张 CD 以插入其它 CD。

  /mnt/cdrom/install/linux/runInstaller

  在安装期间,系统会提示您插入其它安装盘。打开一个新的控制台,用命令 umount /dev/cdrom(以 Root 用户身份)卸下当前的盘片,替换该盘片。如果 Redhat9 没有自动安装它,那么使用命令 mount /dev/cdrom 将其装上

  安装将产生两个错误。

  * 第一,您将会看到一个错误对话框提示关于 ins_oemagent.mk 的问题。选择忽略该错误,我们将在安装后更正该错误。

  * 第二个错误 “Error in invoking target install of makefile /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk”的内容。
  解决办法:先忽略,待验证
  * 第三个对话框将通知您 "Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk"。
  如果发生该错误,打开一个新的控制台并以 oracle 用户身份登录。执行下列命令:

  $ cd $ORACLE_HOME/install
  $ tail make.log

  您将看到与下面类似的一行信息:

  gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
  -L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
  -L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
  -lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
  -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9

  复制该行,在行末添加 -ldl 然后在 $ORACLE_HOME/bin 中运行它。

  $ cd $ORACLE_HOME/bin
  $ gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/
  -L/opt/ora9/product/9.2/lib/ -L/opt/ora9/product/9.2/lib/stubs/
  /opt/ora9/product/9.2/ctx/lib/ctxhx.o -L/opt/ora9/product/9.2/ctx/lib/
  -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc
  -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9
  -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl

  现在,点击对话框上的忽略按钮,安装将继续进行。

  最后,Oracle 安装可能会提示您代理程序启动失败。选择忽略,我们将在稍后更改此错误。

  6. 安装后处理
  ---------------------------
  打开一个控制台并以 oracle 用户身份登录。执行这些命令:

  $ cd $ORACLE_HOME/network/lib
  $ make -f ins_net_client.mk install

  然后编辑 $ORACLE_HOME/ctx/lib/ins_ctx.mk 文件,把 13-14 行从:

  ctxhx:$(CTXHXOBJ)
  $(LINK) $(CTXHXOBJ) $(INSO_LINK)

  改为

  ctxhx:$(CTXHXOBJ)
  $(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)

  然后执行

  $ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install

  现在,您将能够用下面的命令启动您的代理程序了

  $ /opt/ora9/product/9.2/bin/agentctl start

  7. 启动数据库
  ------------------------------
  如果您的安装程序在第 5 部分的最后一步被挂起,不要担心。等一段时间看它是否响应,如不响应则终止它。
  在一个 shell 脚本(如 setvar.sh)中添加下面几行
  #oracle 9i
  export ORACLE_BASE=/home1/orahome
  export ORACLE_HOME=/home1/orahome/ora92
  export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
  export ORACLE_OWNER=oracle
  export ORACLE_SID=ora9i
  export ORACLE_TERM=vt100
  export LD_ASSUME_KERNEL=2.4.1
  export THREADS_FLAG=native
  export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
  export PATH=/opt/ora9/product/9.2/bin:$PATH
  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

  保存此文件并在命令提示符运行
  $source setvar.sh

  现在转至 $ORACLE_HOME/bin
  使用任意编辑器编辑 dbca 脚本
  $kwrite dbca

  找到 JRE_HOME 环境变量。它指向 JDK 1.8,后者是安装 CD 的一部分。更改该变量并使其指向您的 linux 安装的 JDK1.3 或 1.4,转至文件末尾,该变量用于调用 Java 程序。从路径中删除 bin 目录,并将 jre 可执行文件更名为 java 文件。这就像使用我们自己的 JDK 调用 java 程序一样。
  启动
  $./dbca

  8. 启动数据库实例
  打开一个 sqlplus 会话并以 sys/passwd 作为系统数据库管理员登录
  sql>create spfile from pfile='full path of the .ora file created by the dbca utility ';
  Eg /home1/orahome/admin/dl226b/pfile/initdl226b.ora

  sql>shutdown immediate;
  sql>startup;

 

 

二、Oracle9.2.0.4 dbca无法启动(segmentation fault)

操作系统:
[ora9@ARCH1220 ~]$ cat /proc/version
Linux version 2.6.9-5.ELsmp (bhcompile@decompose.build.redhat.com) (gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)) #1 SMP Wed Jan 5 19:30:39 EST 2005

安装oracle9.2.0.4
打了补丁
p4198954_21_linux.zip
p3238244_9204_LINUX.zip
p2617419_210_GENERIC.zip

安装顺利,在运行dbca建库时,报错退出
/u02/app/oracle/product/9.2.0.4/bin/dbca: line 124: 24940 Segmentation fault $JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
上网查文档,查到一篇
Oracle 9i R2 (9.2.0.6) on SUSE LINUX Enterprise Server 9
里面有一段
SEGMENTATION Fault: Metalink note (292278.1). modify dbca script
line #124 with -native
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m
即要修改dbca的124行
我找到该行
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
改为
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
即加了一个 -native

之后,dbca不会segmentation fault了。

 

 

三、安装问题
1:Error occurred during initialization of VM Unable to load library: /tmp/OraInstall2007-03-20_06-31-37PM/jre/lib/i386/libjava.so: symbol __libc_wait.version GLIBC_2.0 not defined in file libc.so.6 with link time reference
       解决方法:此问题的发生是由于oracle的安装缺少一个补丁:p3006854_9204 patch p3006854_9204_LINUX.zip 下载地址:   
http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/FedoraCore2_RPMS/p3006854_9204_LINUX.zip 使用方法:在终端中运行:# 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
   #

即可。

     问题2. NOTE: If you get the following error when you run rhel3_pre_install.sh:

        rhel3_pre_install.sh: line 36: gcc: command not found

     Then you forgot to install or link gcc, see above. This means you can't start any binaries any more:

# ls
    ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
   # rm /etc/ld.so.preload
    rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
   #

    解决方法:To fix that, run the echo command which is a built-in shell command:

# echo "" > /etc/ld.so.preload
    rm /etc/ld.so.preload

     问题3: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)
       解决方法:执行了
    >export DISPLAY=IP:0
   然后注销从新/登录
   >xhost +
   提示可以连接后,再用oracle用户登录执行就可以了.

     问题4:安装过程中遇到的:Thrown when the IP address of a host cannot be determined

     解决方法:出现此问题原因是采用DHCP设置主机名和IP地址。改为手动设置IP重起生效即可

    问题5:进入安装截面以后,在database configuration里面出现一个提示:
error:you do not have sufficient privileges to write to the specified ptah.in component
database configuration assistant 9.2.0.1.0 installation cannot for this component
   解决方法: 原因是没有权限,主要是安装程序以oracle用户身份试图新建一个目录/oradata失败,解决办法,以root用户建立该目录,然后把它属主改变oracle用户:
                su root
                mkdir /oradata
                chown -R oracle.dba /oradata

    问题6: Error in invoking target install of makefile /opt/oracle/920/ctx/lib/ins_ctx.mk
              Error in invoking target install of makefile /opt/oracle/920/precomp/lib/ins_precomp.mk
               Error in invoking target install of makefile /opt/oracle/920/plsql/lib/ins_plsql.mk
              Error in invoking ntcontab.o of makfile /opt/oracle/920/network/lib/ins_net_client.mk

    解决方法:gcc版本问题    compat-gcc-7.3-2.96.126.i386.rpm    可以从这里下载           http://ivan.kartik.sk/oracle/download_from.php?site_id=2    下载后运行   # rpm -ivh compat-gcc-7.3-2.96.126.i386.rpm

   cd /usr/bin

   mv ./gcc ./gcc.old

   mv ./gcc32 ./gcc

    问题7:在安装过程中会遇到提示在另一终端运行 /opt/oracle/root.sh 运行过程中会请求输入路径。

    解决方法:输入安装oracle的bin路径 例如:/opt/oracle/bin即可。

   问题8:as4.0安装默认中文,登陆中文乱码解决方法

解决方法:

修改默认语言中文为英文

编辑/etc/sysconfig/i18n这个文件,原内容如下:

LANG="zh_CN.UTF-8"

SYSFONT="latarcyrheb-sun16"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

修改为:

LANG="en_US.UTF-8"

SUPPORTED="en_US.UTF-8:en_US:en"

SYSFONT="latarcyrheb-sun16"

重新启动即可!

问题9. /opt/jre/1.18/bin/../i686/native_threads/libzip.so:symbol errno,version GLIBC_2.0 not defined in file libc.so.6 with link time reference(libzip.so) Unable to initialize threads: cannot find class java/lang/Thread Could not create Java VM

/opt/jre/1.18/bin/../i686/green_threads/libzip.so:symbol errno,version GLIBC_2.0 not defined in file libc.so.6 with link time reference(libzip.so) Unable to initialize threads: cannot find class java/lang/Thread Could not create Java VM

    解决方法:Now download the patch 4188455 fromhttp://metalink.oracle.com.
This patch is needed for launching the runInstaller that came with the patch 3948480 we just downloaded above.

su - oracle
$ cp p4188455_10103_LINUX.zip /tmp
$ cd /tmp
$ unzip p4188455_10103_LINUX.zip
Archive:  p4188455_10103_LINUX.zip
  inflating: oraparam.ini
  inflating: README.txt

 

问题10.Agent Configuration Assistant:

parameter"orahome"=/opt/oracle/product/9.2.0

parameter"nodeinfo"=no_value

解决方法:修复该错误,需要打2个patch, p2617419_10102_GENERIC.zip和p3238244_9204_LINUX.zip
(oracle的补丁需要一个叫OPatch的工具,这个工具在metalink最新的包是叫做
p2617419_10102_GENERIC.zip,搜索2617419可以得到)

切换到root:#su – root 首先安装 opatch工具
手动安装OPatch:
unzip p2617419_10102_generic.zip 会生成OPatch目录,
把生成的OPatch目录拷贝到$ORACLE_HOME目录下面
#cp -a OPatch/    /oracle/product/9.2.0
设置设置搜索路径 export PATH=$PATH:$ORACLE_HOME/OPatch (此步可以不做,因为在.bash_profile中设置过了)
同时把这句话加入到oracle用户下面的 .bash_profile 文件中(前面在设置环境变量的时候已经加上了,不需要再添加了)

开始打p3238244_9204_LINUX.zip补丁
# unzip p3238244_9204_LINUX.zip
# cd 3238244
#Su - oracle
$ opatch apply (注意,需要将oracle configuration tools图形界面exit)
等待OPatch succeeded.信息出现,补丁打成功了

$ cd /oracle/product/9.2.0/network/lib
$ make -f ins_oemagent.mk install
会出现一堆信息,等待完成
$ agentctl start (启动orcle agent)
出现以下信息,表明agent启动成功
DBSNMP for Linux: Version 9.2.0.4.0 - Production on 12-JUL-2006 17:53:09

Copyright (c) 2003 Oracle Corporation.    All rights reserved.

Starting Oracle Intelligent Agent....
Agent started

下载地址:http://conrad2001.narod.ru/terek/p3238244_9204_LINUX.zip

http://conrad2001.narod.ru/terek/p2617419_220_GENERIC.zip

升级包:http://mirrors.cn99.com/oracle/9i/

转载:http://ellespk.spaces.live.com/Blog/cns!E1795178DAC9AC04!111.entry

 

原创粉丝点击