前段时间,北街在 RedHat Linux AS5 上安装 oracle 10g 着实花了一点功夫,并且碰到了各种让人头疼的问题。值得欣慰的是,到最后这些问题都逐一被解决掉了。下面是我做的关于这次安装的总结,希望可以帮到需要做测试的朋友们。
环境:
Operating System:Windows 2003 Enterprise Edition
Virtual Machine:VMware 6.0
Linux:Redhat Linux AS5
注:由于 Redhat Linux AS5 不是 Oracle 官方文档中的支持版本,所以下面的检查配置项均参照 Oracle 对 AS4 的要求进行设置。
一、检查硬件
查看内存和交换空间以及磁盘大小
命令:# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# df -h
# df -k /tmp
要求:所需最小内存为256MB,而所需最小交换空间为512M。对于内存小于或等于2GB 的系统,交换空间应为内存的两倍;对于内存大于2GB 的系统,交换空间应为内存的一到两倍。安装Oracle 10g软件需要2.5GB 的可用磁盘空间,而数据库则另需1.2GB的可用磁盘空间。/tmp 目录至少需要 400MB的可用空间。
二、验证Linux安装
1. 检查内核版本:#uname -r
所需版本:2.6.9-5.EL(为官方RHEL 4.0的要求)
2. 检查所需软件包:#rpm -q package-name
所需包及其版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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系统安装光盘,使用以下方法安装
#rpm -ivh package-name-major-version*
例如:#rpm -Uvh compat-db-4*
三、针对 Oracle 配置 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 /u01/data/oracle 以root用户登陆创建目录
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01 /u02
# chmod -R 775 /u01 /u02
2. Oracle 用户的环境变量,对于数据库服务器,建议设置以下环境变量:
1 2 3 4 | ORACLE_BASE ORACLE_HOME ORACLE_SID PATH |
3. Oracle 10g 官方不支持 as5 但支持 as4 等其它版本,想要在 as5 上安装 oracle 有以下三种解决办法
a. 修改系统版本
# vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)
改为
Red Hat Enterprise Linux Server release 4 (Tikanga)
注:Oracle安装完成之后将系统修改回原来的版本
b. 修改oracle安装文件 将 redhat-5 填上
# vi /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
c. 最简单的方法,就是在安装时忽略系统检查
# sh ./runInstaller -ignoreSysPrereqs
4. 为了防止在安装 出现乱码 需更改系统语言
# vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
5. 修改内核参数
# vi /etc/sysctl.conf
kernel.shmall = 2097152 '已经定义了 修改即可
kernel.shmmax = 2147483648 '已经定义了 修改即可
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
6. 更改设置
# vi /etc/security/limits.conf
行末添加以下内容
soft nproc 2047
hard nproc 16384
soft nofile 4096
hard nofile 65535
# /etc/pam.d/login
session required /lib/security/pam_limits.so
四、设置环境变量
以oracle登录,把以下写在.bashrc
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db_1; export ORACLE_HOME
ORACLE_SID=WCHDB1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
或者写在
#vi .bash_profile
然后
#source ~/.bash_profile
五、 开始安装软件
用oracle登录,运行 sh ./runInstaller
乱码解决方法:export LC_CTYPE=en_US.UTF-8
六、常见错误解决方法
错误一:
/tmp/OraInstall2007-12-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..
原因是:缺少支持打印的图形化动态链接库libXp.so.6
这个错误是由于缺少系统安装包,在RHEL5以前的版本,可以安装xorg-x11-deprecated-libs包即可,这个安装包可以在系统光盘第三张盘中找到(对于redhat as4.2以前,redhat as4.4是在第四张安装光盘)
IXDBA.NET社区论坛
我下载的文件如下:
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm
错误二:
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
这个错误是也是由于缺少系统安装包造成的,只需安装XFree86-libs包即可,这个安装包可以在系统光盘中找到。
在上面两个错误如果出现在redhat as5版本中,解决如下:
在RHEL5中上面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm将包打上后问题即可解决。
错误三:
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
参考案例
案例一:
在RHEL5上测试安装oracle10g,本以为之前转过11g,这次会比较顺利,结果还是遇到两个问题。
首先,在执行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
这里采用的是新建一个10g用户的方法让10g,11g并存,实际上在启动安装程序的时候,oracle会去找/etc/oraInst.loc和oratab这两个文件(hp是/var/opt/oracle)
而在oraInst.loc里面定义了inventory_loc的位置和inst_group,由于之前装过了一个11g,里面的定义都是针对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将包打上后问题解决。之后一切顺利。
案例二:
参考 http://moto.debian.org.tw/viewtopic.php?t=8055&sid=eb2524337903c5af7ce1e839e0a35b68
进行前期的安装准备
在开始安装时出现以下错误:
对于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
对于
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


很久没有用过RHEL了
@Louis Han 我也很少用,有时候,只是为了测试!
博主是个高手啊 ~! 向博主 学习~!