I have an oc4j installation bereft of any release notes or version documentation. In the absence of such documents, how do I know for sure, which version of oc4j I am using?
Check Server header in HTTP headers. For example with wget or curl;
wget -S <url-to-server>
curl -I <url-to-server>
or with browser, which can show HTTP headers.
There should be a header something like
Server: Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server
If you simply enter the URL of the server (like http://yourserver:yourport), you will get a welcome page stating the version.
In my case, http://myserver:7777 shows "Welcome to Oracle Application Server 10g (10.1.3.1.0)". If you don't know the port, try 7777, 7778 and 8888.
If you know where the Oracle software is installed, go to the ORACLE_HOME/install directory and look in the readme.txt file. This will start "The installation of Oracle Application Server xx was successful", where xx is the version. If you don't know the location of the software, you could search your file system for readme.txt files - one of them is likely to document your OC4J installation.
If you have access to the OC4J JAR file, you can do:
java -jar oc4j.jar -version
You could display the OC4J-related system properties. We embed the following scriptlets into a JSP page:
<%= System.getProperty( "oracle.j2ee.container.name" ) %>
and
<%= application.getAttribute( "oracle.jsp.versionNumber" ) %>
Sample output:
Oracle J2EE Container: Oracle Containers for J2EE 10g (10.1.3.3.0)
Oracle JSP Version: Oracle Containers for J2EE 10g (10.1.3.1.0)
Some of the methods mentioned here will not work for an Oracle Application Server and they may not be supported going forward. Also, readme.txt or other files may not be updated when a patch is applied.
Recommended way is to use Oracle's official OPatch utility like this.
OPatch]$ ./opatch lsinventory -invPtrLoc ../oraInst.loc |grep "Oracle Application Server"
Oracle Application Server PatchSet 10.1.3.4.0
Ensure that the environment variable ORALCE_HOME is set correctly and -invPtrLoc pointing to the right inventory location.
Please note that this will only work with a full installation of Oracle Application Server. It will not work for a standalone development OC4J.