Certificaciones

Certificaciones
Certificaciones

martes, 23 de agosto de 2016

Revisar el estado general de Nuestro Cluster Oracle RAC


#Una buena practica es tener un monitoreo constante de nuestros clusters y bases de datos 

#Despues de cualquier actividad de mantenimiento o cambio en la infraestructura de hardware en 
#la que corre nuestro rac es critico hacer una revisión completa del estado del cluster y las bases 
#de datos para garantizar que todo sigue funcionando con normalidad.
#Aqui presento el procedimiento y secuencia que he utilizado para completar esto: 
 
# Primero, consultar el estado de los recursos del cluster, la idea es encontrar que todos los recursos que hemos habilitado en el cluster rac esten online:

[oracle@testnode02 bin]$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.testdbrac.db  application    ONLINE    ONLINE    testnode02
ora....c1.inst application    ONLINE    ONLINE    testnode01
ora....c2.inst application    ONLINE    ONLINE    testnode02
ora....serv.cs application    ONLINE    ONLINE    testnode02
ora....ac1.srv application    ONLINE    ONLINE    testnode01
ora....ac2.srv application    ONLINE    ONLINE    testnode02
ora....SM1.asm application    ONLINE    ONLINE    testnode01
ora....01.lsnr application    ONLINE    ONLINE    testnode01
ora.testnode01.gsd   application    ONLINE    ONLINE    testnode01
ora.testnode01.ons   application    ONLINE    ONLINE    testnode01
ora.testnode01.vip   application    ONLINE    ONLINE    testnode01
ora....SM2.asm application    ONLINE    ONLINE    testnode02
ora....02.lsnr application    ONLINE    ONLINE    testnode02
ora.testnode02.gsd   application    ONLINE    ONLINE    testnode02
ora.testnode02.ons   application    ONLINE    ONLINE    testnode02
ora.testnode02.vip   application    ONLINE    ONLINE    testnode02

# Segundo, revisar el estado de todas las aplicaciones necesarias en los nodos, esto debe hacerse individualmente en cada nodo, la idea es ver que los procesos VIP,GSD, Listenes y ONS esten online en todos los nodos:

[oracle@testnode02 bin]$ srvctl status nodeapps -n testnode01
VIP is running on node: testnode01
GSD is running on node: testnode01
Listener is running on node: testnode01
ONS daemon is running on node: testnode01

[oracle@testnode02 bin]$ srvctl status nodeapps -n testnode02
VIP is running on node: testnode02
GSD is running on node: testnode02
Listener is running on node: testnode02
ONS daemon is running on node: testnode02

# Tercero, revisamos el estado de un servicio critico para el Rac, el ASM en ambos nodos...

[oracle@testnode02 bin]$ srvctl status asm -n testnode01
ASM instance +ASM1 is running on node testnode01.

[oracle@testnode02 bin]$ srvctl status asm -n testnode02
ASM instance +ASM2 is running on node testnode02.

# Cuarto, revisar el estado de las instancias de nuestra Base de Datos.....

[oracle@testnode02 bin]$ srvctl status database -d testdbrac
Instance testdbrac1 is running on node testnode01
Instance testdbrac2 is running on node testnode02

# Quinto, si tenemos servicios creados en nuestro rac debemos tambien validar su estado....

[oracle@testnode02 bin]$ srvctl status service -d testdbrac
Service appwsserv is running on instance(s) testdbrac2, testdbrac1

# Sexto, validar el estado del cluster en ambos nodos con el siguiente comando:

[oracle@testnode02 bin]$ crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy

[oracle@testnode01 ~]$ crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy

###
# Si toda la revisión anterior nos dió un buen estado de nuestros servicios en el rac, podemos hacer
# consultas al mismo para mas validaciones
###

#  Validar las instancias, hostname y status de los node apps consultando la vista gv$instance

SQL> select instance_name, host_name, archiver, thread#, status
  2  from gv$instance
  3  /
INSTANCE_NAME  HOST_NAME             ARCHIVE  THREAD# STATUS
-------------- --------------------- ------- -------- ------
testdbrac1        testnode01.mytest.env         STARTED        1 OPEN
testdbrac2        testnode02.mytest.env         STARTED        2 OPEN

# Validar la SGA(System Global Area) en cualquiera de los nodos (Ambos nodos tienen configuración identica)

SQL> show sga
Total System Global Area  608174080 bytes
Fixed Size                  1220820 bytes
Variable Size             142610220 bytes
Database Buffers          457179136 bytes
Redo Buffers                7163904 bytes

# Listar todos los datafiles

SQL> select file_name, bytes/1024/1024
  2  from dba_data_files
  3  /
