Monday Jun 29, 2015

Premier Support for Oracle 11.2 has ended months ago

I have blogged many times about the End of Premier Support for Oracle Database 11.2 and the different stages and regulations for Extended Support for this release. But still I'm getting inquiries almost every day, internally and externally.

Let me first point out that I'm not a rep of Oracle Support. I'm just a Product Manager with some Oracle Support background. So you'll always have to consult our officially available documents and sources as regulations may change after I published this blog post. I'm just trying to summarize what I know at the moment to help you avoid some of the usual misunderstandings.

Premier Support for Oracle 11.2 has already ended

Fact. Premier Support for Oracle 11.2 has ended on Jan 31, 2015. Period. Regardless of the patch level you may be on. No further discussion here please. Just for your notes: this has happened a while ago in case you've missed the date:

Extended Support for Oracle 11.2 has started on Feb 1, 2015

  • For Oracle Database 11.2.0.1 there's no such Extended Support offering available.
    This information can be found in MOS Note:742060.1.
    .
  • For Oracle Database 11.2.0.2 there's no such Extended Support offering available.
    This information can be found in MOS Note:742060.1.
    .
  • For Oracle Database 11.2.0.3 Oracle will waive Extended Support.
    But any patching for Oracle Database 11.2.0.3 will end on 27-AUG-2015 meaning no further bug fixes or patches for Oracle Database 11.2.0.3 (including PSUs, SPUs and BPs) after 27-AUG-2015 (please see the table below). Any bug fixing support for Oracle 11.2.0.3 (of course including the waived Extended Support offering) will end at this date. No extension possible.
    This information can be found in MOS Note:742060.1.
    .
  • For Oracle Database 11.2.0.4 - the Terminal (final) Patch Set for Oracle Database 11.2 - Oracle will waive (no extra cost, no action required) the entire first year of Extended Support to every customer with a valid support contract. After 31-JAN-2016 you can purchase an additional maximum of two years of Extended Support for Oracle Database 11.2.0.4 only. 
    This information can be found in MOS Note:742060.1.
    .

Finally please look into MOS Note:742060.1 and MOS Note:1067455.1:

End of Patching

Quoting from MOS Note:1067455.1:

Support for Patch Set 11.2.0.3
Under the new policy for overlapping Patch Set support, 11.2.0.3 will continue to be supported through 27 August 2015. The last Critical Patch Updates (Security Patch Update and Patch Set Update) for 11.2.0.3 will be released in July 2015. After then you will need to be running on 11.2.0.4 or a supported 12.1 Patch Set to get Critical Patch Updates.

I have learned in the past weeks that some information in the official Support documents (Lifetime Support Policy)such as the Brochure for Technology Products (including of course the database but also a clear description about the different levels of support) is not clear and obvious to everybody. This docs don't differentiate between the several patch releases.  

Premier Extended Support Oracle Database

Therefore you will have to consult MOS Note:742060.1 for further clarification and specific dates per patch level. 

--Mike 

Tuesday Jun 23, 2015

Package Differences between Oracle 11.2.0.4 and 12.1.0.2?

The question sounds pretty trivial:

Which packages did exist in Oracle 11.2.0.4 but don't exist in Oracle 12.1.0.2 anymore?

And going a bit deeper into the topic,

Which procedures and functions calls of SYS packages have been changed since then?

.

A colleague of mine (thanks to Thomas Kempkens from ACS Support for writing up a fancy procedure - all credits go to him) had to dig this out for a customer,

See the result.
These packages don't exist in Oracle 12.1.0.2 anymore but did exist in Oracle 11.2.0.4 (without PSUs):

  • CWM2_OLAP_INSTALLER
  • DBMS_AMD
  • DBMS_APPCTX
  • DBMS_DBLINK
  • DBMS_DM_IMP_INTERNAL
  • DBMS_DM_UTIL_INTERNAL
  • DBMS_DUMA_INTERNAL
  • DBMS_JDM_INTERNAL
  • DBMS_RULE_COMPATIBLE_90
  • DBMS_SQL2
  • DBMS_XDSUTL
  • DBMS_XS_SECCLASS_INT
  • DBMS_XS_SECCLASS_INT_FFI
  • EXF$DBMS_EXPFIL_SYSPACK
  • HTMLDB_SYSTEM
  • ODM_ABN_MODEL
  • SQLJUTL2

