首页 > 技术文档 > Linux > Linux安装Oracle10g常见问题
2014
09-22

Linux安装Oracle10g常见问题

  Long long ago,北街在 Linux 上测试安装 Oracle10g 的时候碰到了很多让人头疼的问题。但是,值得庆幸的是,经过各种烧脑,最后这些问题都逐一被解决。下文就以“Linux安装Oracle10g常见问题”为题做个总结,希望可以帮到大家。

  一、测试环境
  System:Redhat Enterprise Linux AS5.4
  Software: Oracle 10g

  二、检查硬件配置
  查看内存和交换空间以及磁盘大小
  # grep MemTotal /proc/meminfo //最小内存为256M
  # grep SwapTotal /proc/meminfo //最小交换空间为 512M
  # df -h //oracle软件2.5G以上,数据库1.2G以上
  # df -k /tmp //至少400M

  对于内存 ≤ 2GB 的系统,交换空间应为内存的两倍
  对于内存 > 2GB 的系统,交换空间应为内存的一到两倍

  三、验证 Linux 安装
  1. 检查内核版本:# uname -r
  所需版本:2.6.9-5.EL(需满足官方RHEL 4.0的要求)

  2. 检查所需软件包:# rpm -q package-name,所需包及其版本:

binutis-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1

  如果有软件包未安装,则需插入 Linux 系统安装光盘进行安装。

  四、按照 Oracle10g 需求配置 Linux
  1. 新建 oinstall 和 dba 组和 oracle 用户
  # /usr/sbin/groupadd oinstall
  # /usr/sbin/groupadd dba
  # /usr/sbin/useradd -g oinstall -G dba oracle
  # id oracle
  # passwd oracle //设置Oracle用户口令
  # mkdir -p /home/oracle //以root用户登陆创建Oracle软件目录
  # mkdir -p /oradata //创建Oracle数据库目录
  # chown -R oracle:oinstall /home/oracle /oradata //修改目录属性
  # chmod -R 775 /home/oracle /oradata //修改目录权限

  2. Oracle 用户的环境变量,对于数据库服务器,建议设置以下环境变量:

ORACLE_BASE=/home/oracle
ORACLE_HOME=$ORACLE_BASE/product/10g/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin:/usr/bin

  3. 修改 Linux 内核参数,符合Oracle自检
  # vi /etc/sysctl.conf

  kernel.shmall = 2097152
  kernel.shmmax = 2147483648
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000
  net.core.rmem_default = 1048576
  net.core.rmem_max = 1048576
  net.core.wmem_default = 262144
  net.core.wmem_max = 262144

  修改完成,执行下面的命令使其生效
  # /sbin/sysctl -p

  4. 优化 Oracle ,更改设置
  # vi /etc/security/limits.conf
  行末添加以下内容
  oracle soft nproc 2047 //nproc指单个用户可用的最大进程数量
  oracle hard nproc 16384
  oracle soft nofile 4096 //nofile指可打开的文件描述符的最大数
  oracle hard nofile 65535
  hard是硬限制,soft是软限制,一般soft比hard小,用户可以超过soft设置的值,但一定不能超过hard的值。

  # vi /etc/pam.d/login
  session required /lib/security/pam_limits.so
  这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。

  五、设置环境变量
  以 oracle 用户登录,把以下内容写在 .bashrc 或者 .bash_profile 文件中
  export ORACLE_BASE=/opt/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/10g/db_1
  export ORACLE_SID=CLICDB1
  export ORACLE_TERM=xterm
  export PATH=$ORACLE_HOME/bin:$PATH:$/usr/sbin

  六、开始安装 Oracle10g 软件
  # sh ./runInstaller -ignoreSysPrereqs //忽略系统检查

  # vi /etc/sysconfig/i18n
   LANG=”en_US.UTF-8″ //防止乱码

  七、常见报错及解决方法

  常见错误一:
  libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..

  该报错因为系统没有安装图形化动态链接库 libXp.so.6,在 RedHat Linux AS5 以前的版本,直接安装 xorg-x11-deprecated-libs 包即可。在 RedHat Linux AS5 中上面的包被 libXp 所取代了,因此 rpm -ivh libXp-1.0.0-8.i386.rpm 将包打上后问题即可解决。

  常见错误二:
  Exception:java.lang.UnsatisfiedLinkError:…libawt.so: libXt.so.6: cannot open shared object file: No such file or directory

  报错原因:系统缺少 XFree86-libs 安装包,解决方法同上。

  常见错误三:
  error while loading shared libraries: libstdc++-libc6.1-1.so.2

  只用执行如下操作 ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2

  常见错误四:
  首先,在执行 runInstaller 时,系统报错:You do not have sufficient permissions to access the inventory ‘/oracle11g/oraInventory’. Installation cannot continue. Make sure that you have read/write permissions to the inventory directory and restart the installer.: Permission denied

  这里采用的是新建一个Oracle10g用户的方法想让10g、11g并存,实际上在启动安装程序的时候,Oracle 会去找 /etc/oraInst.loc 和 oratab 这两个文件(hp 是/var/opt/oracle),而在 oraInst.loc 里面定义了 inventory_loc 的位置和 inst_group ,由于之前装过了一个 11 g,里面的定义都是针对 11g 用户设置的,所以才会报错。

  解决办法是执行 runInstaller -invPtrLoc /oracle10g/oraInst.loc 命令就可以绕过去了,Oracle 会创建一个新的 loc 文件。

  上一步成功通过之后,紧接着报了下面的错:Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-08-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-08-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

  在 RHEL5 以前这个错误是因为缺少 XFree86-libs 或 xorg-x11-deprecated-libs 这两个包其中一个(版本不同包不同),而在 RHEL5 中前面的包被 libXp 所取代了,因此 rpm -ivh libXp-1.0.0-8.i386.rpm 将包打上后问题解决。

  常见错误五:
  参考[via] ,进行前期的安装准备工作。在开始安装时出现以下错误:
  1)对于error while loading shared libraries: libstdc++-libc6.1-1.so.2
  我的解决办法是 ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2

  2)对于Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
  我的解决办法是
  apt-get install libXp.so.6
  apt-get install libXt.so.6
  apt-get install libxtst6

  常见错误六:
  在RH Linux7.3上使用 JasperReport 作为报表引擎时,碰到了一样的问题:Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory

  在各位前面回复的提示下,经过一上午的google,终于得以解决这个问题
  原因是:缺少支持打印的图形化动态链接库libXp.so.6(也许还有相关的其他库)
  解决办法:下载并安装XFree86-libs-4.2.0-8.i386.rpm,/usr/X11R6/lib下就会出现需要的libXp.so.6.2

  附上XFree86-libs-4.2.0-8.i386.rpm的一个下载地址:
http://www.cnblogs.com/gergro/admin/ftp://ftp.nluug.nl/vol/1/schoollan/os/linux/RPMS/XFree86-libs-4.2.0-8.i386.rpm

最后编辑:
作者:北街
身高八尺,腰围也是八尺!
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

Linux安装Oracle10g常见问题》有 8 条评论

  1. 北街 说:

    我也很少用,有时候,只是为了测试!

  2. Linux安装Oracle10g常见问题 - 第1张  | ZAOPERATION 博文非常专业,俺是看不懂的了,

  3. thomas sabo 说:

    博主是个高手啊 ~! 向博主 学习~!

  4. 北街 说:

    @Louis Han 我也很少用,有时候,只是为了测试! 😆

  5. Louis Han 说:

    很久没有用过RHEL了

留下一个回复

你的email不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.