FILE_NAME                                           BYTES/1024/1024
-----------------------------------------------     ---------------
+ORADATA/testdbrac/datafile/system.259.620732719                  500
+ORADATA/testdbrac/datafile/undotbs1.260.620732753                200
+ORADATA/testdbrac/datafile/sysaux.261.620732767                  670
+ORADATA/testdbrac/datafile/example.263.620732791                 150
+ORADATA/testdbrac/datafile/undotbs2.264.620732801                200
+ORADATA/testdbrac/datafile/users.265.620732817                     5
6 rows selected.

#Obtener el estado de todos los grupos de disco y sus miembros

SQL> select group#, type, member, is_recovery_dest_file
  2  from v$logfile
  3  order by group#
  4  /
GROUP# TYPE    MEMBER                                                   IS_
------ ------- ---------------------------------------------------      ---
     1 ONLINE  +ORADATA/testdbrac/onlinelog/group_1.257.620732695          NO
     1 ONLINE  +FLASH_RECO_AREA/testdbrac/onlinelog/group_1.257.620732699  YES
     2 ONLINE  +ORADATA/testdbrac/onlinelog/group_2.258.620732703          NO
     2 ONLINE  +FLASH_RECO_AREA/testdbrac/onlinelog/group_2.258.620732707  YES
     3 ONLINE  +ORADATA/testdbrac/onlinelog/group_3.266.620737527          NO
     3 ONLINE  +FLASH_RECO_AREA/testdbrac/onlinelog/group_3.259.620737533  YES
     4 ONLINE  +ORADATA/testdbrac/onlinelog/group_4.267.620737535          NO
     4 ONLINE  +FLASH_RECO_AREA/testdbrac/onlinelog/group_4.260.620737539  YES

# Consultar la vista v$asm_diskgroup

select group_number, name,allocation_unit_size alloc_unit_size,state,type,total_mb,usable_file_mb
from v$asm_diskgroup;

GROUP_NUMBER NAME                           ALLOC_UNIT_SIZE STATE       TYPE     TOTAL_MB USABLE_FILE_MB
------------ ------------------------------ --------------- ----------- ------ ---------- --------------
           1 FLASH_RECO_AREA                        1048576 CONNECTED   EXTERN      10236           2781
           2 ORADATA                                1048576 CONNECTED   NORMAL      20472           8132

# Consultar la vista v$asm_disk para listar los volumenes

select name, path, header_status, total_mb free_mb, trunc(bytes_read/1024/1024) read_mb, trunc(bytes_written/1024/1024) write_mb
from v$asm_disk;

NAME  PATH       HEADER_STATU    FREE_MB    READ_MB   WRITE_MB
----- ---------- ------------ ---------- ---------- ----------
VOL1  ORCL:VOL1  MEMBER             10236     39617      15816
VOL2  ORCL:VOL2  MEMBER             10236      7424      15816
VOL3  ORCL:VOL3  MEMBER             10236      1123      13059

# Listar todos los datafiles en un solo comando

SQL> select name from v$datafile
  2  union
  3  select name from v$controlfile
  4  union
  5  select name from v$tempfile
  6  union
  7  select member from v$logfile
  8  /
NAME
--------------------------------------------------------------------------------
+FLASH_RECO_AREA/testdbrac/controlfile/current.256.620732691
+FLASH_RECO_AREA/testdbrac/onlinelog/group_1.257.620732699
+FLASH_RECO_AREA/testdbrac/onlinelog/group_2.258.620732707
+FLASH_RECO_AREA/testdbrac/onlinelog/group_3.259.620737533
+FLASH_RECO_AREA/testdbrac/onlinelog/group_4.260.620737539
+ORADATA/testdbrac/controlfile/current.256.620732689
+ORADATA/testdbrac/datafile/example.263.620732791
+ORADATA/testdbrac/datafile/sysaux.261.620732767
+ORADATA/testdbrac/datafile/system.259.620732719
+ORADATA/testdbrac/datafile/undotbs1.260.620732753
+ORADATA/testdbrac/datafile/undotbs2.264.620732801
+ORADATA/testdbrac/datafile/users.265.620732817
+ORADATA/testdbrac/onlinelog/group_1.257.620732695
+ORADATA/testdbrac/onlinelog/group_2.258.620732703
+ORADATA/testdbrac/onlinelog/group_3.266.620737527
+ORADATA/testdbrac/onlinelog/group_4.267.620737535
+ORADATA/testdbrac/tempfile/temp.262.620732779
17 rows selected.

# Listar todos los Tablespaces en un solo comando

SQL> select tablespace_name, file_name
  2  from dba_data_files
  3  union
  4  select tablespace_name, file_name
  5  from dba_temp_files
  6  /
