jueves, 1 de julio de 2010

Cambiar de Estado UNKNOWN a los Servicios de RAC ORACLE


SRVCTL no puede iniciar los servicios de RAC debido a estado UNKNOWN


Existen algunas ocasiones en las que el comando srvctl no puede levantar los servicios del RAC, debido a lo que oracle define como un error:

CRS-0223: Resource 'ora.nodo.xxx.xxx' has placement error.

Esto se debe a que algunos servicios de oracle tienen el estado de UNKNOWN como se muestra a continuación:

node68:/u01>$CRS_HOME/bin/crs_stat -t | grep 68
 
ora....TA4.srv   application ONLINE     UNKNOWN    node68
ora....SM4.asm   application ONLINE     UNKNOWN    node68
ora....68.lsnr   application ONLINE     UNKNOWN    node68
ora....d68.gsd   application ONLINE     ONLINE     node68
ora....d68.ons   application ONLINE     ONLINE     node68
ora....d68.vip   application ONLINE     ONLINE     node68

Como se puede notar existen varios servicios que muestran UNKNOWN en el estado, esto se soluciona con el siguiente procedimiento:

1.- Utilizamos el comando

$CRS_HOME/bin/crs_stat -l
Para obtener el nombre completo del recurso.

2. El comando

$CRS_HOME/bin/crs_stop -f nombre_del_recurso

Forza el detenimiento de dicho recurso y cambia su estado de UNKNOWN a OFFLINE y STOP.

Se realiza este procedimiento para cada recurso que presente el estado UNKNOWN y lo recomendable es de ser posible DETENER TODOS LOS DEMÁS SERVICIOS para proceder levantarlos de manera conjunta.

Manejar Servicios de Oracle RAC


La forma de levantar/detener los servicios de una base de datos con opción RAC es diferente de una base de datos standalone. A continuación se presenta, a manera de guía, un procedimiento para levantar/detener/validar los servicios manualmente. Todos estos comandos deben ser ejecutados con el usuario oracle, excepto donde se indica.
El orden en que se levantan/detienen los servicios es importante, siendo el orden adecuado el siguiente:

Levantar:
  1. 1º Los servicios,
  2. 2º La instancia ASM,
  3. 3º La base de datos.
Detener:
  1. 1º La base de datos,
  2. 2º La instancia ASM,
  3. 3º Los servicios.

Base de datos:
Levantar
$ srvctl start database -d DBNAME
Detener
$ srvctl stop database -d DBNAME
Status
$ srvctl status database -d DBNAME
ASM:
Levantar
$ srvctl start asm -n nodo1
$ srvctl start asm -n nodo2
Detener
$ srvctl stop asm -n nodo1
$ srvctl stop asm -n nodo2
Status
$ srvctl status asm -n nodo1
$ srvctl status asm -n nodo2

Servicios de RAC (VIP, ONS, GSD y listener):
Levantar
$ srvctl start nodeapps -n nodo1
$ srvctl start nodeapps -n nodo2
Detener
$ srvctl stop nodeapps -n nodo1
$ srvctl stop nodeapps -n nodo2
Status
$ srvctl status nodeapps -n nodo1
$ srvctl status nodeapps -n nodo2

Clusterware:
En caso de ser necesario manejar el clusterware (CRS) manualmente, los siguientes comandos deben ser ejecutados con el usuario root:
Levantar
# $CRS_HOME/bin/crsctl start crs
Detener
# $CRS_HOME/bin/crsctl stop crs
Status(1)
# $CRS_HOME/bin/crsctl check crs

domingo, 9 de mayo de 2010

Crear Imágenes ISO desde un CD o DVD en Linux

COMANDO DD

El comando dd (duplicate disk) es un comando bastante útil para transferir datos desde un dispositivo/archivo hacia un dispositivo/archivo/etc.

La sintaxis básica del comando es la siguiente:

dd if=origen of=destino

Donde if significa "input file", es decir, lo que se quiere copiar y of significa "output file", o sea, el archivo destino (donde se van a copiar los datos); origen y destino.

Si queremos crear una imagen de un CD, DVD o HDD desde consola, ejecutamos:
 
dd if=/dev/dvd of=dvd.iso # para dvd
dd if=/dev/cdrom of=cd.iso # para cdrom

dd if=/dev/scd0 of=cd.iso # si el cdrom es scsi

