Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps

Thursday, April 29, 2010

Open docx, xlsx, pptx formats in MS Office 2000 - 2003

How to open docx, xlsx, pptx files in MS Office 2000 ? This was a question posed by Anand. A few google search revealed Microsoft Office Compatibility Pack.

By installing the Compatibility Pack in addition to Microsoft Office 2000, Office XP, or Office 2003, you will be able to open, edit, and save files using the file formats in newer versions of Word, Excel, and PowerPoint . The Compatibility Pack can also be used in conjunction with the Microsoft Office Word Viewer 2003, Excel Viewer 2003, and PowerPoint Viewer 2003 to view files saved in these new formats.

Wednesday, April 21, 2010

java.security.cert.CertificateException: sun.security.pkcs.ParsingException: ObjectIdentifier() -- data isn't an object ID (tag = 48)

Sameer had reported this error whenever he tried to use any web application which used Sun JRE:

Java Plug-in 1.6.0_19
Using JRE version 1.6.0_19-b04 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\MyUser
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to
----------------------------------------------------


java.security.cert.CertificateException: sun.security.pkcs.ParsingException: ObjectIdentifier() -- data isn't an object ID (tag = 48)
at sun.security.provider.X509Factory.engineGenerateCertificates(Unknown Source)
at java.security.cert.CertificateFactory.generateCertificates(Unknown Source)
at com.sun.deploy.security.WIExplorerCertStore.generateCertificate(Unknown Source)
at com.sun.deploy.security.WIExplorerCertStore.loadCertificates(Native Method)
at com.sun.deploy.security.WIExplorerCertStore.load(Unknown Source)
at com.sun.deploy.security.WIExplorerCertStore.load(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$700(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: sun.security.pkcs.ParsingException: ObjectIdentifier() -- data isn't an object ID (tag = 48)
at sun.security.pkcs.PKCS7.parse(Unknown Source)
at sun.security.pkcs.PKCS7.(Unknown Source)
at sun.security.provider.X509Factory.parseX509orPKCS7Cert(Unknown Source)
... 33 more
Caused by: java.io.IOException: ObjectIdentifier() -- data isn't an object ID (tag = 48)
at sun.security.util.ObjectIdentifier.(Unknown Source)
at sun.security.util.DerInputStream.getOID(Unknown Source)
at sun.security.pkcs.ContentInfo.(Unknown Source)
at sun.security.pkcs.PKCS7.parse(Unknown Source)
... 36 more
java.lang.reflect.InvocationTargetException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.SecurityException: trusted loader attempted to load sandboxed resource from http://ovoupmom.admin.net.ge.com:8180/OVPM/client/tsc.jar
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1400(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception: java.lang.reflect.InvocationTargetException

Today I finally nailed it. At first we thought it was due to IE8. So we reinstalled IE8. The error remained. Then I saw that Sameer had Sun JRE 1.6.0_19. We already know of issues of E-Business Suite with versions 18, 19 and 20. So I got that uninstalled. We kept the version 1.6.0_15. The error did not appear again and the applications using Sun JRE started working again.

What really happens when you enable maintenance mode before applying patches

Maintenance Mode was introduced in AD.I patchset. Here's what the readme of AD.I (Article ID: 233044.1):

Maintenance mode provides a clear separation between normal runtime operation of Oracle Applications and system downtime for maintenance. Enabling the maintenance mode feature shuts down the Workflow Business Events System and sets up function security so that no Oracle Applications functions are available to users. Used only during AutoPatch sessions, maintenance mode ensures optimal performance and reduces downtime when applying a patch. For more information, refer to Preparing your System for Patching in Oracle Applications Maintenance Utilities.

You may also refer to Article ID 291901.1, which has more information about Maintenance Mode.

Interestingly R12 has some additional steps to enable maintenance mode. Plese refer to Article ID 558274.1: Instructions for configuring maintenance mode for R12.

Wednesday, April 7, 2010

Replacement for ftp to updates.oracle.com

Ever since Metalink was decommissioned, Oracle also decommissioned the ftp site updates.oracle.com. Since then many DBAs have asked me how to download patches directly on the server.

Oracle has mentioned in Article ID 468460.1:

It is possible to download Oracle software directly to the local machine.

----->It is possible only by using a web browser (like Firefox or Internet Explorer).

----->It is not possible to use FTP, because Oracle does not provide software via FTP.

----->It is not possible to use wget, because downloading software requires a browser that accepts cookies.

In summary, downloading Oracle software directly to the local machine is possible only through a web browser.

I had devised a way to use wget which used to work fine with old metalink but doesn’t work properly with the new My Oracle Support.

You can use Firefox or Opera installed on your Unix server to download patches. Here are the steps to use Opera to download patches.

Set DISPLAY to your vnc port

opera &

Click on Tools > Preferences > Advanced > Network > Proxy Servers button

Enter the values for your proxy server.

I have found that Opera is unable to launch flash on Solaris 10, even after installing flash player on unix. So here's how you do it without flash:

Go to site: http://supporthtml.oracle.com

Login with your “My Oracle Support” username and password.

Once you login, type this in the address bar:

https://updates.oracle.com/Orion/SimpleSearch/get_form?email=vikramdas@justanexample.com&userid=O-vikramdas@justanexample.com&

Replace vikramdas@justanexample.com with your email/My Oracle Support userid

You’ll get the patch search page from where you can search and download patches.

Thursday, March 18, 2010

JSP Error Exception: java.sql.SQLException: Closed Connection

Manoj called me today about this issue. After clone, when application username (SYSADMIN) and password was keyed in by him and he reached the URL

http://justanexample.com/OA_HTML/fndvald.jsp

The following error was shown:

JSP Error

Exception:

java.sql.SQLException: Closed Connection

jserv.log showed:

java.sql.SQLException: Closed Connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1459)
at _oa__html._fndvald._jspService(_fndvald.java:121)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
at org.apache.jserv.JServConnection.run(JServConnection.java:294)
at java.lang.Thread.run(Thread.java:619)

I checked the Database alert log and found that everytime we tried to log in the following error was logged in the DB alert log:

Errors in file /justanexample/dbdata/admin/udump/justanexample_ora_27477.trc:
ORA-07445: exception encountered: core dump [00000001025F3090] [SIGSEGV] [Address not mapped to object] [0x100C100010000] [] []

The trace file showed more details:

ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [00000001025F3090] [SIGSEGV] [Address not mapped to object] [0x100C100010000] [] []
Current SQL statement for this session:
alter session set max_dump_file_size=unlimited
----- PL/SQL Call Stack -----
object line object
handle number name
441590590 428 package body APPS.FND_TRACE
441e4f050 350 package body APPS.FND_AOLJ_UTIL
441e4f050 236 package body APPS.FND_AOLJ_UTIL
43e89dd08 1 anonymous block

Manoj bounced the database once and these errors stopped coming in alert log. We were able to login to the applications without issues.

Thursday, March 4, 2010

'Io exception: NL Exception was generated' running IRCA

Shahed pinged me about this during SOA installation:

$ sh irca.sh
Integration Repository Creation Assistant (IRCA) 10.1.3.1.0
(c) Copyright 2006 Oracle Corporation. All rights reserved.

Enter database "host port serviceName" [localhost 1521 orcl]: justanexample 1521 soa11g
Enter sys password:
Running IRCA for all product(s):
connection="justanexample 1521 soa11g", , orabpelUser=ORABPEL, esbUser=ORAESB, orawsmUser=ORAWSM

ERROR: Failed to establish database connection due to the following error:
ORA-01017: invalid username/password; logon denied

Please check your connection parameters and try again.

I tried it and got different result:

$ sh irca.sh
Integration Repository Creation Assistant (IRCA) 10.1.3.1.0
(c) Copyright 2006 Oracle Corporation. All rights reserved.

Enter database "host port serviceName" [localhost 1521 orcl]: "justanexample 1521 soa11g"
Enter sys password:
Running IRCA for all product(s):
connection=""justanexample 1521 soa11g"", , orabpelUser=ORABPEL, esbUser=ORAESB, orawsmUser=ORAWSM

ERROR: Failed to establish database connection due to the following error:
Io exception: NL Exception was generated
Please check your connection parameters and try again.

A search on My Oracle Support showed up Article [ID 580448.1]

Cause

A valid connection 'as sysdba' could not be established to the Oracle RDBMS instance.

Testing a connection from a JDeveloper client to the target RDBMS shows that a SYSTEM schema can
create a connection, but SYS is also unable to create a regular rdbms connection. Therefore
JDeveloper is having the same problem making a 'SYS as sysdba' connection over jdbc thin.

Solution

Create a password file and ensure that your RDBMS allows remote connections as sysdba.

Issue was resolved after creating passwordfile by running orapwd :
Usage: orapwd file= password= entries= force= ignorecase= nosysdba=