El Objetivo de este blog es mostrar ejemplos de configuraciones y procedimientos en la administración de Sistemas Operativos Unix(Solaris y Linux) y Bases de Datos Oracle. Los ejemplos ya han sido probados y utilizados en la implementacion de muchos ambientes.
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.
Suscribirse a:
Enviar comentarios (Atom)
Buenísimo, muchas gracias por compartir.
ResponderEliminar