zoukankan      html  css  js  c++  java
  • Install Oracle 11G Release 2 (11.2) on Centos Linux 7

    Install Oracle 11G Release 2 (11.2) on Centos Linux 7

    This article presents how to install Oracle 11G on Centos Linux 7.

    Read following article how to install Centos Linux 7: Install Centos Linux 7 (for comfort set 2G memory for your virtual machine before proceeding with Oracle software installation).

    Installation software is available on OTN, edelivery version 11.2.0.1 or Oracle support(old metalink) 11.2.0.4. In this installation I’m presenting installation for 11.2.0.4 but for previous version 11.2.0.X it shouldn’t be different.

    Database software – 11.2.0.4

    p13390677_112040_Linux-x86-64_1of7.zip 
    p13390677_112040_Linux-x86-64_2of7.zip

     

    OS configuration and preparation

    OS configuration is executed as root. To login as root just execute following command in terminal.

    su - root

    Add groups

    --required groups
    /usr/sbin/groupadd -g 501 oinstall
    /usr/sbin/groupadd -g 502 dba
    /usr/sbin/groupadd -g 503 oper
    Add user Oracle
    /usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle

    Change password for user

    passwd oracle
    Add kernel parameters to /etc/sysctl.conf
    kernel.shmmni = 4096 
    kernel.shmmax = 4398046511104
    kernel.shmall = 1073741824
    kernel.sem = 250 32000 100 128
    
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    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

    Apply kernel parameters

    /sbin/sysctl -p

    Add following lines to set shell limits for user oracle in file /etc/security/limits.conf

    oracle   soft   nproc    131072
    oracle   hard   nproc    131072
    oracle   soft   nofile   131072
    oracle   hard   nofile   131072
    oracle   soft   core     unlimited
    oracle   hard   core     unlimited
    oracle   soft   memlock  50000000
    oracle   hard   memlock  50000000

    The “/etc/hosts” file must contain a fully qualified name for the server.

    <IP-address>  <fully-qualified-machine-name>  <machine-name>

    For example.

    127.0.0.1 centos7 centos7.dbaora.com localhost localhost.localdomain

    Verify your network settings

    [root@centos7 ~]# ping -c 1 centos7
    PING centos7 (127.0.0.1) 56(84) bytes of data.
    64 bytes from centos7 (127.0.0.1): icmp_seq=1 ttl=64 time=0.040 ms
    
    --- centos7 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms

    Modify .bash_profile for user oracle in his home directory

    # Oracle Settings
    export TMP=/tmp
    
    export ORACLE_HOSTNAME=centos7.dbaora.com
    export ORACLE_UNQNAME=ORA11G
    export ORACLE_BASE=/ora01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=ORA11G
    
    PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
    
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
    export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
    
    alias cdob='cd $ORACLE_BASE'
    alias cdoh='cd $ORACLE_HOME'
    alias tns='cd $ORACLE_HOME/network/admin'
    alias envo='env | grep ORACLE'
    
    umask 022

    Check which packages are installed and which are missing

    rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})
    ' binutils 
    elfutils-libelf 
    elfutils-libelf-devel 
    gcc 
    gcc-c++ 
    glibc 
    glibc-common 
    glibc-devel 
    glibc-headers 
    ksh 
    libaio 
    libaio-devel 
    libgcc 
    libstdc++ 
    libstdc++-devel 
    make 
    sysstat 
    unixODBC 
    unixODBC-devel

    In my case it returns following

    binutils-2.23.52.0.1-16.el7(x86_64)
    elfutils-libelf-0.158-3.el7(x86_64)
    package elfutils-libelf-devel is not installed
    gcc-4.8.2-16.el7(x86_64)
    gcc-c++-4.8.2-16.el7(x86_64)
    glibc-2.17-55.el7(x86_64)
    glibc-common-2.17-55.el7(x86_64)
    glibc-devel-2.17-55.el7(x86_64)
    glibc-headers-2.17-55.el7(x86_64)
    package ksh is not installed
    libaio-0.3.109-12.el7(x86_64)
    package libaio-devel is not installed
    libgcc-4.8.2-16.el7(x86_64)
    libstdc++-4.8.2-16.el7(x86_64)
    libstdc++-devel-4.8.2-16.el7(x86_64)
    make-3.82-21.el7(x86_64)
    sysstat-10.1.5-4.el7(x86_64)
    package unixODBC is not installed
    package unixODBC-devel is not installed

    Missing packages are on Centos 7 installation dvd. Other option if you are connected to internet is just use yum install command.

    • First option – just mount dvd and install missing packages using rpm -Uvh command from directory <mount dvd>/Packages.

    In my case the directory is

    /run/media/tomasz/CentOS 7 x86_64/Packages

    NOTE – I’m using x86_64 version of packages

    rpm -Uvh elfutils-libelf-devel*.x86_64.rpm
    rpm -Uvh libaio-devel*.x86_64.rpm
    rpm -Uvh unixODBC*.x86_64.rpm
    rpm -Uvh ksh*.x86_64.rpm
    • Second option – use yum install command
    yum -y install elfutils-libelf-devel
    yum -y install libaio-devel
    yum -y install unixODBC
    yum -y install unixODBC-devel
    yum -y install ksh

    Create directory structure

    mkdir -p /ora01/app
    chown oracle:oinstall /ora01/app
    chmod 775 /ora01/app

    create ORACLE_BASE directory for oracle

    mkdir -p /ora01/app/oracle
    chown oracle:oinstall /ora01/app/oracle
    chmod 775 /ora01/app/oracle

    Create ORACLE_HOME directory for oracle

    mkdir -p /ora01/app/oracle/product/11.2.0/db_1
    chown oracle:oinstall -R /ora01/app/oracle

    Disable secure linux by editing the “/etc/selinux/config” file, making sure the SELINUX flag is set as follows. It requires REBOOT to be effective !!!

    SELINUX=permissive

    In Centos Linux 7 /tmp data is stored on tmpfs which consumes memory and is too small. To revert it back to storage just run following command and REBOOT machine to be effective.

    systemctl mask tmp.mount

    Install database software

    Let’s start with database software installation as oracle user.

    su - oracle
    
    --unzip software 11.2.0.4
    unzip p13390677_112040_Linux-x86-64_1of7.zip
    unzip p13390677_112040_Linux-x86-64_2of7.zip
    --I defined 4 aliases in .bash_profile of user oracle to make 
    --administration heaven :)
    
    [oracle@centos7 ~]$ alias envo cdob cdoh tns
    alias envo='env | grep ORACLE'
    alias cdob='cd $ORACLE_BASE'
    alias cdoh='cd $ORACLE_HOME'
    alias tns='cd $ORACLE_HOME/network/admin'
    
    --run alias command envo to display environment settings
    envo
    ORACLE_UNQNAME=ORA11G
    ORACLE_SID=ORA11G
    ORACLE_BASE=/ora01/app/oracle
    ORACLE_HOSTNAME=centos7.dbaora.com
    ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
    
    --run alias command cdob and cdoh to check ORACLE_BASE, ORACLE_HOME 
    [oracle@centos7 ~]$ cdob
    [oracle@centos7 oracle]$ pwd
    /ora01/app/oracle
    
    [oracle@centos7 db_1]$ cdoh
    [oracle@centos7 db_1]$ pwd
    /ora01/app/oracle/product/11.2.0/db_1
    
    --run installation from install directory
    ./runInstall
  • 相关阅读:
    删除使用RMAN命令备份的文件
    查看.Net Framework版本的方法(zz)
    c# Foreach last (zz)
    Visual Studio 2008 QFE (zz)
    打印机的接口
    牛人的PENTAX单反之路
    我新进的宾得K10D机器和镜头
    买车险要有足额第三者责任险
    谈谈P家的SUPERTAKUAMR
    硬盘接口总结
  • 原文地址:https://www.cnblogs.com/rama/p/4141892.html
Copyright © 2011-2022 走看看