17 packages don't exist anymore.

And this is the list of
Procedures and Functions Calls inside of Oracle SYS packages which have changed in Oracle 12.1.0.2:

  • PACKAGE_NAME               SUBTYPE    SUBTYPE_NAME
  • -------------------------- ---------- ------------------------------------------------
  • CWM2_OLAP_INSTALLER        PROCEDURE  VALIDATE_CWM2_INSTALL
  • DBMS_AMD                   PROCEDURE  MOVE_OLAP_CATALOG
  • DBMS_APPCTX                PROCEDURE  CLEAR_CONTEXT
  • DBMS_APPCTX                PROCEDURE  SET_CONTEXT
  • DBMS_AQADM_SYS             PROCEDURE  GET_CORR_MSG
  • DBMS_AQADM_SYS             PROCEDURE  RESET_CORR_MSG
  • DBMS_AQADM_SYSCALLS        PROCEDURE  KWQA_3GL_UPDPERSTATS
  • DBMS_DATA_MINING           FUNCTION   GET_MODEL_DETAILS_ABN RETURNS DM_ABN_DETAILS
  • DBMS_DATA_MINING_INTERNAL  PROCEDURE  CREATE_TEMP_META_TABLE
  • DBMS_DBLINK                PROCEDURE  UPGRADE
  • DBMS_DDL_INTERNAL          FUNCTION   GEN_NEW_OBJECT_ID RETURNS BINARY_INTEGER
  • DBMS_DM_EXP_INTERNAL       FUNCTION   GET_TRACE RETURNS BOOLEAN
  • DBMS_DM_EXP_INTERNAL       PROCEDURE  DELETE_FROM_TEMP
  • DBMS_DM_EXP_INTERNAL       PROCEDURE  DO_TEMP_TABLE
  • DBMS_DM_EXP_INTERNAL       PROCEDURE  DUMP_STATUS
  • DBMS_DM_EXP_INTERNAL       PROCEDURE  GET_LIST_MODELS
  • DBMS_DM_EXP_INTERNAL       PROCEDURE  INSERT_LIST_MODELS
  • DBMS_DM_EXP_INTERNAL       PROCEDURE  SET_TRACE
  • DBMS_DM_IMP_INTERNAL       PROCEDURE  REGISTER_TEMP_TABLE
  • DBMS_DM_IMP_INTERNAL       PROCEDURE  UNREGIST_TEMP_TABLE
  • DBMS_DM_MODEL_EXP          FUNCTION   INSTANCE_INFO_EXP RETURNS VARCHAR2
  • DBMS_DM_MODEL_EXP          FUNCTION   SCHEMA_INFO_EXP RETURNS VARCHAR2
  • DBMS_DM_MODEL_EXP          PROCEDURE  SCHEMA_CALLOUT
  • DBMS_DM_UTIL               PROCEDURE  DISPLAY_MSG
  • DBMS_DM_UTIL               PROCEDURE  DUMP_MSG
  • DBMS_DM_UTIL_INTERNAL      PROCEDURE  DUMP_DM_TRACE
  • DBMS_DUMA_INTERNAL         FUNCTION   GET_PROPERTY RETURNS NUMBER
  • DBMS_DUMA_INTERNAL         FUNCTION   READ_LONG_TO_BLOB RETURNS BLOB
  • DBMS_DUMA_INTERNAL         PROCEDURE  CONVERT_LONG
  • DBMS_DUMA_INTERNAL         PROCEDURE  SCAN_TABLE
  • DBMS_DUMA_INTERNAL         PROCEDURE  WRITE_BLOB_TO_LONG
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  EDS_EVOLVE_TABLE_1_FINISH
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  END_INSTANTIATION
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  INSTANTIATE_FEATURE
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  LOCK_TABLES
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  PREPARE_INSTANTIATION
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  REGISTER_SCHEMA
  • DBMS_INTERNAL_LOGSTDBY     PROCEDURE  UNSUPPORTED_DML
  • DBMS_JAVA                  FUNCTION   DEPLOY_INVOKE RETURNS VARCHAR2
  • DBMS_JAVA                  FUNCTION   DROP_JAR RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   FINISH_LOADING_JAR RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   GETSOURCECHUNK RETURNS VARCHAR2
  • DBMS_JAVA                  FUNCTION   HANDLEMD5 RETURNS RAW
  • DBMS_JAVA                  FUNCTION   INITGETSOURCECHUNKS RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   JAR_STATUS RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   RJBC_INIT RETURNS VARCHAR2
  • DBMS_JAVA                  FUNCTION   RJBC_NORMALIZE RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   RJBC_REQUEST RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   RJBC_RESPOND RETURNS NUMBER
  • DBMS_JAVA                  FUNCTION   START_LOADING_JAR RETURNS NUMBER
  • DBMS_JAVA                  PROCEDURE  DEPLOY_COPY
  • DBMS_JAVA                  PROCEDURE  DEPLOY_OPEN
  • DBMS_JAVA                  PROCEDURE  RJBC_DONE
  • DBMS_JAVA                  PROCEDURE  RJBC_OUTPUT
  • DBMS_JDM_INTERNAL          FUNCTION   GET_JDM_ATTR_NAMES RETURNS JDM_ATTR_NAMES
  • DBMS_JDM_INTERNAL          FUNCTION   GET_JDM_NUM_VALS RETURNS JDM_NUM_VALS
  • DBMS_JDM_INTERNAL          FUNCTION   GET_JDM_STR_VALS RETURNS JDM_STR_VALS
  • DBMS_JDM_INTERNAL          FUNCTION   TO_CHAR_VARRAY RETURNS VARCHAR2
  • DBMS_JDM_INTERNAL          FUNCTION   UNIQUE_OBJECT_NAME RETURNS VARCHAR2
  • DBMS_JDM_INTERNAL          PROCEDURE  APPLY_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  BUILD_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  EXPLAIN_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  EXPORT_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  IMPORT_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  PREDICT_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  PROFILE_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  SQL_APPLY_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  TEST_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  XFORM_SEQ_TASK
  • DBMS_JDM_INTERNAL          PROCEDURE  XFORM_TASK
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  ADDXTENDEDPKLOGGROUP
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  DROPXTENDEDPKLOGGROUP
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  KRVGDRM2
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  LOGMNR_KRVILD
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  LOGMNR_KRVIULD
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  SET_PARAMETER
  • DBMS_LOGMNR_INTERNAL       PROCEDURE  UNSET_PARAMETER
  • DBMS_LOGSTDBY              FUNCTION   VALIDATE_AUTH RETURNS BOOLEAN
  • DBMS_LOGSTDBY              PROCEDURE  EDS_EVOLVE_TABLE
  • DBMS_METADATA_INT          PROCEDURE  CLEAR_CACHE
  • DBMS_METADATA_INT          PROCEDURE  CLEAR_XSL_CACHE
  • DBMS_OBJECTS_UTILS         FUNCTION   SPLIT_SOURCE RETURNS NUMBER
  • DBMS_OBJECTS_UTILS         PROCEDURE  RECOMPILE_TYPES
  • DBMS_OBJECTS_UTILS         PROCEDURE  UPDATE_TYPES
  • DBMS_REPORT                FUNCTION   STORE_FILE RETURNS NUMBER
  • DBMS_REPORT                PROCEDURE  CREATE_SHARED_DIRECTORY
  • DBMS_REPORT                PROCEDURE  DROP_SHARED_DIRECTORY
  • DBMS_RMIN                  PROCEDURE  INSTALL
  • DBMS_RMIN                  PROCEDURE  RM$_CALIBRATE_IO
  • DBMS_RMIN                  PROCEDURE  RM$_CLRPAREA
  • DBMS_RMIN                  PROCEDURE  RM$_CONSUMER_GROUP_MAPPING_PRI
  • DBMS_RMIN                  PROCEDURE  RM$_CRTPAREA
  • DBMS_RMIN                  PROCEDURE  RM$_CUP_CATEGORY
  • DBMS_RMIN                  PROCEDURE  RM$_CUP_GROUP
  • DBMS_RMIN                  PROCEDURE  RM$_CUP_PLAN
  • DBMS_RMIN                  PROCEDURE  RM$_CUP_PLAN_DIRECTIVE
  • DBMS_RMIN                  PROCEDURE  RM$_CUP_STORAGE_POOL_MAPPING
  • DBMS_RMIN                  PROCEDURE  RM$_DRP_CATEGORY
  • DBMS_RMIN                  PROCEDURE  RM$_DRP_GROUP
  • DBMS_RMIN                  PROCEDURE  RM$_DRP_PLAN
  • DBMS_RMIN                  PROCEDURE  RM$_DRP_PLAN_CSD
  • DBMS_RMIN                  PROCEDURE  RM$_DRP_PLAN_DIRECTIVE
  • DBMS_RMIN                  PROCEDURE  RM$_SET_CAPABILITY
  • DBMS_RMIN                  PROCEDURE  RM$_SET_CONSUMER_GROUP_MAPPING
  • DBMS_RMIN                  PROCEDURE  RM$_SET_INSTANCE_CAPABILITY
  • DBMS_RMIN                  PROCEDURE  RM$_SUBPAREA
  • DBMS_RMIN                  PROCEDURE  RM$_SWTCH_SESSION_GROUP
  • DBMS_RMIN                  PROCEDURE  RM$_SWTCH_USR_GROUP
  • DBMS_RMIN                  PROCEDURE  RM$_VLDPAREA
  • DBMS_RMIN                  PROCEDURE  UNINSTALL
  • DBMS_RULE_COMPATIBLE_90    FUNCTION   INCOMPATIBLE_RULES_ENGINE_OBJ RETURNS NUMBER
  • DBMS_RULE_COMPATIBLE_90    PROCEDURE  DOWNGRADE_RULE_OBJECTS
  • DBMS_RULE_COMPATIBLE_90    PROCEDURE  INCOMPATIBLE_EVCTXS
  • DBMS_RULE_COMPATIBLE_90    PROCEDURE  INCOMPATIBLE_RULES
  • DBMS_RULE_COMPATIBLE_90    PROCEDURE  INCOMPATIBLE_RULESETS
  • DBMS_RULE_COMPATIBLE_90    PROCEDURE  UPGRADE_RULE_OBJECTS
  • DBMS_SPM_INTERNAL          FUNCTION   FETCH_PLAN_INFO RETURNS REF CURSOR
  • DBMS_SPM_INTERNAL          PROCEDURE  GET_SPM_HINTSET
  • DBMS_SQL2                  PROCEDURE  EXPAND_SQL_TEXT
  • DBMS_SQL2                  PROCEDURE  PARSE
  • DBMS_STATS                 FUNCTION   TO_CASCADE_TYPE RETURNS BOOLEAN
  • DBMS_STATS                 FUNCTION   TO_DEGREE_TYPE RETURNS NUMBER
  • DBMS_STATS                 FUNCTION   TO_ESTIMATE_PERCENT_TYPE RETURNS NUMBER
  • DBMS_STATS                 FUNCTION   TO_PUBLISH_TYPE RETURNS BOOLEAN
  • DBMS_STATS_INTERNAL        FUNCTION   COMPOSE_HASHVAL_CLOB RETURNS CLOBTAB
  • DBMS_STATS_INTERNAL        FUNCTION   GET_CHTAB RETURNS CHTAB
  • DBMS_STATS_INTERNAL        FUNCTION   GET_SYNOPSIS_BLKCNT RETURNS NUMBER(38)
  • DBMS_STATS_INTERNAL        PROCEDURE  DELETE_TABLE_SYNOPSIS
  • DBMS_STATS_INTERNAL        PROCEDURE  EXPORT_SYNOPSIS_HEAD
  • DBMS_SWRF_REPORT_INTERNAL  FUNCTION   TO_1000S RETURNS VARCHAR2
  • DBMS_SWRF_REPORT_INTERNAL  FUNCTION   TO_1024S RETURNS VARCHAR2
  • DBMS_WORKLOAD_REPLAY       FUNCTION   SYNCPOINT_WAIT_TO_POST RETURNS NUMBER
  • DBMS_WRR_INTERNAL          FUNCTION   DATE_TO_EPOCH_SECS RETURNS BINARY_INTEGER
  • DBMS_WRR_INTERNAL          FUNCTION   IS_CONSOLIDATED_DIR RETURNS BOOLEAN
  • DBMS_XDS                   PROCEDURE  REFRESH_DSD
  • DBMS_XDSUTL                PROCEDURE  INVALIDATE_DSD_CACHE
  • DBMS_XDSUTL                PROCEDURE  INVALIDATE_DSD_CACHE_BY_ACLID
  • DBMS_XS_SECCLASS_INT       PROCEDURE  DELETE_SEC_CLASS
  • DBMS_XS_SECCLASS_INT       PROCEDURE  GET_LEAF_PRIVILEGES
  • DBMS_XS_SECCLASS_INT_FFI   PROCEDURE  DELETE_SEC_CLASS
  • DBMS_XS_SECCLASS_INT_FFI   PROCEDURE  GET_LEAF_PRIVILEGES
  • DBMS_XS_SESSIONS           FUNCTION   CHECK_ROLE RETURNS BOOLEAN
  • DBMS_XS_SESSIONS           FUNCTION   CHECK_SESSION RETURNS BOOLEAN
  • DBMS_XS_SESSIONS           FUNCTION   GET_SESSIONID_FROM_COOKIE RETURNS RAW
  • DBMS_XS_SESSIONS           PROCEDURE  ABORTATTACH_SESSION
  • DBMS_XS_SESSIONS           PROCEDURE  GET_SESSION_COOKIE
  • DBMS_XS_SESSIONS           PROCEDURE  SET_NAMESPACE_ACL
  • DBMS_XS_SESSIONS           PROCEDURE  SET_NAMESPACE_HANDLER
  • DBMS_XS_SESSIONS_FFI       PROCEDURE  ABORTATTACH_SESSION
  • DBMS_XS_SESSIONS_FFI       PROCEDURE  CHECK_ROLE
  • DBMS_XS_SESSIONS_FFI       PROCEDURE  CHECK_SESSION
  • DBMS_XS_SESSIONS_FFI       PROCEDURE  GET_SESSION_COOKIE
  • DBMS_XS_SESSIONS_FFI       PROCEDURE  SET_NAMESPACE_ACL
  • DBMS_XS_SESSIONS_FFI       PROCEDURE  SET_NAMESPACE_HANDLER
  • DMP_SEC                    FUNCTION   GET_MODEL_DETAILS_ABN RETURNS VARCHAR2(32767)
  • DMP_SYS                    PROCEDURE  DUMP_MODEL_REC
  • DMP_SYS                    PROCEDURE  DUMP_TRACE
  • DMP_SYS                    PROCEDURE  DUMP_VARCHAR2A
  • DMP_SYS                    PROCEDURE  DUMP_VARCHAR2S
  • DM_QGEN                    PROCEDURE  LS_DUMP
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_CMTSCN_FOR_XID RETURNS NUMBER
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_EXPRID_4M_TEXTID RETURNS VARCHAR2
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_SPATIAL_MDATAREP RETURNS VARCHAR2
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_TAB_NAME RETURNS VARCHAR2
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_TAB_OWNER RETURNS VARCHAR2
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_TYPELV_STATUS RETURNS VARCHAR2
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   GET_TYPE_OID RETURNS RAW
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   PROC_IS_DEFINERS RETURNS NUMBER
  • EXF$DBMS_EXPFIL_SYSPACK    FUNCTION   TAB_COLUMN_EXISTS RETURNS NUMBER
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  CLR_EXP_DEPACTION
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  CLR_OBJECT_NOEXP
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  CLR_USER_NOEXP
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  DOWNGRADE_COMPILED_SPARSE
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  PARSE_PROC_AS_OWNER
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  PARSE_PROC_AS_OWNER2
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  SET_EXP_DEPACTION
  • EXF$DBMS_EXPFIL_SYSPACK    PROCEDURE  SET_OBJECT_NOEXP
  • HTMLDB_SYSTEM              FUNCTION   VERIFY_USER RETURNS BINARY_INTEGER
  • INITJVMAUX                 FUNCTION   DO_JIS_DROP RETURNS BOOLEAN
  • KUPD$DATA                  FUNCTION   CONVENTIONAL_LOAD_CALLOUT RETURNS BINARY_INTEGER
  • KUPF$FILE_INT              FUNCTION   GET_ENCPWD RETURNS RAW
  • KUPF$FILE_INT              FUNCTION   GET_OBFPWD RETURNS RAW
  • KUPF$FILE_INT              PROCEDURE  ENCRYPT_PWD
  • KUPP$PROC                  PROCEDURE  INTALGCONV
  • LOGMNR_DICT_CACHE          PROCEDURE  PURGE_SCN
  • LOGSTDBY_INTERNAL          PROCEDURE  EDS_EVOLVE_TABLE_1_I
  • ODM_ABN_MODEL              PROCEDURE  BUILD
  • ODM_ABN_MODEL              PROCEDURE  ESTIMATE_FEATUREBLD_TIME
  • ODM_ABN_MODEL              PROCEDURE  GET_MODEL_STATE
  • ODM_CLUSTERING_UTIL        FUNCTION   IS_DEBUG_ENABLED RETURNS BOOLEAN
  • ODM_MODEL_UTIL             FUNCTION   UNIQUE_SEQUENCE_NAME RETURNS VARCHAR2(30)
  • ODM_MODEL_UTIL             PROCEDURE  CREATE_SEQUENCE
  • ODM_MODEL_UTIL             PROCEDURE  DEBUG_DUMP
  • ODM_MODEL_UTIL             PROCEDURE  DROP_SEQUENCE
  • ODM_MODEL_UTIL             PROCEDURE  GET_TIME_MILLISECONDS
  • ODM_UTIL                   FUNCTION   COMPUTE_LOG_COMBINATIONS RETURNS NUMBER
  • PRVT_RTADDM                FUNCTION   EXTRACTOSSTAT RETURNS NUMBER
  • PRVT_RTADDM                FUNCTION   GETDATA RETURNS CLOB_T
  • PRVT_RTADDM                FUNCTION   GETVERSION RETURNS VARCHAR2
  • SQLJUTL2                   FUNCTION   EVALUATE RETURNS LONG RAW
  • SQLJUTL2                   FUNCTION   INVOKE RETURNS LONG RAW
  • SQLJUTL2                   FUNCTION   REFLECT RETURNS LONG
  • SQLJUTL2                   FUNCTION   REFLECT2 RETURNS CLOB
  • STANDARD                   FUNCTION   ASCII RETURNS BINARY_INTEGER

