Cuando se está configurando Forms/Reports11gR2 en Solaris 11 Sparc y utilizar Jdk 1.7 puede que el asistente se quede en el paso de crear el servidor administrado WLS_FORMS. Si vamos a ver el log de éste Servidor veremos el siguiente mensaje de error:
java.lang.ExceptionInInitializerError
at weblogic.rjvm.LocalRJVM.getLocalRJVM(LocalRJVM.java:72)
at weblogic.rjvm.JVMID.<init>(JVMID.java:373)
at weblogic.rjvm.JVMID.setLocalID(JVMID.java:239)
at weblogic.rjvm.RJVMService.setJVMID(RJVMService.java:48)
at weblogic.rjvm.RJVMService.start(RJVMService.java:30)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: java.security.ProviderException: Error parsing configuration
at sun.security.pkcs11.Config.getConfig(Config.java:71)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:110)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:86)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:224)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:206)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:206)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:187)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:232)
at sun.security.jca.ProviderList$3.get(ProviderList.java:147)
at sun.security.jca.ProviderList$3.get(ProviderList.java:142)
at java.util.AbstractList$Itr.next(AbstractList.java:358)
at java.security.SecureRandom.getPrngAlgorithm(SecureRandom.java:542)
at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:187)
at java.security.SecureRandom.<init>(SecureRandom.java:155)
at weblogic.rjvm.LocalRJVM.<init>(LocalRJVM.java:90)
at weblogic.rjvm.LocalRJVM.<init>(LocalRJVM.java:28)
at weblogic.rjvm.LocalRJVM$LocalRJVMMaker.<clinit>(LocalRJVM.java:31)
at weblogic.rjvm.LocalRJVM.getLocalRJVM(LocalRJVM.java:72)
at weblogic.rjvm.JVMID.<init>(JVMID.java:373)
at weblogic.rjvm.JVMID.setLocalID(JVMID.java:239)
at weblogic.rjvm.RJVMService.setJVMID(RJVMService.java:48)
at weblogic.rjvm.RJVMService.start(RJVMService.java:30)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: java.security.ProviderException: Error parsing configuration
at sun.security.pkcs11.Config.getConfig(Config.java:71)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:110)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:86)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:224)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:206)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:206)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:187)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:232)
at sun.security.jca.ProviderList$3.get(ProviderList.java:147)
at sun.security.jca.ProviderList$3.get(ProviderList.java:142)
at java.util.AbstractList$Itr.next(AbstractList.java:358)
at java.security.SecureRandom.getPrngAlgorithm(SecureRandom.java:542)
at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:187)
at java.security.SecureRandom.<init>(SecureRandom.java:155)
at weblogic.rjvm.LocalRJVM.<init>(LocalRJVM.java:90)
at weblogic.rjvm.LocalRJVM.<init>(LocalRJVM.java:28)
at weblogic.rjvm.LocalRJVM$LocalRJVMMaker.<clinit>(LocalRJVM.java:31)
at weblogic.rjvm.LocalRJVM.getLocalRJVM(LocalRJVM.java:72)
at weblogic.rjvm.JVMID.<init>(JVMID.java:373)
at weblogic.rjvm.JVMID.setLocalID(JVMID.java:239)
at weblogic.rjvm.RJVMService.setJVMID(RJVMService.java:48)
at weblogic.rjvm.RJVMService.start(RJVMService.java:30)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: sun.security.pkcs11.ConfigurationException: Unknown keyword 'useEcX963Encoding', line 15
at sun.security.pkcs11.Config.parse(Config.java:425)
at sun.security.pkcs11.Config.<init>(Config.java:194)
at sun.security.pkcs11.Config.getConfig(Config.java:67)
Para solucionar este error lo que debemos hacer es ir a modificar el archivo java.security que se encuentra en la ruta $JAVA_HOME/jre/lib/security
En el modificamos y quitamos la entrada siguiente:
security.provider.1=com.oracle.security.ucrypto.UcryptoProvider ${java.home}/lib/security/ucrypto-solaris.cfg
security.provider.2=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/sunpkcs11-solaris.cfg
security.provider.3=sun.security.provider.Sun
security.provider.4=sun.security.rsa.SunRsaSign
.....
A:
security.provider.1=com.oracle.security.ucrypto.UcryptoProvider ${java.home}/lib/security/ucrypto-solaris.cfg
security.provider.2=sun.security.provider.Sun
security.provider.3=sun.security.rsa.SunRsaSign
....
Nota: Asegurarse de reajustar el correlativo de los provider 1,2,3,4....
Luego de éste cambio reintentamos el paso en el cual se quedo el asistente y continuará sin problemas.
Nota2: Otro workaround por éste error sería utilizar JDK 1.6
Mi experiencia en capa media con Oracle Fusion Middleware: Oracle Forms/Reports, Apex, Weblogic, SOA/BPM, OID, OAM
jueves, 6 de marzo de 2014
viernes, 7 de febrero de 2014
Instalar JDK 1.7 en Oracle Solaris 11
Resulta que tuve que instalar un JDK 1.7 64bits en Oracle Solaris 11 para una instalación que tengo que realizar de Forms y pues nunca pensé que éste tipo de instalación me diera alguna clase de problema, pero resulta que si tiene su truco poder completarla.
Luego de haber descomprimido el JDK descargado (que pesa como 16MB) y posteriormente ejecutar el comando "java -version" obtuve la siguiente salida:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Resulta que éste JDK por su tamaño al parecer no viene por completo, que se debe hacer ?? se debe hacer lo siguiente:
- Bajar el JDK 1.7 32bits
- Bajar el JDK 1.7 64bits
- Descomprimir primero el JDK de 32bits
- Descomprimir posteriormente el JDK de 64bits en el mismo lugar donde está el de 32bits (solo debe quedar una carpeta).
En otras palabras se combina los dos JDK, es por ello que el JDK de 64bits es tan pequeño en tamaño, pues al final hay que combinarlo con el de 32bits. Haciendo eso el "java -version" ya muestra la salida correctamente.
Luego de haber descomprimido el JDK descargado (que pesa como 16MB) y posteriormente ejecutar el comando "java -version" obtuve la siguiente salida:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Resulta que éste JDK por su tamaño al parecer no viene por completo, que se debe hacer ?? se debe hacer lo siguiente:
- Bajar el JDK 1.7 32bits
- Bajar el JDK 1.7 64bits
- Descomprimir primero el JDK de 32bits
- Descomprimir posteriormente el JDK de 64bits en el mismo lugar donde está el de 32bits (solo debe quedar una carpeta).
En otras palabras se combina los dos JDK, es por ello que el JDK de 64bits es tan pequeño en tamaño, pues al final hay que combinarlo con el de 32bits. Haciendo eso el "java -version" ya muestra la salida correctamente.
domingo, 2 de febrero de 2014
Acceder directamente como usuario root en Solaris 11
Por defecto, luego de haber instalado Solaris 11 no se puede acceder directamente como usuario root. Esto se debe a que éste se encuentra como rol.
Veremos un mensaje como el siguiente:
Roles can not login directly
Accedamos como un usuario administrador, hacemos su a root e invocamos el comando cat /etc/user_attr para ver los atributos de los usuarios, con lo que veremos que efectivamente root es un rol:
Para arreglar esto siempre como usuario root ejecutamos el comando: rolemod -K type=normal root
Veremos un mensaje como el siguiente:
Roles can not login directly
Accedamos como un usuario administrador, hacemos su a root e invocamos el comando cat /etc/user_attr para ver los atributos de los usuarios, con lo que veremos que efectivamente root es un rol:
Para arreglar esto siempre como usuario root ejecutamos el comando: rolemod -K type=normal root
Con ésto ya podremos iniciar sesión como usuario root.
martes, 31 de diciembre de 2013
Configurar Webutil para Oracle Application Server 10g
A continuación detallo los pasos necesarios para la configuración de la librería Webutil para un servidor de aplicaciones Oracle Application Server 10g (OAS).
- Obtener la versión correcta de Webutil:
- Obtener la versión correcta de Jacob
- Creamos el directorio "webutil"
- Copiamos los siguientes archivos a la ruta %ORACLE_HOME%\forms\webutil
- Copiar el archivo jacob.jar del jacob descargado a la ruta %ORACLE_HOME%\forms\java
- Si hemos aplicado el parche 9593176 o 9282569 o 11710576 no debemos realizar este paso, pues ya el frmwebutil.jar se encuentra en la ruta correcta.
- Firmamos el jacob:
- Verificamos que en la ruta %ORACLE_HOME%\forms\server se encuentre el archivo webutil.cfg, de lo contrario lo copiamos de la instalación del Developer Suite.
- La siguiente variable debe estar definida en el archivo %ORACLE_HOME%\forms\server\default.env
- Los siguientes jars deben ser incluidos a la variable CLASSPATH del archivo %ORACLE_HOME%\forms\server\default.env
- El archivo formsweb.cfg debe contener la siguiente configuración:
- El siguiente directorio virtual debe estar definido en el archivo %ORACLE_HOME%\forms\server\forms.conf:
- Creamos un usuario de base de datos "webutil" y ejecutamos en él el script que se encuentre en el Developer Suite:
- Compilamos la librería webutil.pll para obtener su correspondiente archivo compilado plx y lo movemos a una ruta definida en el FORMS_PATH como %ORACLE_HOME%\forms
Es importante mencionar que la versión de Webutil debe ser igual que la versión de Forms, por ello si tenemos un OAS con versión 10.1.2.3 la versión de Webutil debe ser 10.1.2.3. Es por ello que antes de configurar el Webutil recomiendo que ya se encuentre el servidor parchado a la versión 10.1.2.3 para evitar en un futuro tener que volver a configurar.
En el OAS por defecto el Webutil no viene integrado como un componente, es por ello que debemos obtenerlo de una instalación de "Developer Suit" el cual debe ser la misma versión que nuestro OAS.
Si la versión es 10.1.2.0.2 o 10.1.2.2 debes usar el Jacob 1.8
Si la versión es 10.1.2.3.X debes usar el Jacob 1.10.1
%ORACLE_HOME%\forms\webutil
jacob.dll --> incluidos en el jacob que hayamos descargado según versión requerida.
d2kwut60.dll --> obtenerlo del Developer Suite en la ruta %ORACLE_HOME%\forms\webutil
JNIsharedstubs.dll --> obtenerlo del Developer Suite en la ruta %ORACLE_HOME%\forms\webutil
sign_webutil.bat --> obtenerlo del Developer Suite en la ruta %ORACLE_HOME%\forms\webutil
Copiamos el frmwebutil.jar que se encuentra en la ruta %ORACLE_HOME%\forms\java del Developer Suite a la misma ruta del OAS: %ORACLE_HOME%\forms\java
Desde linea de comando o la terminal hacemos lo siguiente:
- Nos movemos a la ruta: %ORACLE_HOME%\forms\java
- Luego configuramos la variable de ambiente PATH: set PATH=%ORACLE_HOME%\jdk\bin;%PATH%
- Ejecutamos el siguiente comando:
%ORACLE_HOME%\forms\webutil\sign_webutil.bat %ORACLE_HOME%\forms\java\jacob.jar
- Nos movemos a la ruta: %ORACLE_HOME%\forms\java
- Luego configuramos la variable de ambiente PATH: set PATH=%ORACLE_HOME%\jdk\bin;%PATH%
- Ejecutamos el siguiente comando:
%ORACLE_HOME%\forms\webutil\sign_webutil.bat %ORACLE_HOME%\forms\java\jacob.jar
WEBUTIL_CONFIG=<ORACLE_HOME>\forms\server\webutil.cfg
%ORACLE_HOME%\forms\java\frmall.jar;%ORACLE_HOME%\forms\java\frmwebutil.jar;%ORACLE_HOME%\forms\java\jacob.jar;%ORACLE_HOME%\jdk\jre\lib\rt.jar
[webutil]
WebUtilArchive=frmwebutil.jar,jacob.jar
WebUtilLogging=off
WebUtilLoggingDetail=normal
WebUtilErrorMode=Alert
WebUtilDispatchMonitorInterval=5
WebUtilTrustInternal=true
WebUtilMaxTransferSize=16384
baseHTMLjinitiator=webutiljpi.htm
baseHTMLjpi=webutiljpi.htm
archive=frmall.jar
lookAndFeel=oracle
AliasMatch
^/forms/webutil/(..*) "%ORACLE_HOME%/forms/webutil/$1"
%ORACLE_HOME%\forms\create_webutil_db.sql
Por ultimo ejecutamos la forma desde el navegador para verificar que todo este bien:
http://host:port/forms/frmservlet?config=webutil&form=webutil_demo&userid=webutil/webutil@db
miércoles, 25 de diciembre de 2013
java.lang.UnsatisfiedLinkError: Can't find library pass (libpass.so or .so) in sun.boot.library.path or java.library.path
Al tratar de cambiar el Hostname o IP de nuestro servidor a través del comando chgiphost.sh puede aparecer el siguiente error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't find library pass (libpass.so or .so) in sun.boot.library.path or java.library.path
sun.boot.library.path=<path_to_oracle_home>/jdk/jre/bin
java.library.path=<path_to_oracle_home>/jdk/bin:<path_to_oracle_home>/jdk/jre/bin/classic:<path_to_oracle_home>/jdk/jre/bin:<path_to_oracle_home>/bin:<path_to_oracle_home>/lib32:<path_to_oracle_home>/chgip/lib:<path_to_oracle_home>/jdk/jre/bin/sovvm:/usr/lib
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2044)
at java.lang.Runtime.loadLibrary0(Runtime.java:824)
at java.lang.System.loadLibrary(System.java:910)
at oracle.chgip.InteractiveInterfaceManager.<clinit>(InteractiveInterfaceManager.java:72)
at oracle.chgip.InterfaceManager.createInterfaceManager(InterfaceManager.java:133)
at oracle.chgip.InterfaceManager.getInterfaceManager(InterfaceManager.java:113)
at oracle.chgip.Session.<init>(Session.java:81)
at oracle.chgip.StartUp.main(StartUp.java:250)
+ exit 1
Éste error es debido a que para el patchset 10.1.2.3 se ha incluido una versión equivocada para el archivo libpass.so, para su solución se deben seguir los siguiente pasos:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't find library pass (libpass.so or .so) in sun.boot.library.path or java.library.path
sun.boot.library.path=<path_to_oracle_home>/jdk/jre/bin
java.library.path=<path_to_oracle_home>/jdk/bin:<path_to_oracle_home>/jdk/jre/bin/classic:<path_to_oracle_home>/jdk/jre/bin:<path_to_oracle_home>/bin:<path_to_oracle_home>/lib32:<path_to_oracle_home>/chgip/lib:<path_to_oracle_home>/jdk/jre/bin/sovvm:/usr/lib
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2044)
at java.lang.Runtime.loadLibrary0(Runtime.java:824)
at java.lang.System.loadLibrary(System.java:910)
at oracle.chgip.InteractiveInterfaceManager.<clinit>(InteractiveInterfaceManager.java:72)
at oracle.chgip.InterfaceManager.createInterfaceManager(InterfaceManager.java:133)
at oracle.chgip.InterfaceManager.getInterfaceManager(InterfaceManager.java:113)
at oracle.chgip.Session.<init>(Session.java:81)
at oracle.chgip.StartUp.main(StartUp.java:250)
+ exit 1
Éste error es debido a que para el patchset 10.1.2.3 se ha incluido una versión equivocada para el archivo libpass.so, para su solución se deben seguir los siguiente pasos:
- Si el sistema afectado es Linux bajar el parche 7000666, si es AIX bajar el parche número 7685739.
- Instalamos el parche con OPatch
- Ejecutamos de nuevo el comando chgiphost
librwu.so: libXm.so.2: cannot open shared object file: No such file or directory
Al tratar de iniciar los servicios de Forms/Reports para AS10gR2 en Red Hat EL 5 nos encontramos con el siguiente error en el log de opmn:
java.lang.UnsatisfiedLinkError:
$ORACLE_HOME/lib/librwu.so: libXm.so.2: cannot open shared object file: No such
file or directory
Ésto es debido a que la versión del paquete openmotif no es la correcta, para ello podemos bajar el openmotif correcto para ésta versión del siguiente enlace:
Para instalarlo:
# rpm -ivh openmotif21-2.1.30-11.EL5.i386.rpm
Con este cambio se iniciaran sin problema el servicio.
sábado, 21 de diciembre de 2013
Certificación de Oracle Forms / Reports Builder en Windows 8
Bueno, ¿cuáles son las versiones certificadas/soportadas de Oracle Forms/Reports Builder 11g para instalar sobre Windows 8 (32/64 bits)?
Hasta la fecha, no hay una versión que se encuentre certificada/soportada de Forms/Reports Builder sobre Windows 8, como lo hace constar la nota número 1578459.1 del sitio de soporte de Oracle, por lo que se insta a que todo el desarrollo se realice sobre sistemas operativos certificados como Windows 7.
En el siguiente enlace encontrarán la matriz de certificación para mayor información:
Matriz FMW 11g
Hasta la fecha, no hay una versión que se encuentre certificada/soportada de Forms/Reports Builder sobre Windows 8, como lo hace constar la nota número 1578459.1 del sitio de soporte de Oracle, por lo que se insta a que todo el desarrollo se realice sobre sistemas operativos certificados como Windows 7.
En el siguiente enlace encontrarán la matriz de certificación para mayor información:
Matriz FMW 11g
sábado, 16 de noviembre de 2013
Instalación de JDK 1.6
Para comenzar con la guía de instalación de Forms 11gR2 para Desarrollo, es necesario instalar el JDK que será utilizado por nuestro Servidor de Administración (Admin Server) que contendrá los servicios de Forms y Reports.
Nota: por ser versión de Release 2 no se muestran Servidores Administrados (Managed Servers) para los servicios de Forms y Reports como si se muestran para una versión de Release 1.
Para comenzar ejecutamos el instalador del JDK 1.6:
Se nos mostrara la ventana de Bienvenida, le damos al boton Next:
Ahora seleccionamos la ruta donde lo vamos instalar y luego Next, con lo que comenzara la isntalación:
Nota: por ser versión de Release 2 no se muestran Servidores Administrados (Managed Servers) para los servicios de Forms y Reports como si se muestran para una versión de Release 1.
Para comenzar ejecutamos el instalador del JDK 1.6:
Se nos mostrara la ventana de Bienvenida, le damos al boton Next:
Ahora seleccionamos la ruta donde lo vamos instalar y luego Next, con lo que comenzara la isntalación:
Después se nos pregunta donde queremos instalar el JRE, seleccionamos la ruta y le damos al botón Next,con esto comenzara la instalación del JRE:
Por ultimo veremos la ventana de confirmación que se instalo correctamente el JDK:
Para cuando se realice la instalación del Weblogic nos haremos referencia a éste JDK instalado.
miércoles, 6 de noviembre de 2013
No existe paquete pdksh-5.2.14 al Instalar BD Oracle 11.2.0.3 en RHEL 6
En la validación de prerequisitos de la instalación de base de datos Oracle versión 11.2.0.3 se muestra que no se encuentra el paquete pdksh-5.2.14 en el sistema Red Hat EL 6:
Para evitar esa advertencia debemos hacer lo siguiente:
En donde tenemos el instalador debemos ir a la siguiente ruta:
<path>/database/stage/cvu/cv/admin
Estando ahí le sacamos un backup al archivO cvu_config
Editamos el archivo y cambiamos de:
CV_ASSUME_DISTID=OEL4
A lo siguiente:
CV_ASSUME_DISTID=OEL6
Ahora guardamos el archivo y volvemos iniciar el instalador que se encuentra en la ruta:
<path>/database
Para evitar esa advertencia debemos hacer lo siguiente:
En donde tenemos el instalador debemos ir a la siguiente ruta:
<path>/database/stage/cvu/cv/admin
Estando ahí le sacamos un backup al archivO cvu_config
Editamos el archivo y cambiamos de:
CV_ASSUME_DISTID=OEL4
A lo siguiente:
Ahora guardamos el archivo y volvemos iniciar el instalador que se encuentra en la ruta:
<path>/database
./runInstaller
Con éste cambio ya no veremos el mensaje de que el paquete no existe.
Con éste cambio ya no veremos el mensaje de que el paquete no existe.
Suscribirse a:
Entradas (Atom)









