Instalación Paso a paso de Oracle 12C + ASM Silent🇩🇴 en CentOS 7

Instalación Paso a Paso de Oracle 12C + ASM Silent🤬😷 sobre CentOS 7

Siguenos en nuestro canal de youtube y Redes

Inicio

Paso:-0 –> Instalar Vagrant & VirtualBox

Paso:1 –> Cambiamos el timezone:

root@academia:~# hostnamectl
root@academia:~# timedatectl set-timezone America/Santo_Domingo

Paso:2–> Configuración de red, IP, nombre de red en /etc/hosts:

root@academia:~# echo `hostname -I |cut -d' ' -f2` `hostname`  `hostname -s` >> /etc/hosts

Paso:3–> Desactivamos el SeLinux y el Firewalld 😂 🦏 🐅:

root@academia:~# sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config
root@academia:~# systemctl stop firewalld
root@academia:~# systemctl disable firewalld

Paso:4–> Paquetes necesarios y alqunos adicionales:

root@academia:~# yum -y localinstall  https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 

root@academia:~# yum install -y nmap dnsmasq libstdc++-devel.i686 zlib-devel.i686 smartmontools device-mapper-multipath device-mapper-multipath-libs  nfs-utils htop bzip2 mlocate libnfsidmap ntp bind-utils sshpass telnet vim unixODBC.i686 unzip libaio.i686 ksh libaio elfutils-libelf-devel libaio-devel.i686 libaio-devel gcc unixODBC unixODBC-devel sysstat rlwrap elfutils-devel libstdc++-devel compat-libstdc++-33.i686 unixODBC-devel.i686 elfutils-libelf.i686 libstdc++.i386 libstdc++.i686 libstdc++.x86_64 zenity  gcc-c++ glibc glibc.i686 glibc-common glibc-headers glibc-devel.i686 wget xclock xauth xdpyinfo glibc-devel compat-libstdc++-33 compat-libcap1 openssh* libXp* binutils.x86_64 libstdc++-devel gsmartcontrol.x86_64 oracle-epel-release-el7 net-tools

Paso:5–> Creacion de grupos para Usuario Oracle:

root@academia:~# groupadd -g 54321 oinstall
root@academia:~# groupadd -g 54322 dba
root@academia:~# groupadd -g 54323 oper
root@academia:~# groupadd -g 54324 backupdba
root@academia:~# groupadd -g 54325 asmdba
root@academia:~# groupadd -g 54326 dgdba
root@academia:~# groupadd -g 54327 kmdba
root@academia:~# groupadd -g 54328 asmadmin
root@academia:~# groupadd -g 54329 asmoper
root@academia:~# groupadd -g 54330 racdba

Paso:6–> Añadiendo el usuarios Grid & Oracle, especificándole los grupos a los que pertenece:

root@academia:~# useradd -u 54321 -g oinstall -G dba,asmadmin,asmdba,asmoper,racdba grid
root@academia:~# useradd -u 54322 -g oinstall -G  dba,oper,asmdba,racdba,backupdba,dgdba,kmdba oracle

Paso:7–> Seteando password a los Usuario Grid & Oracle:

root@academia:~# echo pomavid9 | passwd oracle --stdin
root@academia:~# echo pomavid9 | passwd grid --stdin

Paso:8–> Creando directorio para el Grid & Oracle:

root@academia:~# mkdir -p /opt/app/grid
root@academia:~# mkdir -p /opt/app/oracle/product/12.2.0.1/dbhome_1
root@academia:~# mkdir -p /opt/app/grid/product/12.2.0.1/ASM

Paso:9–> Cambiando los permisos y dueño de los directorios:

root@academia:~# chown -R grid:oinstall /opt/app
root@academia:~# chown oracle:oinstall /opt/app/oracle
root@academia:~# chmod -R 775 /opt/app

Paso:10–> Preparación del entorno del usuario Grid:

root@academia:~# cat >> /home/grid/.bashrc <<EOF
# Grid JP) 
umask 022
ORACLE_SID=+ASM; export ORACLE_SID
ORACLE_BASE=/opt/app/grid; export ORACLE_BASE
ORACLE_HOME=\$ORACLE_BASE/product/12.2.0.1/ASM; export ORACLE_HOME
export ORACLE_HOSTNAME=$(uname -n)
INVENTORY_LOCATION=/opt/app/oraInventory; export INVENTORY_LOCATION
ORACLE_TERM=xterm; export ORACLE_TERM
TNS_ADMIN=\$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=\$ORACLE_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin; export PATH
NLS_DATE_FORMAT='dd-mon-yyyy hh24:mi:ss' ; export NLS_DATE_FORMAT
LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib; export LD_LIBRARY_PATH
CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib; export CLASSPATH
JAVA_HOME=/usr/local/java; export JAVA_HOME
export TEMP=/tmp
export TMPDIR=/tmp
export histize=5000
alias sqlplus="rlwrap sqlplus"
alias sql="sqlplus / as sysasm"
PS1='\[\033[01;32m\]\u\[\033[01;34m\]@\[\033[01;33m\]\h\[\033[00;33m\]:\[\033[01;34m\]\w\[\033[00m\]$ '
EOF

Paso:11–> Preparación del entorno del usuario Oracle:

root@academia:~# cat >> /home/oracle/.bashrc <<EOF
umask 022
ORACLE_SID=`hostname -s`; export ORACLE_SID
ORACLE_UNQNAME=`hostname -s` ;export ORACLE_UNQNAME
ORACLE_HOSTNAME=`uname -n`; export ORACLE_HOSTNAME
ORACLE_BASE=/opt/app/oracle; export ORACLE_BASE
ORACLE_HOME=/opt/app/oracle/product/12.2.0.1/dbhome_1; export ORACLE_HOME
INVENTORY_LOCATION=/opt/app/oraInventory; export INVENTORY_LOCATION
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=\$ORACLE_HOME/bin:$PATH; export PATH
NLS_DATE_FORMAT='dd-mon-yyyy hh24:mi:ss' ; export NLS_DATE_FORMAT
LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib; export LD_LIBRARY_PATH
CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib; export CLASSPATH
TNS_ADMIN=\$ORACLE_HOME/network/admin ;export ORACLE_HOME
export TEMP=/tmp
export TMPDIR=/tmp
export histize=5000
PS1='${jp_acl:+($jp_acl)}\[\033[01;32m\]\u\[\033[01;34m\]@\[\033[01;33m\]\h\[\033[00;33m\]:\[\033[01;34m\]\w\[\033[00m\]$ '
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

alias sqlplus="rlwrap sqlplus"
alias sql="sqlplus / as sysdba"
alias adrci="rlwrap adrci"
EOF

Paso:12–> Configuración de los parámetros del kernel para Oracle:

root@academia:~# cat >> /etc/sysctl.conf <<EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500 
EOF

Paso:13–> Límites usuario oracle y grid en shell:

root@academia:~# cat >> /etc/security/limits.conf <<EOF
# Para los que integrante del grupo oinstall 
@oinstall        soft   nproc      16384
@oinstall        hard   nproc      16384
@oinstall        soft   nofile     8192
@oinstall        hard   nofile     65536
@oinstall        soft   stack      10240
@oinstall        hard   stack      32768
@oinstall        hard   memlock    134217728
@oinstall        soft   memlock    134217728
 
@root             soft nproc  4096
@root             hard nproc  16384
@root             soft nofile 8192
@root             hard nofile 65536
EOF

root@academia:~# cat >> /etc/pam.d/login <<EOF
# jp Oracle
session required /lib64/security/pam_limits.so
session required pam_limits.so
EOF

#[Refresca parámetros del kernel]

root@academia:~# sysctl -p
root@academia:~# exit

Paso:14–> Copiamos el Software del Grid:

root@jpora:~# scp V840012-01.zip grid@192.168.56.10: 

Paso:15–> Copiamos el Software de la Bases Datos:

root@jpora:~# scp V839960-01.zip oracle@192.168.56.10: 

Paso:16–> Descomprimimos el GRID:

grid@academia:~$ unzip V840012-01.zip -d $ORACLE_HOME

Paso:17–> Instalamos Paquete CVUQDISK:

root@academia:~# rpm -Uvh /opt/app/grid/product/12.2.0.1/ASM/cv/rpm/cvuqdisk-1.0.10-1.rpm

Paso:18–> Creamos archivo para iniciar las Reglas de UdeV:

root@academia:~# echo "options=-g" > /etc/scsi_id.config

Paso:19–> Particionamos nuestros Discos:

root@academia:~# lsblk

root@academia:~# 
for i in `ls /dev/sd* |grep -v sda |grep -v 1` ;do
echo "u
n
p
1


w
"|fdisk $i ;done

root@academia:~# lsblk

Paso:20–> Creamos las Reglas de UdeV para los Discos:

root@academia:~# cd /dev
i=1
cmd="/usr/lib/udev/scsi_id -g -u -d"
for disk in `ls sd* |grep -v sda |grep -v 1` ; do
         cat <<EOF >> /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="$cmd /dev/\$parent", \
RESULT=="`$cmd /dev/$disk`", SYMLINK+="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660"
EOF
         i=$(($i+1))
done

Paso:21–> Vemos las reglas creadas:

root@academia:~# cat /etc/udev/rules.d/99-oracle-asmdevices.rules

Paso:22–> Aplicamos las Reglas

root@academia:~# cd /dev
for i in `ls sd* |grep -v sda |grep -v 1` 
do
partprobe /dev/$i
udevadm test /sys/block/$i
udevadm control --reload-rules
done

Paso:23–> Comprobamos que fueron aplicadas

root@academia:~# ls -ltrh /dev/sd?? |grep  asmadmin

Paso:24–> Iniciamos proceso de Instalacion del GRID y Ejecutamos :

ssh -X grid@192.168.56.10

Paso:25–> Ejecutamos el Script para iniciar la instalacion del GRID:

grid@academia:~# $ORACLE_HOME/gridSetup.sh -silent -waitforcompletion -skipPrereqs -responseFile /opt/app/grid/product/12.2.0.1/ASM/install/response/gridsetup.rsp \
  INVENTORY_LOCATION=/opt/app/oraInventory \
  oracle.install.option=HA_CONFIG \
  ORACLE_BASE=/opt/app/grid \
  ORACLE_HOME=/opt/app/grid/product/12.2.0.1/ASM \
  oracle.install.asm.OSDBA=oinstall \
  oracle.install.asm.OSOPER=asmoper \
  oracle.install.asm.OSASM=asmadmin \
  oracle.install.crs.config.ClusterConfiguration=STANDALONE \
  oracle.install.asm.storageOption=ASM \
  oracle.install.asm.SYSASMPassword=kikla123B \
  oracle.install.asm.diskGroup.name=CRS \
  oracle.install.asm.diskGroup.redundancy=EXTERNAL \
  oracle.install.asm.diskGroup.AUSize=4 \
  oracle.install.asm.diskGroup.disksWithFailureGroupNames=/dev/sdb1, \
  oracle.install.asm.diskGroup.disks=/dev/sdb1 \
  oracle.install.asm.diskGroup.diskDiscoveryString=/dev/sd* \
  oracle.install.asm.monitorPassword=kikla123B \
  oracle.install.crs.rootconfig.executeRootScript=false \
  oracle.install.crs.rootconfig.configMethod=ROOT

Paso:26–> Ejecutamos el Scripts orainstallRoot.sh & root.sh:

root@academia:~# /opt/app/oraInventory/orainstRoot.sh
root@academia:~# /opt/app/grid/product/12.2.0.1/ASM/root.sh 

Paso:27–> Crearemos los DiskGroup para la DATA y el FRA:

grid@academia:~# asmca -silent -configureASM -sysAsmPassword kikla123B -asmsnmpPassword kikla123B -diskstring /dev/sdb1 -diskGroupName CRS -disk /dev/sdb1 -redundancy EXTERNAL

grid@academia:~# asmca -silent -creatediskgroup -diskstring '/dev/sd*' -diskGroupName DATA -disk '/dev/sdc1' -redundancy External

grid@academia:~# asmca -silent -creatediskgroup -diskstring '/dev/sd*' -diskGroupName FRA -disk '/dev/sdd1' -redundancy External

Paso:28–> Cambiar el Prompt de SQLPLUS para el Usuario GRID:

grid@academia:~# $ echo  set sqlprompt "_user'@'_connect_identifier:)> " >> $ORACLE_HOME/sqlplus/admin/glogin.sql

grid@academia:~# $  sqlplus / as sysasm

Paso:29–> Validacion de instalacion Exitosa 🥶:

SQL> Select NAME,STATE,TYPE,TOTAL_MB from v$asm_diskgroup;

grid@academia:~# $ ps aux |grep -i ASM

Paso:30–> Realizamos una nueva conexion con el usuario Oracle:

ssh -X oracle@192.168.56.10

Paso:31–> Descomprir el Software:

oracle@academia:~# unzip V839960-01.zip

Paso:32–> Iniciamos la instalacion del Software:

oracle@academia:~# database/runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent \
  -responseFile /home/oracle/database/response/db_install.rsp \
    oracle.install.option=INSTALL_DB_SWONLY \
    ORACLE_HOSTNAME=higuey.fcld.acl \
    UNIX_GROUP_NAME=oinstall \
    INVENTORY_LOCATION=/opt/app/oraInventory \
    SELECTED_LANGUAGES=en,en_GB \
    ORACLE_BASE=/opt/app/oracle \
    ORACLE_HOME=/opt/app/oracle/product/12.2.0.1/dbhome_1  \
    oracle.install.db.InstallEdition=EE \
    oracle.install.db.OSDBA_GROUP=dba \
    oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
    oracle.install.db.OSDGDBA_GROUP=dgdba \
    oracle.install.db.OSKMDBA_GROUP=kmdba \
    oracle.install.db.OSRACDBA_GROUP=racdba \
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
    DECLINE_SECURITY_UPDATES=true

Paso:33–> Ejecutamos el Scripts root.sh:

root@academia:~# /opt/app/oracle/product/12.2.0.1/dbhome_1/root.sh

Paso:34–> Iniciamos la instalacion de la Instancia:

oracle@academia:~# dbca -silent -createDatabase \
 -templateName General_Purpose.dbc \
 -gdbname higuey.fcld.acl -sid higuey \
 -responseFile NO_VALUE \
 -characterSet AL32UTF8 \
 -sysPassword kikla123B \
 -systemPassword kikla123B \
 -createAsContainerDatabase false \
 -databaseType MULTIPURPOSE \
 -enableArchive true \
 -automaticMemoryManagement false \
 -totalMemory 1536  \
 -storageType ASM \
 -datafileDestination +DATA \
 -recoveryAreaDestination +FRA  \
 -sampleSchema  true \
 -asmSysPassword kikla123B \
 -diskGroupName DATA  \
 -redoLogFileSize 50 \
 -emConfiguration NONE \
 -ignorePreReqs 

Paso:35–> Cambiar el Prompt de SQLPLUS para el Usuario Oracle:

oracle@academia:~# $ echo  set sqlprompt "_user'@'_connect_identifier:)> " >> $ORACLE_HOME/sqlplus/admin/glogin.sql

oracle@academia:~# $  sqlplus / as sysdba

Paso:36–> Validacion de instalacion Exitosa 🤲:

SQL> Select username from hr.regions;

SQL> !ps aux |grep -i jpora

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

X