204 procedure and function calls have been changed.

-- Mike

PS: The above listening is without PSUs applied - I learned that the list my vary slightly based on the PSUs or BPs you have applied. Credits to my colleague Katsumi-san, who pointed my to the DBMS_OPTIM_BUNDLE package which seems to be introduced with the October 2014 PSU. Philippe Fierens has blogged about the package: http://pfierens.blogspot.co.uk/2014_10_01_archive.html

Friday Nov 07, 2014

Sleeping Beauties - Upgrade to 11.2.0.4 can be slow

A customer from the US did contact me past week via LinkedIn and raised a question:

"Is it expected that my patch set upgrade from Oracle 11.2.0.3 to Oracle 11.2.0.4 takes over 3 hours?"

Of course, no - this is not expected

This is the upgrade stats gathered post upgrade with utlu112s.sql:

SQL> @?/rdbms/admin/utlu112s.sql ; .
Oracle Database 11.2 Post-Upgrade Status Tool 10-31-2014 10:05:29
Component Current Version Elapsed Time
Name Status Number HH:MM:SS
Oracle Server  
. VALID 11.2.0.4.0 02:46:19
JServer JAVA Virtual Machine
. VALID 11.2.0.4.0 00:08:34
[..]
Final Actions
. 00:00:00
Total Upgrade Time: 03:06:47

