在Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 11g R2

LoveOracle0 2015-01-05

   Red Hat Enterprise Linux 7.0(RHEL7)近期发布了,将Oracle部署在RHEL7上会有些什么问题呢,作为技术人员,是需要了解一下的,那就安装吧,以下是安装过程,记录下来以备后续使用。

    要想顺利的安装Oracle,最好当然是参考Oracle公司的用户指南,虽然是英文的,但是没有哪个参考文档比这更权威了,用户指南可以在Oracle公司的官方网站下载:
    http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html


    安装Oracle有以下步骤:
    1>.安装Linux作业系统.
    2>.配置Linux系统下Oracle的安装环境.
    3>.安装Oracle软件与数据库.
    4>.测试运行安装的Oracle系统.


    一.安装Linux.
    1.系统环境需求
    内存:最小1GB,推荐2GB或以上
    交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,交换空间等于内存大小,内存大小16G以上时,交换空间为16GB.
    需要选择以下组件:GNOME桌面、编辑器、开发工具、开发库等。
    2.安装Linux
    使用安装光盘安装RedHat Enterprise Linux 7.0 x86_64,为方便测试,可以使用VMware Workstation虚拟一台机器,在虚拟机上安装。
    3.设置主机域名解析
    安装Linux后需使用静态IP地址,并在/etc/hosts文件中设置主机域名解析(ip地址 主机名称)
    # vi /etc/hosts
    192.168.1.66 hostname


    二.配置Linux系统下Oracle的安装环境.
    1.检查和更新所需软件包.
    安装好Linux系统后需要配置一下系统。因Oracle在Linux下与Windows下有些不同,在Linux下安装时有部分程序需要与Linux的程序包重新编译和链接,所以需要有编译器等软件包。需要用到的软件包在Oracle的用户指南中有说明.以root身份登录Linux后执行以下命令检查软件包是否都已安装:
    # rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel
    # rpm -q glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
    如果系统有软件包没有安装,可以在RHEL 7.0的光盘Package目录中找到,安装这些包。因RHEL 7.0版本比较高,对应的软件包版本会比需要的高,没关系,软件向下兼容,不影响Oracle的安装和使用。
    Oracle官方文档中确定要安装的包如下:
    binutils-2.17.50.0.6
    compat-libstdc++-33-3.2.3
    compat-libstdc++-33-3.2.3 (32 bit)
    elfutils-libelf-0.125
    elfutils-libelf-devel-0.125
    gcc-4.1.2
    gcc-c++-4.1.2
    glibc-2.5-24
    glibc-2.5-24 (32 bit)
    glibc-common-2.5
    glibc-devel-2.5
    glibc-devel-2.5 (32 bit)
    glibc-headers-2.5
    ksh-20060214
    libaio-0.3.106
    libaio-0.3.106 (32 bit)
    libaio-devel-0.3.106
    libaio-devel-0.3.106 (32 bit)
    libgcc-4.1.2
    libgcc-4.1.2 (32 bit)
    libstdc++-4.1.2
    libstdc++-4.1.2 (32 bit)
    libstdc++-devel 4.1.2
    make-3.81
    numactl-devel-0.9.8.x86_64
    sysstat-7.0.2
    注:(1)安装glibc-2.17-55.el7.i686.rpm时,因为依赖包相互依赖,需要与依赖包同时安装:
    rpm -ivh glibc-2.17-55.el7.i686.rpm nss-softokn-freebl-3.15.4-2.el7.i686.rpm
    (2)RHEL7中缺少包compat-libstdc++-33,可以在RHEL6中找到.
    (3)在Oracle数据库软件安装时,ksh实际是用的pdksh,但ksh也是可以使用的,只是安装时会有警告,pdksh是一个早期的软件包,可以在以下网站找到.
    http://rpm.pbone.net/


    2.验证系统要求
    查看内存大小
    # grep MemTotal /proc/meminfo
    查看交换空间
    # grep SwapTotal /proc/meminfo
    查看磁盘空间,Oracle 11g R2 x64企业版的磁盘空间要求4.35GB以上。
    # df -h


    3.创建Oracle组和用户帐户
    # groupadd oinstall
    # groupadd dba
    # useradd -g oinstall -G dba oracle
    # passwd oracle


    4.配置内核参数
    以root身份登录系统,根据用户指南配置以下参数:
    修改文件/etc/sysctl.conf,添加以下内容:
    # /etc/sysctl.conf
    # for oracle
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    # 官方文档kernel.shmmax = 536870912,实际软件中需要kernel.shmmax = 980742144
    kernel.shmmax = 980742144
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048586
    执行以下命令时参数生效:
    # /sbin/sysctl -p
    注: 内核参数设置可以在安装Oracle时产生的脚本修复。


    修改文件/etc/security/limits.conf,添加以下内容:
    # /etc/security/limits.conf 
    # for oracle
    oracle              soft    nproc   2047
    oracle              hard    nproc   16384
    oracle              soft    nofile  1024
    oracle              hard    nofile  65536
    oracle              soft    stack   10240


    5.创建Oracle Base目录:
    # mkdir -p /u01/app/
    # chown -R oracle:oinstall /u01/app/
    # chmod -R 775 /u01/app/


    6.编辑Oracle用户环境,编辑.bash_profile文件
    # su - oracle
    $ vi .bash_profile
    编辑.bash_profile文件,添加以下内容
    # For Oracle
    export DISPLAY=:0.0
    export TMP=/tmp;
    export TMPDIR=$TMP;
    export ORACLE_BASE=/u01/app/oracle;
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;
    export ORACLE_SID=sales;
    export ORACLE_TERM=xterm;
    export PATH=/usr/sbin:$PATH;
    export PATH=$ORACLE_HOME/bin:$PATH;
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;


    三.安装Oracle软件与数据库
    1.安装Oracle软件(11.2.0.4版本)
    上传Oracle的安装文件p13390677_112040_Linux-x86-64_1of7.zip与p13390677_112040_Linux-x86-64_2of7.zip并解压缩.
    以oracle用户身份登录系统安装Oracle,为避免出现中文乱码,装装前可以执行export LANG="",显示英文,
    $ export LANG=""
    $ cd database
    $ ./runInstaller
    在安装时选择只安装Oracle软件。


    安装时有出现一个错误:
    Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
    据说是Oracle的一个Bug,在新版系统下可能会表现出来.
    解决方案: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的$(MK_EMAGENT_NMECTL)更改为$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。


    安装最后步骤按提示在root用户下执行脚本.
    # /u01/app/oraInventory/orainstRoot.sh
    # /u01/app/oracle/product/11.2.0/db_1/root.sh


    2.安装数据库
    Oracle软件安装完后,需要执行命令netca配置监听器.
    $ netca
    在图形界面中按提示配置监听器.
    然后执行命令dbca安装数据库.
    $ dbca
    在图形界面中按提示安装数据库就可以了。
   
    四.测试运行安装的Oracle系统
    数据库安装完后监听器与数据库实例就已启动。执行以下测试监听器与实例.
    $ lsnrctl stop
    $ lsnrctl start
    $ sqlplus /nolog
    SQL> connect / as sysdba;
    SQL> shutdown
    SQL> startup
    执行其它SQL语句测试数据库.

相关推荐