TABLESPACE_NAME         FILE_NAME
------------------      --------------------------------------------------------------------------------
EXAMPLE                 +ORADATA/testdbrac/datafile/example.263.620732791
SYSAUX                  +ORADATA/testdbrac/datafile/sysaux.261.620732767
SYSTEM   +ORADATA/testdbrac/datafile/system.259.620732719
TEMP    +ORADATA/testdbrac/tempfile/temp.262.620732779
UNDOTBS1 `  +ORADATA/testdbrac/datafile/undotbs1.260.620732753
UNDOTBS2   +ORADATA/testdbrac/datafile/undotbs2.264.620732801
USERS    +ORADATA/testdbrac/datafile/users.265.620732817
7 rows selected.

# Consultar información Sobre los archivos de las instancias de ASM

SQL> select group_number, file_number, bytes/1024/1024/1024 GB, type, striped, modification_date
  2   from v$asm_file
  3  where TYPE != 'ARCHIVELOG'
  4  /
GRP_NUM FILE_NUM       GB TYPE            STRIPE MODIFICAT
------- -------- -------- --------------- ------ ---------
      1      256      .01 CONTROLFILE     FINE   04-MAY-07
      1      257      .05 ONLINELOG       FINE   25-MAY-07
      1      258      .05 ONLINELOG       FINE   24-MAY-07
      1      259      .05 ONLINELOG       FINE   24-MAY-07
      1      260      .05 ONLINELOG       FINE   25-MAY-07
      1      261      .00 PARAMETERFILE   COARSE 24-MAY-07
      2      256      .01 CONTROLFILE     FINE   04-MAY-07
      2      257      .05 ONLINELOG       FINE   25-MAY-07
      2      258      .05 ONLINELOG       FINE   24-MAY-07
      2      259      .49 DATAFILE        COARSE 04-MAY-07
      2      260      .20 DATAFILE        COARSE 04-MAY-07
      2      261      .65 DATAFILE        COARSE 23-MAY-07
      2      262      .03 TEMPFILE        COARSE 04-MAY-07
      2      263      .15 DATAFILE        COARSE 04-MAY-07
      2      264      .20 DATAFILE        COARSE 04-MAY-07
      2      265      .00 DATAFILE        COARSE 04-MAY-07
      2      266      .05 ONLINELOG       FINE   24-MAY-07
      2      267      .05 ONLINELOG       FINE   25-MAY-07
18 rows selected.

# Consultar información mas detallada sobre los archivos de las instancias ASM

SQL> select group_number, file_number, compound_index, incarnation, block_size, bytes/1024/1024/1024 GB, type, striped,
  2  creation_date, modification_date
  3  from v$asm_file
  4  where TYPE != 'ARCHIVELOG'
  5  /
GRP_NUM FILE_NUM COMPOUND_INDEX INCARNATION BLOCK_SIZE       GB TYPE            STRIPE CREATION_ MODIFICAT
------- -------- -------------- ----------- ---------- -------- --------------- ------ --------- ---------
      1      256       16777472   620732691      16384      .01 CONTROLFILE     FINE   24-APR-07 04-MAY-07
      1      257       16777473   620732699        512      .05 ONLINELOG       FINE   24-APR-07 25-MAY-07
      1      258       16777474   620732707        512      .05 ONLINELOG       FINE   24-APR-07 24-MAY-07
      1      259       16777475   620737533        512      .05 ONLINELOG       FINE   24-APR-07 24-MAY-07
      1      260       16777476   620737539        512      .05 ONLINELOG       FINE   24-APR-07 25-MAY-07
      1      261       16777477   620737547        512      .00 PARAMETERFILE   COARSE 24-APR-07 24-MAY-07
      2      256       33554688   620732689      16384      .01 CONTROLFILE     FINE   24-APR-07 04-MAY-07
      2      257       33554689   620732695        512      .05 ONLINELOG       FINE   24-APR-07 25-MAY-07
      2      258       33554690   620732703        512      .05 ONLINELOG       FINE   24-APR-07 24-MAY-07
      2      259       33554691   620732719       8192      .49 DATAFILE        COARSE 24-APR-07 04-MAY-07
      2      260       33554692   620732753       8192      .20 DATAFILE        COARSE 24-APR-07 04-MAY-07
      2      261       33554693   620732767       8192      .65 DATAFILE        COARSE 24-APR-07 23-MAY-07
      2      262       33554694   620732779       8192      .03 TEMPFILE        COARSE 24-APR-07 04-MAY-07
      2      263       33554695   620732791       8192      .15 DATAFILE        COARSE 24-APR-07 04-MAY-07
      2      264       33554696   620732801       8192      .20 DATAFILE        COARSE 24-APR-07 04-MAY-07
      2      265       33554697   620732817       8192      .00 DATAFILE        COARSE 24-APR-07 04-MAY-07
      2      266       33554698   620737527        512      .05 ONLINELOG       FINE   24-APR-07 24-MAY-07
      2      267       33554699   620737535        512      .05 ONLINELOG       FINE   24-APR-07 25-MAY-07
18 rows selected.

1 comentario: