在RedHat系统以及衍生系统生安装Oracle 10g
版本:v1.0
创建时间:2010-12-21
修改时间:2010-12-22
文档描述:
在RedHat EL 3,4,5或者CentOS 3,4,5或者Oracle Enterprise Linux 4,5上安装Oracle 10g Release 2
这篇文章描述Oracle 10g R2在红帽企业版 3,4,5和Oracle企业版 4,5系统上的安装步骤,由于centos和redhat的关系,这篇文章同样适用于centos 3,4,5版本。
文中并不涉及数据库建立具体过程以及ASM存储的设置步骤。
安装过程分下面几个步骤:
一、安装环境的准备
二、下载软件并安装
三、安装后的配置
四、常见安装错误
一、安装环境的准备
1,创建oracle用户
以root用户登录系统创建oracle用户以及其所属的dba组
1 2 3 | su - # groupadd dba # useradd -g dba oracle |
2,系统参数设置
编辑/etc/sysctl.conf并添加下面内容
1 2 3 4 5 6 7 8 9 10 | 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 = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144 |
注意:编辑完成后你需要重启系统,或者执行 ”sysctl -p“ 命令使配置生效。
对于RedHat (OEL,Centos,WBL)3 ,4版本,需要编辑 /etc/pam.d/login 并添加下行设置
1 | session required /lib/security/pam_limits.so |
对于RedHat(OEL,Centos)5版本,需要编辑文件 /etc/pam.d/login 并添加下行配置
1 | session required pam_limits.so |
编辑文件/etc/security/limits.conf 并添加下行配置
1 2 3 4 | oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
3,创建oracle安装目录
1 2 3 | # mkdir /opt/oracle # mkdir /opt/oracle/102 # chown -R oracle:dba /opt/oracle |
4,设置oracle环境变量
编辑/home/oracle/.bash_profile 文件并添加下列配置
对于32位系统.
1 2 3 4 5 6 7 | ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=ORCL LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH |
对于64位系统:
1 2 3 4 5 6 7 | ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=ORCL LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32 PATH=$PATH:$ORACLE_HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH |
保存文件并使环境变量生效
1 2 | cd /home/oracle . .bash_profile |
二、下载软件和并安装
1,下载和安装必要的rpm包
检查系统必要的软件包安装情况,注意:在REHL 5(OEL 5,Centos 5)中pdksh文件包名称已经更改为ksh。
对于32位系统:
1 | rpm -q binutils gcc glibc glibc-headers glibc-kernheaders glibc-devel compat-libstdc++ cpp compat-gcc make compat-db compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel setarch sysstat pdksh libaio libaio-devel --qf '%{name}.%{arch}\n'|sort |
对于64位系统
1 | rpm -q binutils compat-db compat-libstdc++-33 glibc glibc-devel glibc-headers gcc gcc-c++ libstdc++ cpp make libaio ksh elfutils-libelf sysstat libaio libaio-devel setarch --qf '%{name}.%{arch}\n'|sort |
32位系统对于的软件包全称
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | binutils.i386 compat-gcc-7.3-2.96.128.i386 compat-gcc-c++-7.3-2.96.128.i386 compat-libstdc++-7.3-2.96.128.i386 compat-libstdc++-devel-7.3-2.96.128.i386 cpp.i386 gcc.i386 gcc-c++.i386 glibc.i386 glibc-common.i386 glibc-devel.i386 glibc-headers.i386 glibc-kernheaders.i386 libstdc++.i386 libstdc++-devel.i386 libaio libai-devel.i386 pdksh.i386 setarch.i386 sysstat.i386 |
64位系统对应的软件包全称
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | binutils.x86_64 compat-db.x86_64 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64 cpp.x86_64 elfutils-libelf.i386 elfutils-libelf.x86_64 gcc-c++.x86_64 gcc.x86_64 glibc-devel.i386 glibc-devel.x86_64 glibc-headers.x86_64 glibc.i686 glibc.x86_64 ksh.x86_64 libaio-devel.i386 libaio-devel.x86_64 libaio.i386 libaio.i386 libaio.x86_64 libaio.x86_64 libstdc++.i386 libstdc++.x86_64 make.x86_64 setarch.x86_64 sysstat.x86_64 |
如果对于软件包并没有安装,可以通过下面地址寻找需要的软件包,这里特别提供一个较快的地址:http://mirrors.163.com
1 2 3 4 5 6 7 | RedHat Enterprise Linux 3:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/3/en/os/i386/SRPMS/ RedHat Enterprise Linux 4:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS/ White Box Linux 3:ftp://ftp.esat.net/mirrors/whiteboxlinux.org/3.0/en/os/i386/RedHat/RPMS/ White Box Linux 4:ftp://ftp.esat.net/mirrors/whiteboxlinux.org/4/en/os/i386/WhiteBox/RPMS/ Centos Linux 3:http://centos.arcticnetwork.ca/3/os/ Centos Linux 4:http://centos.arcticnetwork.ca/4/os/ Centos Linux 5:http://centos.arcticnetwork.ca/5/os/ |
这个这个实例描述怎么创建个rpm包通过源码包,前提是gcc,make,rpm-build软件包已经安装
1 2 3 4 | # rpm -ivh libaio-0.3.96-3.src.rpm # cd /usr/src/redhat/SPECS/ # rpmbuild -bb --target i386 libaio.spec # cd ../RPMS/i386/ |
安装rpm包命令
1 | # rpm -ivh <package_name>.rpm |
2。在oracle 官网上下载oracle 10g R 2
对于32位软件包的解压方式:
1 | unzip 10201_database_linux32.zip |
对于适用于64位系统软件包的解压方式
1 2 | gunzip 10201_database_linux_x86_64.cpio.gz cpio -idmv <10201_database_linux_x86_64.cpio |
对于 RHEL 5,Centos 5版本系统,要更改 database/inistall/oraparam.ini文件添加 ”redhat-5“ 为 ”Certified Versions“ 内容
示例:
1 2 | [Certified Versions] Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,redhat-5 |
3,进行安装过程
现在系统已经做好了安装oracle的准备,通过下面命令开启安装过程。
1 2 | cd db/Disk1/ ./runInstaller |
注意:你可能收到”Warning“状态提示在安装检查中,这个会发生在没有升级到版本3或4的RHEL 3系统中,你可以在选择“User verified”后继续安装
三、安装之后的配置
1,设置自动启动和管理数据实例和监听
以root用户登录,并修改/etc/oratab配置并更改最后字符为Y。
ORCL:/opt/oracle/102:Y
以root用户在/etc/init.d/目录中创建文件”oracle“,并添加下列配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/bin/bash # # oracle Init file for starting and stopping # Oracle Database. Script is valid for 10g and 11g versions. # # chkconfig: 35 80 30 # description: Oracle Database startup script # Source function library. . /etc/rc.d/init.d/functions ORACLE_OWNER="oracle" ORACLE_HOME="/opt/oracle/102" case "$1" in start) echo -n $"Starting Oracle DB:" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" echo "OK" ;; stop) echo -n $"Stopping Oracle DB:" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" echo "OK" ;; *) echo $"Usage: $0 {start|stop}" esac |
以root用户执行下面命令设置权限和添加自动启动:
1 2 | chmod 750 /etc/init.d/oracle chkconfig --add oracle --level 0356 |
2,设置Oracle EM的自动启动和关闭
以root用户登录,并在/etc/init.d/目录中创建文件”oraemctl“,并添加下列配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/bin/bash # # oraemctl Starting and stopping Oracle Enterprise Manager Database Control. # Script is valid for 10g and 11g versions. # # chkconfig: 35 80 30 # description: Enterprise Manager DB Control startup script # Source function library. . /etc/rc.d/init.d/functions ORACLE_OWNER="oracle" ORACLE_HOME="/opt/oracle/102" case "$1" in start) echo -n $"Starting Oracle EM DB Console:" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" echo "OK" ;; stop) echo -n $"Stopping Oracle EM DB Console:" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" echo "OK" ;; *) echo $"Usage: $0 {start|stop}" esac |
以root用户执行下列命令设置权限并添加自动启动:
1 2 | chmod 750 /etc/init.d/oraemctl chkconfig --add oraemctl --level 0356 |
3,你可能需要使用rlwrap(oracle命令行增强)工具托管sqlplus和rman;
适用于32位软件包的下载地址:http://ivan.kartik.sk/oracle/download_from.php?site_id=5
适用于64为软件包的下载地址:http://ivan.kartik.sk/oracle/download_from.php?site_id=9
1 2 3 4 5 6 | su - # rpm -ivh rlwrap*.rpm # exit echo "alias sqlplus='rlwrap sqlplus'" >> /home/oracle/.bash_profile echo "alias adrci='rlwrap rman'" >> /home/oracle/.bash_profile . /home/oracle/.bash_profile |
四、常见安装错误
1,图形安装界面命令回车后,若提示DISPLAY not set。
完整错误提示为:(DISPLAY not set. Please set the DISPLAY and try again. )
可以通过下面方法解决:
方法一:以root用户登录,输入”export DISPLAY=:0.0″
方法二:以root用户登录,输入”xhost +“
2,图形安装界面命令回车后,若提示libXP.so.6没有找到,
完整错误提示为:(Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-07-07_09-40-45AM/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/OraInstall2005-07-07_09-40-45AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory )
通过下面方法解决:
若是RH 3,WB 3,Centos 3则需要安装 XFree86-libs-4.3.0-81.EL.i386.rpm软件包和依赖软件包
若是RH 4,WB 4,Centos 4则需要安装 xorg-x11-deprecated-libs-6.8.2-1.EL.13.6.i386.rpm软件包
若是RH 5,OEL 5,Centos 5 则需要安装 libXp-1.0.0-8.1.el5.i386.rpm软件包
3,图形安装界面命令回车后,若提示libios.so.1没有找到,
完整错误为:(error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory )
可通过安装libaio和libaio-devel软件包解决,如果错误依然存在,则需要以root用户运行”ldconfig“命令
4,若在安装检查过程中提示某些结果结果检查失败,可以看到相应提示,
例如:(Check complete. The overall result of this check is: Failed <<<<
Solution: Install missing package or set check system parameters (See reason of failure). )
原因可能是某些参数值设置错误,也可能是缺少相应软件,根据情况解决后重新检查即可。