ORA-02097: parameter cannot be modified because specified value is invalid

TCP state diagram

Image via Wikipedia

Para aquellos que trabajan un entorno de servidor compartido, donde tenemos varias instancias y varios listeners vamos a ver un poco de registro de servicios.

Podemos agregar al archivo de inicialización, para que registren los dispachers con un listener que no sea el default propuesto por oracle.

Debido a que ambos, el parámetro LOCAL_LISTENER y el atributo LISTENER permiten al proceso PMON registrar la información del dispacher con el listener, no es necesario especificar el parámetro y el atributo si los valores son los mismos.

Ahora veamos un ejemplo de un server donde tengo el listener default de ASM , más otros listeners y otras instancias.

Comencemos revisando que listeners tengo corriendo.

[oracle@gontlinux dbs]$ ps -ef | grep inh
oracle    8218     1  0 Oct15 ?        00:00:03 /u01/app/oracle/product/10.2.0/db_TOPAS/bin/tnslsnr LISTENER -inherit
oracle    7798     1  0 Oct15 ?        00:00:03 /u01/app/oracle/product/10.2.0/db_TOPAS/bin/tnslsnr TOPAS_GONTLINUX -inherit
oracle   18998 15040  0 16:03 pts/1    00:00:00 grep inh

Sigue leyendo

Linux Services – Oracle Database And Grid Control Service START/STOP

Oracle Databases

Image via Wikipedia

Cuando trabajamos en la automatización de procesos un punto importante en las single instances es configurar un servicio del sistema operativo para poder levantarlas.

Que es un servicio ?

Un servicio son scripts automatizados para realizar start/down de programas o “servicios” (Valga la redundancia) que son lanzados cuando el kernel se carga en memoria al inicializar el Sistema Operativo y ejecuta cada uno de ellos según en el run level que se encuentren.

Como es la estructura de los servicios ?

Veamos paso por paso.

Cuando se inicializa el server, el kernel se carga en memoria como el proceso padre y dispara subprocesos ejecutando en orden lo que se encuentra en los diferentes run levels.

Los subprocesos son los scripts que se encuentran en el /etc/rc.d

Ahi podemos encontrar los subdirectorios (o run levels ) rc0.d, rc1.d … hasta llegar al rc6.d

[root@lxcontrol10 rc.d]# ls -l
total 100
drwxr-xr-x  2 root root  4096 Jul 23 19:50 init.d
-rwxr-xr-x  1 root root  2352 Jan 23  2009 rc
drwxr-xr-x  2 root root  4096 Feb 10  2010 rc0.d
drwxr-xr-x  2 root root  4096 Feb 10  2010 rc1.d
drwxr-xr-x  2 root root  4096 Jul 23 19:50 rc2.d
drwxr-xr-x  2 root root  4096 Jul 23 19:50 rc3.d
drwxr-xr-x  2 root root  4096 Feb 10  2010 rc4.d
drwxr-xr-x  2 root root  4096 Jul 23 19:50 rc5.d
drwxr-xr-x  2 root root  4096 Feb 10  2010 rc6.d
-rwxr-xr-x  1 root root   289 Aug  5 12:20 rc.local
-rwxr-xr-x  1 root root 28059 Jan 23  2009 rc.sysinit

Sigue leyendo