Comprobación estado general base de datos Oracle
Muchas veces cuando entramos a un sistema por primera vez no sabemos muy bien como reconocerlo, y empezar a mirarlo...
Lo primero que yo hago es un ps -ef | grep ora_pmon a fin de ver las bases de datos que hay corriendo sobre ese host, en mi caso tenemos:
host110> ps -ef | grep pmon orauser1 25453 1 0 Apr 14 ? 225:49 ora_pmon_orcl1 orauser2 1915 1 0 Aug 9 ? 213:09 ora_pmon_orcl2 orapbf 6091 1 0 Apr 27 ? 90:00 ora_pmon_pbf orauser3 8221 1 0 Jun 15 ? 76:55 ora_pmon_orcl3 orafi2 11802 1 0 Jun 13 ? 17:04 ora_pmon_fi2 orauser4 12982 1 0 Jun 15 ? 207:43 ora_pmon_orcl4 oragt4 11493 1 0 Mar 9 ? 119:28 ora_pmon_gt4 oraoq0 28195 1 0 Sep 23 ? 3:53 ora_pmon_OQ0 oraod0 653 1 0 Sep 23 ? 4:02 ora_pmon_OD0 oracle 21760 1 0 Sep 23 ? 0:54 ora_pmon_gh oracle 25147 22868 1 17:11:29 pts/1 0:00 grep ora_pmonal cual habría que quitar la última línea por ser el eco de la consulta... lo cual podríamos hacer así:
host110> ps -ef | grep ora_pmon | grep -v grep orauser1 25453 1 0 Apr 14 ? 225:49 ora_pmon_orcl1 orauser2 1915 1 0 Aug 9 ? 213:09 ora_pmon_orcl2 orapbf 6091 1 0 Apr 27 ? 90:00 ora_pmon_pbf orauser3 8221 1 0 Jun 15 ? 76:55 ora_pmon_orcl3 orafi2 11802 1 0 Jun 13 ? 17:04 ora_pmon_fi2 orauser4 12982 1 0 Jun 15 ? 207:43 ora_pmon_orcl4 oragt4 11493 1 0 Mar 9 ? 119:28 ora_pmon_gt4 oraoq0 28195 1 0 Sep 23 ? 3:53 ora_pmon_OQ0 oraod0 653 1 0 Sep 23 ? 4:02 ora_pmon_OD0 oracle 21760 1 0 Sep 23 ? 0:54 ora_pmon_ghLas fechas que aparecen, son en las que se levantó la BBDD, si fuera de hoy nos aparecería la hora y si fuese de mas del año pasado sólo nos diría el año....
De esta forma tenemos una idea de cuando se levantaron.....
Ahora bien: ¿Están levantadas todas las de deberían o hay alguna BBDD caída? Para responder a esto lo mejor es localizar el fichero oratab que siempre estará en la ruta /etc/oratab para todas las distribuciones de UNIX salvo para Solaris que está en /var/opt/oracle
# This file is used by ORACLE utilities. It is created by root.sh # and updated by the Database Configuration Assistant when creating # a database. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:como se puede ver es una tabla separada por ":" los campos son: $ORACLE_SID seguido del $ORACLE_HOME y por último y Y/N significa si la BBDD levanta cuando inicie el sistema operativo... (Si hemos tenido un reinicio de la máquina habrá levantar manualmente estas bases de datos...: # # The first and second fields are the system identifier and home # directory of the database respectively. The third filed indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # orcl1:/opt/oracle/product/10.2.0/db_1:Y orcl2:/opt/oracle/product/10.2.0/db_1:Y pbf:/opt/oracle/product/10.2.0/db_1:Y orcl3:/opt/oracle/product/10.2.0/db_1:Y fi2:/opt/oracle/product/10.2.0/db_1:Y orcl4:/opt/oracle/product/11.2.0/db_1:N gh5:/opt/oracle/product/11.2.0/db_1:N OD0:/opt/oracle/product/11.2.0/db_1:N OQ0:/opt/oracle/product/12.2.0/db_1:Y gt4:/opt/oracle/product/13.2.0/db_1:Y
¿Coincide el fichero oratab con el ps -ef que hemos hecho antes?, si la respuesta es negativa puede ser que alguna base de datos no esté levantada... y quizá debería..
Otra cosa que podemos hacer es ver si la BBDD es un RAC o no. Cuando hacemos nuestro famoso 'ps -ef' podemos ver en el caso del RAC que la base de datos se llama ORCL001, es decir XXXX001 y además tiene otra BBDD llamada +ASM1 que se encarga del manejo de los discos y la gestión del almacenamiento... esto es un indicio, pero no una evidencia...
usodbms-host0019bbdd > ps -ef | grep pmon usosasm 4860 1 0 Jun 27 ? 43:02 asm_pmon_+ASM1 usodbms 5171 1 0 Jun 27 ? 100:53 ora_pmon_ORCL001 usodbms 27508 27492 0 18:04:33 pts/0 0:00 grep pmon
Para cerciorarnos lo mejor es entrar en la BBDD y hacer:
usodbms-euhuxb0019fgbbd > sqlplus " / as sysdba " SQL*Plus: Release 11.2.0.4.0 Production on Vie Sep 29 18:15:10 2017 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> set linesize 190 SQL> select INSTANCE_NAME, HOST_NAME, VERSION, STARTUP_TIME from gv$instance; INSTANCE_NAME HOST_NAME VERSION STARTUP_ ---------------- ------------------- ----------------- -------- ORCL001 host0019bbdd 11.2.0.4.0 27/06/17 ORCL002 host0020bbdd 11.2.0.4.0 28/06/17
Aquí podemos ver los nombres de las dos instancias del RAC y los host sobre los que están corriendo.
Otra cosa que suelo mirar es si han tenido o están teniendo algún tipo de error, para eso podemos ver el alert.log. la ruta del fichero se puede ver haciendo:
SQL> show parameter background_dump_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ background_dump_dest string /oracle/db/diag/rdbms/orcl/orcl/traceentonces hacemos:
[oracle@wcp12cr2 ~]$ cd /oracle/db/diag/rdbms/orcl/orcl/trace [oracle@wcp12cr2 trace]$ ls -ltr aler* -rw-r-----. 1 oracle oinstall 187805 Sep 29 10:05 alert_orcl.log
Así encontramos el nombre del fichero alert, y luego para ver los últimos registros podemos hacer:
[oracle@wcp12cr2 trace]$ tail -200f alert_orcl.logo bien para ver los errores que se han producido:
[oracle@wcp12cr2 trace]$ tail -200 alert_orcl.log | grep ORA- ORA-27037: unable to obtain file status ORA-00210: cannot open the specified control file ORA-00202: control file: '/oracle/db/oradataCC"F/orcl/control01.ctl' ORA-27037: unable to obtain file status ORA-205 signalled during: ALTER DATABASE MOUNT... ORA-1507 signalled during: ALTER DATABASE CLOSE NORMAL...Otra cosa que podemos mirar son los listeners que hay corriendo sobre la máquina:
[oracle@wcp12cr2 admin]$ ps -ef | grep tns oracle 3141 1 0 10:12 ? 00:00:00 /oracle/db/ohome/bin/tnslsnr LISTENER -inherit oracle 3146 2663 0 10:12 pts/1 00:00:00 grep tnsCuya configuración estará en la ruta en el fichero listener.ora como se puede ver mas abajo:
[oracle@wcp12cr2 admin]$ cd $ORACLE_HOME/network/admin [oracle@wcp12cr2 admin]$ ls -ltr total 20 -rw-r--r--. 1 oracle oinstall 407 Jan 19 2012 shrept.lst drwxr-xr-x. 2 oracle oinstall 4096 Nov 11 2015 samples -rw-r--r--. 1 oracle oinstall 172 Nov 11 2015 sqlnet.ora -rw-r--r--. 1 oracle oinstall 314 Nov 11 2015 listener.ora -rw-r-----. 1 oracle oinstall 305 Nov 11 2015 tnsnames.oraPara ver qué sistema operativo está utilizando la máquina haremos:
host110> uname -a HP-UX host110 B.11.31 U ia64 1665298120 unlimited-user license
Comentarios
Publicar un comentario