Preparando o Oracle Linux para Instalação do Oracle Database 12c com ASM Non Rac

Este artigo tem como objetivo demonstrar a preparação do Oracle Linux para a instalação do Banco de Dados Oracle 12c.

Informações do Hardware:
CPU:
– Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (Quad-Core)
Memórias:
– MemTotal: 3084476 kB
– SwapTotal: 4192924 kB

Informações de Software:
Oracle Linux Server release 5.8 x86_64

Informações de Storage:

Filesystem Size Mounted on
/dev/sda5 5.7G /
/dev/sda3 9.7G /u01
/dev/sda2 9.7G /u02
/dev/sda1 122M /boot
tmpfs 5.0G /dev/shm

## Rawdevices para o ASM (Grid Infrastructure)

/dev/raw/raw1 -> Disco 2GB |
/dev/raw/raw2 -> Disco 2GB | -> DGDATA
/dev/raw/raw3 -> Disco 2GB |

/dev/raw/raw4 -> Disco 512MB -> DGREDOA
/dev/raw/raw5 -> Disco 512MB -> DGREDOB

OBS: Para configurar os rawdevices acesse https://oraclehome.com.br/2011/10/19/configurando-rawdevices-para-oracle-asm-non-rac/

Iniciamos com a instalação de pacotes necessários no linux para o banco de dados Oracle 12c.
Como estou usando a versão 5 do Linux, segue abaixo os pacotes para esta versão:

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-58
glibc-2.5-58 (32 bit)
glibc-devel-2.5-58
glibc-devel-2.5-58 (32 bit)
ksh
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
libXext-1.0.1
libXext-1.0.1 (32 bit)
libXtst-1.0.1
libXtst-1.0.1 (32 bit)
libX11-1.0.3
libX11-1.0.3 (32 bit)
libXau-1.0.1
libXau-1.0.1 (32 bit)
libXi-1.0.1
libXi-1.0.1 (32 bit)
make-3.81
sysstat-7.0.2
unixODBC-libs-2.2.11
unixODBC-devel-2.2.11 (64 bit)
unixODBC-2.2.11 (64 bit)

[root@l12asm64di Server]# rpm -Uvh binutils-*
warning: binutils-2.17.50.0.6-20.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package binutils-2.17.50.0.6-20.el5.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh compat-libstdc++-*
warning: compat-libstdc++-296-2.96-138.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package compat-libstdc++-33-3.2.3-61.x86_64 is already installed
        package compat-libstdc++-296-2.96-138.i386 is already installed
        package compat-libstdc++-33-3.2.3-61.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh gcc-*
warning: gcc-4.1.2-52.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
error: Failed dependencies:
        libgnarl-4.1.so()(64bit) is needed by gcc-gnat-4.1.2-52.el5.x86_64
        libgnat = 4.1.2-52.el5 is needed by gcc-gnat-4.1.2-52.el5.x86_64
        libgnat-4.1.so()(64bit) is needed by gcc-gnat-4.1.2-52.el5.x86_64
        libgcj-devel = 4.1.2-52.el5 is needed by gcc-java-4.1.2-52.el5.x86_64
        libobjc = 4.1.2-52.el5 is needed by gcc-objc-4.1.2-52.el5.x86_64
        libobjc.so.1()(64bit) is needed by gcc-objc-4.1.2-52.el5.x86_64
[root@l12asm64di Server]# rpm -Uvh gcc-c++-*
warning: gcc-c++-4.1.2-52.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package gcc-c++-4.1.2-52.el5.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh glibc-*
warning: glibc-2.5-81.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
error: Failed dependencies:
        libgd.so.2()(64bit) is needed by glibc-utils-2.5-81.x86_64
[root@l12asm64di Server]# rpm -Uvh glibc-devel-*
warning: glibc-devel-2.5-81.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package glibc-devel-2.5-81.x86_64 is already installed
        package glibc-devel-2.5-81.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libaio-devel-0.3.106-5.x86_64.rpm
warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:libaio-devel           ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh ksh*
warning: ksh-20100621-5.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package ksh-20100621-5.el5.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh libaio-*.i386*
warning: libaio-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libaio-0.3.106-5.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libaio-devel-*.i386*
warning: libaio-devel-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:libaio-devel           ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh libstdc++-*.i386*
warning: libstdc++-4.1.2-52.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libstdc++-4.1.2-52.el5.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libstdc++-devel-4.1.2-52.el5.i386.rpm
warning: libstdc++-devel-4.1.2-52.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:libstdc++-devel        ########################################### [100%]
[root@l12asm64di Server]# 6_64.rpm  libstdc++-devel-4.1.2-52.el5.x86_64.rpm
-bash: 6_64.rpm: command not found
[root@l12asm64di Server]# rpm -Uvh libstdc++44-devel-4.4.6-3.el5.1.i386.rpm
warning: libstdc++44-devel-4.4.6-3.el5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:libstdc++44-devel      ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh libstdc++-devel-4.1.2-52.el5.i386.rpm
warning: libstdc++-devel-4.1.2-52.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libstdc++-devel-4.1.2-52.el5.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libaio-*
warning: libaio-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libaio-0.3.106-5.x86_64 is already installed
        package libaio-0.3.106-5.i386 is already installed
        package libaio-devel-0.3.106-5.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libaio-devel-*
warning: libaio-devel-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libaio-devel-0.3.106-5.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libgcc-*
warning: libgcc-4.1.2-52.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libgcc-4.1.2-52.el5.x86_64 is already installed
        package libgcc-4.1.2-52.el5.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libstdc++-*
warning: libstdc++-4.1.2-52.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libstdc++-4.1.2-52.el5.x86_64 is already installed
        package libstdc++-4.1.2-52.el5.i386 is already installed
        package libstdc++-devel-4.1.2-52.el5.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh libXext-*
warning: libXext-1.0.1-2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXext-1.0.1-2.1.x86_64 is already installed
        package libXext-1.0.1-2.1.i386 is already installed
        package libXext-devel-1.0.1-2.1.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh libXtst-*
warning: libXtst-1.0.1-3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXtst-1.0.1-3.1.x86_64 is already installed
        package libXtst-1.0.1-3.1.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libX11-*
warning: libX11-1.0.3-11.el5_7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libX11-1.0.3-11.el5_7.1.x86_64 is already installed
        package libX11-1.0.3-11.el5_7.1.i386 is already installed
        package libX11-devel-1.0.3-11.el5_7.1.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh libXau-*
warning: libXau-1.0.1-3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXau-1.0.1-3.1.x86_64 is already installed
        package libXau-1.0.1-3.1.i386 is already installed
        package libXau-devel-1.0.1-3.1.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh libXi-*
warning: libXi-1.0.1-4.el5_4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXi-1.0.1-4.el5_4.x86_64 is already installed
        package libXi-1.0.1-4.el5_4.i386 is already installed
        package libXi-devel-1.0.1-4.el5_4.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh libXext*.i386*
warning: libXext-1.0.1-2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXext-1.0.1-2.1.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libXtst-*.i386*
warning: libXtst-1.0.1-3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXtst-1.0.1-3.1.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libX11-*.i386*
warning: libX11-1.0.3-11.el5_7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libX11-1.0.3-11.el5_7.1.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libXau-*.i386*
warning: libXau-1.0.1-3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXau-1.0.1-3.1.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh libXi-*.i386*
warning: libXi-1.0.1-4.el5_4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package libXi-1.0.1-4.el5_4.i386 is already installed
[root@l12asm64di Server]# rpm -Uvh make-*
warning: make-3.81-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package make-3.81-3.el5.x86_64 is already installed
[root@l12asm64di Server]# rpm -Uvh sysstat-*
warning: sysstat-7.0.2-11.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:sysstat                ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh unixODBC-libs-*
warning: unixODBC-libs-2.2.11-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:unixODBC-libs          ########################################### [ 50%]
   2:unixODBC-libs          ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh unixODBC-2.2.11-10.el5.x86_64.rpm
warning: unixODBC-2.2.11-10.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:unixODBC               ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh unixODBC-devel-2.2.11-10.el5.x86_64.rpm
warning: unixODBC-devel-2.2.11-10.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:unixODBC-devel         ########################################### [100%]
[root@l12asm64di Server]# rpm -Uvh unixODBC-2.2.11-10.el5.i386.rpm
warning: unixODBC-2.2.11-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:unixODBC               ########################################### [100%]
[root@l12asm64di Server]#

Seguindo com a configuração, iremos ajustar os parâmetros do kernel adicionando os mesmos no final do arquivo /etc/sysctl.conf conforme abaixo:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1579251712
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

[root@l12asm64di Server]# vi /etc/sysctl.conf
[root@l12asm64di Server]$ cat /etc/sysctl.conf
# Kernel sysctl configuration file for Oracle Enterprise Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
# See /usr/share/doc/kernel-doc-*/Documentation/networking/ip-sysctl.txt
net.ipv4.conf.default.rp_filter = 2

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
#kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 4294967296

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1579251712
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
[root@l12asm64di Server]$

Após a configuração execute o comando sysctl -p para carregar os parâmetros conforme abaixo:

[root@l12asm64di Server]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1579251712
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
[root@l12asm64di Server]#

Vamos configurar os limites para o usuário oracle no arquivo /etc/security/limits.conf para limitar os recursos.

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768

[root@l12asm64di Server]# vi /etc/security/limits.conf
[root@l12asm64di Server]# cat /etc/security/limits.conf
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to
#        - rtprio - max realtime priority
#
#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    2047
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
# End of file
[root@l12asm64di Server]#

Vamos criar os grupos de usuários, o usuário oracle e colocar uma senha para o mesmo.
Segue abaixo:

[root@l12asm64di Server]# groupadd dba
[root@l12asm64di Server]# groupadd oper
[root@l12asm64di Server]# groupadd asmadmin
[root@l12asm64di Server]# useradd -g dba -G oper,asmadmin oracle
[root@l12asm64di Server]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@l12asm64di Server]#

Vamos criar os diretórios para a instalação do produto e do Grid para o banco de dados Oracle 12c e garantir os privilégios para o usuário oracle.

[root@l12asm64di Server]# mkdir -p /u01/app/oracle/product/12.1.0/db_1
[root@l12asm64di Server]# mkdir -p /u02/app/oracle/product/12.1.0/grid_1
[root@l12asm64di Server]# chown -R oracle.dba /u01/ /u02/
[root@l12asm64di Server]# chmod -R 775 /u01/ /u02/

Vamos incluir o profile para o usuário oracle no arquivo /etc/profile conforme abaixo:

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

[root@l12asm64di Server]# vi /etc/profile
[root@l12asm64di Server]# cat /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
        EUID=`id -u`
        UID=`id -ru`
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

if [ -x /usr/bin/id ]; then
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
fi

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . $i
        else
            . $i >/dev/null 2>&1
        fi
    fi
done
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
unset i
unset pathmunge
[root@l12asm64di Server]#

Incluindo os modulos para gerenciar as sessões dos usuários no arquivo /etc/pam.d/login conforme abaixo:

session required /lib64/security/pam_limits.so
session required pam_limits.so

[root@l12asm64di Server]# cat /etc/pam.d/login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    optional     pam_keyinit.so force revoke
session    required     pam_loginuid.so
session    include      system-auth
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session required /lib64/security/pam_limits.so
session required pam_limits.so
[root@l12asm64di Server]#

Vamos configurar o host do servidor e o resolv.conf para utilizar o servidor DNS para os domínios.

[root@l12asm64di Server]# vi /etc/hosts
[root@l12asm64di Server]# vi /etc/resolv.conf
[root@l12asm64di Server]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.56.40   l12asm64di.localdomain l12asm64di
[root@l12asm64di Server]# cat /etc/resolv.conf
nameserver 192.168.56.10
[root@l12asm64di Server]#

Obtendo as informações dos registros do servidor de DNS.

[root@l12asm64di Server]# nslookup l12asm64di.localdomain
Server:         192.168.56.10
Address:        192.168.56.10#53

Name:   l12asm64di.localdomain
Address: 192.168.56.40

[root@l12asm64di Server]# nslookup dns.localdomain
Server:         192.168.56.10
Address:        192.168.56.10#53

Name:   dns.localdomain
Address: 192.168.56.10

[root@l12asm64di Server]#

Vamos agora criar as variáveis de ambiente para o usuário Oracle.
Segue o mesmo abaixo:

[root@l12asm64di Server]# vi /etc/ora_ambiente_db.sh
[root@l12asm64di Server]# vi /etc/ora_ambiente_grid.sh
[root@l12asm64di Server]# cat /etc/ora_ambiente_db.sh
umask 022
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/rdbms/lib:/usr/dt/lib:/usr/lib:/usr/openwin/lib:/lib
export NLS_LANG="AMERICAN_AMERICA.WE8MSWIN1252"
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/plsql/jlib:$ORACLE_HOME/ord/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/owm/jlib:$ORACLE_HOME/jdbc/lib:$ORACLE_HOME/ord/ts/jlib
export ORACLE_HOSTNAME=l12asm64di.localdomain
export PS1="oracle=$ORACLE_SID-> "
[root@l12asm64di Server]# cat /etc/ora_ambiente_grid.sh
#!/bin/ksh
umask 022
export ORACLE_UNQNAME=+ASM
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/grid_1
export ORACLE_SID=+ASM
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/rdbms/lib:/usr/dt/lib:/usr/lib:/usr/openwin/lib:/lib
export NLS_LANG="AMERICAN_AMERICA.WE8MSWIN1252"
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/plsql/jlib:$ORACLE_HOME/ord/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/owm/jlib:$ORACLE_HOME/jdbc/lib:$ORACLE_HOME/ord/ts/jlib
export ORACLE_HOSTNAME=l12asm64di.localdomain
export PS1="oracle=$ORACLE_SID-> "
[root@l12asm64di Server]#

Configurando o bash profile com o usuário oracle. Coloque as variáveis para do banco de dados Oracle para a Instância conforme abaixo:

[oracle@l12asm64di ~]$ vi .bash_profile
[oracle@l12asm64di ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

. /etc/ora_ambiente_db.sh
[oracle@l12asm64di ~]$ . .bash_profile
oracle=orcl->

Com o usuário oracle, vamos descompactar os arquivos do banco de dados Oracle 12c.
Para transferir os arquivos de windows para o linux, use uma ferramenta apropriada. Usei o WinSCP.
Segue os arquivos a serem descompactados:

linuxamd64_12c_grid_1of2.zip
linuxamd64_12c_grid_2of2.zip
linuxamd64_12c_database_1of2.zip
linuxamd64_12c_database_2of2.zip

[oracle@l12asm64di ~]$ cd /u01/medias/
[oracle@l12asm64di medias]$ unzip linuxamd64_12c_grid_1of2.zip
Archive:  linuxamd64_12c_grid_1of2.zip
   creating: grid/
   creating: grid/response/
  inflating: grid/response/grid_install.rsp
  inflating: grid/runInstaller
   creating: grid/stage/
   creating: grid/stage/properties/
  inflating: grid/stage/properties/sPaths.properties
  inflating: grid/stage/properties/platformInfo.properties
  inflating: grid/stage/properties/ignoreMessages.txt
  inflating: grid/stage/properties/ssPaths_linux_ia64.properties
  inflating: grid/stage/properties/ssPaths_linuxx64.properties
  inflating: grid/stage/properties/ssPaths_solx86.properties
  inflating: grid/stage/properties/system.properties
  inflating: grid/stage/properties/ssPaths_hpuix.properties
  inflating: grid/stage/properties/ssPaths_aix.properties
  inflating: grid/stage/properties/userPaths.properties
  inflating: grid/stage/properties/oracle.crs_Complete.properties
  inflating: grid/stage/properties/ssh_system.properties
  inflating: grid/stage/properties/logging_conf.xml
  inflating: grid/stage/properties/ssPaths_hpi.properties
  inflating: grid/stage/properties/ssPaths_sol.properties
  inflating: grid/stage/properties/Paths.properties
  inflating: grid/stage/properties/ssPaths_linux_zseries64.properties
  inflating: grid/stage/properties/sshConnectivity-usage.txt
  inflating: grid/stage/properties/ssPaths_msplats.properties
  inflating: grid/stage/properties/ssPaths_linux_ppc64.properties
  inflating: grid/stage/properties/ssPaths_decunix.properties
   creating: grid/stage/ext/
   ....
   ....
  inflating: grid/runcluvfy.sh
[oracle@l12asm64di medias]$ unzip linuxamd64_12c_grid_2of2.zip
Archive:  linuxamd64_12c_grid_2of2.zip
   creating: grid/stage/Components/oracle.has.crs/
   creating: grid/stage/Components/oracle.has.crs/12.1.0.1.0/
   creating: grid/stage/Components/oracle.has.crs/12.1.0.1.0/1/
   creating: grid/stage/Components/oracle.has.crs/12.1.0.1.0/1/DataFiles/
  inflating: grid/stage/Components/oracle.has.crs/12.1.0.1.0/1/DataFiles/filegroup50.jar
  ....
  ....
  inflating: grid/install/.oui
[oracle@l12asm64di medias]$ unzip linuxamd64_12c_database_1of2.zip
Archive:  linuxamd64_12c_database_1of2.zip
   creating: database/
  inflating: database/welcome.html
   creating: database/response/
  inflating: database/response/db_install.rsp
  inflating: database/response/netca.rsp
  inflating: database/response/dbca.rsp
   creating: database/sshsetup/
  inflating: database/sshsetup/sshUserSetup.sh
   creating: database/rpm/
   ....
   ....
 extracting: database/install/addLangs.sh
[oracle@l12asm64di medias]$ unzip linuxamd64_12c_database_2of2.zip
Archive:  linuxamd64_12c_database_2of2.zip
  inflating: database/install/.oui
   creating: database/stage/Components/oracle.rdbms.install.seeddb/
   creating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/
   creating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/
   creating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/
  inflating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/filegroup2.jar
   creating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/Expanded/
   creating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/Expanded/filegroup1/
  inflating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/Expanded/filegroup1/pdbseed.dfb
  inflating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/Expanded/filegroup1/Seed_Database.ctl
  inflating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/Expanded/filegroup1/pdbseed.xml
  inflating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/Expanded/filegroup1/Seed_Database.dfb
  inflating: database/stage/Components/oracle.rdbms.install.seeddb/12.1.0.1.0/1/DataFiles/filegroup3.jar
   creating: database/stage/Components/oracle.rdbms.install.seeddb.sample_schema/
   ....
   ....
  inflating: database/stage/Components/oracle.rdbms/12.1.0.1.0/1/DataFiles/filegroup19.6.1.jar
[oracle@l12asm64di medias]$

Pronto já configuramos o Linux para a Instalação do Banco de Dados Oracle 12c.
Maiores informações acesse Oracle Documentation 12c.

%name Preparando o Oracle Linux para Instalação do Oracle Database 12c com ASM Non Rac

Autor: Maycon Tomiasi

Formado em Tecnologia da Informação na FIPP (Faculdade de Informática de Presidente Prudente), Analista DBA Oracle pela Teiko Soluções em Tecnologia da Informação, residente em Blumenau/ SC, Certificado OCP 10g/11g/12c, OCS 11g Implementation, OCE 11g Performance Tuning, OCE 11g RAC & GRID e OPN Specialist. Conhecimentos em PHP.