Howto apply OJVM PSU, DB PSU and Generic JDBC Patch in 11.2.0.4

This post is also available in: Português

Starting at October 2014, all the DB PSU come along with the OJVM PSU option on the main download page (Doc ID 756671.1). Oracle recommends to install both, as well as the Generic JDBC Patch that is also available there.

In this tutorial, I will show how to install the OJVM PSU, DB PSU and JDBC Patch in a 11.2.0.4 Single Instance DB running on Linux x86-64.

P.S: Don't follow this tutorial without reading the "README" files inside patch folders.

First of all, download on Oracle Support (Oracle Recommended Patches -- Oracle Database (Doc ID 756671.1)) the following patches:

  • Combo of 11.2.0.4.1 OJVM PSU and 11.2.0.4.4 DB PSU (Oct 2014) - Patch:19791364
  • Oracle JavaVM Component 11.2.0.4.1 Database PSU - Generic JDBC Patch (Oct 2014) - Patch:19852360

You can also get the OJVM PSU and DB PSU separately if you want.

After you download, place them in some folder:

[oracle@oraem12ctrj001 ~]$ cd /home/oracle/opatch/
[oracle@oraem12ctrj001 opatch]$ ls -la
total 73524
drwxr-xr-x.  2 oracle oinstall     4096 Nov 13 14:30 .
drwx------. 11 oracle oinstall     4096 Nov 13 14:30 ..
-rw-r--r--.  1 oracle oinstall 74866717 Nov 11 18:07 p19791364_112040_Linux-x86-64.zip
-rw-r--r--.  1 oracle oinstall   407030 Nov 11 18:10 p19852360_112040_Generic.zip

The first step is to stop your database. After it is down, certify you have no DB processes running with your DB user:

[root@oraem12ctrj001 ~]# ps -fu oracle
UID        PID  PPID  C STIME TTY          TIME CMD
oracle    9787  9786  0 Sep17 pts/2    00:00:00 -bash
oracle   11841 11836  0 Oct10 pts/0    00:00:00 -bash
oracle   32476 32475  0 Nov12 pts/2    00:00:00 -bash

Now let's unzip and install the first patch:

[oracle@oraem12ctrj001 ~]$ cd /home/oracle/opatch/
[oracle@oraem12ctrj001 opatch]$ unzip p19791364_112040_Linux-x86-64.zip
Archive:  p19791364_112040_Linux-x86-64.zip
...

We have 2 patches inside the uncompressed folder (remember that I've downloaded the Combo).

Let's start with the DB PSU:

[oracle@oraem12ctrj001 opatch]$ cd 19791364/19121551
[oracle@oraem12ctrj001 19121551]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/11.2.4/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.4/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/opatch2014-11-13_14-38-08PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

Now we are ready to install:

[oracle@oraem12ctrj001 19121551]$ opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.4/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.4/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/opatch2014-11-13_14-38-31PM_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   19121551

Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y



Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/11.2.4/dbhome_1')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying sub-patch '19121551' to OH '/u01/app/oracle/product/11.2.4/dbhome_1'

Patching component oracle.precomp.common, 11.2.0.4.0...

Patching component oracle.sysman.console.db, 11.2.0.4.0...

Patching component oracle.rdbms.rsf, 11.2.0.4.0...

Patching component oracle.rdbms.rman, 11.2.0.4.0...

Patching component oracle.rdbms, 11.2.0.4.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.4.0...

Patching component oracle.ordim.client, 11.2.0.4.0...

Patching component oracle.ordim.jai, 11.2.0.4.0...

Verifying the update...
Composite patch 19121551 successfully applied.
Log file location: /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/opatch2014-11-13_14-38-31PM_1.log

OPatch succeeded.

Good, now let's proceed with the OJVM PSU:

[oracle@oraem12ctrj001 19121551]$ cd ../19282021
[oracle@oraem12ctrj001 19282021]$ opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.4/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.4/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/19282021_Nov_13_2014_14_40_06/apply2014-11-13_14-40-06PM_1.log

Applying interim patch '19282021' to OH '/u01/app/oracle/product/11.2.4/dbhome_1'
Verifying environment and performing prerequisite checks...
Patch 19282021: Optional component(s) missing : [ oracle.sqlj, 11.2.0.4.0 ] , [ oracle.sqlj.companion, 11.2.0.4.0 ]
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y



Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/11.2.4/dbhome_1')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...

Patching component oracle.javavm.server, 11.2.0.4.0...

Patching component oracle.rdbms, 11.2.0.4.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.4.0...

Verifying the update...

--------------------------------------------------------------------------------
***************************************************************************************
***************************************************************************************
**                                ATTENTION                                          **
**                                                                                   **
** For Database PSU, Oracle JavaVM Component, it is mandatory to complete the        **
** post installation(deinstallation) steps to avoid inconsistencies in the database. **
** Please refer to the README for detailed instructions.                             **
**                                                                                   **
***************************************************************************************
***************************************************************************************

--------------------------------------------------------------------------------

Patch 19282021 successfully applied
Log file location: /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/19282021_Nov_13_2014_14_40_06/apply2014-11-13_14-40-06PM_1.log

OPatch succeeded.

As you can see, there is a huge alert about applying the post install scripts. Let's apply it.

P.S: Oracle recommends using STARTUP UPGRADE for OJVM PSU post install steps when the README does not.

ORA-7445 errors may be reported if anything in the database tries to use the JavaVM after OJVM PSU has been applied but before OJVM PSU post install steps have executed. This can affect databases using Change Data Capture (CDC), or databases with job/s that use JavaVM directly or indirectly etc.. Oracle Support suggests to use STARTUP UPGRADE for the OJVM PSU post install steps as that mode disables system triggers and jobs and so reduces the chance of something trying to use the JavaVM before the post install steps have completed. It is not mandatory to use UPGRADE mode, and in many cases it is not required. If you do hit ORA-7445 errors on a normal (or restricted) startup after applying OJVM PSU then using UPGRADE mode just for the OJVM PSU post install steps should allow you to proceed.

As in my case I don't have any triggers or jobs trying to use the JavaVM, I started up normally.

[oracle@oraem12ctrj001 19282021]$ cd $ORACLE_HOME/sqlpatch/19282021
[oracle@oraem12ctrj001 19282021]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 13 14:41:28 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> STARTUP
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size            2415920008 bytes
Database Buffers         1845493760 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.
SQL> @postinstall.sql

Session altered.


PL/SQL procedure successfully completed.


Package created.


Package body created.


Grant succeeded.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


JVMRMACTION
--------------------------------------------------------------------------------
FULL_REMOVAL


PL/SQL procedure successfully completed.


Package created.


Package created.


Package created.


Package created.


Package body created.


Synonym created.


Grant succeeded.


Package body created.


Function created.


Function created.


Synonym created.


Grant succeeded.


Function created.


Synonym created.


Grant succeeded.


Package body created.


Grant succeeded.


Package body created.


PL/SQL procedure successfully completed.

SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> -- do CJS, etc.
SQL>
SQL> BEGIN
  2
  3      initjvmaux.drop_sros();
  4
  5      EXECUTE IMMEDIATE 'create or replace java system';
  6
  7      update dependency$
  8        set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  9        where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
 10              (select type# from obj$ where obj#=p_obj#)=29  and
 11              (select owner# from obj$ where obj#=p_obj#)=0;
 12
 13  -- Check the validity of JAVAVM and let the registry be updated accordingly.
 14
 15      initjvmaux.validate_javavm;
 16
 17  -- Add a row in registry$history to indicate this script was run.
 18
 19      EXECUTE IMMEDIATE 'insert into registry$history
 20                         (action_time, action, namespace, version, id, comments)
 21                         values(SYSTIMESTAMP, ''jvmpsu.sql'', ''SERVER'',
 22                                ''11.2.0.4.1OJVMBP'', 0, ''APPLIED jvmpsu.sql'')';
 23
 24  END;
 25  /
BEGIN
*
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.INITJVMAUX", line 535
ORA-06512: at line 3


SQL>
SQL> commit;

Commit complete.

SQL>
SQL>
SQL> begin
  2         execute immediate 'drop package SYS.sqljutl2';
  3  exception when others
  4         then null;
  5  end;
  6  /

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>
SQL> ALTER SESSION SET CURRENT_SCHEMA = SYS;

Session altered.

SQL>

I got here an unexpected error:

ORA-06512: at "SYS.INITJVMAUX", line 535

After researching a little, I found out this is a behavior that happens if you have Database Vault running in your server (my case). The Doc for this issue is: ORA-01031 during Post Install / De-install for Database PSU or OJVM PSU with Data Vault installed (Doc ID 1935120.1).

The solution is to temporary disable the vault, re-run the post install scripts and enable it again.

So let's proceed with the solution. Stopping the DB and the Vault:

[oracle@oraem12ctrj001 19282021]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 13 14:45:48 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
[oracle@oraem12ctrj001 19282021]$ chopt disable dv

Writing to /u01/app/oracle/product/11.2.4/dbhome_1/install/disable_dv.log...
/usr/bin/make -f /u01/app/oracle/product/11.2.4/dbhome_1/rdbms/lib/ins_rdbms.mk dv_off ORACLE_HOME=/u01/app/oracle/product/11.2.4/dbhome_1
/usr/bin/make -f /u01/app/oracle/product/11.2.4/dbhome_1/rdbms/lib/ins_rdbms.mk ioracle ORACLE_HOME=/u01/app/oracle/product/11.2.4/dbhome_1

Now let's run the post script again:

[oracle@oraem12ctrj001 19282021]$ cd $ORACLE_HOME/sqlpatch/19282021
[oracle@oraem12ctrj001 19282021]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 13 14:47:16 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> STARTUP;
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size            2382365576 bytes
Database Buffers         1879048192 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.
SQL> @postinstall.sql

Session altered.


PL/SQL procedure successfully completed.


Package created.


Package body created.


Grant succeeded.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


JVMRMACTION
--------------------------------------------------------------------------------
FULL_REMOVAL


PL/SQL procedure successfully completed.


Package created.


Package created.


Package created.


Package created.


Package body created.


Synonym created.


Grant succeeded.


Package body created.


Function created.


Function created.


Synonym created.


Grant succeeded.


Function created.


Synonym created.


Grant succeeded.


Package body created.


Grant succeeded.


Package body created.


PL/SQL procedure successfully completed.

SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> -- do CJS, etc.
SQL>
SQL> BEGIN
  2
  3      initjvmaux.drop_sros();
  4
  5      EXECUTE IMMEDIATE 'create or replace java system';
  6
  7      update dependency$
  8        set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  9        where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
 10              (select type# from obj$ where obj#=p_obj#)=29  and
 11              (select owner# from obj$ where obj#=p_obj#)=0;
 12
 13  -- Check the validity of JAVAVM and let the registry be updated accordingly.
 14
 15      initjvmaux.validate_javavm;
 16
 17  -- Add a row in registry$history to indicate this script was run.
 18
 19      EXECUTE IMMEDIATE 'insert into registry$history
 20                         (action_time, action, namespace, version, id, comments)
 21                         values(SYSTIMESTAMP, ''jvmpsu.sql'', ''SERVER'',
 22                                ''11.2.0.4.1OJVMBP'', 0, ''APPLIED jvmpsu.sql'')';
 23
 24  END;
 25  /

PL/SQL procedure successfully completed.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL>
SQL> begin
  2         execute immediate 'drop package SYS.sqljutl2';
  3  exception when others
  4         then null;
  5  end;
  6  /

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>
SQL> ALTER SESSION SET CURRENT_SCHEMA = SYS;

Session altered.

SQL>
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

Good, it worked perfectly. Next step is to run the post install of the DB PSU (I will enable vault again later):

[oracle@oraem12ctrj001 19282021]$ cd $ORACLE_HOME/rdbms/admin
[oracle@oraem12ctrj001 admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 13 14:49:50 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

SQL> @catbundle.sql psu apply

PL/SQL procedure successfully completed.


Function created.


Function created.


PL/SQL procedure successfully completed.







PL/SQL procedure successfully completed.





Generating apply and rollback scripts...
Check the following file for errors:
/u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_OEMDB_GENERATE_2014Nov13_14_49_54.log
Apply script: /u01/app/oracle/product/11.2.4/dbhome_1/rdbms/admin/catbundle_PSU_OEMDB_APPLY.sql
Rollback script: /u01/app/oracle/product/11.2.4/dbhome_1/rdbms/admin/catbundle_PSU_OEMDB_ROLLBACK.sql

PL/SQL procedure successfully completed.

Executing script file...




SQL> COLUMN spool_file NEW_VALUE spool_file NOPRINT
SQL> SELECT '/u01/app/oracle/cfgtoollogs/catbundle/' || 'catbundle_PSU_' || name || '_APPLY_' || TO_CHAR(SYSDATE, 'YYYYMonDD_hh24_mi_ss', 'NLS_DATE_LANGUAGE=''AMERICAN''') || '.log' AS spool_file FROM v$database;




SQL> SPOOL &spool_file
SQL> exec sys.dbms_registry.set_session_namespace('SERVER')

PL/SQL procedure successfully completed.

SQL> PROMPT Calling jvmpsu.sql to initialize Java...
Calling jvmpsu.sql to initialize Java...
SQL> @?/javavm/install/jvmpsu.sql
SQL> Rem
SQL> Rem $Header: javavm/install/jvmpsu.sql nneeluru_ci_backport_19699946_11.2.0.4.1ojvmbp/2 2014/10/07 23:01:06 nneeluru Exp $
SQL> Rem
SQL> Rem jvmpsu.sql
SQL> Rem
SQL> Rem Copyright (c) 2013, 2014, Oracle and/or its affiliates.
SQL> Rem All rights reserved.
SQL> Rem
SQL> Rem    NAME
SQL> Rem      jvmpsu.sql - JAVAVM Patch Set Update script
SQL> Rem
SQL> Rem    DESCRIPTION
SQL> Rem      Script to be run during post-install in a PSU.
SQL> Rem
SQL> Rem    NOTES
SQL> Rem      To be run as SYS
SQL> Rem
SQL> Rem    MODIFIED   (MM/DD/YY)
SQL> Rem    nneeluru    10/07/14 - Re-open to fix insert statement
SQL> Rem    nneeluru    10/04/14 - Backport nneeluru_bug-19699946 from main
SQL> Rem    nneeluru    08/16/13 - JAVAVM post-install script for PSU
SQL> Rem    nneeluru    08/16/13 - Created
SQL> Rem
SQL> Rem    BEGIN SQL_FILE_METADATA
SQL> Rem    SQL_SOURCE_FILE: javavm/install/jvmpsu.sql
SQL> Rem    SQL_SHIPPED_FILE: javavm/install/jvmpsu.sql
SQL> Rem    SQL_PHASE: post-install for a PSU
SQL> Rem    SQL_STARTUP_MODE: NORMAL
SQL> Rem    SQL_IGNORABLE_ERRORS: NONE
SQL> Rem    SQL_CALLING_FILE: catbundle.sql
SQL> Rem    END SQL_FILE_METADATA
SQL>
SQL> SET ECHO ON
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> -- do CJS, etc.
SQL>
SQL> BEGIN
  2
  3      initjvmaux.drop_sros();
  4
  5      EXECUTE IMMEDIATE 'create or replace java system';
  6
  7      update dependency$
  8        set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  9        where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
 10              (select type# from obj$ where obj#=p_obj#)=29  and
 11              (select owner# from obj$ where obj#=p_obj#)=0;
 12
 13  -- Check the validity of JAVAVM and let the registry be updated accordingly.
 14
 15      initjvmaux.validate_javavm;
 16
 17  -- Add a row in registry$history to indicate this script was run.
 18
 19      EXECUTE IMMEDIATE 'insert into registry$history
 20                         (action_time, action, namespace, version, id, comments)
 21                         values(SYSTIMESTAMP, ''jvmpsu.sql'', ''SERVER'',
 22                                ''11.2.0.4.1OJVMBP'', 0, ''APPLIED jvmpsu.sql'')';
 23
 24  END;
 25  /
DROP JAVA DATA "SYS"."LocaleData_ar"
DROP JAVA DATA "SYS"."LocaleData_ar_AE"
DROP JAVA DATA "SYS"."LocaleData_ar_BH"
DROP JAVA DATA "SYS"."LocaleData_ar_DZ"
DROP JAVA DATA "SYS"."LocaleData_ar_EG"
DROP JAVA DATA "SYS"."LocaleData_ar_IQ"
DROP JAVA DATA "SYS"."LocaleData_ar_JO"
DROP JAVA DATA "SYS"."LocaleData_ar_KW"
DROP JAVA DATA "SYS"."LocaleData_ar_LB"
DROP JAVA DATA "SYS"."LocaleData_ar_LY"
DROP JAVA DATA "SYS"."LocaleData_ar_MA"
DROP JAVA DATA "SYS"."LocaleData_ar_OM"
DROP JAVA DATA "SYS"."LocaleData_ar_QA"
DROP JAVA DATA "SYS"."LocaleData_ar_SA"
DROP JAVA DATA "SYS"."LocaleData_ar_SD"
DROP JAVA DATA "SYS"."LocaleData_ar_SY"
DROP JAVA DATA "SYS"."LocaleData_ar_TN"
DROP JAVA DATA "SYS"."LocaleData_ar_YE"
DROP JAVA DATA "SYS"."LocaleData_be"
DROP JAVA DATA "SYS"."LocaleData_be_BY"
DROP JAVA DATA "SYS"."LocaleData_bg"
DROP JAVA DATA "SYS"."LocaleData_bg_BG"
DROP JAVA DATA "SYS"."LocaleData_ca"
DROP JAVA DATA "SYS"."LocaleData_ca_ES"
DROP JAVA DATA "SYS"."LocaleData_ca_ES_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_ar"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_AE"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_BH"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_DZ"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_EG"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_IQ"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_JO"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_KW"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_LB"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_LY"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_MA"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_OM"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_QA"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_SA"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_SD"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_SY"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_TN"
DROP JAVA DATA "SYS"."LocaleData_coll_ar_YE"
DROP JAVA DATA "SYS"."LocaleData_coll_be"
DROP JAVA DATA "SYS"."LocaleData_coll_be_BY"
DROP JAVA DATA "SYS"."LocaleData_coll_bg"
DROP JAVA DATA "SYS"."LocaleData_coll_bg_BG"
DROP JAVA DATA "SYS"."LocaleData_coll_ca"
DROP JAVA DATA "SYS"."LocaleData_coll_ca_ES"
DROP JAVA DATA "SYS"."LocaleData_coll_ca_ES_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_cs"
DROP JAVA DATA "SYS"."LocaleData_coll_cs_CZ"
DROP JAVA DATA "SYS"."prv//////BMCEAMAMAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////CLENFDMLAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////DPGGEKDHAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////ENOJBBPFAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////FOHFBEJIAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////GKMDMBFGAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////HHPHKFCGAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////IEIJPIEBAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////IHLOPGIJAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////MDDMJLJNAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////MGBCBOLLAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////MOFBJDKBAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////NAPLGELEAAAAAAAA"
DROP JAVA DATA "SYS"."prv//////OEDLGPAPAAAAAAAA"
DROP JAVA DATA "SYS"."LocaleData_coll_th"
DROP JAVA DATA "SYS"."LocaleData_coll_th_TH"
DROP JAVA DATA "SYS"."LocaleData_coll_tr"
DROP JAVA DATA "SYS"."LocaleData_coll_tr_TR"
DROP JAVA DATA "SYS"."LocaleData_coll_uk"
DROP JAVA DATA "SYS"."LocaleData_coll_uk_UA"
DROP JAVA DATA "SYS"."LocaleData_coll_zh"
DROP JAVA DATA "SYS"."LocaleData_coll_zh_CN"
DROP JAVA DATA "SYS"."LocaleData_coll_zh_HK"
DROP JAVA DATA "SYS"."LocaleData_coll_zh_TW"
DROP JAVA DATA "SYS"."LocaleData_cs"
DROP JAVA DATA "SYS"."LocaleData_cs_CZ"
DROP JAVA DATA "SYS"."LocaleData_da"
DROP JAVA DATA "SYS"."LocaleData_da_DK"
DROP JAVA DATA "SYS"."LocaleData_de"
DROP JAVA DATA "SYS"."LocaleData_de_AT"
DROP JAVA DATA "SYS"."LocaleData_de_AT_EURO"
DROP JAVA DATA "SYS"."LocaleData_de_CH"
DROP JAVA DATA "SYS"."LocaleData_de_DE"
DROP JAVA DATA "SYS"."LocaleData_de_DE_EURO"
DROP JAVA DATA "SYS"."LocaleData_de_LU"
DROP JAVA DATA "SYS"."LocaleData_de_LU_EURO"
DROP JAVA DATA "SYS"."LocaleData_el"
DROP JAVA DATA "SYS"."LocaleData_el_GR"
DROP JAVA DATA "SYS"."LocaleData_el_GR_EURO"
DROP JAVA DATA "SYS"."LocaleData_en"
DROP JAVA DATA "SYS"."LocaleData_en_AU"
DROP JAVA DATA "SYS"."LocaleData_en_CA"
DROP JAVA DATA "SYS"."LocaleData_en_GB"
DROP JAVA DATA "SYS"."LocaleData_en_IE"
DROP JAVA DATA "SYS"."LocaleData_en_IE_EURO"
DROP JAVA DATA "SYS"."LocaleData_en_IN"
DROP JAVA DATA "SYS"."LocaleData_en_NZ"
DROP JAVA DATA "SYS"."LocaleData_en_US"
DROP JAVA DATA "SYS"."LocaleData_en_ZA"
DROP JAVA DATA "SYS"."LocaleData_es"
DROP JAVA DATA "SYS"."LocaleData_es_AR"
DROP JAVA DATA "SYS"."LocaleData_es_BO"
DROP JAVA DATA "SYS"."LocaleData_es_CL"
DROP JAVA DATA "SYS"."LocaleData_es_CO"
DROP JAVA DATA "SYS"."LocaleData_es_CR"
DROP JAVA DATA "SYS"."LocaleData_es_DO"
DROP JAVA DATA "SYS"."LocaleData_es_EC"
DROP JAVA DATA "SYS"."LocaleData_es_ES"
DROP JAVA DATA "SYS"."LocaleData_es_ES_EURO"
DROP JAVA DATA "SYS"."LocaleData_es_GT"
DROP JAVA DATA "SYS"."LocaleData_es_HN"
DROP JAVA DATA "SYS"."LocaleData_es_MX"
DROP JAVA DATA "SYS"."LocaleData_es_NI"
DROP JAVA DATA "SYS"."LocaleData_es_PA"
DROP JAVA DATA "SYS"."LocaleData_es_PE"
DROP JAVA DATA "SYS"."LocaleData_es_PR"
DROP JAVA DATA "SYS"."LocaleData_es_PY"
DROP JAVA DATA "SYS"."LocaleData_es_SV"
DROP JAVA DATA "SYS"."LocaleData_es_UY"
DROP JAVA DATA "SYS"."LocaleData_es_VE"
DROP JAVA DATA "SYS"."LocaleData_et"
DROP JAVA DATA "SYS"."LocaleData_et_EE"
DROP JAVA DATA "SYS"."LocaleData_fi"
DROP JAVA DATA "SYS"."LocaleData_fi_FI"
DROP JAVA DATA "SYS"."LocaleData_fi_FI_EURO"
DROP JAVA DATA "SYS"."LocaleData_fr"
DROP JAVA DATA "SYS"."LocaleData_fr_BE"
DROP JAVA DATA "SYS"."LocaleData_fr_BE_EURO"
DROP JAVA DATA "SYS"."LocaleData_fr_CA"
DROP JAVA DATA "SYS"."LocaleData_fr_CH"
DROP JAVA DATA "SYS"."LocaleData_fr_FR"
DROP JAVA DATA "SYS"."LocaleData_fr_FR_EURO"
DROP JAVA DATA "SYS"."LocaleData_fr_LU"
DROP JAVA DATA "SYS"."LocaleData_fr_LU_EURO"
DROP JAVA DATA "SYS"."LocaleData_hi_IN"
DROP JAVA DATA "SYS"."LocaleData_hr"
DROP JAVA DATA "SYS"."LocaleData_hr_HR"
DROP JAVA DATA "SYS"."LocaleData_hu"
DROP JAVA DATA "SYS"."LocaleData_hu_HU"
DROP JAVA DATA "SYS"."LocaleData_is"
DROP JAVA DATA "SYS"."LocaleData_is_IS"
DROP JAVA DATA "SYS"."LocaleData_it"
DROP JAVA DATA "SYS"."LocaleData_it_CH"
DROP JAVA DATA "SYS"."LocaleData_it_IT"
DROP JAVA DATA "SYS"."LocaleData_it_IT_EURO"
DROP JAVA DATA "SYS"."LocaleData_iw"
DROP JAVA DATA "SYS"."LocaleData_iw_IL"
DROP JAVA DATA "SYS"."LocaleData_ja"
DROP JAVA DATA "SYS"."LocaleData_ja_JP"
DROP JAVA DATA "SYS"."LocaleData_ko"
DROP JAVA DATA "SYS"."LocaleData_ko_KR"
DROP JAVA DATA "SYS"."LocaleData_lt"
DROP JAVA DATA "SYS"."LocaleData_lt_LT"
DROP JAVA DATA "SYS"."LocaleData_lv"
DROP JAVA DATA "SYS"."LocaleData_lv_LV"
DROP JAVA DATA "SYS"."LocaleData_mk"
DROP JAVA DATA "SYS"."LocaleData_mk_MK"
DROP JAVA DATA "SYS"."LocaleData_coll_da"
DROP JAVA DATA "SYS"."LocaleData_coll_da_DK"
DROP JAVA DATA "SYS"."LocaleData_coll_de"
DROP JAVA DATA "SYS"."LocaleData_coll_de_AT"
DROP JAVA DATA "SYS"."LocaleData_coll_de_AT_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_de_CH"
DROP JAVA DATA "SYS"."LocaleData_coll_de_DE"
DROP JAVA DATA "SYS"."LocaleData_coll_de_DE_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_de_LU"
DROP JAVA DATA "SYS"."LocaleData_coll_de_LU_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_el"
DROP JAVA DATA "SYS"."LocaleData_coll_el_GR"
DROP JAVA DATA "SYS"."LocaleData_coll_el_GR_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_en"
DROP JAVA DATA "SYS"."LocaleData_coll_en_AU"
DROP JAVA DATA "SYS"."LocaleData_coll_en_CA"
DROP JAVA DATA "SYS"."LocaleData_coll_en_GB"
DROP JAVA DATA "SYS"."LocaleData_coll_en_IE"
DROP JAVA DATA "SYS"."LocaleData_coll_en_IE_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_en_IN"
DROP JAVA DATA "SYS"."LocaleData_coll_en_NZ"
DROP JAVA DATA "SYS"."LocaleData_coll_en_US"
DROP JAVA DATA "SYS"."LocaleData_coll_en_ZA"
DROP JAVA DATA "SYS"."LocaleData_coll_es"
DROP JAVA DATA "SYS"."LocaleData_coll_es_AR"
DROP JAVA DATA "SYS"."LocaleData_coll_es_BO"
DROP JAVA DATA "SYS"."LocaleData_coll_es_CL"
DROP JAVA DATA "SYS"."LocaleData_coll_es_CO"
DROP JAVA DATA "SYS"."LocaleData_coll_es_CR"
DROP JAVA DATA "SYS"."LocaleData_coll_es_DO"
DROP JAVA DATA "SYS"."LocaleData_coll_es_EC"
DROP JAVA DATA "SYS"."LocaleData_coll_es_ES"
DROP JAVA DATA "SYS"."LocaleData_coll_es_ES_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_es_GT"
DROP JAVA DATA "SYS"."LocaleData_coll_es_HN"
DROP JAVA DATA "SYS"."LocaleData_coll_es_MX"
DROP JAVA DATA "SYS"."LocaleData_coll_es_NI"
DROP JAVA DATA "SYS"."LocaleData_coll_es_PA"
DROP JAVA DATA "SYS"."LocaleData_coll_es_PE"
DROP JAVA DATA "SYS"."LocaleData_coll_es_PR"
DROP JAVA DATA "SYS"."LocaleData_coll_es_PY"
DROP JAVA DATA "SYS"."LocaleData_coll_es_SV"
DROP JAVA DATA "SYS"."LocaleData_coll_es_UY"
DROP JAVA DATA "SYS"."LocaleData_coll_es_VE"
DROP JAVA DATA "SYS"."LocaleData_coll_et"
DROP JAVA DATA "SYS"."LocaleData_coll_et_EE"
DROP JAVA DATA "SYS"."LocaleData_coll_fi"
DROP JAVA DATA "SYS"."LocaleData_coll_fi_FI"
DROP JAVA DATA "SYS"."LocaleData_coll_fi_FI_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_fr"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_BE"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_BE_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_CA"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_CH"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_FR"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_FR_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_LU"
DROP JAVA DATA "SYS"."LocaleData_coll_fr_LU_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_hi_IN"
DROP JAVA DATA "SYS"."LocaleData_coll_hr"
DROP JAVA DATA "SYS"."LocaleData_coll_hr_HR"
DROP JAVA DATA "SYS"."LocaleData_coll_hu"
DROP JAVA DATA "SYS"."LocaleData_coll_hu_HU"
DROP JAVA DATA "SYS"."LocaleData_coll_is"
DROP JAVA DATA "SYS"."LocaleData_coll_is_IS"
DROP JAVA DATA "SYS"."LocaleData_coll_it"
DROP JAVA DATA "SYS"."LocaleData_coll_it_CH"
DROP JAVA DATA "SYS"."LocaleData_coll_it_IT"
DROP JAVA DATA "SYS"."LocaleData_coll_it_IT_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_iw"
DROP JAVA DATA "SYS"."LocaleData_coll_iw_IL"
DROP JAVA DATA "SYS"."LocaleData_coll_ja"
DROP JAVA DATA "SYS"."LocaleData_coll_ja_JP"
DROP JAVA DATA "SYS"."LocaleData_coll_ko"
DROP JAVA DATA "SYS"."LocaleData_coll_ko_KR"
DROP JAVA DATA "SYS"."LocaleData_coll_lt"
DROP JAVA DATA "SYS"."LocaleData_coll_lt_LT"
DROP JAVA DATA "SYS"."LocaleData_coll_lv"
DROP JAVA DATA "SYS"."LocaleData_coll_lv_LV"
DROP JAVA DATA "SYS"."LocaleData_coll_mk"
DROP JAVA DATA "SYS"."LocaleData_coll_mk_MK"
DROP JAVA DATA "SYS"."LocaleData_coll_nl"
DROP JAVA DATA "SYS"."LocaleData_coll_nl_BE"
DROP JAVA DATA "SYS"."LocaleData_coll_nl_BE_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_nl_NL"
DROP JAVA DATA "SYS"."LocaleData_coll_nl_NL_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_no"
DROP JAVA DATA "SYS"."LocaleData_coll_no_NO"
DROP JAVA DATA "SYS"."LocaleData_coll_no_NO_NY"
DROP JAVA DATA "SYS"."LocaleData_coll_pl"
DROP JAVA DATA "SYS"."LocaleData_coll_pl_PL"
DROP JAVA DATA "SYS"."LocaleData_coll_pt"
DROP JAVA DATA "SYS"."LocaleData_coll_pt_BR"
DROP JAVA DATA "SYS"."LocaleData_coll_pt_PT"
DROP JAVA DATA "SYS"."LocaleData_coll_pt_PT_EURO"
DROP JAVA DATA "SYS"."LocaleData_coll_ro"
DROP JAVA DATA "SYS"."LocaleData_coll_ro_RO"
DROP JAVA DATA "SYS"."LocaleData_coll_ru"
DROP JAVA DATA "SYS"."LocaleData_coll_ru_RU"
DROP JAVA DATA "SYS"."LocaleData_coll_sh"
DROP JAVA DATA "SYS"."LocaleData_coll_sh_YU"
DROP JAVA DATA "SYS"."LocaleData_coll_sk"
DROP JAVA DATA "SYS"."LocaleData_coll_sk_SK"
DROP JAVA DATA "SYS"."LocaleData_coll_sl"
DROP JAVA DATA "SYS"."LocaleData_coll_sl_SI"
DROP JAVA DATA "SYS"."LocaleData_coll_sq"
DROP JAVA DATA "SYS"."LocaleData_coll_sq_AL"
DROP JAVA DATA "SYS"."LocaleData_coll_sr"
DROP JAVA DATA "SYS"."LocaleData_coll_sr_YU"
DROP JAVA DATA "SYS"."LocaleData_coll_sv"
DROP JAVA DATA "SYS"."LocaleData_coll_sv_SE"
DROP JAVA DATA "SYS"."LocaleData_nl"
DROP JAVA DATA "SYS"."LocaleData_nl_BE"
DROP JAVA DATA "SYS"."LocaleData_nl_BE_EURO"
DROP JAVA DATA "SYS"."LocaleData_nl_NL"
DROP JAVA DATA "SYS"."LocaleData_nl_NL_EURO"
DROP JAVA DATA "SYS"."LocaleData_no"
DROP JAVA DATA "SYS"."LocaleData_no_NO"
DROP JAVA DATA "SYS"."LocaleData_no_NO_NY"
DROP JAVA DATA "SYS"."LocaleData_pl"
DROP JAVA DATA "SYS"."LocaleData_pl_PL"
DROP JAVA DATA "SYS"."LocaleData_pt"
DROP JAVA DATA "SYS"."LocaleData_pt_BR"
DROP JAVA DATA "SYS"."LocaleData_pt_PT"
DROP JAVA DATA "SYS"."LocaleData_pt_PT_EURO"
DROP JAVA DATA "SYS"."LocaleData_ro"
DROP JAVA DATA "SYS"."LocaleData_ro_RO"
DROP JAVA DATA "SYS"."LocaleData_ru"
DROP JAVA DATA "SYS"."LocaleData_ru_RU"
DROP JAVA DATA "SYS"."LocaleData_sh"
DROP JAVA DATA "SYS"."LocaleData_sh_YU"
DROP JAVA DATA "SYS"."LocaleData_sk"
DROP JAVA DATA "SYS"."LocaleData_sk_SK"
DROP JAVA DATA "SYS"."LocaleData_sl"
DROP JAVA DATA "SYS"."LocaleData_sl_SI"
DROP JAVA DATA "SYS"."LocaleData_sq"
DROP JAVA DATA "SYS"."LocaleData_sq_AL"
DROP JAVA DATA "SYS"."LocaleData_sr"
DROP JAVA DATA "SYS"."LocaleData_sr_YU"
DROP JAVA DATA "SYS"."LocaleData_sv"
DROP JAVA DATA "SYS"."LocaleData_sv_SE"
DROP JAVA DATA "SYS"."LocaleData_th"
DROP JAVA DATA "SYS"."LocaleData_th_TH"
DROP JAVA DATA "SYS"."LocaleData_tr"
DROP JAVA DATA "SYS"."LocaleData_tr_TR"
DROP JAVA DATA "SYS"."LocaleData_uk"
DROP JAVA DATA "SYS"."LocaleData_uk_UA"
DROP JAVA DATA "SYS"."LocaleData_zh"
DROP JAVA DATA "SYS"."LocaleData_zh_CN"
DROP JAVA DATA "SYS"."LocaleData_zh_HK"
DROP JAVA DATA "SYS"."LocaleData_zh_TW"
delete from java$policy$shared$table

PL/SQL procedure successfully completed.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> PROMPT Processing Oracle Database Packages and Types...
Processing Oracle Database Packages and Types...
SQL> ALTER SESSION SET current_schema = sys;

Session altered.

SQL> @?/rdbms/admin/prvtpckl.plb
SQL> create or replace library SYS.DBMS_PICKLER_LIB wrapped
  2  a000000
  3  1
  4  abcd
  5  abcd
  6  abcd
  7  abcd
  8  abcd
  9  abcd
 10  abcd
 11  abcd
 12  abcd
 13  abcd
 14  abcd
 15  abcd
 16  abcd
 17  abcd
 18  abcd
 19  16
 20  2b 61
 21  aAn+BI9qqDtarCwYQNuFQC2dGnQwg04I9Z7AdBjDuFKbskoopfUzM1KyGP4I9QnnvZ6yy1Iy
 22  zKV0K+fLUnQI9cmmpst5mfw=
 23
 24  /

Library created.

SQL> create or replace package dbms_pickler wrapped
  2  a000000
  3  1
  4  abcd
  5  abcd
  6  abcd
  7  abcd
  8  abcd
  9  abcd
 10  abcd
 11  abcd
 12  abcd
 13  abcd
 14  abcd
 15  abcd
 16  abcd
 17  abcd
 18  abcd
 19  9
 20  2a4 15c
 21  2cx8UAQRQDdifROcEcqAnXO7Ic0wgzvxAPZqfC9A2vjqaH2psOJY/yX60y0iV6E+WDZzBOa6
 22  Fs21B6OyO4YvrilS6xIsu8fm+5XLW6zBxv5km1LPIxASOja2E2ABSfEIyzny6UJhdQ5cJdZy
 23  vQQs392JZdp98IQijobTstsFOXD/Q6f158NR1GdQYGv6Zor3AmC8u3DFe6AXFSGqGCYG8OSB
 24  zXCudh6XxVbXmEJg1E+SfVW47KuWiS4qVK3uOYqqa7mAmg+oh1siqk4NbtCXNeBR8SH4en0V
 25  Gg6y2KduH1/I/CoNhtAzJwS6quuyhbKtvcLELTbvn4Z3I/6yXQsORA==
 26
 27  /

Package created.

SQL> CREATE OR REPLACE PUBLIC SYNONYM dbms_pickler FOR sys.dbms_pickler
  2  /

Synonym created.

SQL> GRANT EXECUTE ON dbms_pickler TO PUBLIC
  2  /

Grant succeeded.

SQL> create or replace package body dbms_pickler wrapped
  2  a000000
  3  1
  4  abcd
  5  abcd
  6  abcd
  7  abcd
  8  abcd
  9  abcd
 10  abcd
 11  abcd
 12  abcd
 13  abcd
 14  abcd
 15  abcd
 16  abcd
 17  abcd
 18  abcd
 19  b
 20  bb4 390
 21  er+M1S70C/BUEHeqrGsMXz9EiW0wg1UrmtC3Zy8zWJ3gNLDf7ms8GxvxElRwN9dimZOnTpKi
 22  UT3bTS0I0rW/Mx9E8v0FXXdxT7RYkCDJvDp7abddSl2OBsVVFblzxMZItTpqnGQsqqb2rMr2
 23  6VFUbMqw5dnFk9M9lXmnzL1tVjsOJ5Ram0i98eUrnuNYysAFf2sRSr8vrCIWxUTuN8psAhMA
 24  4KqDEJ29J2azqbzU4Wx0UuZQcmxCj8NntiDm0G1y2akDVGZ7GlIx9SoMuVeNpKuMMXu1oGdQ
 25  rS1JEHkII+2jO6fzqwFlvv1Ef9dYS+LExMZfVlb/ZeFtJpaTt68DOgGsSMUl3tc+edP6J1z6
 26  OW8uCVDx3QD3oTVdezYNO/e81vsIiiiklAwQnKho70+rCf3UQyjgJdTOQmzA/ZVJp2x2niJm
 27  R3BH8IHBuVIhK7HpjBS2Que5haKX06wQgzp71f/a6gJ/shLrLvgwv27b2h70MGrwXqfay9s9
 28  mtLY8GoqPiJvT8HhOo/LJFLBq0S1HSrbNBgXibhg50khSz9AZmdIMAHTo2JfTiS+dksngypE
 29  JimqvP1QAj5zZVXOTBhNxpmncogXYdFn5qKEPm4xata1be+FTtNFrJIzhOoufZ583pM51TBC
 30  beNFg+EXi4WEz7PAHIjgkh0sHHysm0DLZn7UItSLHox+o5CUDx11QuTAdRJ45HMIDy10/9yH
 31  hgCMWCTNhQV7bBif5ch5Sd7oRGFNAd9BBpGsDvWoiznVgcFoDZnksT94g5p7LQ/earLetiPQ
 32  1ymunOJThGpcEx/owZmruZXa+JipspZ/jkD/Sg97I7SpDBmsMNahETaGDod5KyCKHHXcv2Xy
 33  VT1pibSshkjew3xqNpsapISSUR+d+/0M/M8=
 34
 35  /

Package body created.

SQL> begin
  2    execute immediate 'revoke execute on dbms_java_test from PUBLIC';
  3  exception when others
  4    then null;
  5  end;
  6  /

PL/SQL procedure successfully completed.

SQL> create or replace package dbms_java_test wrapped
  2  a000000
  3  1
  4  abcd
  5  abcd
  6  abcd
  7  abcd
  8  abcd
  9  abcd
 10  abcd
 11  abcd
 12  abcd
 13  abcd
 14  abcd
 15  abcd
 16  abcd
 17  abcd
 18  abcd
 19  9
 20  2e60 1a1
 21  B2Rm0P1PcoDMwbdCpBaTSvF2YfEwg83smMusZy/pO3MYPiprac/GJwKB9BG0PadwoH8tFc5z
 22  q5n9tu0Rz+5jZhN2cBe53p911SBROaM8CkyrILeE07t4KYdg6BYlD0ZBpNcVTvCe4T5CN2Vg
 23  p8WbQMXApFgn2m46nALCooPRUaXCUBBdPv+9RapY/LAPmeG5chBJ53ebnX8vTQPT6o2mNzkM
 24  /s8pZw76o6oOPMpQ4Mc/a63KUMl4xzEuL31Lc36qp9RcBAQ5iy3dDqKN8wvbGZR/ibiI8kCb
 25  EoT003qeC1/HlAuJj/pJ1rXBr4C9QfVelOXxzJSJjxHWwMzinNkC03bJzID8zgJ7UTbBnI51
 26  4cHmcImPR+yXXjokXBwyu4uqnnvSlbsuLnorDJS6eX7EuDZDbHKs
 27
 28  /

Package created.

SQL> CREATE OR REPLACE PUBLIC SYNONYM dbms_java_test FOR sys.dbms_java_test
  2  /

Synonym created.

SQL> create or replace package body dbms_java_test wrapped
  2  a000000
  3  1
  4  abcd
  5  abcd
  6  abcd
  7  abcd
  8  abcd
  9  abcd
 10  abcd
 11  abcd
 12  abcd
 13  abcd
 14  abcd
 15  abcd
 16  abcd
 17  abcd
 18  abcd
 19  b
 20  63c5 4f5
 21  BffvCpTdZTFoT3O1HqWf7nN37eUwg81xDK6GfARogp0VBjYJKDrx0mzcSCfyp8hR20NSGLSx
 22  OA+jvZ+qtUAl4Arx9gs4fQsjZy57tvE65NeiO5AMQZBO9HCMKc6nEDrSHrw6P/674kLOI7Xd
 23  m5KpLeuTWPrPo8JfH+leDNFO2DqFZDDHqF0x9UdKo1Dr1dUwTAPVhwEXNBjafvswGQh0XT0a
 24  +ugDCcLMh5v8YfoMPhtRCePsQd5+Vtw62MjYbpQCQOM749sYWjvj4pSzA2aSK9vdGASj844x
 25  qJ9c+tHVMTJsmEuR6qeKJfFMusJtDJ8yC9ZFxtjTwCuN/OtCseP9PuXxH80F8Q/nn87BTtBP
 26  mvn5IpGKe5wXVhNh7/lgYSwPm+VEoH3spGIz5aqYV5+ol6EM5YDeF77VlsZC1EOg7LtM3q+j
 27  K0KtKVZhdFDpv9EtbS4dVDKK5BR36PuaM7ub3c26thYrDrTn8o4Wf6wJRPLwDuLhMvAOQeGB
 28  Xw684YHwDjfhsl8Oa+Gy1+Bg7Oz3iOhtSCuQITH62NreFbeTQiUaSQMzGvSuyYGht09Hkrcr
 29  pmXqqaDTyL45GpQ3R1zjDcXb1VxXIhabzD1giP3Q0fyLZXL/mcwqzf+3HQCiLJqgrYNhkpLY
 30  IbSXWlmbwDr3qMhPy+164AfpxklZiQudTmmcnbljY4HVQVcAp4Yurhn3LwdTg84IJ1XccIH1
 31  37rvgObT5nfbD8OWK8ILY7gUGqgnnLwyzTRUKbzqaPdQsn+iRQV/ojRUTHTYH8tWgOaW21qK
 32  zZta0uCBfD+E0A+A5iTbqbsL3WQ8lW09gBN+cRNX0zmokiepvCOQvJvgslDwBZrwSkY44zOk
 33  URCaAxDtVIQhcxzf7fbuUcoPeYCl9M1OvZZv6UsftG3W7VNlFeQ8YHwa7X8UJKuvxo8LNc9H
 34  jfNdv78Y7s+4vIHvPdBvanw4df3gdeJfygO4FjeVFeDWVNgsYjeCaljEPFhMiDXJQ8yelgec
 35  IPGc+LN8ILbzS67zj5fnZa6cReeyRtTLRkAssl6+9yqF7DKThpfnZb9PfEIsKaDGKV2AapLL
 36  RqvmzTKE143zkekoOKEo4C9/ziUE0ow4MR8ltik6GSkpl+fCJdBLdyhCbTQQjDSBjDgAFuCr
 37  f+0Qf82X58I5dUvnBK9KcJqKcP6MOCZXuVu4JEso/h3i7R9dCKZ/HCip2udoNYpdpEYP6goH
 38  WqCqT0F/Iv4oPidCm+4kqc5WiA==
 39
 40  /

Package body created.

SQL> begin
  2    execute immediate
  3   'declare objn number;begin select obj# into objn from obj$ where name =''DBMS_JAVA'' and type#=11;dbms_utility.validate(objn);end;';
  4  exception when others
  5    then null;
  6  end;
  7  /

PL/SQL procedure successfully completed.

SQL> ALTER SESSION SET current_schema = SYS;

Session altered.

SQL> PROMPT Updating registry...
Updating registry...
SQL> INSERT INTO registry$history
  2    (action_time, action,
  3     namespace, version, id,
  4     bundle_series, comments)
  5  VALUES
  6    (SYSTIMESTAMP, 'APPLY',
  7     SYS_CONTEXT('REGISTRY$CTX','NAMESPACE'),
  8     '11.2.0.4',
  9     4,
 10     'PSU',
 11     'PSU 11.2.0.4.4');

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
/u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_OEMDB_APPLY_2014Nov13_14_49_55.log
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

Good, now let's check for any errors:

[oracle@oraem12ctrj001 admin]$ cd /u01/app/oracle/cfgtoollogs/catbundle/
[oracle@oraem12ctrj001 catbundle]$ ls -ltr
total 2
-rw-r--r--. 1 oracle oinstall 24969 Nov 13 14:49 catbundle_PSU_OEMDB_GENERATE_2014Nov13_14_49_54.log
-rw-r--r--. 1 oracle oinstall 21946 Nov 13 14:50 catbundle_PSU_OEMDB_APPLY_2014Nov13_14_49_55.log
[oracle@oraem12ctrj001 catbundle]$ cat catbundle_PSU_OEMDB_GENERATE_2014Nov13_14_49_54.log | grep ORA-
[oracle@oraem12ctrj001 catbundle]$ cat catbundle_PSU_OEMDB_APPLY_2014Nov13_14_49_55.log | grep ORA-

Finally, let's apply the Generic JDBC Patch. Note that I don't need to shutdown the database again to apply that patch:

[oracle@oraem12ctrj001 catbundle]$ cd /home/oracle/opatch/
[oracle@oraem12ctrj001 opatch]$ unzip p19852360_112040_Generic.zip
Archive:  p19852360_112040_Generic.zip
...
[oracle@oraem12ctrj001 opatch]$ cd 19852360
[oracle@oraem12ctrj001 19852360]$ opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.4/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.4/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/19852360_Nov_13_2014_14_52_13/apply2014-11-13_14-52-13PM_1.log

Applying interim patch '19852360' to OH '/u01/app/oracle/product/11.2.4/dbhome_1'
Verifying environment and performing prerequisite checks...
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y


Backing up files...

Patching component oracle.dbjava.jdbc, 11.2.0.4.0...

Patching component oracle.dbjava.ic, 11.2.0.4.0...

Verifying the update...
Patch 19852360 successfully applied
Log file location: /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/19852360_Nov_13_2014_14_52_13/apply2014-11-13_14-52-13PM_1.log

OPatch succeeded.

Time to check the 3 installed patches with opatch utility:

[oracle@oraem12ctrj001 19852360]$ opatch lsinv
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.4/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.4/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/opatch2014-11-13_14-52-56PM_1.log

Lsinventory Output file location : /u01/app/oracle/product/11.2.4/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2014-11-13_14-52-56PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):

Oracle Database 11g                                                  11.2.0.4.0
There are 1 product(s) installed in this Oracle Home.


Interim patches (3) :

Patch  19852360     : applied on Thu Nov 13 14:52:35 BRST 2014
Unique Patch ID:  18170553
   Created on 20 Oct 2014, 08:17:43 hrs PST8PDT
   Bugs fixed:
     19852360

Patch  19282021     : applied on Thu Nov 13 14:40:30 BRST 2014
Unique Patch ID:  18038643
Patch description:  "ORACLE JAVAVM COMPONENT 11.2.0.4.1 DATABASE PSU (OCT2014)"
   Created on 13 Oct 2014, 09:16:25 hrs PST8PDT
   Bugs fixed:
     19006757, 19007266, 19153980, 19554117, 17201047, 19058059, 19231857
     17285560, 18458318, 17056813, 18933818, 18166577, 14774730, 19223010

Patch  19121551     : applied on Thu Nov 13 14:39:13 BRST 2014
Unique Patch ID:  17949166
Patch description:  "Database Patch Set Update : 11.2.0.4.4 (19121551)"
   Created on 6 Oct 2014, 10:07:57 hrs PST8PDT
Sub-patch  18522509; "Database Patch Set Update : 11.2.0.4.3 (18522509)"
Sub-patch  18031668; "Database Patch Set Update : 11.2.0.4.2 (18031668)"
Sub-patch  17478514; "Database Patch Set Update : 11.2.0.4.1 (17478514)"
   Bugs fixed:
     17288409, 17205719, 17811429, 17754782, 17726838, 13364795, 17311728
     17284817, 17441661, 13645875, 18199537, 16992075, 16542886, 17446237
     14565184, 17071721, 17610798, 17375354, 17449815, 17397545, 19463897
     18230522, 17235750, 16360112, 13866822, 17982555, 17478514, 12905058
     14338435, 13944971, 16929165, 12747740, 17546973, 14054676, 17088068
     18264060, 17343514, 17016369, 17042658, 14602788, 14657740, 17332800
     19211724, 13951456, 16315398, 17186905, 18744139, 16850630, 17437634
     19049453, 18673304, 17883081, 18641419, 17296856, 18262334, 17006183
     18277454, 17232014, 16855292, 10136473, 17705023, 17865671, 18554871
     19121551, 17588480, 17551709, 17344412, 17842825, 18681862, 17390160
     13955826, 13609098, 18139690, 17501491, 17239687, 17752121, 17299889
     17602269, 18673325, 17313525, 17242746, 19544839, 17600719, 18191164
     17571306, 19466309, 17951233, 18094246, 17165204, 17011832, 17040527
     16785708, 16180763, 17477958, 17174582, 17465741, 18522509, 17323222
     19463893, 16875449, 16524926, 17237521, 17596908, 17811438, 17811447
     18031668, 16912439, 16494615, 18061914, 17545847, 17082359, 19554106
     17614134, 17341326, 17891946, 19458377, 17716305, 17752995, 16392068
     19271443, 17767676, 17614227, 17040764, 17381384, 18973907, 18673342
     14084247, 17389192, 17006570, 17612828, 17721717, 13853126, 18203837
     17390431, 17570240, 14245531, 16043574, 16863422, 19727057, 17468141
     17786518, 17037130, 17267114, 18203838, 16198143, 16956380, 17478145
     14829250, 17394950, 17027426, 16268425, 18247991, 19584068, 14458214
     18436307, 17265217, 13498382, 16692232, 17786278, 17227277, 16042673
     16314254, 17443671, 16228604, 16837842, 17393683, 17787259, 18009564
     15861775, 16399083, 18018515, 16472716, 17050888, 14010183, 17325413
     16613964, 17080436, 17036973, 17761775, 16721594, 18280813, 15979965
     18203835, 17297939, 16731148, 17811456, 14133975, 17385178, 17586955
     16450169, 17655634, 9756271, 17892268, 17648596, 16220077, 16069901
     11733603, 16285691, 17587063, 18180390, 17393915, 18096714, 17238511
     17824637, 14285317, 19289642, 14764829, 18328509, 17622427, 16943711
     17346671, 18996843, 14852021, 17783588, 16618694, 17672719, 17546761



--------------------------------------------------------------------------------

OPatch succeeded.

As you can see the 3 patches are listed above.

My last step is to turn on again the Database Vault:

[oracle@oraem12ctrj001 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 13 14:55:13 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options
[oracle@oraem12ctrj001 ~]$ chopt enable dv

Writing to /u01/app/oracle/product/11.2.4/dbhome_1/install/enable_dv.log...
/usr/bin/make -f /u01/app/oracle/product/11.2.4/dbhome_1/rdbms/lib/ins_rdbms.mk dv_on ORACLE_HOME=/u01/app/oracle/product/11.2.4/dbhome_1
/usr/bin/make -f /u01/app/oracle/product/11.2.4/dbhome_1/rdbms/lib/ins_rdbms.mk ioracle ORACLE_HOME=/u01/app/oracle/product/11.2.4/dbhome_1

My database is finally ready to be started up again and with all the corrections of OJVM, DB and JDBC applied!

Have you enjoyed? Please leave a comment or give a 👍!

3 comments

    • VR on August 19, 2016 at 12:02
    • Reply

    Un-linking DV from Oracle Home is pretty bad option because all customer data previously protected by DV remains un-protected.
    Why not to follow MOS Doc. ID 1935120.1 (OPTION 2: Temporarily granting the DV_PATCH_ADMIN role).
    Any concerns with this way of applying OJVM patch?

    1. Hi Vadim,
      Yes applying DV_PATCH_ADMIN can also be a solution and an easier one indeed. However, regarding the unprotection, the client data will be only exposed during the patch application window where my listener will be out and no new connections will be appearing. So I don't see any problem related to security. But I do agree that the role approach can be faster (although I didn't test it..).
      Regards,
      RJ

  1. Will this patch work in container database PDB CDB?

Leave a Reply

Your email address will not be published.