miércoles, 16 de octubre de 2019

FRM-10256 User is not authorized to run Oracle Forms Menu

Migrando una aplicación de Oracle Forms de una versión 11g a la última versión 12c se presenta el siguiente error al ejecutar una forma:


La razón del error anterior es que la aplicación está haciendo uso de seguridad por medio de los menús y no se ha migrado/creado la vista y sinónimos pertinentes.

Solución:


1. Ejecutar como usuario SYS el script que se encuentra en la ruta:
$ORACLE_HOME/tools/dbtab/forms/frmsec.sql

2. Ejecutar el siguiente grant:
Grant select on frm50_enabled_roles to public;

Verificación:

Por último se puede verificar los roles ingresando con un usuario y ejecutando la siguiente consulta que debe retornar los roles:

Select * from frm50_enabled_roles; 

Nota: este procedimiento también aplica para versión 10g y 11g.

domingo, 6 de octubre de 2019

Contraseña por defecto de DemoIdentity.jks y DemoTrust.jks

Al instalar Oracle Weblogic, la instalación trae por defecto 2 keystores que se utilizan para la comunicación segura cuando activamos el puerto SSL en los servidores manejados, uno de los  keystore contiene los certificados de identidad y otro contiene los certificados de las autoridades certificadores (CA).

A continuación detallo las rutas y contraseñas de estos Keystores tanto para Weblogic como para OHS:

Propiedad                       Valor

Ubicación Keystore              Trust $MW_HOME/wlserver_10.3/server/lib/DemoTrust.jks
Contraseña Keystore Trust DemoTrustKeyStorePassPhrase
Ubicación Keystore Identidad $MW_HOME/wlserver_10.3/server/lib/DemoIdentity.jks
Contraseña Keystore Identidad DemoIdentityKeyStorePassPhrase
Contraseña llave privada DemoIdentityPassPhrase

miércoles, 18 de septiembre de 2019

Exception in thread "main" java.lang.UnsatisfiedLinkError: no frmjapi in java.library.path

Si al tratar de hacer uso de la librería de JDAPI para hacer modificaciones en nuestras formas, nos aparece el error siguiente:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no frmjapi in java.library.path

Es porque en nuestra variable PATH no está especificada la DLL (frmjapi.dll) que requiere el JDAPI y que se encuentra en la ruta: %DOMAIN_HOME%\bin

Una vez se agrega la ruta donde se encuentra la DLL en la variable PATH y se reinicia el IDE ya no nos dará el error antes mencionada y nuestro código funcionara correctamente.

viernes, 23 de agosto de 2019

FIX: The program can't start because MSVCP100.dll is missing from your computer. Try reinstalling the program to fix this problem.

Luego de haber instalado Oracle Forms 12c en Windows aparece el siguiente mensaje al tratar de abrir el Forms Builder:

The program can't start because MSVCP100.dll is missing from your computer. 
Try reinstalling the program to fix this problem.

Versiones afectadas:

12.2.1.0 a 12.2.1.3 Windows 64 bits.

Causa:

La guía de instalación solicita la instalación de MS Visual C++ 11.0
https://docs.oracle.com/en/middleware/fusion-middleware/12.2.1.3/sysrs/index.html#SYSRS3057

Aunque hayan instalado dicha librería el mensaje les aparecerá.

Solución:

Instalar las librerías de versión 10, además de las librerías de la versión 11 que ya previamente debemos haber instalado.

domingo, 14 de julio de 2019

WUC-21 Luego de parchar la instalación de Oracle Forms 10gR2 o 11gR1

Versiones afectadas:

Desde versión 10.1.2.3 to 11gR1

Error presentado:

WUC-21 : System Library http://hostname/forms/webutil/jacob.dll incorrect size in WebUtil Config. Download will be canceled.

Síntoma y solución:

Luego de haber realizado un parchado de la instalación de Forms o de haber hecho un upgrade del Jacob se puede presentar el error WUC-21 mencionando que el tamaño del archivo jacob.dll tiene un tamaño equivocado.

Para arreglar este error mostrado debemos seguir los siguientes pasos:

1. Bajar los servicios de la instancia OC4J.
2. Tomar respaldo del archivo webutil.cfg que se encuentra en la ruta:  %ORACLE_HOME%\forms\server
3. Editamos el archivo webutil.cfg y modificamos la siguiente linea:

install.syslib.0.7.1=jacob.dll|106496|1.10|true
install.syslib.0.9.1=JNIsharedstubs.dll|65582|1.0|true


4. Iniciamos los servicios nuevamente y al probar correr una forma no debe aparecer nada.


lunes, 27 de mayo de 2019

Create wlfullclient.jar for client applications - Weblogic 11g

If you need a way to connect your client applications to deploy, undeploy on Weblogic, you may create a JAR file for that, just follow the next steps:

1. Login to your server installation and go to the following path:

$FMW_HOME/wlserver_10.3/server/lib/

2. Run the following command with you JAVA_HOME set:

java -jar wljarbuilder.jar

3. The previous command creates a file with name "wlfullclient.jar", now just add the previous file to your application's classpath.

miércoles, 19 de diciembre de 2018

Oracle Reports 12c: OCI_INVALID_HANDLE. ==> select

Al tratar de ejecutar algún reporte en la versión 12c de Oracle Reports, se puede mostrar el siguiente mensaje de error de forma intermitente:

REP-300: OCI_INVALID_HANDLE. ==> select .....

Desde el Reports Builder el mensaje de error se puede ver de esta manera:



En el log de diagnostico se puede encontrar alguno de este estos errores: REP-300 : OCI_INVALID_HANDLE, REP-0501, and ORA-00002
CAUSA:

Este comportamiento se debe a los siguientes bugs:

Bug:10100777 "Reports Engine Crash With Rep-501"
Bug:13327994 "REP-300 / REP-501 AFTER A WHILE OF USING REPORTS SERVER EVEN WITH PATCH 10100777"
Bug:18595884 "REP-300 UNTIL ENGINE IS RESTARTED"



SOLUCIONES:

12c:

Usar versión R2 pues los fix a estos bugs ya están incluidos en las versiones 12.2.1.X

11gR2:

11.1.2.2 : Aplicar parche 18595884

11.1.2.1 : Los fix para los bugs 10100777 y 13327994 ya están incluidos en esta versión, no hay necesidad de aplicar nada.

11.1.2.0 : El fix para el bug 10100777 ya esta incluido en esta versión, solo es necesario aplicar el parche correspondiente para el bug 13327994

Otras versiones leer Doc ID 1270315.1

viernes, 7 de diciembre de 2018

BEA-000386 - Server subsystem failed. Reason: A MultiException has 20 exceptions

Al tratar de iniciar Weblogic 12c, se puede presentar el siguiente error y éste no inicia:

<Nov 25, 2018 12:01:56,844 PM MST> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: A MultiException has 20 exceptions.  They are:
1. java.lang.NullPointerException
2. java.lang.IllegalStateException: Unable to perform operation: post construct on weblogic.store.admin.DefaultStoreService
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.transaction.internal.TransactionService errors were found
4. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.transaction.internal.TransactionService
5. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.jdbc.common.internal.JDBCService errors were found
6. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.jdbc.common.internal.JDBCService
7. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.PartitionRuntimeStateManager errors were found
8. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.PartitionRuntimeStateManager
9. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.partition.admin.DomainLevelResourceGroupStateHelperImpl errors were found
10. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.partition.admin.DomainLevelResourceGroupStateHelperImpl
11. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.PartitionRuntimeStateManager errors were found
12. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.PartitionRuntimeStateManager
13. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.partition.admin.PartitionResourceGroupStateHelperImpl errors were found
14. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.partition.admin.PartitionResourceGroupStateHelperImpl
15. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.deploy.internal.ConfiguredDeployments errors were found
16. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.deploy.internal.ConfiguredDeployments
17. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.deploy.internal.DeploymentShutdownService errors were found
18. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.deploy.internal.DeploymentShutdownService
19. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.application.services.ApplicationShutdownService errors were found
20. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.application.services.ApplicationShutdownService


A MultiException has 20 exceptions.  They are:
1. java.lang.NullPointerException
2. java.lang.IllegalStateException: Unable to perform operation: post construct on weblogic.store.admin.DefaultStoreService
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.transaction.internal.TransactionService errors were found
4. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.transaction.internal.TransactionService
5. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.jdbc.common.internal.JDBCService errors were found
6. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.jdbc.common.internal.JDBCService
7. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.PartitionRuntimeStateManager errors were found
8. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.PartitionRuntimeStateManager
9. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.partition.admin.DomainLevelResourceGroupStateHelperImpl errors were found
10. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.partition.admin.DomainLevelResourceGroupStateHelperImpl
11. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.PartitionRuntimeStateManager errors were found
12. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.PartitionRuntimeStateManager
13. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.partition.admin.PartitionResourceGroupStateHelperImpl errors were found
14. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.partition.admin.PartitionResourceGroupStateHelperImpl
15. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.deploy.internal.ConfiguredDeployments errors were found
16. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.deploy.internal.ConfiguredDeployments
17. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.management.deploy.internal.DeploymentShutdownService errors were found
18. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.management.deploy.internal.DeploymentShutdownService
19. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.application.services.ApplicationShutdownService errors were found
20. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.application.services.ApplicationShutdownService


        at org.jvnet.hk2.internal.Collector.throwIfErrors(Collector.java:89)
        at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:250)
        at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
        at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)
        Truncated. see log file for complete stacktrace
Caused By: java.lang.NullPointerException
        at weblogic.store.internal.PersistentStoreImpl.isDefaultStoreOfOtherServer(PersistentStoreImpl.java:322)
        at weblogic.store.internal.PersistentStoreImpl.isSpecialStore(PersistentStoreImpl.java:366)
        at weblogic.store.internal.PersistentStoreImpl.setFatalException(PersistentStoreImpl.java:303)
        at weblogic.store.internal.PersistentStoreImpl.open(PersistentStoreImpl.java:551)
        at weblogic.store.admin.AdminHandler.activate(AdminHandler.java:157)
        Truncated. see log file for complete stacktrace
>
<Nov 25, 2018 12:01:56,862 PM MST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED.>
<Nov 25, 2018 12:01:56,862 PM MST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down.>
<Nov 25, 2018 12:01:56,865 PM MST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN.>
Stopping Derby server...
Derby server stopped.


Esto sucede cuando al parecer la tienda por defecto (default store) está corrupta.

Para su solución podemos realizar los siguientes pasos:

1. Movernos al directorio: $DOMAIN/servers/SERVERNAME/data/store/default
2. Sacar un backup del archivo: _WLS_SERVERNAME000000.DAT
3. Eliminar el archivo _WLS_SERVERNAME000000.DAT
4. Reiniciar Weblogic

Con esto se creará un nuevo archivo y el Weblogic subirá sin problemas.

viernes, 26 de octubre de 2018

Oracle Reports REP-110: Unable to open file

En ocasiones, en un ambiente donde se encuentra instalado Oracle Reports se puede dar que al tratar de ejecutar un reporte, se nos presente el siguiente error:



1
2
3
REP-110: No se ha podido abrir el archivo 'rinnovousers.'.
REP-1070: Error al abrir o guardar un documento.
REP-0110: No se ha podido abrir el archivo 'rinnovousers.'.
Este error se puede presentar de un día para otro y afectar a un reporte en especifico y lo demás reportes sigan funcionando sin problema. Si se intenta ejecutar el reporte con la ruta completa donde se encuentra éste o colocar la extensión RDF o REP si funciona el reporte.

¿Por qué sucede?

Existe en alguna ruta que no necesariamente este dentro del REPORTS_PATH un archivo con el mismo nombre que el del reporte.

¿Cómo se soluciona?

Se debe de realizar una búsqueda de aquellos archivos que tengan el mismo nombre del reporte y que no tengan extensión.

Ejemplo:

Si buscamos todos los archivos con el nombre del reporte rinnovousers, obtengo el siguiente resultado:

1
2
3
4
5
6
7
8
[oracle@rinnovoap1 ~]$ cd /u01
[oracle@rinnovoap1 u01]$ find . -name rinnovousers*
./app/oracle/product/101202/j2ee/home/rinnovousers
./app/oracle/product/101202/reports/cache/rinnovousersxrB0jMiM.pdf
./app/oracle/product/101202/reports/cache/rinnovouserstVHcTYZb.pdf
./app/oracle/product/101202/reports/cache/rinnovousersybPtAkG1.pdf
./app/oracle/product/101202/reports/cache/rinnovousersJESn9PWV.pdf
[oracle@rinnovoap1 u01]$

Como vemos en el ejemplo, el comando de búsqueda devolvió un archivo que tiene el mismo nombre que el reporte (linea 3) y como se puede observar no tiene extensión. Este archivo debemos eliminarlo.

Una vez eliminado el archivo, probamos y veremos que el reporte se ejecuta nuevamente sin problemas!!