UnDomain Un friki suelto por la red

Desactivar WebCache en OAS... y algo más...


¿Alguien sabe lo que es el WebCache del OAS? Pues es el componente del OAS que hace la función de cachear los JAVAs publicados y redirigir las peticiones al Apache (servidor HTTP).

Pues bien, resulta que si tenemos un OAS en el que no tenemos ningún JAVA publicado (se entiende con esto como una aplicación deployada) este componente solo hace la función de PROXY. ¿Y que pasa con esto? Pues que tenemos un componente "inútil" que consume recursos del servidor, retarda el tiempo de respuesta de la aplicación (a la hora de cargar, al menos) y que puede ser una fuente de problemas y dolores de cabeza (cosa que me esta pasando) ya que si se cae, dejan de funcionar todas las aplicaciones publicadas, sean JAVA, Forms o HTML.

Precisamente por esto, Oracle recomienda desactivar este componente si solo publicamos aplicaciones Forms (o que no son JAVA).... pero esto tiene un pequeño "problema".
Resulta que por defecto, el Apache esta escuchando en el puerto 7778 y/o 7777 y es el WebCache el que se encarga de redirigir las peticiones del puerto 80 a estos, con lo que acceder si tenemos IPs virtuales se hace mas "puñetero", o incluso imposible para el usuario medio/básico (también conocido como "luser"), ya que se ha de indicar específicamente el puerto al que se quiere acceder.

Esto, aunque puede ser fácil para alguien que conozca bien todos estos componentes, para el resto de mortales no es tan trivial.
Así que vamos a ver como podemos desactivar el WebCache y que "nadie" se entere de ello.

Como esto es lo que he hecho yo para conseguirlo y mis conocimientos al respecto son mas bien escasos, es posible que haga alguna burrada, así que pido perdón de antemano y agradeceré todas las correcciones y sugerencias que tengáis :)

Ahora, vamos al meollo del asunto...

Lo primero es desactivar el WebCache. Para esto hay dos maneras:

- La fácil y recomendada por Oracle:
1) Desde la consola del OAS, accedemos a la opción "Activar/Desactivar componentes":

2) Seleccionamos el componente "WebCache" con el botón "Mover" y Aceptamos:

Si falla, intentadlo una segunda vez. A veces falla el primer intento.

3) Reiniciamos todos los componentes ejecutando.
ORACLE_HOME/opmn/bin/opmnctl stopall
ORACLE_HOME/opmn/bin/opmnctl startpall

Si, ya se que se puede usar la opción "restart", pero así me gusta mas :)



- La complicada:
Solo recomendable si el paso anterior te da un error o tienes ganas de trastear las tripas.

1) Paramos todos los servicios ejecutando:
ORACLE_HOME/opmn/bin/opmnctl stopall
opmnctl status -l

2) Modificamos el fichero httpd.conf ($ORACLE_HOME\Apache\Apache\conf) previo backup, dejando las siguientes lineas:
Listen 7778
Port 7778

3) Modificamos el fichero ssl.conf ($ORACLE_HOME\Apache\Apache\conf) previo backup, dejando las siguientes lineas:
Listen 4444
Port 4444

4) Modificamos el fichero opmn.xml ($ORACLE_HOME\opmn\conf) previo backup, dejando las siguiente linea:
<ias-component id="WebCache" status="disabled">

5) Modificamos el fichero targets.xml ($ORACLE_HOME\sysman\emd) previo backup, dejando las siguiente linea:
<Target TYPE="oracle_webcache" NAME="OraAS10gR2.mymachine.oracle.com_Web Cache" DISPLAY_NAME="Web Cache" DISABLED="TRUE">

6) Iniciamos servicios ejecutando:
ORACLE_HOME/opmn/bin/opmnctl startall
opmnctl status -l



Ahora ya tenemos el WebCache desactivado. Si os fijáis bien, al acceder al servidor vía URL ya no sale la pagina de bienvenida del OAS, y si entras en el detalle de algunos componentes (como el Froms) te aparecerá como caído, aunque en la pantalla principal de la consola te aparece como funcionando.

La solución a esto es tan fácil como añadir las siguientes lineas al fichero httpd.conf ($ORACLE_HOME\Apache\Apache\conf):
Listen 80
Listen 7777

Ahora solo hay que reiniciar el componente HTTP Server (Apache) y listos... como si nada hubiera pasado y con el WebCache desactivado. En teoría, las aplicaciones Forms tendrían que funcionar un poco mas rápido, al menos a la hora de cargar.



Acepto sugerencias, alternativas y críticas :)

Tags:

Hola, una pregunta: tengo OAS

Hola, una pregunta: tengo OAS 10.1.2 y 10.1.3 instalados en una sola maquina y requiero que las dos salgan por el puerto 80. Alguna sugerencia, gracias

Pues lo siento, pero no tengo

Pues lo siento, pero no tengo ni idea...
En este caso, lo que intentaria es desactivar el apache de una de las dos instalaciones y hacer que según la ruta acceda a uno u otro (supongo que las aplicaciones de una instalación estarán en puertos distintos a los de la otra, no?).

Supongo que la solución podria venir por aquí.

Espero que te funcione, y si lo consigues, me digas como lo has hecho ;)

Suerte!

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

Image CAPTCHA
Enter the characters shown in the image.

Todo el contenido mostrado ha sido obtenido libremente por la red. Las marcas indicadas son propiedad de sus legítimos dueños y se muestran a modo informativo de manera libre y voluntaria, sin intención publicitaria ni ánimo de lucro. Todo el material propio, y salvo que se indique lo contrario, se encuentra bajo licencia Creative Commons. Si tienes el Copyright de algún contenido o has detectado algna anomalia, por favor, infórmalo al correo undomain@gmail.com para ser corregido cuanto antes. El autor de esta Web no se hace responsable del contenido de terceras personas y de sites ajenos a este.

Powered by Drupal, an open source content management system