Sunday, April 27, 2014

ORACLE 11G R2 ASM: CREACION DE DISCOS ASM (RAC, STANDALONE...)

Una vez instalado y configurado ASMLIB en la maquina, ya podemos crear discos ASM para poder usarlos en la maquina/maquinas dependiendo si sera BBDD standalone o RAC.

La explicacion que sigue es para BBDD en RAC.

Para ello de la cabina de almacenamiento se han asignado unos volumenes a la maquina donde estara la BBDD
  • /dev/mapper/asmdbf01p1 200Gb ASMDATA  
  • /dev/mapper/asmarch01p1 100Gb ASMARCH
  • /dev/mapper/asmredo01p1 50Gb ASMREDO
  • /dev/mapper/ocrvot01p1 1 Gb OCR_VOTE01
  • /dev/mapper/ocrvot02p1 1 Gb OCR_VOTE02
  • /dev/mapper/ocrvot03p1 1 Gb OCR_VOTE03
Los 3 primeros volumenes son para la BBDD pura y dura. ASMDATA para los dbf, ASMARCH para los archivelogs y ASMREDO para un miembro de cada grupo de redos que definiremos en la BBDD (generalmente yo suelo crear 3 grupos de redos con dos miembros en cada grupo con la nomenclatura redo+numero de grupo+numero de miembro, por ejemplo)
grupo1: (redo11, redo12)
grupo2: (redo21,redo22)
grupo3: (redo31,redo32)

Los 3 siguientes volumenes son para el OCR del RAC, por medidas de seguridad siempre se recomienda un minimo de 3 volumenes para tener por triplicado el OCR. (OCR_VOTE01,OCR_VOTE02,OCR_VOTE03)

Una vez que en las maquinas estan mapeadas esos volumenes, procederemos a asignarlos al ASM, lo hacemos en el nodo 1 del RAC.

1:) Crear discos ASM en el nodo 1

/etc/init.d/oracleasm createdisk OCR_VOTE01 /dev/mapper/ocrvot01p1 external redundancy

               Marking disk "OCR_VOTE01" as an ASM disk: [ OK ]
/etc/init.d/oracleasm createdisk OCR_VOTE02 /dev/mapper/ocrvot02p1 external redundancy

              Marking disk "OCR_VOTE02" as an ASM disk: [ OK ]

/etc/init.d/oracleasm createdisk OCR_VOTE03 /dev/mapper/ocrvot03p1 external redundancy

             Marking disk "OCR_VOTE03" as an ASM disk: [ OK ]

/etc/init.d/oracleasm createdisk ASMDATA /dev/mapper/asmdbf01p1 external redundancy

             Marking disk "ASMDATA" as an ASM disk: [ OK ]

/etc/init.d/oracleasm createdisk ASMREDO /dev/mapper/asmredo01p1 external redundancy

             Marking disk "ASMREDO" as an ASM disk: [ OK ]

/etc/init.d/oracleasm createdisk ASMARCH /dev/mapper/asmarch01p1 external redundancy

             Marking disk "ASMARCH" as an ASM disk: [ OK ]

2:) Confirmar la creación en el nodo 1

Ejecutamos /etc/init.d/oracleasm listdisks
ASMARCH
ASMDATA
ASMREDO
OCR_VOTE01
OCR_VOTE02
OCR_VOTE03

3:) Descubrirlo en el nodo2

Ejecutamos /etc/init.d/oracleasm scandisks

           Scanning the system for Oracle ASMLib disks: [ OK ]

4:) Confirmamos en el nodo 2 que lo ha descubierto

Ejecutamos /etc/init.d/oracleasm listdisks
ASMARCH
ASMDATA
ASMREDO
OCR_VOTE01
OCR_VOTE02
OCR_VOTE03

De esta manera ya tenemos asignados los discos a ambos nodos y marcados para ser usados en ASM.

En caso de BBDD standalone seria solo los mismos pasos en un solo nodo y sin volumenes OCR

  • /dev/mapper/asmdbf01p1 200Gb ASMDATA  
  • /dev/mapper/asmarch01p1 100Gb ASMARCH
  • /dev/mapper/asmredo01p1 50Gb ASMREDO
1:) Crear discos ASM 

/etc/init.d/oracleasm createdisk ASMDATA /dev/mapper/asmdbf01p1 external redundancy

             Marking disk "ASMDATA" as an ASM disk: [ OK ]

/etc/init.d/oracleasm createdisk ASMREDO /dev/mapper/asmredo01p1 external redundancy

             Marking disk "ASMREDO" as an ASM disk: [ OK ]

/etc/init.d/oracleasm createdisk ASMARCH /dev/mapper/asmarch01p1 external redundancy

             Marking disk "ASMARCH" as an ASM disk: [ OK ]

2:) Confirmar la creación

Ejecutamos /etc/init.d/oracleasm listdisks
ASMARCH
ASMDATA
ASMREDO

ORACLE 11G R2 ASM: INSTALACION ASMLIB

ASMLIB

  • oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
  • oracleasm-support-2.1.3-1.el5.x86_64.rpm
  • oracleasmlib-2.0.4-1.el5.x86_64.rpm
1.- Para instalarlos ejecutamos desde el prompt del sistema operativo.
  • rpm -Uvh oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm oracleasmlib-2.0.4-1.el5.x86_64.rpm oracleasm-support-2.1.3-1.el5.x86_64.rpm
2.- Para configurar ASMLIB desde el prompt del sistema operativo
  • /etc/init.d/oracleasm configure
3.- Modificar el /etc/sysconfig/oracleasm con:

ORACLEASM_SCANORDER="dm"
ORACLEASM_SCANEXCLUDE="sd"
    4.- Reiniciar ASMLIB
    • /etc/init.d/oracleasm restart

    ORACLE 11G R2 Utilidad Cluster Verification Utility (CLUVFY)

    Utilidad Cluster Verification Utility

    Herramienta de oracle para testear diferentes opciónes del cluster. Para Instalarlo solo es necesario (con el usuario root) descomprimir el fichero zip sito en la pagina web de Oracle (cvupack_Linux_x86_64.zip).

             1.-  Instalación del paquete CVUQDISK
                            rpm -iv cvuqdisk-1.0.9-1.rpm

                Consulta del paquete CVUQDISK

                            rpm -qi cvuqdisk-1.0.9-1

              2.- Chequeo de requerimientos de sistema

    Solo chequea, no arregla.

    • Ejecución con salida en pantalla
     Desde el directorio bin de donde se ha descomprimido.

    ./cluvfy comp sys -n Host1 -p crs -verbose

    • Ejecución volcandolo a un fichero para repasar los pasos y ver si alguno da failed.
     Desde el directorio bin de donde se ha descomprimido.

    ./cluvfy comp sys -n Host1 -p crs -verbose > cluvfy.lis



    3.- Chequeo de requesitos de instalación


    Solo chequea, no arregla

    • Ejecución con salida en pantalla
     Desde el directorio bin de donde se ha descomprimido.

    ./cluvfy stage -pre dbinst -fixup -n Host1,Host2 -osdba dba –verbose

    • Ejecución volcándolo a un fichero para repasar los pasos y ver si alguno da failed.
     Desde el directorio bin de donde se ha descomprimido.

    ./cluvfy stage -pre dbinst -fixup -n Host1,Host2 -osdba dba -verbose > cluvfyreq.lis

    • En nuestro caso dara

    Pre-check for database installation was unsuccessful on all the nodes.

    El motivo es por

    Check: Swap space
    Node Name Available Required Comment
    ------------ ------------------------ ------------------------ ----------
    Host2 8GB (8388600.0KB) 11.73GB (1.2296092E7KB) failed
    Host1 8GB (8388600.0KB) 11.73GB (1.2296092E7KB) failed
    Result: Swap space check failed

    Pero podemos ignorar este fallo.

    ORACLE 11G R2: CREAR CONECTIVIDAD DENTRO DEL CLUSTER (KEYGEN DSA,RSA)

    Crear conectividad dentro del cluster


    En cada nodo en el raiz del home de Oracle, usando usuario Oracle. Los mismos pasos para rsa

    1.-  Parar generar las claves.

    Generamos primero en el nodo 1

    [oracle@Host1]$ ssh-keygen -t dsa
    (todo por defecto)

          Generating public/private dsa key pair.
          Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
          Created directory '/home/oracle/.ssh'.
          Enter passphrase (empty for no passphrase):
         Enter same passphrase again:
         Your identification has been saved in /home/oracle/.ssh/id_dsa.
         Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
         The key fingerprint is:
         5d:8c:42:97:eb:42:ae:52:52:e9:59:20:2a:d3:6f:59 oracle@Host1.dbsconsult.com

    2.- Para transferirlas



    The public key on each node is copied to both nodes. Execute the following on each node.

    En el nodo 2

    [oracle@Host2]$ ssh Host1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


           The authenticity of host 'Host1 (192.168.0.184)' can't be established.

           RSA key fingerprint is 00:d9:70:08:bc:fd:b5:e4:e3:df:a3:c7:d8:46:1e:a5.

          Are you sure you want to continue connecting (yes/no)? yes

          Warning: Permanently added 'Host1,192.168.0.184' (RSA) to the list of known hosts.

          oracle@Host1's password:


    En el nodo 1

    [oracle@Host1]$ ssh Host2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

         The authenticity of host 'Host2 (192.168.0.185)' can't be established.

         RSA key fingerprint is 00:d9:70:08:bc:fd:b5:e4:e3:df:a3:c7:d8:46:1e:a5.

        Are you sure you want to continue connecting (yes/no)? yes

        Warning: Permanently added 'Host2,192.168.0.185' (RSA) to the list of known hosts.

        oracle@Host2's password:

    Comprobación de la conectividad

    • Ejecutar el comando:
    ./cluvfy comp nodecon -n Host1,Host2
    Verifying node connectivity
    Checking node connectivity...
    Checking hosts config file...
    Verification of the hosts config file successful
    Node connectivity passed for subnet "172.21.54.0" with node(s) Host2,Host1
    TCP connectivity check passed for subnet "172.21.54.0"
    Node connectivity passed for subnet "10.10.10.0" with node(s) Host2,Host1
    TCP connectivity check passed for subnet "10.10.10.0"
    Interfaces found on subnet "172.21.54.0" that are likely candidates for VIP are:
    Host2 eth0:172.21.54.31
    Host1 eth0:172.21.54.30
    Interfaces found on subnet "10.10.10.0" that are likely candidates for a private interconnect are:
    Host2 eth1:10.10.10.31
    Host1 eth1:10.10.10.30
    Node connectivity check passed
    Verification of node connectivity was successful.

    ORACLE 11G R2: CHEQUEAR RESOLUCION DNS DEL CLUSTER

    Chequeo resolución DNS

    1. Meter en cada nodo dentro del fichero /etc/resolv.conf
    NOMBRESERVIDORVIRTUALCLUSTER 192.168.72.223
    NOMBRESERVIDORHOST1 192.168.71.12
    NOMBRESERVIDORHOST2 192.168.71.13
    domain NOMBREDELDOMINIO.com
    1. Ejecutar comando de chequeo
    cluvfy comp scan -verbose
    Verifying scan

    Checking Single Client Access Name (SCAN)...
    SCAN VIP name Node Running? ListenerName Port Running?
    ---------------- ------------ ------------ ------------ ------------ ------------
    Host-Cluster Host1 true LISTENER 1521 true

    Checking name resolution setup for "Host-Cluster"...
    SCAN Name IP Address Status Comment
    ------------ ------------------------ ------------------------ ----------
    Host-Cluster 172.21.54.40 passed
    Verification of SCAN VIP and Listener setup passed

    Verification of scan was successful.