viernes, 12 de febrero de 2010

INSTALACIÓN DE TOMCAT EN LINUX

Pasos de la Instalación desde el Gestor de Paquetes Synaptic:
1.     Se puede abrir desde el menú Sistema > Administración > Gestor de paquetes Synaptic; como medida de precaución, se deberá ingresar la contraseña antes de seguir, no porque sea peligroso, sino porque la distribución Ubuntu es muy estricta e intenta evitar que estropee el sistema o, lo que es más importante, que lo hagan los usuarios no administradores.



2.    En la opción de buscar escribir “tomcat” y luego clic en el botón de buscar. El gestor de paquetes realizará la búsqueda y mostrará los resultados obtenidos.



  
3.    Cuando se  haya encontrado el paquete que se quieres instalar, haz clic en él con el botón derecho del ratón y elige la opción Marcar para instalar. Lo más probable es que se informe de un puñado de archivos dependientes que se instalarán al mismo tiempo; todo esto se realiza automáticamente. Luego se descargarán los archivos y se instalarán.










Por último se abrirá una ventana de confirmación de los cambios aplicados, con eso sabremos que la instalación se ha efectuado exitosamente.



5.    Luego hay que indicar el JAVA_HOME a tomcat, esto es debido a la "manualidad" de la instalación. Se puede hacer de dos formas, editando el  archivo .bashrc (que está ubicado en  home) o bien, dándoselo en el archivo .sh del servicio.

Editando .bashrc:
nano ~/.bashrc
se agrega al final del archivo:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
hasta aquí ya puedes iniciar Tomcat con el comando (es posible que se tenga que reiniciar para que funcione):
sudo /usr/share/tomcat6/bin/starup.sh

Si todo va bien, se deberá ver una página web en tu navegador en la direccion: http://localhost:8080


miércoles, 21 de octubre de 2009

Kernel Monolítico

Primero comprendamos qué es el Kernel:


El Kernel o núcleo muchos lo definen como el corazón del sistema operativo, por la importancia que tiene, el Kernel es el encargado de que el software y el hardware de la computadora trabajen juntos, también es el encargado de la administración de recursos como memoria, tiempo de procesos, etc.

Ahora que sabemos que es el Kernel, se pueden definir dos tipos que son:


· Monolitico

Los núcleos monolíticos son aquellos que soportan todo el hardware, el sistema de red, el sistema de archivos compilado dentro de un solo archivo.

· Modular

Los núcleos modulares son aquellos en que los controladores (módulos) se encuentran compilados como objetos, los cuales el núcleo puede cargar o descargar según sea necesario.


En la siguiente imagen se puede apreciar la diferencia entre uno y otro.

Imagen 1



El primer cubo representa un Kernel Monolítico y el segundo un Kernel Modular.


En este post nos enfocaremos en el Kernel Monolítico.


Un Sistema Operativo con Kernel Monolítico no tiene una estructura clara y bien definida. Todos sus componentes se encuentran integrados en un único programa (el sistema operativo.) que ejecuta en un único espacio de direcciones. En este tipo de Sistemas, todas las funciones que ofrece el Sistema operativo se ejecutan en modo núcleo.


Funcionamiento:


La forma en la que trabaja un núcleo monolítico es cuando un proceso necesita un resultado de parte del kernel, le manda una señal, la cual es procesada por el núcleo y luego es retornada al proceso solicitante. Lo cual simplifica el trabajo entre procesos y el kernel.


¿Cuándo implementarlo?


Se recomiendo imprentarlo cuando lo que necesitamos es tener redimiendo y seguridad.

Este tipo de Kernel es implementado en sistemas Unix, Microsoft Windows 9x (95, 98, Me).


Ventajas:


· Rápido, Fiable, Robusto.

· Son más fáciles de diseñar correctamente, y por lo tanto pueden crecer más rápidamente que un sistema basado en micronúcleo.


Desventajas:


· Poco software

· Cada vez que se coloca un dispositivo nuevo en el computador o una nueva versión, se debe recompilar el kernel.


Soluciones Equivalentes:


El problema que plantea este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios. Como mencioné anteriormente instalar un alguna aplicación o el plug and play de algún dispositivo significa recompilar el Kernel. Para solucionar este problema es necesario dotar de cierta estructura al sistema operativo.

La alternativa es tener una estructura de micronúcleo donde las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos.


Bibliografía y Referencias: