Linux AS5/4安装Oracle10g常见问题环境:Operating System:Windows2003Enterprise EditionVirtual Machine:VMware6.0Linux: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的系统,交换空间应为内存的一到两倍。
安装Oracle10g软件需要2.5GB的可用磁盘空间,而数据库则另需1.2GB的可用磁盘空间。
/tmp目录至少需要400MB的可用空间。
二、验证Linux安装1.检查内核版本:#uname-r所需版本:2.6.9-5.EL(为官方RHEL4.0的要求)2.检查所需软件包:#rpm-q package-name所需包及其版本:binutis-2.15.92.0.2-13.EL4compat-db-4.1.25-9compat-libstdc++-296-2.96-132.7.2control-center-2.8.0-12gcc-3.4.3-22.1.EL4gcc-c++-3.4.3-22.1.EL44glibc-2.3.4-2.9glibc-common-2.3.4-2.9gnome-libs-1.4.1.2.90-44.1libstdc++-3.4.3-22.1libstdc++-devel-3.4.3-22.1make-3.80-5pdksh-5.2.14-30sysstat-5.0.5-1xscreensaver-4.18-5.rhel4.2setarch-1.6-1如果有软件包未安装,插入Linux系统安装光盘,使用以下方法安装#rpm-ivh package-name-major-version*例如:#rpm-ivh compat-db-4*三、针对Oracle配置Linux1.新建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-R775/u01/u022.Oracle用户的环境变量,对于数据库服务器,建议设置以下环境变量:ORACLE_BASEORACLE_HOMEORACLE_SIDPATH3.Oracle10g官方不支持as5但支持as4等其它版本,想要在as5上安装oracle有以下三种解决办法a.修改系统版本#vi/etc/redhat-releaseRed Hat Enterprise Linux Server release5(Tikanga)改为Red Hat Enterprise Linux Server release4(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=80SWAP_SPACE=150MIN_DISPLAY_COLORS=256c.最简单的方法,就是在安装时忽略系统检查#sh./runInstaller-ignoreSysPrereqs4.为了防止在安装出现乱码需更改系统语言#vi/etc/sysconfig/i18nLANG="en_US.UTF-8"5.修改内核参数#vi/etc/sysctl.confkernel.shmall=2097152'已经定义了修改即可kernel.shmmax=2147483648'已经定义了修改即可kernel.shmmni=4096#semaphores:semmsl,semmns,semopm,semmni kernel.sem=25032000100128fs.file-max=65536net.ipv4.ip_local_port_range=102465000net.core.rmem_default=1048576net.core.rmem_max=1048576net.core.wmem_default=262144net.core.wmem_max=262144执行下面的命令使上面的设置有效#/sbin/sysctl-p6.更改设置#vi/etc/security/limits.conf行末添加以下内容soft nproc2047hard nproc16384soft nofile4096hard nofile65535#/etc/pam.d/loginsession required/lib/security/pam_limits.so四、设置环境变量以oracle登录,把以下写在.bash_profileexport TMP=/tmpexport TMPDIR=$TMPexport ORACLE_BASE=/opt/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db_1export ORACLE_SID=WCHDB1export ORACLE_TERM=xtermexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jl ib或者写在#vi.bash_profile然后#source~/.bash_profile五、开始安装软件用oracle登录,运行./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是在第四张安装光盘)社区论坛我下载的文件如下:xorg-x11-deprecated-libs-6.8.2-31.i386.rpm错误二:Exception:ng.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.3libstdc++-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 ng.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..ng.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将包打上后问题解决。