miércoles, 28 de febrero de 2018

Error Symbol CreateIoCompletionPort was referenced en AIX

Al trabajar con productos Oracle sobre servidores AIX, puede darse que al tratar de iniciar un OHS o de ver un formulario de Oracle Forms, puede que se genere alguno de los siguientes errores:

OHS:

<2017-12-29 14:52:03> <INFO> <OHS-4018> <Starting server ohs1>
<2017-12-29 14:52:03> <INFO> <OHS-0> <Running /u01/app/oracle/product/fmw/ohs/bin/launch httpd -DOHS_MPM_WORKER -d /u01/app/oracle/product/fmw/user_projects/domains/forms_domain/
config/fmwconfig/components/OHS/instances/ohs1 -k start -f /u01/app/oracle/product/fmw/user_projects/domains/forms_domain/config/fmwconfig/components/OHS/instances/ohs1/httpd.conf>
<2017-12-29 14:52:04> <INFO> <OHS-0> <exec(): 0509-036 Cannot load program httpd because of the following errors:>
<2017-12-29 14:52:04> <INFO> <OHS-0> <rtld: 0712-001 Symbol CreateIoCompletionPort was referenced>
<2017-12-29 14:52:04> <INFO> <OHS-0> < from module /u01/app/oracle/product/fmw/wlserver/../lib/libclntsh.so(), but a runtime definition>
<2017-12-29 14:52:04> <INFO> <OHS-0> < of the symbol was not found.>
<2017-12-29 14:52:04> <INFO> <OHS-0> <rtld: 0712-001 Symbol GetMultipleCompletionStatus was referenced>
<2017-12-29 14:52:04> <INFO> <OHS-0> < from module /u01/app/oracle/product/fmw/wlserver/../lib/libclntsh.so(), but a runtime definition>
<2017-12-29 14:52:04> <INFO> <OHS-0> < of the symbol was not found.>
<2017-12-29 14:52:04> <INFO> <OHS-0> <rtld: 0712-002 fatal error: exiting.>
<2017-12-29 14:52:04> <SEVERE> <OHS-0> </u01/app/oracle/product/fmw/ohs/bin/launch httpd -DOHS_MPM_WORKER -d /u01/app/oracle/product/fmw/user_projects/domains/forms_domain/config
/fmwconfig/components/OHS/instances/ohs1 -k start -f /u01/app/oracle/product/fmw/user_projects/domains/forms_domain/config/fmwconfig/components/OHS/instances/ohs1/httpd.conf: exit st
atus = 255>
<2017-12-29 14:52:04> <INFO> <OHS-4005> <Check the instance log file for more information: /u01/app/oracle/product/fmw/user_projects/domains/forms_domain/servers/ohs1/logs/ohs1.log>
<2017-12-29 14:52:04> <SEVERE> <OHS-0> <Failed to start the server ohs1>


Causa:

IOCP se encuentra configurado con su valor por defecto “Defined” y el producto Oracle requiere que esté configurado como “Available”.

Solución:

Primero verificamos el valor actual del IOCP en nuestro sistema, para ello podemos ejecutar el siguiente comando:

Continua leyendo aquí.

lunes, 12 de febrero de 2018

Configurar Webutil para Oracle Forms 12c

Una de las librerías más importantes para todo desarrollador de Oracle Forms es la de Webutil, librería que nos ha proporcionado de funcionalidades para la interacción con el usuario final desde que el modo cliente/servidor quedo atrás. 

Ahora nos encontramos en la versión 12c de las tecnologías Oracle y es por ello que en esta ocasión detallaré los pasos para configurar la librería de Webutil para la versión 12c:

1.  Primero hay que crear un esquema en la base de datos para poder posteriormente compilar la librería webutil.pll. Contra este esquema es necesario ejecutar el archivo create_webutil_db.sql que se encuentra en el directorio $ORACLE_HOME/forms

2.  Luego que ya tenemos nuestro esquema de base de datos configurado será necesario conseguir los archivos de JACOB que utilizaremos para la configuración. Este se puede descargar desde aquí.

Nota: La única versión soportada para Forms 12c (12.2.1.0.0) de JACOB es la 1.18-M2.

3.  Descomprimimos el zip descargado y colocaremos el archivo jacob.jar en la carpeta de la ruta $ORACLE_HOME/forms/java

4.  Si el ambiente que estamos configurando es para desarrollo, debemos asegurarnos que el archivo $ORACLE_HOME/forms/java/frmwebutil.jar se encuentre en la variable FORMS_BUILDER_CLASSPATH del regedit.

5.  Ahora colocaremos los archivos dll de JACOB que vienen en el zip descargado en las carpetas respectivas

jacob-1.18-M2-x86.dll  ->  ORACLE_HOME/forms/webutil/win32
jacob-1.18-M2-x64.dll  ->  ORACLE_HOME/forms/webutil/win64

Nota: No cambiar el nombre de los archivos dll ya que con estos nombres se hace referencia en el archivo webutil.cfg

6.  Realizaremos la siguientes modificaciones a la configuración [webutil] del archivo formsweb.cfg, esto se puede hacer manualmente o a través del EM:

a. Verificamos que los archivos frmwebutil.jar y jacob.jar se encuentren en el parámetro WebutilArchive. En algunas versiones este paso ya esta hecho.

b. Especificamos que utilizaremos la forma webutil_demo.fmx como forma por defecto para la configuración de [webutil]

7.  Ahora descargamos la forma de webutil_demo desde el siguiente enlace:  http://www.oracle.com/technetwork/developer-tools/forms/webutil-090641.html  y colocamos la forma webutil_demo.fmb en la ruta $ORACLE_HOME/forms

8.  Ahora compilaremos la librería webutil así como la forma que recién descargamos, para ello desde linea de comandos ejecutaremos:

Nota: Utilizar para compilar la librería webutil.pll el esquema que cuenta con el paquete mencionado en el paso 1.

frmcmp module=webutil.pll module_type=library userid=scott/tiger@orcl compile_all=yes
frmcmp module=webutil_demo.fmb module_type=form userid=scott/tiger@orcl compile_all=yes


9.  Por ultimo probaremos el funcionamiento de la librería webutil, para ello en el navegador pondremos:

http://machine.domain:port/forms/frmservlet?config=webutil

Funcionalidad de los tabs "Client Info" y "About" deben funcionar sin ningún problema. Si estos tabs no funcionan se debe revisar que los pasos anteriores se hayan seguido correctamente: