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

Monday, June 30, 2008

Database scripts for estimating growth

One of the simplest scripts is based on addition of datafiles and is described in metalink note 135294.1

=======
Script:
=======

select to_char(creation_time, 'RRRR Month') "Month",
sum(bytes)/1024/1024
"Growth in Meg"
from sys.v_$datafile
where creation_time > SYSDATE-365
group by to_char(creation_time, 'RRRR
Month');


==============================
Sample Output from the script:
==============================

Month
Growth in
-------------------------------- ----------
2000 December 1068.625
2001 February 70

Using Big IP hardware load balancers with 11i and R12

All our Production instances are load balanced on web tier. We have multiple app tiers for each instance on which Apache and forms is running. The user point of entry is the load balancer URL which further redirects the traffic to the individual app servers. Oracle uses BigIP load balancer on their internal Global Single Instance also. Here are some very good metalink notes which give you a good overview:


380489.1 Using Load-Balancers with Oracle E-Business Suite Release 12 (Relevant for 11i too)
217368.1 Advanced Configurations and Topologies for Enterprise Deployments of E-Biz Suite 11i
601694.1 How To Check Session Persistence On a BigIP F5 Load Balancer
456906.1 11i/R12 How to Debug "Transaction Context Is Lost"
387306.1 Random error Your login session has expired when using Load Balancing

When a hardware load balancer is used, the context file variables which need to be changed are:

s_webentryurlprotocol http or https
s_webentryhost load balancer hostname
s_webentrydomain load balancer domain name
s_active_webport load balancer port
s_login_page load balancer url
s_external_url load balancer url

Load balancer settings:

persistence timeout = 1 day
persistence type = cookie based persistence

Friday, June 27, 2008

Does Autoconfig modify init.ora ?

Autoconfig or adconfig does not modify the database initialization parameters. Metalink Note 377398.1 says:

QUESTION 2: Is Autoconfig modifying init.ora?
ANSWER 2: No. Autoconfig is not modifying the init.ora file. Autoconfig will generate a new init.ora just in the case it is not finding the init.ora in the expected location. So all the changes in init.ora shoud be made by the DBA.

Thursday, June 26, 2008

FND_STATS and DBMS_STATS

Automatic collection of statistics is a new feature introduced from 10g. However, this should be disabled in case of Apps instances as FND_STATS is used to collect statistics instead of DBMS_STATS. This is stated in Metalink Note 368252.1:

6) 10g has a new feature that gather statistics automatically, using the GATHER_STATS_JOB. Can the automatic statistics gathering job be used in 10G databases for Apps 11i?

No. The GATHER_STATS_JOB job collects stats using DBMS_STATS and should be disabled for Apps 11i.

If it is currently running, the automatic statistics gathering job should be disabled by running the following command:
dbms_scheduler.disable(''GATHER_STATS_JOB'');

Note: Normally, it is not necessary to disable this job, because this should be done by the script adstats.sql, which runs during the DB upgrade process.

Metalink Note :556121.1 says that "ORA-08103: object no longer exists" would occur if the GATHER_STATS_JOB is left enabled in an 11i/10g instance.

I went through the code inside FND_STATS and DBMS_STATS. DBMS_STATS code is encrypted and can't be read. FND_STATS code is readable. In many metalink notes, FND_STATS is described as a wrapper over DBMS_STATS package.

I gave this query to cross check:

1 select line,text
2 from dba_source
3 where text like '%DBMS_STATS%'
4* and name='FND_STATS'
SQL> /
249
DBMS_STATS.CREATE_STAT_TABLE(fnd_statown,fnd_stattab);

267
DBMS_STATS.CREATE_STAT_TABLE(schemaname,tabname,tblspcname);

359
DBMS_STATS.EXPORT_SCHEMA_STATS(schemaname, fnd_stattab, statid,

363
DBMS_STATS.EXPORT_SCHEMA_STATS(c_schema.sname, fnd_stattab, statid,

429
DBMS_STATS.EXPORT_TABLE_STATS(schemaname,

449
DBMS_STATS.IMPORT_SCHEMA_STATS(schemaname, fnd_stattab, statid,

453
DBMS_STATS.IMPORT_SCHEMA_STATS(c_schema.sname, fnd_stattab, statid,

517
DBMS_STATS.IMPORT_TABLE_STATS(ownname,tabname,partname,

532
DBMS_STATS.IMPORT_INDEX_STATS(ownname,indname,partname,fnd_stattab,

548
DBMS_STATS.IMPORT_COLUMN_STATS(ownname, tabname, colname, partname,

587
DBMS_STATS.IMPORT_COLUMN_STATS(c_rec.ownname,c_rec.tabname,

640
DBMS_STATS.GATHER_TABLE_STATS( ownname => ownname ,

655
l_tmp_str:= 'BEGIN DBMS_STATS.GATHER_TABLE_STATS( ownname => :ownname ,'||

712
DBMS_STATS.GATHER_INDEX_STATS( ownname => ownname ,

718
l_tmp_str:= 'BEGIN DBMS_STATS.GATHER_INDEX_STATS( ownname => :ownname ,'||

1030
EXECUTE IMMEDIATE 'BEGIN DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO; END;' ;

1226
dlog('Please use DBMS_STATS package to gather stats on SYS objects.');

1294
DBMS_STATS.EXPORT_INDEX_STATS( ownname, indname, null,

1465
DBMS_STATS.EXPORT_TABLE_STATS(ownname, tabname, partname,

1544
-- Due to the limitations of in DBMS_STATS in 8i we need to call

1707
DBMS_STATS.EXPORT_COLUMN_STATS(list_ownname(i),

2048
DBMS_STATS.EXPORT_COLUMN_STATS ( ownname,

2099
DBMS_STATS.SET_TABLE_STATS(ownname,

2143
DBMS_STATS.SET_INDEX_STATS(ownname,


24 rows selected.


As per eTRM:

APPS.FND_STATS references the following:

SchemaAPPLSYS
TableFND_HISTOGRAM_COLS
TableFND_ORACLE_USERID
TableFND_PRODUCT_INSTALLATIONS
TableFND_STATS_HIST
SequenceFND_STATS_HIST_S
SchemaAPPS
PL/SQL PackageFND_FILE - show dependent code
PL/SQL PackageFND_GLOBAL - show dependent code
SynonymFND_HISTOGRAM_COLS
PL/SQL PackageFND_INSTALLATION - show dependent code
SynonymFND_ORACLE_USERID
SynonymFND_PRODUCT_INSTALLATIONS
PL/SQL PackageFND_STATS - show dependent code
SynonymFND_STATS_HIST
SynonymFND_STATS_HIST_S
SchemaPUBLIC
SynonymDBA_HISTOGRAMS
SynonymDBA_INDEXES
SynonymDBA_IND_COLUMNS
SynonymDBA_TABLES
SynonymDBA_TAB_COLUMNS
SynonymDBA_TAB_PARTITIONS
SynonymDBMS_OUTPUT
SynonymDBMS_SPACE
SynonymDBMS_STATS
SynonymDUAL
SynonymPLITBLM
SynonymV$INSTANCE
SynonymV$PARAMETER
SchemaSYS
ViewDBA_INDEXES
ViewDBA_IND_COLUMNS
ViewDBA_TABLES
ViewDBA_TAB_COLUMNS
ViewDBA_TAB_HISTOGRAMS
ViewDBA_TAB_MODIFICATIONS
ViewDBA_TAB_PARTITIONS
PL/SQL PackageDBMS_OUTPUT - show dependent code
PL/SQL PackageDBMS_SPACE - show dependent code
PL/SQL PackageDBMS_STANDARD - show dependent code
PL/SQL PackageDBMS_STATS - show dependent code
TableDUAL
PL/SQL PackagePLITBLM - show dependent code
PL/SQL PackageSTANDARD - show dependent code
ViewV_$INSTANCE
ViewV_$PARAMETER
Some more details about FND_STATS are given in Metalink Note 419728.1 which describes 3 ways of collecting statistics in 11i: concurrent process, temp tables and manually.

FND_STATS also collects Histograms automatically which is not done by DBMS_STATS. Metalink Note 429002.1 has more details:

Goal

How to collect histograms in Apps Ebusiness Suite using FND_STATS

Solution

Histograms are useful when a column has skewed data. The CBO (Cost Based Optimizer) may use that information when trying to find the best plan to retrieve the requested data.
If no histograms are present, the CBO assumes an even distribution of data. Histograms tell the CBO when data is not evenly distributed, and can help the CBO to estimate the number of rows returned from a table join (called "cardinality"). Having histograms on skewed column may aid the optimizer in making a proper decision.

FND_STATS collects histograms information if a column is listed in FND_HOSTOGRAM_COLS.

To create histogram on columns using FND_STATS you can use the procedure FND_STATS.LOAD_HISTOGRAM_COLS, like in the example:

1.sqlplus apps/
set lines 200;
set pagesize 35;
set trim on;
set trims on;
alter session set nls_date_format = 'MON-DD-YYYY HH24:MI:SS';
alter session set timed_statistics = true;
set feedback on;
select to_char(sysdate) time from dual;

2. After finding which column should have a histogram, use the procedure 'load_histogram_cols' to update the table 'fnd_histograms_cols, like:

execute fnd_stats.load_histogram_cols(action => 'INSERT', appl_id => '', tabname => '', colname => '', hsize => '');

Example:

exec fnd_stats.load_histogram_cols(action => 'INSERT', appl_id => 274, tabname => 'FEM_NAT_ACCTS_HIER', colname => 'LAST_UPDATED_BY', hsize => '100');


4. Check that the data was inserted in fnd_histogram_cols:

Select column_name, hsize from applsys.fnd_histogram_cols where table_name =
'FEM_NAT_ACCTS_HIER';

5. Check the current data :

select * from dba_tab_histograms where table_name = 'FEM_NAT_ACCTS_HIER' and owner = 'FEM';


6. Gather new statistics

exec fnd_stats.gather_table_stats('FEM','FEM_NAT_ACCTS_HIER');


7. Check the new data collected:

select * from dba_tables where table_name = 'FEM_NAT_ACCTS_HIER' and owner = 'FEM';
select * from dba_tab_histograms where table_name = 'FEM_NAT_ACCTS_HIER' and owner = 'FEM';
select * from dba_tab_columns where table_name = 'FEM_NAT_ACCTS_HIER' and owner = 'FEM';


Notes :

1) Manually inserting into FND_HOSTOGRAM_COLS is not supported in Oracle applications.

2) Once a column was added to FND_HISTOGRAM_COLS, there is no way to distinguish between seeded histograms and the custom created histograms (make sure to take note of that).

3) Make sure that you really need histogram in a particular column. If you added a histogram and it did not help in the problem that you were investigating, drop it.

References

Note 122371.1 - How To Gather Statistics For Oracle Applications 11i

However FND_STATS can not be used to gather statistics for SYS schema:

1 select line,text
2 from dba_source
3 WHERE TEXT LIKE '%SYS%'
4* AND NAME='FND_STATS'
SQL> /

LINE
TEXT
--------------------------------------------------------------------------------
16 fnd_statown varchar2(30) := 'APPLSYS'; -- Owner of the backup table
939 if (upper(schemaname) <> 'SYS') then
1224 else -- schema is SYS, print message in log.
1225 dlog('Gathering statistics on the SYS schema using FND_STATS is not allowed.');
1226 dlog('Please use DBMS_STATS package to gather stats on SYS bjects.');
1227 end if; -- end of schema<> SYS

6 rows selected.

So, you should run this command once daily on your instance to be current on SYS statistics as collection of SYS statistics is mandatory in 10g:

execute dbms_stats.gather_dictionary_stats();

I have asked Oracle in an SR about how often this should be run. Will update the post once I learn.

Wednesday, June 25, 2008

The 13th OATM tablespace APPS_TS_TOOLS

APPS_TS_TOOLS is a new tablespace added in OATM for 11i. If you search for APPS_TS_TOOLS in Metalink, you'll find references to it in all ATG_PF.H RUPs after RUP4:

Customers who have migrated to the new Oracle Applications Tablespace Model and have applied Oracle Applications Technology Family Pack 11i.ATG_PF.H Rollup 4 may encounter the following error when running the AD Splicer to introduce a new product schema:

alter user xxx quota unlimited on APPS_TS_TOOLS

AD Splicer error:
The following ORACLE error:

ORA-00959: tablespace 'APPS_TS_TOOLS' does not exist

To correct this error, create the APPS_TS_TOOLS tablespace, either manually through SQL*Plus or by invoking the Tablespace Migration Utility menu. For more information, see: Understanding the Tablespace Migration Utility Main Menu, Oracle Applications System Administrator's Guide - Configuration.

The default initial size for the APPS_TS_TOOLS tablespace is 500 MB, with auto segment management enabled. If you create the APPS_TS_TOOLS tablespace through SQL*Plus, outside of the OATM utility, you can use the following statement:

CREATE TABLESPACE APPS_TS_TOOLS DATAFILE
'datafile_name.dbf' SIZE 500M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

You can override these storage recommendations with storage parameters to suit the expected size required for objects that will be in the Tools tablespace at your site.

APPS_TS_TOOLS is used to store objects from several tools components like SSO , OID , LDAP, Portal , Discoverer, etc.

This tablespace must exist before using the Release 12 patching tools like adpatch.

Originally there were 12 tablespaces in OATM as per OATM FAQ:

How many tablespaces are introduced in OATM? ?

OATM contains twelve consolidated tablespaces for all products, including temporary tablespace, system tablespace, and undo segments:

Tablespace Type

Tablespace Name

Contents

Transaction Tables

APPS_TS_TX_DATA

Tables that contain transaction data.

Transaction Indexes

APPS_TS_TX_IDX

Indexes on transaction tables.

Reference

APPS_TS_SEED

Reference and set-up data and indexes.

Interface

APPS_TS_INTERFACE

Interface and temporary data and indexes.

Summary

APPS_TS_SUMMARY

Summary management objects, such as materialized views, and other objects that record summary information.

Nologging

APPS_TS_NOLOGGING

Materialized views not used for summary management and temporary objects.

Advanced Queuing/AQ

APPS_TS_QUEUES

Advanced Queuing and dependent tables and indexes.

Media

APPS_TS_MEDIA

Multimedia objects, such as text, video, sound, graphics, and spatial data.

Archive

APPS_TS_ARCHIVE

Archive-purge-related objects

Undo

UNDO

Automatic Undo Management (AUM) tablespace. UNDO segments are identical to ROLLBACK segments when AUM is enabled.

Temp

TEMP

Temporary tablespace for global temporary table, sorts, and hash joins.

System

SYSTEM

System tablespace.

How are objects classified in OATM?

OATM relies on specific explicit and implicit classification rules. These rules are deternined based on storage considerations for the object type in question. Quite obviously, Tablespace classifications are not relevant for code objects and other objects without storage implications such as View, Policies, Context, triggers, etc. Objects like tables are explicitly classified based on their I/0 characteristics.

What object typesare implicitly classified in OATM?

OATM classifes the following object types:

Object type

Tablespace Type

Index Organized Tables

Transaction_tables

Global Temporary Tables

The database automatically always creates these objects in the TEMP tablespace.

Advanced Queuing tables

Advanced Queuing/AQ

Materialized View

Summary

Materialized View Logs

Transaction_tables

Domain Indexes

Transaction_indexes

Indexes

With the exception of indexes on Tables classified as 'Transaction_Tables', all indexes will share the same tablespace type as the base object (table/mv).

Tuesday, June 24, 2008

Verifying existance of the table: ADX_PRE_AUTOCONFIG

Recently I came across this error at the end of an adconfig session in $APPL_TOP/admin/$CONTEXT_NAME/log/timestamp/adconfig.log:

ERROR
Verifying existance of the table: ADX_PRE_AUTOCONFIG
Table does not exist. Exiting RestoreProfile...

-------------------ADX Database Utility Finished---------------

Verifying connection to the Database : Established
Restore Profile Feature : Disabled

No Restore Profile file created.

This is due to unpublished Bug 4604710. They are trying to test a new feature for restoring profiles which requires ADX_PRE_AUTOCONFIG table. However the warning message looks like an error. This was fixed in ADX.F (Patch 3453499) which has been superseded by TXK Rollup S (patch 6372396). So if you apply the latest TXK Rollup patch the message changes to :


Restore Profile utility ran successfully
===========================================================================

AutoConfig is exiting with status 0

ORA-04065: not executed, altered or dropped stored procedure "PUBLIC.PLITBLM"

There was one more offshoot of the problem described in my previous post. After applying patches, when autoconfig was running it gave these errors:


Uploading Metadata file $AD_TOP/admin/template/adctxinf.tmp
Metadata file $AD_TOP/admin/template/adctxinf.tmp upload failed.
Check log file created by FNDCPUCF program.
ERRORCODE = 1 ERRORCODE_END
.end std out.
Oracle error -6508: ORA-04065: not executed, altered or dropped stored procedure
"PUBLIC.PLITBLM"
ORA-06508: PL/SQL: could not find program unit being called: "PUBLIC.PLITBLM"
has been detected in FND_GLOBAL.INITIALIZE.
Log filename : Lxxxxxx.log

OR jtfictx.sh started at ....

SQL*Plus: Release 8.0.6.0.0 - Production on ...

(c) Copyright 1999 Oracle Corporation. All rights reserved.

Connected.
DECLARE
*
ERROR at line 1:
ORA-04068: existing state of packages has been discarded
ORA-04065: not executed, altered or dropped stored procedure "PUBLIC.PLITBLM"
ORA-06508: PL/SQL: could not find program unit being called: "PUBLIC.PLITBLM"
ORA-06512: at "CTXSYS.DRVUTL", line 51
ORA-06512: at "CTXSYS.CTX_DDL", line 53
ORA-06512: at line 60


Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
jtfictx.sh exiting with status 1
ERRORCODE = 1 ERRORCODE_END
.end std out.

.end err out.

This error is well described in metalink notes
370137.1
392470.1
469792.1

However it is Metalink Note 443706.1 which tells us that this is a bug and we need to apply a DB patch to fix it.

Cause

The issue is related to unpublished Bug 4882839.

The root-cause is a mismatch in the timestamp of depended objects.
In the error situation on PLITBLM, the following query will reported rows of objects which
have a mismatch.

SQL> select do.obj# d_obj,do.name d_name,
po.obj# p_obj,po.name p_name,
to_char(p_timestamp,'DD-MM-YYYY HH24:MI:SS') p_timestamp,
to_char(po.stime ,'DD-MM-YYYY HH24:MI:SS') stime,
decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X,
do.type#,po.type#
from sys.obj$ do, sys.dependency$ d, sys.obj$ po
where P_OBJ#=po.obj#(+)
and D_OBJ#=do.obj#
and do.status=1 /*dependent is valid*/
and po.status=1 /*parent is valid*/
and po.stime!=p_timestamp /*parent timestamp not match*/
order by 2,1;

Solution

Unpublished Bug 4882839 is fixed in Oracle11g and 10.2.0.4 and a one-off patches are available for 10.2.0.2 and 10.2.0.3

An upgrade is recommended, but the following procedure helped as well :

1. Download the patch for unpublished Bug 4882839
and install it according the README

2. Shutdown and restart the instance and run utlip Running 'utlip' is required for 'activating' the fix.
SQL> shutdown immediate
startup migrate

SQL> select do.obj# d_obj,do.name d_name,
po.obj# p_obj,po.name p_name,
to_char(p_timestamp,'DD-MM-YYYY HH24:MI:SS') p_timestamp,
to_char(po.stime ,'DD-MM-YYYY HH24:MI:SS') stime,
decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X,
do.type#,po.type#
from sys.obj$ do, sys.dependency$ d, sys.obj$ po
where P_OBJ#=po.obj#(+)
and D_OBJ#=do.obj#
and do.status=1 /*dependent is valid*/
and po.status=1 /*parent is valid*/
and po.stime!=p_timestamp /*parent timestamp not match*/
order by 2,1;

No rows is a good value.

After doing the above you need to

sqlplus /nolog
connect / as sysdba
@?/rdbms/admin/utlip.sql (This will invalidate all objects)
alter session set job_queue_processes=24 (or the no. of processors on the server)
@?/rdmbs/admin/utlrp.sql


The cause of this error is

Saturday, June 21, 2008

Invalid ORDSYS types after 10g upgrade

An offshoot of the issue in DBUA which I reported in my previous post was invalid objects in ORDSYS schema. Two objects ORDAUDIO and ORDVIDEO were reported as invalid. Even after running catupgrd.sql manually, these did not get resolved. A search in metalink revealed bug 6830609:

DESCRIPTION
===========

When an initial attempt to upgrade intermedia from 9.2 to 10.2 fails, subsequent upgrade attempts will fail due to the ORDIMAGE, ORDAUDIO and ORDVIDEO types being invalid. Attempts to compile these types individually also fail.

DIAGNOSTIC ANALYSIS
===================

Could not duplicate the initial failure. After Catupgrd.sql completes interMedia is listed as invalid.

After running imchk.sql there are the following invalid interMedia objects.

ORDAUDIO Type Body INVALID

ORDIMAGE Type Body INVALID

ORDVIDEO Type Body INVALID


WORKAROUND
==========

Since intermedia was not used in this case, a drop and rebuild of the objects was sufficient.

Connected as a sysdba user:

drop type ordsys.ordaudio force;

drop type ordsys.ordvideo force;

drop type ordsys.ordimage force;

connect sys as sysdba

alter session set current_schema=ORDSYS;

@$ORACLE_HOME/ord/im/admin/iminst.sql

The above steps resolved those invalids.

Prevent ORA-4030 during DBUA

We got ORA-4030 error during DBUA again. I thought we had solved it in previous runs by setting these parameters in 9i init.ora which is used to create 10g init.ora by DBUA:

sga_max_size = 2G
shared_pool_size = 1G
java_pool_size = 500M

DBUA uses the parameters in the old 9i home to automatically create spfile for Oracle 10g. Unless the above parameters are set to the given values, ORA-04031: unable to allocate n bytes of shared memory error may occur.

ORA-4030 is related to the PGA and not SGA. But our pga_aggregate_target was also set to 1G. So why did the issue occur in the first place ?

The DBAs ran a manual upgrade and faced the very same error again. Suspecting resource issues on the OS, two instances not in use on the shared box were brought down. After this the upgrade went smooth without any errors. It looks like swap was the culprit here. I think it would be wise if we check if the swap available is 2.5 * (sga_max_size+pga_aggregate_target) before begining DBUA on a shared box.

Friday, June 20, 2008

Solaris 10 proc tools

Solaris 10 has some great proc tools which give process information. Good ones among them are pfiles, pldd and pwdx

pfiles reports all the files which are opened by a given pid
pldd lists all the dynamic libraries linked to the process
pwdx gives the directory from which the process is running

I did a pfiles on Apache process:

$ pfiles 13789
13789: /apps11i/erpdev/10GAS/Apache/Apache/bin/httpd -d /apps11i/erpdev/10G
Current rlimit: 1024 file descriptors
0: S_IFIFO mode:0000 dev:350,0 ino:114723 uid:65060 gid:54032 size:301
O_RDWR
1: S_IFREG mode:0640 dev:307,28001 ino:612208 uid:65060 gid:54032 size:386
O_WRONLY|O_APPEND|O_CREAT
/apps11i/erpdev/10GAS/opmn/logs/HTTP_Server~1
2: S_IFIFO mode:0000 dev:350,0 ino:143956 uid:65060 gid:54032 size:0
O_RDWR
3: S_IFREG mode:0600 dev:307,28001 ino:606387 uid:65060 gid:54032 size:1056768
O_RDWR|O_CREAT
/apps11i/erpdev/10GAS/Apache/Apache/logs/mm.19389.mem
4: S_IFREG mode:0600 dev:307,28001 ino:606383 uid:65060 gid:54032 size:0
O_RDWR|O_CREAT
5: S_IFREG mode:0600 dev:307,28001 ino:621827 uid:65060 gid:54032 size:1056768
O_RDWR|O_CREAT
6: S_IFDOOR mode:0444 dev:351,0 ino:58 uid:0 gid:0 size:0
O_RDONLY|O_LARGEFILE FD_CLOEXEC door to nscd[421]
/var/run/name_service_door
7: S_IFIFO mode:0000 dev:350,0 ino:143956 uid:65060 gid:54032 size:0
O_RDWR
8: S_IFCHR mode:0666 dev:342,0 ino:47185924 uid:0 gid:3 rdev:90,0
O_RDONLY
/devices/pseudo/kstat@0:kstat
9: S_IFREG mode:0600 dev:307,28001 ino:621828 uid:65060 gid:54032 size:0
O_RDWR|O_CREAT
/apps11i/erpdev/10GAS/Apache/Apache/logs/mod_oc4j.19389.shm.sem
10: S_IFREG mode:0755 dev:307,28001 ino:621829 uid:65060 gid:54032 size:0
O_RDWR|O_CREAT
11: S_IFREG mode:0600 dev:307,28001 ino:603445 uid:65060 gid:54032 size:17408
O_RDONLY FD_CLOEXEC
/apps11i/erpdev/10GAS/rdbms/mesg/ocius.msb
12: S_IFIFO mode:0000 dev:350,0 ino:143958 uid:65060 gid:54032 size:0
O_RDWR FD_CLOEXEC
13: S_IFIFO mode:0000 dev:350,0 ino:143957 uid:65060 gid:54032 size:0
O_RDWR
14: S_IFIFO mode:0000 dev:350,0 ino:143958 uid:65060 gid:54032 size:0
O_RDWR FD_CLOEXEC
15: S_IFSOCK mode:0666 dev:348,0 ino:5866 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK FD_CLOEXEC
SOCK_STREAM
SO_REUSEADDR,SO_KEEPALIVE,SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.0.192.0)
sockname: AF_INET 127.0.0.1 port: 7201
16: S_IFSOCK mode:0666 dev:348,0 ino:63613 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK FD_CLOEXEC
SOCK_STREAM
SO_REUSEADDR,SO_KEEPALIVE,SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.0.192.0)
sockname: AF_INET 0.0.0.0 port: 7779
17: S_IFCHR mode:0666 dev:342,0 ino:6815752 uid:0 gid:3 rdev:13,2
O_WRONLY|O_APPEND|O_CREAT FD_CLOEXEC
/devices/pseudo/mm@0:null
18: S_IFREG mode:0644 dev:307,28001 ino:621830 uid:65060 gid:54032 size:0
O_WRONLY|O_CREAT|O_EXCL FD_CLOEXEC
19: S_IFREG mode:0600 dev:307,28001 ino:606420 uid:65060 gid:54032 size:2285568
O_RDWR|O_CREAT
/apps11i/erpdev/10GAS/Apache/Apache/logs/dms_metrics.19389.shm.mem
20: S_IFREG mode:0600 dev:307,28001 ino:606421 uid:65060 gid:54032 size:0
O_RDWR|O_CREAT
/apps11i/erpdev/10GAS/Apache/Apache/logs/dms_metrics.19389.shm.sem
21: S_IFREG mode:0600 dev:307,28001 ino:603445 uid:65060 gid:54032 size:17408
O_RDONLY FD_CLOEXEC
/apps11i/erpdev/10GAS/rdbms/mesg/ocius.msb
23: S_IFSOCK mode:0666 dev:348,0 ino:60339 uid:0 gid:0 size:0
O_RDWR
SOCK_STREAM
SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.0.192.0)
sockname: AF_INET 3.56.189.4 port: 45395
peername: AF_INET 3.56.189.4 port: 12501
256: S_IFREG mode:0444 dev:85,0 ino:234504 uid:0 gid:3 size:1616
O_RDONLY|O_LARGEFILE
/etc/inet/hosts

A pldd on the same process gave this result:

applmpd1@tsgsd1007 # pldd 13789
13789: /apps11i/erpdev/10GAS/Apache/Apache/bin/httpd -d /apps11i/erpdev/10G
/apps11i/erpdev/10GAS/lib32/libdms2.so
/lib/libpthread.so.1
/lib/libsocket.so.1
/lib/libnsl.so.1
/lib/libdl.so.1
/lib/libc.so.1
/platform/sun4u-us3/lib/libc_psr.so.1
/lib/libmd5.so.1
/platform/sun4u/lib/libmd5_psr.so.1
/lib/libscf.so.1
/lib/libdoor.so.1
/lib/libuutil.so.1
/lib/libgen.so.1
/lib/libmp.so.2
/lib/libm.so.2
/lib/libresolv.so.2
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_onsint.so
/lib/librt.so.1
/apps11i/erpdev/10GAS/lib32/libons.so
/lib/libkstat.so.1
/lib/libaio.so.1
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_mmap_static.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_vhost_alias.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_env.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_define.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_log_config.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_log_agent.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_log_referer.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_mime_magic.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_mime.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_negotiation.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_status.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_info.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_include.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_autoindex.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_dir.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_cgi.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_asis.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_imap.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_actions.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_speling.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_alias.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_access.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_auth.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_auth_anon.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_auth_dbm.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_digest.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/libproxy.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_cern_meta.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_expires.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_headers.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_usertrack.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_unique_id.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_setenvif.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/libperl.so
/lib/libm.so.1
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_fastcgi.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/libphp4.so
/usr/lib/libsched.so.1
/apps11i/erpdev/10GAS/lib32/libclntsh.so.10.1
/apps11i/erpdev/10GAS/lib32/libnnz10.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_wchandshake.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_oc4j.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_dms.so
/apps11i/erpdev/10GAS/Apache/Apache/libexec/mod_rewrite.so
/apps11i/erpdev/10GAS/Apache/oradav/lib/mod_oradav.so
/apps11i/erpdev/10GAS/Apache/modplsql/bin/modplsql.so

Solaris plimit command

The plimit command tells us what are the resource limits of running processes

For example if I check process id 6161 it shows:

$ plimit -km 6161
6161: oracle (LOCAL=NO)
resource current maximum
time(seconds) unlimited unlimited
file(mbytes) unlimited unlimited
data(mbytes) unlimited unlimited
stack(mbytes) 32 unlimited
coredump(mbytes) unlimited unlimited
nofiles(descriptors) 65536 65536
vmemory(mbytes) unlimited unlimited

Oracle Beehive

I came across Oracle Beehive while searching for something completely different. The term raised my curiosity and I googled for it. This is how Oracle defines it:

Oracle Beehive provides an integrated set of collaboration services built on a single, scalable, open, and enterprise-class collaboration platform. Beehive allows users to access their collaborative information through familiar clients while enabling IT to consolidate collaborative infrastructure and implement people-centric applications with a centrally managed, secure, and compliant environment built on Oracle technology.

The above description is so broad you don't get a feel of what it is. So I went ahead and read their white paper. Here's what I could extract from it:

Beehive provides:
• An integrated collaborative application with Microsoft Windows and Microsoft Office integration
• An integrated user experience accessed through familiar desktop tools
• A unified collaborative platform
• An enterprise-ready infrastructure

That still doesn't give me a feel to what is Beehive. So I read on further. This link tells me that Beehive has:

1. Events and Policies : 400 business events, such as delivering an email to an inbox
2. Workflow: integrated with Oracle BPEL Process Manager
3. Web Services:
4. Standards Support: IMAP and SMTP to access email, WebDAV and JCR to access documents

They have touted Beehive allowing "True Collaboration". This is what they say in the white paper:

True Collaboration is not about individual tools, a wiki, a forum, a central store for data, a portal or even building a complicated social network. True Collaboration goes beyond even building enterprise or group knowledge. True Collaboration is about collaborative knowledge – the knowledge that is a result of teams working together in context.

I still don't have the information an Architect would like to have to understand what exactly is Beehive, but I am reading on. I finally turned to the installation guide. This is where they have the kind of information I am seeking. I found the Beehive high level Arch diagram:

I can now make out what they have built. Oracle has cleverly used its pet technologies of Database and Application Servers to connect various other technologies in the collaboration space. This link will give you more details about the above architecture.

In terms of features, Oracle Beehive provides the full range of collaborative services for enterprise users, including:
  • Time management
  • Content and document management
  • Task management
  • Instant messaging
  • E-mail
  • Voicemail
  • Discussion forums
  • Online presence
  • Contact management
  • Mobile device support
Here's something I found from Gartner about Beehive:

On 8 May 2008, Oracle introduced to market Oracle Beehive, an integrated collaboration suite
with e-mail/calendar, team workspaces, instant messaging and other collaboration services. The
initial release is intended for Oracle Collaboration Suite (OCS) users, with a wider launch
expected later in 2008.

Analysis
Over the years, Oracle has had much success penetrating various markets such as database and
integration technologies. In the collaboration sector, however, Oracle has consistently failed — it
had an e-mail/calendar system in the 1990s, and most recently offered OCS. Both were
unsuccessful due to a lack of market differentiation, and an installed base reluctant to switch
suppliers.

It is logical for Oracle to want a piece of the collaboration market. Collaboration services are
being increasingly woven into applications, allowing users to collaborate within the context of the
business application. In addition, investments in e-mail, for example, can sell other Oracle
infrastructure, such as databases and integration tools. Oracle also wants to thwart Microsoft's
effort to make Exchange, SharePoint and Office Communications Server the default suite of
collaboration services in many companies. A successful collaboration strategy could increase the
value of the Oracle business application portfolio via contextual collaboration, lead to add-on
product sales and combat Microsoft's hegemonic interests.

Oracle Beehive has some attractive characteristics, such as a consistent object model, tags,
Outlook support and Business Process Execution Language (BPEL) workflows. But the company
faces an uphill battle in the collaboration market. The business e-mail market has not seen a
successful new entrant for 15 years, and most companies are well on their way to standardizing
on a suite of collaboration services. Oracle has yet to define an unserved market niche for Oracle
Beehive and clarify its positioning with respect to the WebCenter Web 2.0 tool, which includes
overlapping collaboration capabilities.

RECOMMENDATIONS
• Non-OCS customers: To avoid the possibility of being saddled with an orphaned
product suite, refrain from evaluating Beehive for adoption until it shows signs of
sustained market success.

• OCS customers: Examine Oracle Beehive while engaging Oracle in discussions on an
OCS obsolescence program and an orderly transistion to Beehive.
RECOMMENDED READING

• "Person-to-Person Interaction Emerges as the 'Process of Me'” — Application support
for business processes is evolving slowly away from the enterprise view of processes to
encompass an individual's need as a participant in many processes. By Yvonne
Genovese, Jeff Comport and Simon Hayward

• "No News Is Bad News for Oracle's Collaboration Suite” — In 2006, Gartner advised
prospective buyers of OCS to exercise caution until Oracle demonstrated more
Publication Date: 14 May 2008/ID Number: G00158030

I found Oracle Beehive Mobile Interop Lab which looks like a test implementation of some functionalities provided in Oracle Beehive.

Wednesday, June 18, 2008

Issues in LogicalApps after 10g upgrade

LogicalApps is a bolt-on to Oracle Apps in one of our instances. After upgrading this instance from Database version 9.2.0.8 to 10.2.0.3, none of the forms would open. An error about invalid package body LA_ENHNCMTMGR_PKG was being displayed. Recently Oracle acquired LogicalApps, so it was easy to log an SR in metalink for this issue. Based on Metalink searches we found that the product name is now Oracle Preventive Controls Governor.

This is how it went:

SQL> alter package LA_ENHNCMTMGR_PKG compile body;

Warning: Package Body altered with compilation errors.

SQL> show error
Errors for PACKAGE BODY LA_ENHNCMTMGR_PKG:

LINE/COL ERROR
-------- -----------------------------------------------------------------
4708/1 PL/SQL: Item ignored
4708/1 PLS-00999: implementation restriction (may be temporary) Java
methods not permitted here

4735/1 PL/SQL: Item ignored
4735/1 PLS-00999: implementation restriction (may be temporary) Java
methods not permitted here

Following query was given by Oracle to identify the version of LogicalApps:

select * from la_install_history;

Release 6.5.3 is not compatible with 10g database. But in past we did provide one off fix for 6.5.3 to resolve the issue you are getting. So now to fix the issue we have following two options:-
1. upgrade to release 6581 which is 10g compatible
2. Apply the one off fix which will resolve this issue

1. Down load the file 10g_la_appsform_pkg_body.plb from my google group.
2.Compile the downloaded file through SQL prompt
3. Once done, check the status of LA_ENHNCMTMGR_PKG
4. If valid, test the system by logging in ERP applcation
5. If Invalid, update the SR accordingly

Tuesday, June 17, 2008

TXK Rollup Patch S (Patch 6372396) removes IZU_TOP from context file

I just got a call from the DBA team informing me that TXK Rollup Patch S (Patch 6372396) removed IZU_TOP from the context file. After examining the instance, I found that it is true. IZU_TOP is the Oracle Diagnostics top. As a workaround we have reinserted the s_izutop line in the new context file. For a permanent solution, I logged an SR with Oracle for this issue. Oracle released patch 7126196 which is available on metalink now.



Readme of patch TXK Rollup Patch S (Patch 6372396) is updated too.

From readme of patch 7126196
---------------------------------------------
Those customers who have already applied TXK AUTOCONFIG AND TEMPLATES ROLLUP
PATCH S (6372396) and face the above issue should manually add the product top
entry into topfile.txt and then apply this patch.

Update on SR:

UPDATE
=======
Hi Vikram,

Please perform the following:

ACTION PLAN
============
1. add entry to $APPL_TOP/admin/topfile.txt
izu

2. Apply patch 7126196



Carlos Sierra's Trace Analyzer and other works

If you have ever downloaded Trace Analyzer (Metalink Note 224270.1), file trca.zip, it has instructions.txt. At the end of instructions.txt you'll find:

/********************************************************************/

5. References and feedback
~~~~~~~~~~~~~~~~~~~~~~~
References
o SQLTXPLAIN
Enhanced Explain Plan and related diagnostic information for
one SQL
Note: 215187.1
o Implementing and Using the PL/SQL Profiler
Note: 243755.1

Feedback
o Contact author by email: carlos.sierra@oracle.com

/********************************************************************/

Carlos Sierra has written many other great scripts and utilities. You can easily verify that by giving the keyword csierra in metalink and see the results. You'll find a lot of scripts starting with prefix bde_. I wonder what that stands for. The coe in the scripts stands for Center of Expertise as mentioned in Metalink Note:190124.1 which is a white paper on performance. One more metalink note 169935.1 is on Troubleshooting Oracle Apps performance issues which says:

Carlos Sierra

Apps Engineering CoE

Oracle Support


I think Carlos has written very good scripts and anyone interested in performance tuning and tracing should always keep a lookout on Trace Analyzer and all the other great scripts and utilities written and continuously enhanced by him.

Monday, June 16, 2008

Errors in OC4J during olite startup

Sandhya reported this error recently on a fresh 10gAS Olite installation for Mobile Field Service module.

500 Internal Server Error
OracleJSP: oracle.jsp.provider.JspCompileException:
Errors compiling:/apps11i/erp/comn/conf/erppgra1_apppgra1/10gAS/j2ee/mobileserver/application-deployments/default/defaultWebApp/persistence/_pages//_index.java
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Object.java):20: class Object is public, should be declared in a file named Object.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/String.java):89: class String is public, should be declared in a file named String.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectStreamClass.java):47: class ObjectStreamClass is public, should be declared in a file named ObjectStreamClass.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectStreamField.java):22: class ObjectStreamField is public, should be declared in a file named ObjectStreamField.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/UnsupportedEncodingException.java):16: class UnsupportedEncodingException is public, should be declared in a file named UnsupportedEncodingException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/ArrayList.java):82: class ArrayList is public, should be declared in a file named ArrayList.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Comparator.java):79: class Comparator is public, should be declared in a file named Comparator.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Locale.java):163: class Locale is public, should be declared in a file named Locale.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/regex/Matcher.java):78: class Matcher is public, should be declared in a file named Matcher.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/regex/Pattern.java):579: class Pattern is public, should be declared in a file named Pattern.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/regex/PatternSyntaxException.java):23: class PatternSyntaxException is public, should be declared in a file named PatternSyntaxException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/Serializable.java):104: class Serializable is public, should be declared in a file named Serializable.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Comparable.java):82: class Comparable is public, should be declared in a file named Comparable.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/CharSequence.java):32: class CharSequence is public, should be declared in a file named CharSequence.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/IOException.java):22: class IOException is public, should be declared in a file named IOException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Exception.java):20: class Exception is public, should be declared in a file named Exception.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Throwable.java):129: class Throwable is public, should be declared in a file named Throwable.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Class.java):77: class Class is public, should be declared in a file named Class.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Member.java):22: class Member is public, should be declared in a file named Member.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Field.java):33: class Field is public, should be declared in a file named Field.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Method.java):34: class Method is public, should be declared in a file named Method.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Constructor.java):32: class Constructor is public, should be declared in a file named Constructor.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Modifier.java):35: class Modifier is public, should be declared in a file named Modifier.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/InvocationTargetException.java):24: class InvocationTargetException is public, should be declared in a file named InvocationTargetException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/ref/SoftReference.java):47: class SoftReference is public, should be declared in a file named SoftReference.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/InputStream.java):28: class InputStream is public, should be declared in a file named InputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/AccessController.java):230: class AccessController is public, should be declared in a file named AccessController.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/PrivilegedAction.java):24: class PrivilegedAction is public, should be declared in a file named PrivilegedAction.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Collection.java):81: class Collection is public, should be declared in a file named Collection.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/HashSet.java):69: class HashSet is public, should be declared in a file named HashSet.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Iterator.java):31: class Iterator is public, should be declared in a file named Iterator.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/List.java):89: class List is public, should be declared in a file named List.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/LinkedList.java):71: class LinkedList is public, should be declared in a file named LinkedList.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/LinkedHashSet.java):98: class LinkedHashSet is public, should be declared in a file named LinkedHashSet.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Set.java):65: class Set is public, should be declared in a file named Set.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/CloneNotSupportedException.java):28: class CloneNotSupportedException is public, should be declared in a file named CloneNotSupportedException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/InterruptedException.java):26: class InterruptedException is public, should be declared in a file named InterruptedException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/StringBuffer.java):71: class StringBuffer is public, should be declared in a file named StringBuffer.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/text/MessageFormat.java):330: class MessageFormat is public, should be declared in a file named MessageFormat.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Cloneable.java):36: class Cloneable is public, should be declared in a file named Cloneable.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/StackTraceElement.java):22: class StackTraceElement is public, should be declared in a file named StackTraceElement.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/PrintStream.java):35: class PrintStream is public, should be declared in a file named PrintStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/FilterOutputStream.java):28: class FilterOutputStream is public, should be declared in a file named FilterOutputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/OutputStream.java):29: class OutputStream is public, should be declared in a file named OutputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/PrintWriter.java):32: class PrintWriter is public, should be declared in a file named PrintWriter.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/Writer.java):33: class Writer is public, should be declared in a file named Writer.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectOutputStream.java):122: class ObjectOutputStream is public, should be declared in a file named ObjectOutputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Arrays.java):39: class Arrays is public, should be declared in a file named Arrays.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectOutput.java):22: class ObjectOutput is public, should be declared in a file named ObjectOutput.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/DataOutput.java):32: class DataOutput is public, should be declared in a file named DataOutput.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectStreamConstants.java):17: class ObjectStreamConstants is public, should be declared in a file named ObjectStreamConstants.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/ClassNotFoundException.java):36: class ClassNotFoundException is public, should be declared in a file named ClassNotFoundException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/ClassLoader.java):127: class ClassLoader is public, should be declared in a file named ClassLoader.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/File.java):92: class File is public, should be declared in a file named File.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/MalformedURLException.java):21: class MalformedURLException is public, should be declared in a file named MalformedURLException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URL.java):94: class URL is public, should be declared in a file named URL.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/AccessControlContext.java):61: class AccessControlContext is public, should be declared in a file named AccessControlContext.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/CodeSource.java):30: class CodeSource is public, should be declared in a file named CodeSource.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/Policy.java):77: class Policy is public, should be declared in a file named Policy.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/PrivilegedActionException.java):32: class PrivilegedActionException is public, should be declared in a file named PrivilegedActionException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/PrivilegedExceptionAction.java):27: class PrivilegedExceptionAction is public, should be declared in a file named PrivilegedExceptionAction.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/security/ProtectionDomain.java):35: class ProtectionDomain is public, should be declared in a file named ProtectionDomain.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Enumeration.java):46: class Enumeration is public, should be declared in a file named Enumeration.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Hashtable.java):104: class Hashtable is public, should be declared in a file named Hashtable.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/HashMap.java):100: class HashMap is public, should be declared in a file named HashMap.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Stack.java):26: class Stack is public, should be declared in a file named Stack.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Map.java):79: class Map is public, should be declared in a file named Map.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Vector.java):61: class Vector is public, should be declared in a file named Vector.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/InstantiationException.java):22: class InstantiationException is public, should be declared in a file named InstantiationException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/IllegalAccessException.java):42: class IllegalAccessException is public, should be declared in a file named IllegalAccessException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/AccessibleObject.java):36: class AccessibleObject is public, should be declared in a file named AccessibleObject.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/Package.java):87: class Package is public, should be declared in a file named Package.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/StringTokenizer.java):86: class StringTokenizer is public, should be declared in a file named StringTokenizer.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/FileInputStream.java):31: class FileInputStream is public, should be declared in a file named FileInputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/FileNotFoundException.java):26: class FileNotFoundException is public, should be declared in a file named FileNotFoundException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/jar/JarInputStream.java):28: class JarInputStream is public, should be declared in a file named JarInputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/jar/Manifest.java):32: class Manifest is public, should be declared in a file named Manifest.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/jar/Attributes.java):35: class Attributes is public, should be declared in a file named Attributes.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/jar/JarException.java):19: class JarException is public, should be declared in a file named JarException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/SecurityException.java):17: class SecurityException is public, should be declared in a file named SecurityException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/RuntimeException.java):24: class RuntimeException is public, should be declared in a file named RuntimeException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/NoSuchFieldException.java):17: class NoSuchFieldException is public, should be declared in a file named NoSuchFieldException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/NoSuchMethodException.java):18: class NoSuchMethodException is public, should be declared in a file named NoSuchMethodException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/ref/Reference.java):24: class Reference is public, should be declared in a file named Reference.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectInputStream.java):166: class ObjectInputStream is public, should be declared in a file named ObjectInputStream.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Array.java):21: class Array is public, should be declared in a file named Array.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/reflect/Proxy.java):198: class Proxy is public, should be declared in a file named Proxy.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/ObjectInput.java):22: class ObjectInput is public, should be declared in a file named ObjectInput.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/DataInput.java):38: class DataInput is public, should be declared in a file named DataInput.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/MissingResourceException.java):34: class MissingResourceException is public, should be declared in a file named MissingResourceException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/ResourceBundle.java):195: class ResourceBundle is public, should be declared in a file named ResourceBundle.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/ref/ReferenceQueue.java):20: class ReferenceQueue is public, should be declared in a file named ReferenceQueue.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/ref/WeakReference.java):31: class WeakReference is public, should be declared in a file named WeakReference.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/InvalidObjectException.java):21: class InvalidObjectException is public, should be declared in a file named InvalidObjectException.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/text/DecimalFormat.java):350: class DecimalFormat is public, should be declared in a file named DecimalFormat.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/util/Date.java):109: class Date is public, should be declared in a file named Date.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/text/Format.java):116: class Format is public, should be declared in a file named Format.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/BufferedWriter.java):48: class BufferedWriter is public, should be declared in a file named BufferedWriter.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/io/OutputStreamWriter.java):59: class OutputStreamWriter is public, should be declared in a file named OutputStreamWriter.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/charset/Charset.java):245: class Charset is public, should be declared in a file named Charset.java
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/charset/CharsetEncoder.java):563: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/charset/CharsetEncoder.java):581: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2572: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2641: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2662: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2696: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2707: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2719: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/URI.java):2721: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/net/InetAddress.java):695: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/charset/CharsetDecoder.java):563: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/charset/CharsetDecoder.java):581: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/charset/CoderResult.java):263: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):105: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):191: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):301: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):696: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):716: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):749: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):769: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):813: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):832: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):887: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2134: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2135: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2246: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2259: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2266: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2271: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/FloatingDecimal.java):2272: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):59: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):165: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):217: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):269: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):274: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):286: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):307: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):332: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):479: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):570: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):661: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):752: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):843: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBuffer.java):934: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/Bits.java):642: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/CharacterDataLatin1.java):284: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/lang/CharacterData.java):956: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):165: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):479: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):570: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):661: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):752: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):843: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectByteBufferR.java):934: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferB.java):34: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferB.java):57: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferB.java):123: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferB.java):173: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferL.java):34: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferL.java):57: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferL.java):123: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsCharBufferL.java):173: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):165: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):217: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):269: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):274: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):286: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):307: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):332: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferU.java):378: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):165: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):217: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):269: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):274: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):286: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):307: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):332: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectCharBufferS.java):378: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsShortBufferB.java):34: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsShortBufferB.java):57: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsShortBufferB.java):123: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsShortBufferL.java):34: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsShortBufferL.java):57: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsShortBufferL.java):123: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):165: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):217: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):269: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):274: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):286: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):307: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferU.java):332: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):165: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):217: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):269: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):274: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):286: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):307: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/DirectShortBufferS.java):332: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsIntBufferB.java):34: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
/usr/jdk14/j2sdk1.4.2_15/src.zip(java/nio/ByteBufferAsIntBufferB.java):57: warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
(source unavailable)
Note: Some input files use or override a deprecated API.
Note: Recompile with -deprecation for details.
100 errors
206 warnings

I came across this link, which said that the cause of this error is that the file src.zip is included in CLASSPATH. We were unable to locate from where classpath was being set as even after unsetting CLASSPATH before starting opmnctl, the error remained.

As a last resort Sandeep suggested renaming src.zip. After we did this, the page appeared. I'll update this post once I learn more.