zoukankan      html  css  js  c++  java
  • Oracle 11g 单实例安装文档

    这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整理在此。仅供参考!

     

    1:下载对应平台的ORACLE 11g安装介质

    安装ORACLE,首先要获取安装介质,大部分情况手头都有相关版本的安装介质。如果你手头没有安装介质,那么可以从下面链接获取对应平台的ORACLE安装介质。

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

     

    强烈建议在安装ORACLE之前,先看一遍Linux Installation Guides 文档,毕竟这是最权威、最全面的资料。这样可以避免你在安装过程中遇到各类奇奇怪怪的问题,下载链接如下所示:

    http://docs.oracle.com/cd/E11882_01/nav/portal_11.htm

     

    clip_image001

     

    2:检查硬件配置是否满足要求

     

    2.1:内存大小要求

    官方文档中,要求物理内存至少需要1G,推荐2G或以上配置,如果是服务器的话,配置肯定比这个高。查看系统内存配置,可以使用下面命令:

    检查物理内存

    [root@DB-Server ~]# grep MemTotal /proc/meminfo
    MemTotal:      3968144 kB
    [root@DB-Server ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:          3875        710       3164          0         85        317
    -/+ buffers/cache:        307       3567
    Swap:         5887          0       5887
    [root@DB-Server ~]# 

    Note: On Linux, the HugePages feature allocates non-swappable memory for large page tables using memory-mapped files. If you enable HugePages, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space

     

    Linux Swap大小要求(这是一个指导值,最好根据Linux版本供应商的文档设置。如果不太清楚这些,尽量按照下面要求设置)

    clip_image002

     

    检查交换空间(Swap)大小(free命令亦可)

    [root@DB-Server ~]# grep SwapTotal /proc/meminfo
     
    SwapTotal: 6029304 kB

     

    Automatic Memory Management

    从Oracle Database 11g开始,自动内存管理(Automatic Memory Management)要求更多的共享内存(/dev/shm)和文件描述符(file descriptors),共享内存的大小应该只是比MEMROY_MAX_TARGET 和MEMROY_TARGET大。

    查看共享内存大小

     

    [root@DB-Server ~]# df -h /dev/shm
    Filesystem            Size  Used Avail Use% Mounted on
    tmpfs                 1.9G  927M 1012M  48% /dev/shm
    [root@DB-Server ~]# 

    Starting with Oracle Database 11g, the Automatic Memory Management feature  requires more shared memory (/dev/shm)and file descriptors. The size of the shared  memory must be at least the greater of the MEMORY_MAX_TARGET and MEMORY_TARGET  parameters for each Oracle instance on the computer. If the MEMORY_MAX_TARGET  parameter or the MEMORY_TARGET parameter is set to a nonzero value, and an incorrect  size is assigned to the shared memory, it results in an ORA-00845 error at startup. On  Linux systems, if the operating system /dev/shm mount size is too small for the Oracle  system global area (SGA) and program global area (PGA), it results in an ORA-00845  error.

    The number of file descriptors for each Oracle instance must be at least  512*PROCESSES. The limit of descriptors for each process must be at least 512. If file  descriptors are not sized correctly, you see an ORA-27123 error from various Oracle  processes and potentially Linux Error EMFILE (Too many open files)in non-Oracle  processes.

    注意:MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with HugePages on Linux.

     

    2.2:系统架构要求

     

    检查系统架构是否符合软件安装要求。如果是x86的架构,肯定不能运行64位的ORACLE软件。检查系统架构使用下面命令:

    [root@DB-Server ~]# uname -m
     
    x86_64

     

    2.3:磁盘空间要求

    At least 1 GB of disk space in the /tmp directory

    clip_image003

    检查/tmp目录大小

    #df -h /tmp

    检查磁盘空间:

    #df –h

     

    3:Checking the Software Requirements

     

    Red Hat Enterprise Linux 5 and Oracle Linux 5 on Linux x86 and Linux x86-64 require Update 2.

    3.1:操作系统要求

    Oracle Database 11g Release 1 (11.1) 要求安装在下面版本的操作系统或后续版本中。安装Oracle数据库是必须检查目前操作系统版本是否支持。

    ■ Asianux Server 3 SP2

    ■ Asianux Server 4 SP3

    ■ Oracle Linux 4 Update 7

    ■ Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)

    ■ Oracle Linux 5 Update 5

    ■ Oracle Linux 6

    ■ Oracle Linux 6 (with Red Hat Compatible Kernel)

    ■ Oracle Linux 7

    ■ Oracle Linux 7 (with the Red Hat Compatible Kernel)

    ■ Red Hat Enterprise Linux 4 Update 7

    ■ Red Hat Enterprise Linux 5 Update 2

    ■ Red Hat Enterprise Linux 6

    ■ Red Hat Enterprise Linux 7

    ■ SUSE Linux Enterprise Server 10 SP2

    ■ SUSE Linux Enterprise Server 11

    ■ SUSE Linux Enterprise Server 12 SP1

    ■ NeoKylin Linux Advanced Server 6

     

    3.2 操作系统内核要求

     

    下面仅仅列举了部分内容,更多请见官方文档

    ■On Oracle Linux 4 and Red Hat Enterprise Linux 4

    2.6.9 or later

    ■ On Oracle Linux 5 Update 2 with Red Hat Compatible Kernel

    2.6.18 or later

    ■ On Oracle Linux 5 Update 5 with Red Hat Compatible Kernel

    2.6.18 or later

    ■ On Oracle Linux 5 Update 5 with Unbreakable Enterprise Kernel

    2.6.32-100.0.19 or later

    ■ On Oracle Linux 6

    2.6.32-100.28.5.el6.x86_64 or later

    ■ On Oracle Linux 6 with Red Hat Compatible Kernel

    2.6.32-71.el6.x86_64 or later

    ■ On Oracle Linux 7

    3.8.13-33.el7uek.x86_64 or later

    ■ On Oracle Linux 7 with Red Hat Compatible Kernel

    3.10.0-54.0.1.el7.x86_64 or later

    ■ On Red Hat Enterprise Linux 5 Update 2

    2.6.18 or later

    ■ On Red Hat Enterprise Linux 5 Update 5

    2.6.18 or later

    ■ On Red Hat Enterprise Linux 6

    2.6.32-71.el6.x86_64 or later

    ■ On Red Hat Enterprise Linux 7

    3.10.0-54.0.1.el7.x86_64 or later

    ■ On Asianux Server 3

    2.6.18 or later

    ■ On Asianux Server 4

    2.6.32-71.el6.x86_64 or later

     

    查看操作系统内部版本,可以使用下面命令,如下所示,内部版本满足要求。

    [root@DB-Server ~]# cat /proc/version
    Linux version 2.6.18-274.el5 (mockbuild@x86-002.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)) #1 SMP Fri Jul 8 17:36:59 EDT 2011
    [root@DB-Server ~]# uname -r
    2.6.18-274.el5

     

    3.3:ORACLE软件所要求或依赖的一些包

    rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})
    ' binutils 
    compat-libstdc++-33 
    elfutils-libelf 
    elfutils-libelf-devel 
    gcc 
    gcc-c++ 
    glibc 
    glibc-common 
    glibc-devel 
    glibc-headers 
    ksh  
    libaio 
    libaio 
    libaio-devel 
    libgcc 
    libstdc++ 
    libstdc++-devel 
    make 
    sysstat
    [root@DB-Server ~]# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})
    ' binutils 
    > compat-libstdc++-33 
    > elfutils-libelf 
    > elfutils-libelf-devel 
    > gcc 
    > gcc-c++ 
    > glibc 
    > glibc-common 
    > glibc-devel 
    > glibc-headers 
    > ksh  
    > libaio 
    > libaio 
    > libaio-devel 
    > libgcc 
    > libstdc++ 
    > libstdc++-devel 
    > make 
    > sysstat
    binutils-2.17.50.0.6-14.el5 (x86_64)
    compat-libstdc++-33-3.2.3-61 (x86_64)
    compat-libstdc++-33-3.2.3-61 (i386)
    elfutils-libelf-0.137-3.el5 (x86_64)
    elfutils-libelf-0.137-3.el5 (i386)
    elfutils-libelf-devel-0.137-3.el5 (x86_64)
    gcc-4.1.2-51.el5 (x86_64)
    gcc-c++-4.1.2-51.el5 (x86_64)
    glibc-2.5-65 (x86_64)
    glibc-2.5-65 (i686)
    glibc-common-2.5-65 (x86_64)
    glibc-devel-2.5-65 (x86_64)
    glibc-devel-2.5-65 (i386)
    glibc-headers-2.5-65 (x86_64)
    ksh-20100202-1.el5_6.6 (x86_64)
    libaio-0.3.106-5 (x86_64)
    libaio-0.3.106-5 (i386)
    libaio-0.3.106-5 (x86_64)
    libaio-0.3.106-5 (i386)
    package libaio-devel is not installed
    libgcc-4.1.2-51.el5 (x86_64)
    libgcc-4.1.2-51.el5 (i386)
    libstdc++-4.1.2-51.el5 (x86_64)
    libstdc++-4.1.2-51.el5 (i386)
    libstdc++-devel-4.1.2-51.el5 (x86_64)
    make-3.81-3.el5 (x86_64)
    package sysstat is not installed

     

    如上检测所示,我们需要安装这些缺少的包:

    [root@DB-Server Server]# rpm -ivh  libaio-devel*
    warning: libaio-devel-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
    Preparing...                ########################################### [100%]
       1:libaio-devel           ########################################### [ 50%]
       2:libaio-devel           ########################################### [100%]
    [root@DB-Server Server]# rpm -ivh sysstat*
    warning: sysstat-7.0.2-11.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
    Preparing...                ########################################### [100%]
       1:sysstat                ########################################### [100%]
    [root@DB-Server Server]# 

     

    3.4 Compiler Requirements

    Intel C++ Compiler 10.1 or later and the version of GNU C and C++ compilers listed under "Package Requirements" are supported with these products

     

    3.5 其它软件要求(Additional Software Requirements)

     

    这部分建立参考安装文档(里面内容较详细,有些是特殊要求),这里仅仅涉及Oracle ODBC相关驱动。

    在 Oracle Linux 5, Red Hat Enterprise Linux 5, and Asianux Server 3中,需要下面3个包的版本

    - unixODBC-2.2.11 (32-bit) or later

    - unixODBC-devel-2.2.11 (64-bit) or later

    - unixODBC-2.2.11 (64-bit) or later

     

    [root@DB-Server Server]# rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
    warning: unixODBC-2.2.11-7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
    Preparing...                ########################################### [100%]
       1:unixODBC               ########################################### [100%]
    [root@DB-Server Server]# rpm -ivh unixODBC-2.2.11-7.1.x86_64.rpm
    warning: unixODBC-2.2.11-7.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
    Preparing...                ########################################### [100%]
       1:unixODBC               ########################################### [100%]
    [root@DB-Server Server]# rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
    warning: unixODBC-devel-2.2.11-7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
    Preparing...                ########################################### [100%]
       1:unixODBC-devel         ########################################### [100%]
    [root@DB-Server Server]# rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm 
    warning: unixODBC-devel-2.2.11-7.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
    Preparing...                ########################################### [100%]
       1:unixODBC-devel         ########################################### [100%]
    [root@DB-Server Server]# 

     

    4 Configuring Kernel Parameters and Resource Limits

     

    在修改内核参数前,我们先检查、查看这些内核参数的配置值

    [root@DB-Server ~]# /sbin/sysctl -a | grep sem
    kernel.sem = 250        32000   32      128
    [root@DB-Server ~]# /sbin/sysctl -a | grep shm
    vm.hugetlb_shm_group = 0
    kernel.shmmni = 4096
    kernel.shmall = 4294967296
    kernel.shmmax = 68719476736
    [root@DB-Server ~]# /sbin/sysctl -a | grep file-max
    fs.file-max = 358778
    [root@DB-Server ~]# /sbin/sysctl -a | grep ip_local_port_range
    net.ipv4.ip_local_port_range = 32768    61000
    [root@DB-Server ~]# /sbin/sysctl -a | grep rmem_default
    net.core.rmem_default = 129024
    [root@DB-Server ~]# /sbin/sysctl -a | grep rmem_max
    net.core.rmem_max = 131071
    [root@DB-Server ~]# /sbin/sysctl -a | grep wmem_default
    net.core.wmem_default = 129024
    [root@DB-Server ~]# /sbin/sysctl -a | grep wmem_max
    net.core.wmem_max = 131071
    [root@DB-Server ~]# 

    clip_image004

     

    官方文档关于内核参数的推荐值如下截图所示,如果系统里面的配置大于这个值,那么就使用默认的值,不需要修改该参数值。

    clip_image005

    注意:If the current value of any parameter is higher than the value listed in this table, then do not change the value of that parameter.

     

    在 /etc/sysctl.conf中添加如下参数的设置值,如果这一步设置有误,也没有关系,后面安装过程会检测系统参数,提示参数设置有误,不能通过。需要你重新配置。

    fs.file-max = 6815744
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    fs.aio-max-nr = 1048576
    net.ipv4.ip_local_port_range = 9000    65500
    kernel.sem = 250        32000   100      128

     

    设置完成后执行/sbin/sysctl -p 使之理解生效,从而不用重启系统。Oracle 11g新增了fixup脚本,在安装过程中,安装程序将会检查推荐的操作系统内核参数设置以及必须的软件包,对于不符合要求的部分将会自动生成runfixup.sh,只需要手动以root用户执行该脚本即可,不需要手动调整配置了。所以这一块即使一些内核参数配置不正确,也可以在后面环境快速处理、验证。

     

    5:创建系统账号和用户组

     

    一般要检查是否存在oracle以及dba、oinstall用户组,如果是新环境,可以直接跳过,如果以前安装过Oracle数据库,那么就必须检查一下。

    [root@DB-Server ~]# more /etc/oraInst.loc
    /etc/oraInst.loc: No such file or directory
    [root@DB-Server ~]# grep oinstall /etc/group
     
     
    [root@DB-Server ~]# grep dba /etc/group
    [root@DB-Server ~]# 

     

    创建用户组dba、oinstall

    # /usr/sbin/groupadd oinstall

    # /usr/sbin/groupadd dba

     

    创建用户oracle

    [root@DB-Server ~]# id oracle
    id: oracle: No such user
    [root@DB-Server ~]# /usr/sbin/useradd -g oinstall -G dba oracle
    [root@DB-Server ~]# id oracle
    uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba) context=root:system_r:unconfined_t:SystemLow-SystemHigh
    [root@DB-Server ~]# 

    设置账号密码:

    [root@DB-Server ~]# passwd oracle
    Changing password for user oracle.
    New UNIX password: 
    BAD PASSWORD: it is too simplistic/systematic
    Retype new UNIX password: 
    passwd: all authentication tokens updated successfully.
    [root@DB-Server ~]# 

     

    6:修改用户资源限制

     

    [root@DB-Server ~]# ulimit -Sn
    1024
    [root@DB-Server ~]# ulimit -Hn
    1024
    [root@DB-Server ~]# ulimit -Su
    36848
    [root@DB-Server ~]# ulimit -Hu
    36848
    [root@DB-Server ~]# ulimit -Ss
    10240
    [root@DB-Server ~]# ulimit -Hs
    unlimited
    [root@DB-Server ~]# 

    在配置文件/etc/security/limits.conf 里面设置

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

     

    修改用户验证选项

    在/etc/pam.d/login配置文件里面加上下面配置,如果已经存在的,就忽略这些。

    session required pam_selinux.so

    session required /lib/security/pam_limits.so

     

    7:修改用户配置文件

     

    root用户下:修改/etc/profile文件加入如下参数

    if [ $USER = "oracle" ]; then
            if [ $SHELL = "/bin/ksh" ]; then
                  ulimit -p 16384
                  ulimit -n 65536
            else
                  ulimit -u 16384 -n 65536
            fi
    fi

     

    或是在oracle用户下,修改.bash_profile

     

    if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
           ulimit -p 16384
           ulimit -n 65536
      else
     
           ulimit -u 16384 -n 65536
      fi
     
    fi

     

    8:安装目录配置

    [root@DB-Server ~]# mkdir -p /u01/app/oracle
    [root@DB-Server ~]# chown -R oracle:oinstall /u01/app/oracle
    [root@DB-Server ~]# chmod -R 775 /u01/app/oracle
     
    [root@DB-Server ~]# mkdir -p /u01/app/oraInventory
    [root@DB-Server ~]# chown -R oracle:oinstall /u01/app/oraInventory/
    [root@DB-Server ~]# chmod -R 775 /u01/app/oraInventory/
    [root@DB-Server ~]# 

    9:修改用户bash shell

     

    以oracle账号登录,修改.bash_profile参数文件

    [oracle@DB-Server ~]$ vi .bash_profile 
     
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/dbhome_1
    export ORACLE_SID=gsp
    export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

     

    10:配置VNC

    [root@DB-Server ~]# rpm -qa | grep vnc
    vnc-server-4.1.2-14.el5_6.6
    [root@DB-Server ~]# vi /etc/sysconfig/vncservers 
     
    VNCSERVERS="1:root"
    VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
    VNCSERVERS="2:oracle"
    VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
     
    [root@DB-Server ~]# su - oracle
    [oracle@DB-Server ~]$ vncserver :2
     
    You will require a password to access your desktops.
     
    Password:
    Verify:
    xauth:  creating new authority file /home/oracle/.Xauthority
    xauth: (stdin):1:  bad display name "DB-Server.localdomain:2" in "add" command
     
    New 'DB-Server.localdomain:2 (oracle)' desktop is DB-Server.localdomain:2
     
    Creating default startup script /home/oracle/.vnc/xstartup
    Starting applications specified in /home/oracle/.vnc/xstartup
    Log file is /home/oracle/.vnc/DB-Server.localdomain:2.log

     

    在root用户下,设置iptables,添加

    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5901 -j ACCEPT
     
    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5902 -j ACCEPT
     
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

    clip_image006

     

    ORACLE 11g图形化安装步骤

     

    将安装介质解压到/tmp/database下,然后按照下面步骤安装

    $ ./runInstaller

    如果没有Oracle Support账号或不想设置,取消勾选选项。

    clip_image007

    clip_image008

    clip_image009

    勾选Server Class

    clip_image010

    clip_image011

    我们勾选“Advanced install”

    clip_image012

    clip_image013

    clip_image014

    clip_image015

    clip_image016

    clip_image017

    clip_image018

    clip_image019

    此处设置字符集,SGA Target等。

    clip_image020

    clip_image021

    clip_image022

    clip_image023

    clip_image024

    Qwe123456

    clip_image025

    clip_image026

    clip_image027

    clip_image028

    clip_image029

    [root@DB-Server Server]# /u01/oraInventory/orainstRoot.sh 
    Changing permissions of /u01/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
     
    Changing groupname of /u01/oraInventory to oinstall.
    The execution of the script is complete.
    [root@DB-Server Server]# /u01/app/root.sh 
    Running Oracle 11g root.sh script...
     
    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /u01/app
     
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...
     
     
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root.sh script.
    Now product-specific root actions will be performed.
    Finished product-specific root actions.
    [root@DB-Server Server]# 

     

    至此安装完成,然后测试验证,必要的话,关闭VNC服务,修改iptables设置。

  • 相关阅读:
    [分享] Knockout.js 体验之旅
    [分享] 用NodeJs做一个小爬虫,附源码!
    [分享] 纯CSS完美实现垂直水平居中的6种方式
    [分享] 来,做一个问卷调查(有抽奖!)
    除非你是BAT,前端开发中最好少造轮子
    [分享] 微信支付中商户对个人用户付款案例
    30分钟做一个二维码名片应用,有源码!
    【分享】WeX5的正确打开方式(7)——数据组件详解
    基于phonegap,html5,ratchet,handlebars等技术的微表情APP
    html5实现web app摇一摇换歌
  • 原文地址:https://www.cnblogs.com/kerrycode/p/5765282.html
Copyright © 2011-2022 走看看