No, this is not really expected. So we tried to nail down the root cause finding out these statements in the upgrade script c1102000.sql are causing the trouble:

194 -- wri$_optstat_histhead_history2.
195 execute immediate
196 q'#create unique index i_wri$_optstat_hh_obj_icol_st on
197 wri$_optstat_histhead_history (obj#, intcol#, savtime, colname)
198 tablespace sysaux #';
199
200 execute immediate
201 q'#create index i_wri$_optstat_hh_st on
202 wri$_optstat_histhead_history (savtime)
203 tablespace sysaux #';
204 end;
205 /

It's index rebuilds on histogram tables. And the customer has a large amount of stats data in his database as the default stats retention is 31 days.

Obviously the index rebuild is not done very efficiently (not done in parallel, no nologging clause). Those things can happen and sometimes this may not cause any issues. But in this case it lead to over 2 hours for just those index rebuilds.  

Luckily my colleague Cindy is an excellent resource for such things - after asking our team I've got the reply that this is tagged with a bug number and code fix already got checked in (under review right now):

bug19855835:
Upgrade from 11.2.0.2 to 11.2.0.4 is slow 

-Mike

PS: Credits go to Tan for bringing this to my attention - and sorry for the inconvenience! 

Thursday Apr 17, 2014

Avoid Poor Performance and Wrong Results in 11.2.0.4

One of the best notes in MOS got refreshed last night for Oracle Database 11.2.0.4. It has not only information about performance bugs but also about the worst and meanest category of issues, wrong query result bugs. Those are the ones I call the "sleeping beauties" as you as a DBA usually won't recognize them. It is recognized at the application level when the result of a report is incorrect or instead of 4 rows just 3 rows get delivered in the output. Therefore you should be highly aware of those and add this note to your bookmarks.

MOS Note 1645862.1Things to Consider Before Upgrading to 11.2.0.4 to Avoid Poor Performance or Wrong Results

And in case you don't want to move to Oracle 11.2.0.4 but searching for information and known issues in Oracle 11.2.0.3 or Oracle 11.2.0.2 then please find the corresponding documents:

  • MOS Note: 1320966.1 Things to Consider Before Upgrading to 11.2.0.2.x to Avoid Poor Performance or Wrong Results
  • MOS Note: 1392633.1 Things to Consider Before Upgrading to 11.2.0.3 to Avoid Poor Performance or Wrong Results
-Mike
About

Mike Dietrich - Oracle Mike Dietrich
Master Product Manager - Database Upgrade & Migrations - Oracle Corp

Based near Munich/Germany and spending plenty of time in airplanes to run either upgrade workshops or work onsite or remotely with reference customers. Acting as interlink between customers/partners and the Upgrade Development.

Follow me on TWITTER

Contact me via LinkedIn or XING

Search

Archives
« August 2015
SunMonTueWedThuFriSat
      
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
     
Today
Oracle related Tech Blogs
Slides Download Center
Visitors since 17-OCT-2011
White Paper and Docs
Workshops
Viewlets and Videos
This week on my Rega/iPod/CD
Workshop Map
Upgrade Reference Papers