{"id":4568,"date":"2020-04-17T21:05:38","date_gmt":"2020-04-18T00:05:38","guid":{"rendered":"https:\/\/www.dbarj.com.br\/?p=4568"},"modified":"2020-04-17T21:25:41","modified_gmt":"2020-04-18T00:25:41","slug":"oracle-april-2020-critical-patch-advisory-pl-sql-changes","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/","title":{"rendered":"Oracle April 2020 Critical Patch Advisory &#8211; PL\/SQL detailed changes"},"content":{"rendered":"<p><strong>Oracle April 2020 Critical Patch Advisory changed objects performed by each database patch.<\/strong><\/p>\n<p>For more details and the catalog, check the main post: <a href=\"https:\/\/www.dbarj.com.br\/en\/2020\/04\/dissecting-200414-bp-psu-ru-and-rur\/\" target=\"_blank\" rel=\"noopener noreferrer\">Dissecting 200414 BP, PSU, RU and RUR<\/a><\/p>\n<h2><strong>What exactly changed for each?<br \/>\n<span style=\"font-size: 18pt; color: #800000;\">(click to see detailed line changes)<\/span><\/strong><\/h2>\n<ul>\n<li>12.1.0.2\n<ul>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE.12.1.0.2_BP\">DVSYS.DBMS_MACADM &#8211; PACKAGE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.DBA_DV_PREPROCESSOR_AUTH.VIEW.12.1.0.2_BP\">DVSYS.DBA_DV_PREPROCESSOR_AUTH &#8211; VIEW 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLDIAG_INTERNAL.PACKAGE.12.1.0.2_BP\">SYS.DBMS_SQLDIAG_INTERNAL &#8211; PACKAGE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_ILM.PACKAGE.12.1.0.2_BP\">SYS.PRVT_ILM &#8211; PACKAGE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_QOPATCH.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REDEFINITION.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_REDEFINITION &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLDIAG_INTERNAL.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_SQLDIAG_INTERNAL &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.LOGMNR_DICT_CACHE.PACKAGE BODY.12.1.0.2_BP\">SYS.LOGMNR_DICT_CACHE &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_ILM.PACKAGE BODY.12.1.0.2_BP\">SYS.PRVT_ILM &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.SYS_PLSQL_1EE1A140_153_1.TYPE.12.1.0.2_BP\">SYS.SYS_PLSQL_1EE1A140_153_1 &#8211; TYPE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.SYS_PLSQL_1EE1A140_184_1.TYPE.12.1.0.2_BP\">SYS.SYS_PLSQL_1EE1A140_184_1 &#8211; TYPE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.SYS_PLSQL_1EE1A140_DUMMY_1.TYPE.12.1.0.2_BP\">SYS.SYS_PLSQL_1EE1A140_DUMMY_1 &#8211; TYPE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBA_ILMOBJECTS.VIEW.12.1.0.2_BP\">SYS.DBA_ILMOBJECTS &#8211; VIEW 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.USER_ILMOBJECTS.VIEW.12.1.0.2_BP\">SYS.USER_ILMOBJECTS &#8211; VIEW 12cR1 (BP)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>12.2.0.1\n<ul>\n<li><a href=\"#SYS.DBMS_AQJMS_INTERNAL.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_AQJMS_INTERNAL &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_HEAT_MAP_INTERNAL.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_HEAT_MAP_INTERNAL &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#SYS.LOGMNR_DICT_CACHE.PACKAGE BODY.12.2.0.1_RU\">SYS.LOGMNR_DICT_CACHE &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_FEATURE_JSON.PROCEDURE.12.2.0.1_RU\">SYS.DBMS_FEATURE_JSON &#8211; PROCEDURE 12cR2 (RU)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>18.0.0.0\n<ul>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.9RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 18c (18.9RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.8RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 18c (18.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.8RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 18c (18.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.9RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 18c (18.9RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.8RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 18c (18.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.9RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 18c (18.9RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_FEATURE_JSON.PROCEDURE.18.0.0.0_RU\">SYS.DBMS_FEATURE_JSON &#8211; PROCEDURE 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.CDB_WORKLOAD_CAPTURES.VIEW.18.0.0.0_RU\">SYS.CDB_WORKLOAD_CAPTURES &#8211; VIEW 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.CDB_WORKLOAD_REPLAY_FILTER_SET.VIEW.18.0.0.0_RU\">SYS.CDB_WORKLOAD_REPLAY_FILTER_SET &#8211; VIEW 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_WORKLOAD_CAPTURES.VIEW.18.0.0.0_RU\">SYS.DBA_WORKLOAD_CAPTURES &#8211; VIEW 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_WORKLOAD_REPLAY_FILTER_SET.VIEW.18.0.0.0_RU\">SYS.DBA_WORKLOAD_REPLAY_FILTER_SET &#8211; VIEW 18c (RU)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>19.0.0.0\n<ul>\n<li><a href=\"#AUDSYS.DBMS_AUDIT_MGMT.PACKAGE BODY.19.0.0.0_RU\">AUDSYS.DBMS_AUDIT_MGMT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#CTXSYS.DRIXMD.PACKAGE.19.0.0.0_RU\">CTXSYS.DRIXMD &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#CTXSYS.DRIPARSE.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRIPARSE &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#CTXSYS.DRIREPM.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRIREPM &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#CTXSYS.DRIXMD.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRIXMD &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#CTXSYS.DRVDDL.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRVDDL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE BODY.19.0.0.0_RU\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.LBAC_POLICY_ADMIN.PACKAGE.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.LBAC_POLICY_ADMIN_INT.PACKAGE.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.SA_USER_ADMIN.PACKAGE.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.SA_USER_ADMIN_INT.PACKAGE.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.LBAC_POLICY_ADMIN.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.LBAC_POLICY_ADMIN_INT.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.SA_SYSDBA.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.SA_SYSDBA &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.SA_USER_ADMIN.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#LBACSYS.SA_USER_ADMIN_INT.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_3GL.PACKAGE.19.0.0.0_RU\">MDSYS.SDO_3GL &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.RDF_APIS.PACKAGE BODY.19.0.0.0_RU\">MDSYS.RDF_APIS &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.RDF_APIS_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.RDF_APIS_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_GEOM.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_GEOM &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_RDF.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_RDF_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_UTIL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_UTIL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_RDF_TRIPLE_S.TYPE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF_TRIPLE_S &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_APP_CONT_ADMIN.PACKAGE.19.0.0.0_RU\">SYS.DBMS_APP_CONT_ADMIN &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_AUTOTASK_PRVT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_AUTOTASK_PRVT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.6RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 19c (19.6RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.5RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 19c (19.5RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_HADOOP_INTERNAL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_HADOOP_INTERNAL &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_JSON0.PACKAGE.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REDACT_INT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REDACT_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.6RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 19c (19.6RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.5RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 19c (19.5RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REPORT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REPORT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RLS_INT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_RLS_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLTUNE_UTIL2.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SQLTUNE_UTIL2 &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SWRF_REPORT_INTERNAL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SWRF_REPORT_INTERNAL &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.KUPU$UTILITIES_INT.PACKAGE.19.0.0.0_RU\">SYS.KUPU$UTILITIES_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_PERF.PACKAGE.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_ASH_OMX.PACKAGE.19.0.0.0_RU\">SYS.PRVT_ASH_OMX &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_AWR_VIEWER.PACKAGE.19.0.0.0_RU\">SYS.PRVT_AWR_VIEWER &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XS_DATA_SECURITY_INT.PACKAGE.19.0.0.0_RU\">SYS.XS_DATA_SECURITY_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XS_DIAG_INT.PACKAGE.19.0.0.0_RU\">SYS.XS_DIAG_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_APP_CONT_ADMIN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_APP_CONT_ADMIN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_AUTOTASK_PRVT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_AUTOTASK_PRVT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_AUTO_INDEX_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_AUTO_INDEX_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_AUTO_REPORT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_AUTO_REPORT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_HADOOP.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_HADOOP &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_HADOOP_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_HADOOP_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_JSON0.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_PART.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PART &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_PERF.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PERF &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.5RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 19c (19.5RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.6RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 19c (19.6RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REPORT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_REPORT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RLS.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RLS &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RLS_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RLS_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SPM.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SPM &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLTCB_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SQLTCB_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLTUNE_UTIL2.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SQLTUNE_UTIL2 &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SWRF_REPORT_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SWRF_REPORT_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.KUPF$FILE.PACKAGE BODY.19.0.0.0_RU\">SYS.KUPF$FILE &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.KUPU$UTILITIES_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.KUPU$UTILITIES_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.KUPW$WORKER.PACKAGE BODY.19.0.0.0_RU\">SYS.KUPW$WORKER &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_PERF.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_RSRCMGR.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_RSRCMGR &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_ASH_OMX.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVT_ASH_OMX &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_AWR_VIEWER.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVT_AWR_VIEWER &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVT_EMX.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVT_EMX &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XS_DATA_SECURITY.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DATA_SECURITY &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XS_DATA_SECURITY_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DATA_SECURITY_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XS_DIAG.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DIAG &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XS_DIAG_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DIAG_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.XOQ_VALIDATE.PROCEDURE.19.0.0.0_RU\">SYS.XOQ_VALIDATE &#8211; PROCEDURE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.WRI$_REPT_ASH_OMX.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_ASH_OMX &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.WRI$_REPT_AWRV.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_AWRV &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.WRI$_REPT_SESSION.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_SESSION &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.CDB_WORKLOAD_CAPTURES.VIEW.19.0.0.0_RU\">SYS.CDB_WORKLOAD_CAPTURES &#8211; VIEW 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_APP_VERSIONS.VIEW.19.0.0.0_RU\">SYS.DBA_APP_VERSIONS &#8211; VIEW 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_WORKLOAD_CAPTURES.VIEW.19.0.0.0_RU\">SYS.DBA_WORKLOAD_CAPTURES &#8211; VIEW 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_WORKLOAD_REPLAYS.VIEW.19.0.0.0_RU\">SYS.DBA_WORKLOAD_REPLAYS &#8211; VIEW 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_JSON.PACKAGE.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_JSON.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Changed Objects<\/h2>\n<p><span style=\"font-size: 12pt;\"><strong>P.S:<br \/>\n<\/strong><\/span><span style=\"font-size: 12pt;\"><strong>&gt; = Added Lines<br \/>\n&lt; = Removed Lines<\/strong><\/span><\/p>\n<h3><strong>12.1.0.2<\/strong><\/h3>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE.12.1.0.2_BP\">DVSYS.DBMS_MACADM &#8211; PACKAGE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1228a1229,1239\r\n&gt;   \/* APIs to authorize a user to execute PREPROCESSOR directive in external\r\n&gt;    * tables.\r\n&gt;    *\/\r\n&gt;   PROCEDURE authorize_preprocessor\r\n&gt;            ( uname       IN VARCHAR2\r\n&gt;            );\r\n&gt; \r\n&gt;   PROCEDURE unauthorize_preprocessor\r\n&gt;            ( uname       IN VARCHAR2\r\n&gt;            );\r\n&gt; \r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2419a2420,2431\r\n&gt; \r\n&gt; \r\n&gt;   PROCEDURE AUTHORIZE_PREPROCESSOR( UNAME IN VARCHAR2 ) IS\r\n&gt;   BEGIN\r\n&gt;     AUTHORIZE_DV_AUTH('PREPROCESSOR', UNAME, NULL, NULL, NULL);\r\n&gt;   END;\r\n&gt; \r\n&gt;   PROCEDURE UNAUTHORIZE_PREPROCESSOR( UNAME IN VARCHAR2 ) IS\r\n&gt;   BEGIN\r\n&gt;     REVOKE_DV_AUTH('PREPROCESSOR', UNAME, NULL, NULL, NULL);\r\n&gt;   END;\r\n&gt; \r\n<\/pre>\n<div id=\"DVSYS.DBA_DV_PREPROCESSOR_AUTH.VIEW.12.1.0.2_BP\">DVSYS.DBA_DV_PREPROCESSOR_AUTH &#8211; VIEW (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1,5\r\n&gt; SELECT\r\n&gt;     u1.name\r\n&gt; FROM dvsys.dv_auth$ da, sys.user$ u1\r\n&gt; WHERE da.grant_type = 'PREPROCESSOR' and da.grantee_id = u1.user#\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.DBMS_SQLDIAG_INTERNAL.PACKAGE.12.1.0.2_BP\">SYS.DBMS_SQLDIAG_INTERNAL &#8211; PACKAGE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">7a8\r\n&gt; \r\n8a10,12\r\n&gt;   ERR_INCID_INVALID             CONSTANT NUMBER := -56950;\r\n&gt;   ERR_INVALID_SQLID             CONSTANT NUMBER := -56975;\r\n&gt; \r\n67a72,73\r\n&gt;   \r\n&gt;   FUNCTION CLOB_TO_SQLPROF_ATTR(CL CLOB) RETURN SQLPROF_ATTR;\r\n72c78,96\r\n&lt;                    HINT_TEXT     IN VARCHAR2,\r\n---\r\n&gt;                    HINT_TEXT     IN CLOB,\r\n&gt;                    NAME          IN VARCHAR2 := NULL,\r\n&gt;                    DESCRIPTION   IN VARCHAR2 := NULL,\r\n&gt;                    CATEGORY      IN VARCHAR2 := 'DEFAULT',\r\n&gt;                    VALIDATE      IN BOOLEAN  := TRUE);\r\n&gt; \r\n&gt;   \r\n&gt;   PROCEDURE I_CREATE_HINTSET(\r\n&gt;                      SQL_ID        IN VARCHAR2,\r\n&gt;                      HINT_TEXT     IN CLOB,\r\n&gt;                      NAME          IN VARCHAR2 := NULL,\r\n&gt;                      DESCRIPTION   IN VARCHAR2 := NULL,\r\n&gt;                      CATEGORY      IN VARCHAR2 := 'DEFAULT',\r\n&gt;                      VALIDATE      IN BOOLEAN  := TRUE);\r\n&gt; \r\n&gt;   \r\n&gt;   PROCEDURE I_CREATE_PATCH(\r\n&gt;                    SQL_ID        IN VARCHAR2,\r\n&gt;                    HINT_TEXT     IN CLOB,\r\n81c105\r\n&lt;                    HINT_TEXT     IN VARCHAR2,\r\n---\r\n&gt;                    HINT_TEXT     IN CLOB,\r\n<\/pre>\n<div id=\"SYS.PRVT_ILM.PACKAGE.12.1.0.2_BP\">SYS.PRVT_ILM &#8211; PACKAGE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">36c36,39\r\n&lt; \r\n---\r\n&gt;       \r\n&gt;       DICT_ROW_LEVEL_LOCKING CONSTANT NUMBER       := 32;\r\n&gt;       ROW_LVL_LOCKING_PREFIX CONSTANT VARCHAR2(20) := ' ROW LEVEL LOCKING '; \r\n&gt;   \r\n<\/pre>\n<div id=\"SYS.DBMS_QOPATCH.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">490a491,496\r\n&gt; \r\n&gt;   EV_TIMEOUT   BINARY_INTEGER := 18079311;\r\n&gt;   LV_VALUE     BINARY_INTEGER := 120;\r\n&gt; \r\n&gt;   TIMEOUT_VAL  INTEGER       := 120;\r\n&gt; \r\n639a646,659\r\n&gt;         DBMS_SYSTEM.READ_EV(EV_TIMEOUT, LV_VALUE);\r\n&gt; \r\n&gt;          \r\n&gt;          IF LV_VALUE &lt;= 0  THEN\r\n&gt;               TIMEOUT_VAL := 120;\r\n&gt;          ELSIF LV_VALUE &gt; 1800 THEN\r\n&gt;               TIMEOUT_VAL := 1800;\r\n&gt;          ELSE \r\n&gt;               TIMEOUT_VAL := LV_VALUE;   \r\n&gt;          END IF;\r\n&gt;  \r\n&gt;          IF DO_DEBUG THEN\r\n&gt;            DBMS_OUTPUT.PUT_LINE('run_job timeout set to =' || LV_VALUE || 'timeout =' || TIMEOUT_VAL);\r\n&gt;          END IF;\r\n649c669\r\n&lt;             IF JWTIME &gt; 120 THEN\r\n---\r\n&gt;             IF JWTIME &gt; TIMEOUT_VAL THEN\r\n709c729\r\n&lt;                            || ' time is more than 120Secs');\r\n---\r\n&gt;                            || ' time is more than' || TIMEOUT_VAL ||' Secs');\r\n759d778\r\n&lt; \r\n1456a1476\r\n&gt; PRAGMA                   AUTONOMOUS_TRANSACTION;\r\n1507a1528,1529\r\n&gt; \r\n&gt;   COMMIT;\r\n<\/pre>\n<div id=\"SYS.DBMS_REDEFINITION.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_REDEFINITION &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">54a55,57\r\n&gt;   CONS_REDEF_TABLE_API  CONSTANT PLS_INTEGER := 1;\r\n&gt; \r\n&gt;   \r\n104a108,109\r\n&gt;   \r\n&gt;   \r\n110c115,116\r\n&lt;                              CONT_ERR            IN BOOLEAN) IS\r\n---\r\n&gt;                              CONT_ERR            IN BOOLEAN,\r\n&gt;                              CALLER_FLAGS        IN PLS_INTEGER) IS\r\n121c127,128\r\n&lt;                CONT_ERR         SB1,       CONT_ERR         INDICATOR SB2)\r\n---\r\n&gt;                CONT_ERR         SB1,       CONT_ERR         INDICATOR SB2,\r\n&gt;                CALLER_FLAGS     UB4,       CALLER_FLAGS     INDICATOR SB2)\r\n2922a2930,2993\r\n&gt;   PROCEDURE FINISH_REDEF_TABLE_INT(UNAME          IN VARCHAR2,\r\n&gt;                                    ORIG_TABLE     IN VARCHAR2,\r\n&gt;                                    INT_TABLE      IN VARCHAR2,\r\n&gt;                                    PART_NAME      IN VARCHAR2 := NULL,\r\n&gt;                                    DML_LOCK_TIMEOUT IN PLS_INTEGER := NULL,\r\n&gt;                                    CONTINUE_AFTER_ERRORS  IN BOOLEAN := FALSE,\r\n&gt;                                    CALLER_FLAGS     IN PLS_INTEGER := 0) IS\r\n&gt;     NUM_PARTS        BINARY_INTEGER;\r\n&gt;     TMP_PARTS        DBMS_UTILITY.UNCL_ARRAY;\r\n&gt;     NUM_ITABS        BINARY_INTEGER;\r\n&gt;     TMP_ITABS        DBMS_UTILITY.UNCL_ARRAY;\r\n&gt;     CANON_UNAME      IDENS;\r\n&gt;     CANON_ORIGTAB    IDENS;\r\n&gt;     CANON_INTTAB     IDENS;\r\n&gt;     CANON_PARTNM     IDENS;\r\n&gt;   BEGIN\r\n&gt;     COMMIT WORK;\r\n&gt; \r\n&gt;     \r\n&gt;     IF (UNAME IS NULL) OR (ORIG_TABLE IS NULL) OR (INT_TABLE IS NULL) THEN\r\n&gt;       DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(INVALID_ARG_ERROR_NUM);\r\n&gt;     END IF;\r\n&gt;     \r\n&gt;     DBMS_UTILITY.COMMA_TO_TABLE(INT_TABLE, NUM_ITABS, TMP_ITABS);\r\n&gt;     CANON_UNAME(1)   := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(UNAME);\r\n&gt;     CANON_ORIGTAB(1) := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(ORIG_TABLE);\r\n&gt;     \r\n&gt;     FOR I IN 1..NUM_ITABS LOOP\r\n&gt;        CANON_INTTAB(I) := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(TMP_ITABS(I));\r\n&gt;     END LOOP;\r\n&gt;     \r\n&gt;     IF (PART_NAME IS NOT NULL) THEN\r\n&gt;        DBMS_UTILITY.COMMA_TO_TABLE(PART_NAME, NUM_PARTS, TMP_PARTS);\r\n&gt;        IF (NUM_ITABS != NUM_PARTS) THEN\r\n&gt;           DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(INVALID_ARG_ERROR_NUM);\r\n&gt;        END IF;\r\n&gt;        FOR I IN 1..NUM_PARTS LOOP\r\n&gt;           CANON_PARTNM(I) := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(TMP_PARTS(I));\r\n&gt;        END LOOP;\r\n&gt;     ELSE \r\n&gt;        CANON_PARTNM(1) := NULL;\r\n&gt;     END IF;    \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     IF (DML_LOCK_TIMEOUT &gt; 1000000 OR\r\n&gt;         DML_LOCK_TIMEOUT &lt; 0) THEN\r\n&gt;       DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(INVALID_DML_TIMEOUT_ERROR_NUM);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     FINISH_REDEF_INT(CANON_UNAME, CANON_ORIGTAB, CANON_INTTAB, CANON_PARTNM,\r\n&gt;                      DML_LOCK_TIMEOUT, CONTINUE_AFTER_ERRORS, CALLER_FLAGS);\r\n&gt; \r\n&gt;   END;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n2983a3055\r\n&gt;     CALLERFLAG      PLS_INTEGER := CONS_REDEF_TABLE_API;\r\n3472c3544,3545\r\n&lt;     FINISH_REDEF_TABLE(UNAME, TNAME, CANON_INAME);\r\n---\r\n&gt;     FINISH_REDEF_TABLE_INT(UNAME, TNAME, CANON_INAME, NULL, NULL, FALSE, \r\n&gt;                            CALLERFLAG);\r\n3623a3697,3698\r\n&gt;   \r\n&gt;   \r\n3627c3702\r\n&lt;                                PART_NAME      IN VARCHAR2 := NULL,                               \r\n---\r\n&gt;                                PART_NAME      IN VARCHAR2 := NULL,\r\n3630,3637d3704\r\n&lt;     NUM_PARTS        BINARY_INTEGER;\r\n&lt;     TMP_PARTS        DBMS_UTILITY.UNCL_ARRAY;\r\n&lt;     NUM_ITABS        BINARY_INTEGER;\r\n&lt;     TMP_ITABS        DBMS_UTILITY.UNCL_ARRAY;\r\n&lt;     CANON_UNAME      IDENS;\r\n&lt;     CANON_ORIGTAB    IDENS;\r\n&lt;     CANON_INTTAB     IDENS;\r\n&lt;     CANON_PARTNM     IDENS;\r\n3639,3675c3706,3708\r\n&lt;     COMMIT WORK;\r\n&lt; \r\n&lt;     \r\n&lt;     IF (UNAME IS NULL) OR (ORIG_TABLE IS NULL) OR (INT_TABLE IS NULL) THEN\r\n&lt;       DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(INVALID_ARG_ERROR_NUM);\r\n&lt;     END IF;\r\n&lt;     \r\n&lt;     DBMS_UTILITY.COMMA_TO_TABLE(INT_TABLE, NUM_ITABS, TMP_ITABS);\r\n&lt;     CANON_UNAME(1)   := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(UNAME);\r\n&lt;     CANON_ORIGTAB(1) := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(ORIG_TABLE);\r\n&lt;     \r\n&lt;     FOR I IN 1..NUM_ITABS LOOP\r\n&lt;        CANON_INTTAB(I) := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(TMP_ITABS(I));\r\n&lt;     END LOOP;\r\n&lt;     \r\n&lt;     IF (PART_NAME IS NOT NULL) THEN\r\n&lt;        DBMS_UTILITY.COMMA_TO_TABLE(PART_NAME, NUM_PARTS, TMP_PARTS);\r\n&lt;        IF (NUM_ITABS != NUM_PARTS) THEN\r\n&lt;           DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(INVALID_ARG_ERROR_NUM);\r\n&lt;        END IF;\r\n&lt;        FOR I IN 1..NUM_PARTS LOOP\r\n&lt;           CANON_PARTNM(I) := DBMS_SNAP_INTERNAL.CANONICALIZE_IDENTIFIER(TMP_PARTS(I));\r\n&lt;        END LOOP;\r\n&lt;     ELSE \r\n&lt;        CANON_PARTNM(1) := NULL;\r\n&lt;     END IF;    \r\n&lt;     \r\n&lt;     \r\n&lt;     \r\n&lt;     IF (DML_LOCK_TIMEOUT &gt; 1000000 OR\r\n&lt;         DML_LOCK_TIMEOUT &lt; 0) THEN\r\n&lt;       DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(INVALID_DML_TIMEOUT_ERROR_NUM);\r\n&lt;     END IF;\r\n&lt; \r\n&lt;     FINISH_REDEF_INT(CANON_UNAME, CANON_ORIGTAB, CANON_INTTAB, CANON_PARTNM,\r\n&lt;                      DML_LOCK_TIMEOUT, CONTINUE_AFTER_ERRORS);\r\n&lt; \r\n---\r\n&gt;     FINISH_REDEF_TABLE_INT(UNAME, ORIG_TABLE, INT_TABLE, PART_NAME,\r\n&gt;                            DML_LOCK_TIMEOUT, CONTINUE_AFTER_ERRORS,\r\n&gt;                            0);\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLDIAG_INTERNAL.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_SQLDIAG_INTERNAL &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">189a190,238\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION CLOB_TO_SQLPROF_ATTR(CL CLOB) RETURN SQLPROF_ATTR\r\n&gt;   IS\r\n&gt;     SQLPROF_V SQLPROF_ATTR;\r\n&gt;     OFFSET    INTEGER;\r\n&gt;     BUF_500   VARCHAR2(500 CHAR);\r\n&gt;     BUFLEN    INTEGER;\r\n&gt;   BEGIN\r\n&gt;     IF CL IS NULL THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     SQLPROF_V := SQLPROF_ATTR();\r\n&gt;     OFFSET := 1;\r\n&gt; \r\n&gt;     LOOP\r\n&gt;       BUF_500 := DBMS_LOB.SUBSTR(CL, 500, OFFSET);\r\n&gt;       BUFLEN := LENGTH(BUF_500);\r\n&gt; \r\n&gt;       IF (BUFLEN &gt; 0) THEN\r\n&gt;         SQLPROF_V.EXTEND(1);\r\n&gt;         SQLPROF_V(SQLPROF_V.COUNT) := BUF_500;\r\n&gt;       END IF;\r\n&gt; \r\n&gt;       \r\n&gt;       EXIT WHEN (BUFLEN &lt; 500 OR BUFLEN IS NULL);\r\n&gt; \r\n&gt;       \r\n&gt;       OFFSET := OFFSET + BUFLEN;\r\n&gt;     END LOOP;\r\n&gt; \r\n&gt;     RETURN SQLPROF_V;\r\n&gt; \r\n&gt;   END CLOB_TO_SQLPROF_ATTR;\r\n196c245\r\n&lt; \t\t   HINT_TEXT     IN VARCHAR2,\r\n---\r\n&gt; \t\t   HINT_TEXT     IN CLOB,\r\n212c261\r\n&lt;     HS := SYS.SQLPROF_ATTR(HINT_TEXT);\r\n---\r\n&gt;     HS := CLOB_TO_SQLPROF_ATTR(HINT_TEXT);\r\n226a276,322\r\n&gt;   PROCEDURE I_CREATE_HINTSET(\r\n&gt; \t\t   SQL_ID        IN VARCHAR2,\r\n&gt; \t\t   HINT_TEXT     IN CLOB,\r\n&gt; \t\t   NAME          IN VARCHAR2 := NULL,\r\n&gt; \t\t   DESCRIPTION   IN VARCHAR2 := NULL,\r\n&gt; \t\t   CATEGORY      IN VARCHAR2 := 'DEFAULT',\r\n&gt;                    VALIDATE      IN BOOLEAN  := TRUE)\r\n&gt;   IS\r\n&gt;     SQL_TEXT  CLOB;\r\n&gt;     GETSQLTXTQ VARCHAR2(150);\r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     COMMIT;\r\n&gt; \r\n&gt;     \r\n&gt;     DBMS_SMB.CHECK_SMB_PRIV;\r\n&gt; \r\n&gt;     \r\n&gt;     BEGIN\r\n&gt;     IF SQL_ID IS NOT NULL THEN \r\n&gt;       GETSQLTXTQ := 'select sql_fulltext from sys.v$sql ' ||\r\n&gt;                      'where upper(sql_id) = upper(:sqlid) and '||\r\n&gt;                      '      rownum = 1 ';\r\n&gt;       EXECUTE IMMEDIATE GETSQLTXTQ INTO SQL_TEXT USING SQL_ID;\r\n&gt;     ELSE\r\n&gt;       DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(\r\n&gt;                      SYS.DBMS_SQLDIAG_INTERNAL.ERR_INCID_INVALID);\r\n&gt;     END IF;\r\n&gt;     EXCEPTION \r\n&gt;       WHEN NO_DATA_FOUND THEN\r\n&gt;         DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(\r\n&gt;                        SYS.DBMS_SQLDIAG_INTERNAL.ERR_INVALID_SQLID);\r\n&gt;       WHEN OTHERS THEN\r\n&gt;         RAISE;\r\n&gt;     END;\r\n&gt; \r\n&gt;     I_CREATE_HINTSET (SQL_TEXT =&gt; SQL_TEXT, \r\n&gt;                       HINT_TEXT =&gt; HINT_TEXT, \r\n&gt;                       NAME =&gt; NAME, \r\n&gt;                       DESCRIPTION=&gt; DESCRIPTION, \r\n&gt;                       CATEGORY=&gt; CATEGORY, \r\n&gt;                       VALIDATE =&gt; VALIDATE);\r\n&gt;   END;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n229c325\r\n&lt; \t\t   HINT_TEXT     IN VARCHAR2,\r\n---\r\n&gt; \t\t   HINT_TEXT     IN CLOB,\r\n245c341\r\n&lt;     HS := SYS.SQLPROF_ATTR(HINT_TEXT);\r\n---\r\n&gt;     HS := CLOB_TO_SQLPROF_ATTR(HINT_TEXT);\r\n256a353,399\r\n&gt;   END;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   PROCEDURE I_CREATE_PATCH(\r\n&gt; \t\t   SQL_ID        IN VARCHAR2,\r\n&gt; \t\t   HINT_TEXT     IN CLOB,\r\n&gt; \t\t   NAME          IN VARCHAR2 := NULL,\r\n&gt; \t\t   DESCRIPTION   IN VARCHAR2 := NULL,\r\n&gt; \t\t   CATEGORY      IN VARCHAR2 := 'DEFAULT',\r\n&gt;                    VALIDATE      IN BOOLEAN  := TRUE)\r\n&gt;   IS\r\n&gt;     SQL_TEXT  CLOB;\r\n&gt;     GETSQLTXTQ VARCHAR2(150);\r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     COMMIT;\r\n&gt; \r\n&gt;     \r\n&gt;     DBMS_SMB.CHECK_SMB_PRIV;\r\n&gt; \r\n&gt;     \r\n&gt;     BEGIN\r\n&gt;     IF SQL_ID IS NOT NULL THEN \r\n&gt;       GETSQLTXTQ := 'select sql_fulltext from sys.v$sql ' ||\r\n&gt;                      'where upper(sql_id) = upper(:sqlid) and '||\r\n&gt;                      '      rownum = 1';\r\n&gt;       EXECUTE IMMEDIATE GETSQLTXTQ INTO SQL_TEXT USING SQL_ID;\r\n&gt;     ELSE\r\n&gt;       DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(\r\n&gt;                      SYS.DBMS_SQLDIAG_INTERNAL.ERR_INCID_INVALID);\r\n&gt;     END IF;\r\n&gt;     EXCEPTION \r\n&gt;       WHEN NO_DATA_FOUND THEN\r\n&gt;         DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(\r\n&gt;                        SYS.DBMS_SQLDIAG_INTERNAL.ERR_INVALID_SQLID);\r\n&gt;       WHEN OTHERS THEN\r\n&gt;         RAISE;\r\n&gt;     END;\r\n&gt; \r\n&gt;     I_CREATE_PATCH (SQL_TEXT =&gt; SQL_TEXT, \r\n&gt;                     HINT_TEXT =&gt; HINT_TEXT, \r\n&gt;                     NAME =&gt; NAME, \r\n&gt;                     DESCRIPTION=&gt; DESCRIPTION, \r\n&gt;                     CATEGORY=&gt; CATEGORY, \r\n&gt;                     VALIDATE =&gt; VALIDATE);\r\n<\/pre>\n<div id=\"SYS.LOGMNR_DICT_CACHE.PACKAGE BODY.12.1.0.2_BP\">SYS.LOGMNR_DICT_CACHE &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">128a129\r\n&gt; \r\n134a136,138\r\n&gt; \r\n&gt; DUPLICATE_FOUND BOOLEAN := FALSE;\r\n&gt; \r\n136,139c140,167\r\n&lt;    INSERT INTO SYSTEM.LOGMNRC_CONCOL_GG (\r\n&lt;               LOGMNR_UID, CON#, INTCOL#, POS#, SPARE1, COMMIT_SCN) VALUES (\r\n&lt;               LM_LOGMNR_UID, LM_CON#, LM_INTCOL#, LM_POS#, LM_COLFLAGS,\r\n&lt;               LM_COMMIT_SCN);\r\n---\r\n&gt;   BEGIN\r\n&gt;     INSERT INTO SYSTEM.LOGMNRC_CONCOL_GG (\r\n&gt;                LOGMNR_UID, CON#, INTCOL#, POS#, SPARE1, COMMIT_SCN) VALUES (\r\n&gt;                LM_LOGMNR_UID, LM_CON#, LM_INTCOL#, LM_POS#, LM_COLFLAGS,\r\n&gt;                LM_COMMIT_SCN);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN DUP_VAL_ON_INDEX THEN\r\n&gt;       DUPLICATE_FOUND := TRUE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   IF (DUPLICATE_FOUND = TRUE) THEN\r\n&gt;     UPDATE SYSTEM.LOGMNRC_CONCOL_GG\r\n&gt;       SET  POS#           = LM_POS#,\r\n&gt;            SPARE1         = LM_COLFLAGS,\r\n&gt;            SPARE2         = NULL,\r\n&gt;            SPARE3         = NULL\r\n&gt;      WHERE LOGMNR_UID     = LM_LOGMNR_UID\r\n&gt;      AND   CON#           = LM_CON#\r\n&gt;      AND   INTCOL#        = LM_INTCOL#\r\n&gt;      AND   COMMIT_SCN     = LM_COMMIT_SCN;\r\n&gt;   END IF;\r\n156a185,189\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n172,173c205\r\n&lt;   CURSOR CONS_C (C_LOGMNR_UID IN NUMBER, C_BASEOBJV# IN NUMBER,\r\n&lt;                              C_BASEOBJ# IN NUMBER) IS\r\n---\r\n&gt;   CURSOR CONS_C (C_LOGMNR_UID IN NUMBER, C_BASEOBJ# IN NUMBER) IS\r\n191,192c223\r\n&lt;           FROM  SYSTEM.LOGMNR_USER$ U, \r\n&lt;                 SYSTEM.LOGMNR_CDEF$ CD, \r\n---\r\n&gt;           FROM  SYSTEM.LOGMNR_CDEF$ CD, \r\n194d224\r\n&lt;                 SYSTEM.LOGMNR_OBJ$ O, \r\n198,199c228\r\n&lt;                 U.LOGMNR_UID = C_LOGMNR_UID\r\n&lt;                 AND CD.LOGMNR_UID = C_LOGMNR_UID\r\n---\r\n&gt;                 CD.LOGMNR_UID = C_LOGMNR_UID\r\n201d229\r\n&lt;                 AND O.LOGMNR_UID = C_LOGMNR_UID\r\n204c232\r\n&lt;                 AND O.OBJ# = C_BASEOBJ#         \r\n---\r\n&gt;                 AND CD.OBJ# = C_BASEOBJ#         \r\n206d233\r\n&lt;                 AND O.OWNER# = U.USER# \r\n212,213c239\r\n&lt;                 AND CD.OBJ# = O.OBJ#\r\n&lt;     ORDER BY NAME, POSITION;\r\n---\r\n&gt;     ORDER BY CON#, POSITION;\r\n215,217c241,243\r\n&lt;     CURRENT_CON_NAME VARCHAR2(128);\r\n&lt;     LM_FLAGS NUMBER;\r\n&lt;     LM_CON# NUMBER;\r\n---\r\n&gt;     CURRENT_CON_CON#     NUMBER;\r\n&gt;     LM_FLAGS             NUMBER;\r\n&gt;     LM_CON#              NUMBER;\r\n219,221c245,249\r\n&lt;     LM_CON_NAME VARCHAR2(128);\r\n&lt;     LM_COMMIT_SCN NUMBER;\r\n&lt;     TRACE_LEVEL NUMBER;\r\n---\r\n&gt;     LM_CON_CON#          NUMBER;\r\n&gt;     LM_COMMIT_SCN        NUMBER;\r\n&gt;     TRACE_LEVEL          NUMBER;\r\n&gt;     AS_OF_SCN            NUMBER;\r\n&gt;     IS_DML_EVENT         NUMBER;\r\n226c254\r\n&lt;     CURRENT_CON_NAME := ' ';\r\n---\r\n&gt;     CURRENT_CON_CON# := NULL;\r\n235c263\r\n&lt;     FOR SEL_REC IN CONS_C (LM_LOGMNR_UID, LM_BASEOBJV#,LM_BASEOBJ#) \r\n---\r\n&gt;     FOR SEL_REC IN CONS_C (LM_LOGMNR_UID, LM_BASEOBJ#) \r\n237c265\r\n&lt;       LM_CON_NAME := SEL_REC.NAME;\r\n---\r\n&gt;       LM_CON_CON# := SEL_REC.CON#;\r\n242c270,271\r\n&lt;       IF CURRENT_CON_NAME &lt;&gt; LM_CON_NAME THEN\r\n---\r\n&gt;       IF (CURRENT_CON_CON# &lt;&gt; LM_CON_CON#) OR \r\n&gt;         (CURRENT_CON_CON# IS NULL) THEN\r\n256c285\r\n&lt;         CURRENT_CON_NAME := LM_CON_NAME;\r\n---\r\n&gt;         CURRENT_CON_CON# := LM_CON_CON#;\r\n258c287,288\r\n&lt;                        ':con_name='||CURRENT_CON_NAME||\r\n---\r\n&gt;                        ':con_name='||SEL_REC.NAME|| \r\n&gt;                        ':con_con#='||CURRENT_CON_CON#||\r\n397a428\r\n&gt; \r\n403a435,437\r\n&gt; \r\n&gt; DUPLICATE_FOUND BOOLEAN := FALSE;\r\n&gt; \r\n405,409c439,448\r\n&lt;    INSERT INTO SYSTEM.LOGMNRC_INDCOL_GG (\r\n&lt;               LOGMNR_UID, OBJ#, INTCOL#, POS#, SPARE1, COMMIT_SCN\r\n&lt;               ) VALUES (\r\n&lt;               LM_LOGMNR_UID, LM_INDEX_OBJ#, LM_INTCOL#, \r\n&lt;               LM_POS#, LM_COLFLAGS, LM_COMMIT_SCN);\r\n---\r\n&gt;   BEGIN\r\n&gt;     INSERT INTO SYSTEM.LOGMNRC_INDCOL_GG (\r\n&gt;                LOGMNR_UID, OBJ#, INTCOL#, POS#, SPARE1, COMMIT_SCN\r\n&gt;                ) VALUES (\r\n&gt;                LM_LOGMNR_UID, LM_INDEX_OBJ#, LM_INTCOL#, \r\n&gt;                LM_POS#, LM_COLFLAGS, LM_COMMIT_SCN);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN DUP_VAL_ON_INDEX THEN\r\n&gt;       DUPLICATE_FOUND := TRUE;\r\n&gt;   END;\r\n410a450,471\r\n&gt;   \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   IF (DUPLICATE_FOUND = TRUE) THEN\r\n&gt;     UPDATE SYSTEM.LOGMNRC_INDCOL_GG\r\n&gt;       SET  POS#           = LM_POS#,\r\n&gt;            SPARE1         = LM_COLFLAGS,\r\n&gt;            SPARE2         = NULL,\r\n&gt;            SPARE3         = NULL\r\n&gt;      WHERE LOGMNR_UID     = LM_LOGMNR_UID\r\n&gt;      AND   OBJ#           = LM_INDEX_OBJ#\r\n&gt;      AND   INTCOL#        = LM_INTCOL#\r\n&gt;      AND   COMMIT_SCN     = LM_COMMIT_SCN;\r\n&gt;   END IF;\r\n&gt;   \r\n426a488,496\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n481c551\r\n&lt;     ORDER BY NAME, POSITION;\r\n---\r\n&gt;     ORDER BY INDEX_OBJ#, POSITION;\r\n483,484c553,554\r\n&lt;     CURRENT_IND_NAME VARCHAR2(128);\r\n&lt;     LM_FLAGS NUMBER;\r\n---\r\n&gt;     CURRENT_IND_OBJ#     NUMBER;\r\n&gt;     LM_FLAGS             NUMBER;\r\n486,488c556,558\r\n&lt;     LM_IND_NAME VARCHAR2(128);\r\n&lt;     LM_COMMIT_SCN NUMBER;\r\n&lt;     TRACE_LEVEL NUMBER;\r\n---\r\n&gt;     LM_IND_OBJ#          NUMBER;\r\n&gt;     LM_COMMIT_SCN        NUMBER;\r\n&gt;     TRACE_LEVEL          NUMBER;\r\n493c563\r\n&lt;     CURRENT_IND_NAME := ' '; \r\n---\r\n&gt;     CURRENT_IND_OBJ# := NULL;\r\n504c574\r\n&lt;       LM_IND_NAME := SEL_REC.NAME;\r\n---\r\n&gt;       LM_IND_OBJ# := SEL_REC.INDEX_OBJ#;\r\n507,508c577,578\r\n&lt;                      'save_indexes:old='||CURRENT_IND_NAME||':new='||\r\n&lt;                      LM_IND_NAME);\r\n---\r\n&gt;                      'save_indexes:old obj#='||CURRENT_IND_OBJ#\r\n&gt;                      ||':new obj#='||LM_IND_OBJ#);\r\n513c583,584\r\n&lt;       IF CURRENT_IND_NAME &lt;&gt; LM_IND_NAME THEN\r\n---\r\n&gt;       IF (CURRENT_IND_OBJ# &lt;&gt; LM_IND_OBJ#) OR \r\n&gt;         (CURRENT_IND_OBJ# IS NULL) THEN\r\n515c586\r\n&lt;                     SEL_REC.INDEX_OBJ#, \r\n---\r\n&gt;                     LM_IND_OBJ#, \r\n517c588\r\n&lt;                     LM_IND_NAME,\r\n---\r\n&gt;                     SEL_REC.NAME,\r\n527c598\r\n&lt;         CURRENT_IND_NAME := LM_IND_NAME;\r\n---\r\n&gt;         CURRENT_IND_OBJ# := LM_IND_OBJ#;\r\n530c601,602\r\n&lt;                        ':con_name='||CURRENT_IND_NAME||\r\n---\r\n&gt;                        ':ind_name='||SEL_REC.NAME||\r\n&gt;                        ':ind_obj#='||CURRENT_IND_OBJ#||\r\n<\/pre>\n<div id=\"SYS.PRVT_ILM.PACKAGE BODY.12.1.0.2_BP\">SYS.PRVT_ILM &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">3420c3420\r\n&lt; \r\n---\r\n&gt;                       \r\n3434a3435,3442\r\n&gt;                                    \r\n&gt;                                    IF(BITAND(V_ILM_OBJPOLICY_INFO.FLAG,\r\n&gt;                                              DICT_ROW_LEVEL_LOCKING) = \r\n&gt;                                              DICT_ROW_LEVEL_LOCKING) \r\n&gt;                                    THEN\r\n&gt;                                   V_COMP_CLAUSE := V_COMP_CLAUSE ||\r\n&gt;                                                 ROW_LVL_LOCKING_PREFIX;\r\n&gt;                                    END IF;\r\n5109,5110c5117\r\n&lt;            TRACE(ILM_DEBUG_ENTRY_EXIT,\r\n&lt;                   'Exiting execute_ilm_policies ');\r\n---\r\n&gt; \r\n5112,5116d5118\r\n&lt;           BEGIN\r\n&lt;              PRVT_ILM.CREATE_TAB_ILMJOB(V_TAB_ILMJOB, EXECUTION_ID);\r\n&lt;              EXCEPTION\r\n&lt;           WHEN OTHERS THEN\r\n&lt;          \r\n5119,5121c5121,5127\r\n&lt;             NULL;\r\n&lt;           END;\r\n&lt;          \r\n---\r\n&gt;           \r\n&gt;           IF (V_TAB_ILMJOB.COUNT &gt; 0) THEN\r\n&gt;             BEGIN\r\n&gt;                PRVT_ILM.CREATE_TAB_ILMJOB(V_TAB_ILMJOB, EXECUTION_ID);\r\n&gt;                EXCEPTION\r\n&gt;             WHEN OTHERS THEN\r\n&gt;             \r\n5124c5130,5143\r\n&lt;           PRVT_ILM.UPDATE_TAB_ILMJOB(V_TAB_ILMJOB);\r\n---\r\n&gt;               NULL;\r\n&gt;             END;\r\n&gt;             \r\n&gt; \r\n&gt; \r\n&gt;             PRVT_ILM.UPDATE_TAB_ILMJOB(V_TAB_ILMJOB);\r\n&gt;           ELSE\r\n&gt;              \r\n&gt;             UPDATE SYS.ILM_EXECUTION$ ILMEXE\r\n&gt;                SET COMPLETION_TIME  = SYSTIMESTAMP,\r\n&gt;                    EXECUTION_STATE  = ILM_TASK_COMPLETE\r\n&gt;              WHERE ILMEXE.EXECUTION_ID = EXECUTE_ILM_POLICIES.EXECUTION_ID;\r\n&gt;           END IF;              \r\n&gt; \r\n6942a6962,6974\r\n&gt;     \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n6944,6967c6976,6991\r\n&lt;       SELECT B.EXECUTION_ID,\r\n&lt;              NVL(A.N_COUNT,0),\r\n&lt;              A.COMP_TIME\r\n&lt;         FROM \r\n&lt;         ( SELECT A.EXECUTION_ID, \r\n&lt;                  COUNT(*) N_COUNT,\r\n&lt;                  NVL(MAX(B.COMPLETION_TIME), SYSDATE)  COMP_TIME   \r\n&lt;             FROM SYS.ILM_EXECUTION$ A, \r\n&lt;                  SYS.ILM_RESULTS$ B\r\n&lt;            WHERE EXECUTION_STATE = ILM_TASK_ACTIVE\r\n&lt;              AND A.EXECUTION_ID = B.EXECUTION_ID \r\n&lt;              AND B.JOB_STATUS NOT IN (ILMJOB_SUCCESS, \r\n&lt;                                    ILMJOB_FAILED,\r\n&lt;                                    ILMJOB_FAILED_REBUILD_DEP,\r\n&lt;                                    ILMJOB_STOPPED,\r\n&lt;                                    ILMJOB_CREATION_FAILED,\r\n&lt;                                    ILMJOB_STATE_OTHER)\r\n&lt;            GROUP BY A.EXECUTION_ID\r\n&lt;            )A,\r\n&lt;            ILM_EXECUTION$ B\r\n&lt;      WHERE B.EXECUTION_ID = A.EXECUTION_ID (+)\r\n&lt;        AND EXECUTION_STATE = ILM_TASK_ACTIVE\r\n&lt;        AND (ROWNUM &lt;= N_TASKS \r\n&lt;                 OR N_TASKS = ALL_UNRESOL_TASKS);\r\n---\r\n&gt;       SELECT C.EXECUTION_ID,\r\n&gt;              (SELECT COUNT(*) N_COUNT FROM SYS.ILM_RESULTS$ A\r\n&gt;                WHERE A.EXECUTION_ID = C.EXECUTION_ID\r\n&gt;                  AND A.JOB_STATUS NOT IN (ILMJOB_SUCCESS,\r\n&gt;                                           ILMJOB_FAILED,\r\n&gt;                                           ILMJOB_FAILED_REBUILD_DEP,\r\n&gt;                                           ILMJOB_STOPPED,\r\n&gt;                                           ILMJOB_CREATION_FAILED,\r\n&gt;                                           ILMJOB_STATE_OTHER)) N_COUNT,\r\n&gt;              (SELECT NVL(MAX(B.COMPLETION_TIME), SYSDATE) COMP_TIME\r\n&gt;                 FROM SYS.ILM_RESULTS$ B\r\n&gt;                WHERE B.EXECUTION_ID = C.EXECUTION_ID) COMP_TIME\r\n&gt;         FROM SYS.ILM_EXECUTION$ C\r\n&gt;        WHERE C.EXECUTION_STATE = ILM_TASK_ACTIVE\r\n&gt;          AND (ROWNUM &lt;= N_TASKS\r\n&gt;                   OR N_TASKS = ALL_UNRESOL_TASKS);\r\n6994c7018,7019\r\n&lt;           WHERE V_TABTASKINFO(I).N_UNRESOL = 0;\r\n---\r\n&gt;           WHERE V_TABTASKINFO(I).N_UNRESOL = 0\r\n&gt;             AND EXECUTION_ID = V_TABTASKINFO(I).TASK_ID;\r\n<\/pre>\n<div id=\"SYS.SYS_PLSQL_1EE1A140_153_1.TYPE.12.1.0.2_BP\">SYS.SYS_PLSQL_1EE1A140_153_1 &#8211; TYPE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1,5\r\n&gt; type       SYS_PLSQL_1EE1A140_153_1 as object (DIMOWNER VARCHAR2(30 BYTE),\r\n&gt; DIMNAME VARCHAR2(30 BYTE),\r\n&gt; LVLNAME VARCHAR2(30 BYTE),\r\n&gt; ATREXPR VARCHAR2(100 BYTE));\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.SYS_PLSQL_1EE1A140_184_1.TYPE.12.1.0.2_BP\">SYS.SYS_PLSQL_1EE1A140_184_1 &#8211; TYPE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1\r\n&gt; type       SYS_PLSQL_1EE1A140_184_1 as table of \"SYS\".\"SYS_PLSQL_1EE1A140_153_1\";\r\n<\/pre>\n<div id=\"SYS.SYS_PLSQL_1EE1A140_DUMMY_1.TYPE.12.1.0.2_BP\">SYS.SYS_PLSQL_1EE1A140_DUMMY_1 &#8211; TYPE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1\r\n&gt; type       SYS_PLSQL_1EE1A140_DUMMY_1 as table of number;\r\n<\/pre>\n<div id=\"SYS.DBA_ILMOBJECTS.VIEW.12.1.0.2_BP\">SYS.DBA_ILMOBJECTS &#8211; VIEW (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">36,73d35\r\n&lt; minus\r\n&lt; select a.name, e.name, c.name, c.subname,\r\n&lt;        DECODE(c.type#,19, 'TABLE PARTITION',\r\n&lt;                       2,'TABLE',\r\n&lt;                       34,'TABLE SUBPARTITION'),\r\n&lt;        (CASE\r\n&lt;         WHEN bitand(a.FLAG,8) = 8\r\n&lt;              THEN 'TABLESPACE'\r\n&lt;         WHEN (b.obj_typ &lt;&gt; b.obj_typ_orig AND b.obj_typ_orig = 2)\r\n&lt;              THEN 'TABLE'\r\n&lt;         WHEN (b.obj_typ &lt;&gt; b.obj_typ_orig AND b.obj_typ_orig = 19)\r\n&lt;              THEN 'TABLE PARTITION'\r\n&lt;         ELSE 'POLICY NOT INHERITED'\r\n&lt;         END),\r\n&lt;        g.name,\r\n&lt;        (CASE\r\n&lt;         WHEN (bitand(b.FLAG,1)    = 1)\r\n&lt;              THEN 'NO'\r\n&lt;         ELSE 'YES'\r\n&lt;         END),\r\n&lt;        (CASE\r\n&lt;         WHEN (bitand(b.FLAG,64)    = 0)\r\n&lt;              THEN 'NO'\r\n&lt;         ELSE 'YES'\r\n&lt;         END)\r\n&lt;   from sys.ilm$ a,\r\n&lt;        sys.ilmobj$ b,\r\n&lt;        sys.obj$ c,\r\n&lt;        sys.user$ e,\r\n&lt;        sys.redef_object$ f,\r\n&lt;        sys.ts$ g\r\n&lt;  where a.policy#      = b.policy#\r\n&lt;    AND b.obj#         = c.obj#\r\n&lt;    AND c.owner#       = e.user#\r\n&lt;    AND f.obj_type     = 1\r\n&lt;    AND f.int_obj_owner= e.name\r\n&lt;    AND f.int_obj_name = c.name\r\n&lt;    AND g.ts# (+) = a.ts#\r\n<\/pre>\n<div id=\"SYS.USER_ILMOBJECTS.VIEW.12.1.0.2_BP\">SYS.USER_ILMOBJECTS &#8211; VIEW (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">59,119d58\r\n&lt; minus\r\n&lt; select a.name, d.name, c.name, c.subname,\r\n&lt;        DECODE(c.type#,19, 'TABLE PARTITION',\r\n&lt;                       2,'TABLE',\r\n&lt;                       34,'TABLE SUBPARTITION'),\r\n&lt;        (CASE\r\n&lt;         WHEN bitand(a.FLAG,8) = 8\r\n&lt;              THEN 'TABLESPACE'\r\n&lt;         WHEN (b.obj_typ &lt;&gt; b.obj_typ_orig AND b.obj_typ_orig = 2)\r\n&lt;              THEN 'TABLE'\r\n&lt;         WHEN (b.obj_typ &lt;&gt; b.obj_typ_orig AND b.obj_typ_orig = 19)\r\n&lt;              THEN 'TABLE PARTITION'\r\n&lt;         ELSE 'POLICY NOT INHERITED'\r\n&lt;         END),\r\n&lt;        g.name,\r\n&lt;        (CASE\r\n&lt;         WHEN (bitand(b.FLAG,1)    = 1)\r\n&lt;              THEN 'NO'\r\n&lt;         ELSE 'YES'\r\n&lt;         END),\r\n&lt;        (CASE\r\n&lt;         WHEN (bitand(b.FLAG,64)    = 0)\r\n&lt;              THEN 'NO'\r\n&lt;         ELSE 'YES'\r\n&lt;         END)\r\n&lt;   from sys.ilm$ a,\r\n&lt;        sys.ilmobj$ b,\r\n&lt;        sys.obj$ c,\r\n&lt;        sys.user$ d,\r\n&lt;        (select a.policy#\r\n&lt;           from sys.ilm$ a\r\n&lt;          where bitand(a.flag, 8) = 0\r\n&lt;            and a.owner# = userenv('SCHEMAID')\r\n&lt;         union\r\n&lt;         select a.policy#\r\n&lt;           from sys.ilm$ a ,\r\n&lt;                sys.ts$  b,\r\n&lt;                sys.tsq$ c\r\n&lt;         where  bitand(a.flag, 8) = 8\r\n&lt;           and  a.ts#    = b.ts#\r\n&lt;           and  b.ts#    = c.ts#\r\n&lt;           and  c.user# = userenv('SCHEMAID')\r\n&lt;           and (c.blocks &gt; 0 or c.maxblocks != 0)\r\n&lt;         union\r\n&lt;          select a.policy#\r\n&lt;           from sys.ilm$ a\r\n&lt;         where  bitand(a.flag, 8) = 8\r\n&lt;           and  exists\r\n&lt;          (select null\r\n&lt;             from sys.v$enabledprivs\r\n&lt;            where priv_number = -15 \/* UNLIMITED TABLESPACE *\/)) e,\r\n&lt;          sys.redef_object$ f,\r\n&lt;        sys.ts$ g\r\n&lt;  where a.policy#  = b.policy#\r\n&lt;    AND b.obj#     = c.obj#\r\n&lt;    AND c.owner#   = d.user#\r\n&lt;    AND a.policy#  = e.policy#\r\n&lt;    AND f.obj_type = 1\r\n&lt;    AND f.int_obj_owner= d.name\r\n&lt;    AND f.int_obj_name = c.name\r\n&lt;    AND g.ts# (+) = a.ts#\r\n<\/pre>\n<h3><strong>12.2.0.1<\/strong><\/h3>\n<div id=\"SYS.DBMS_AQJMS_INTERNAL.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_AQJMS_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1a2,3\r\n&gt;   MAXCHARSIZE         CONSTANT BINARY_INTEGER := 32767;\r\n&gt;   MAXRAWSIZE          CONSTANT BINARY_INTEGER := 2000;\r\n1249d1250\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('header_field_val: located = ' || LOCATED);\r\n1252d1252\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE( 'header_field_val: mtyp = ' || MTYP);\r\n1255d1254\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('header_field_val: located = ' || LOCATED);\r\n1258d1256\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('header_field_val: strlen = ' || STRLEN);\r\n1261d1258\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('header_field_val: located = ' || LOCATED);\r\n1264d1260\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('header_field_val: located = ' || LOCATED);\r\n1268d1263\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'header_field_val: ' || FIELD_NAME || ' = ' || LOCATED);\r\n1271a1267,1326\r\n&gt; PROCEDURE ADT_ENCAPSULATE_SMALL(\r\n&gt;         JMS_HEADER           IN    VARCHAR2,\r\n&gt;         JMS_USERPROP         IN    VARCHAR2,\r\n&gt;         JMS_MSG_TYP          IN    NUMBER,\r\n&gt;         HEADER               OUT   AQ$_JMS_HEADER) IS\r\n&gt; MTYP                     NUMBER;\r\n&gt; NAME                     VARCHAR2(32767) ;\r\n&gt; VAL                      VARCHAR2(32767) ;\r\n&gt; STRLEN                   NUMBER;\r\n&gt; COUNTER                  NUMBER := 0 ;\r\n&gt; LOCATED                  VARCHAR2(32767) ;\r\n&gt; AGENT                    SYS.AQ$_AGENT ;\r\n&gt; PROP                     SYS.AQ$_JMS_USERPROPERTY ;\r\n&gt; PROP_LIST                AQ$_JMS_USERPROPARRAY := SYS.AQ$_JMS_USERPROPARRAY() ;\r\n&gt; BEGIN\r\n&gt;   AGENT := SYS.AQ$_AGENT(HEADER_FIELD_VAL(JMS_HEADER, 'JMSReplyTo'), NULL, 0);\r\n&gt;   \r\n&gt;   IF ((JMS_MSG_TYP != 100) AND (JMS_USERPROP IS NOT NULL)) THEN\r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     COUNTER  := TO_NUMBER(SUBSTR(JMS_USERPROP,1,INSTR(JMS_USERPROP,',')-1));\r\n&gt;     \r\n&gt;     LOCATED  := SUBSTR(JMS_USERPROP,INSTR(JMS_USERPROP,',')+1);\r\n&gt; \r\n&gt;     PROP_LIST.EXTEND(COUNTER);\r\n&gt; \r\n&gt;     FOR I IN 1..COUNTER LOOP\r\n&gt;       \r\n&gt;       STRLEN := TO_NUMBER(SUBSTR(LOCATED,1,INSTR(LOCATED,',')-1));\r\n&gt;       \r\n&gt;       LOCATED  := SUBSTR(LOCATED,INSTR(LOCATED,',')+1);\r\n&gt;       \r\n&gt;       NAME := SUBSTR(LOCATED, 1, STRLEN);\r\n&gt;       \r\n&gt;       LOCATED  := SUBSTR(LOCATED, STRLEN+2);\r\n&gt;       \r\n&gt;       MTYP := TO_NUMBER(SUBSTR(LOCATED, 1, INSTR(LOCATED,',')-1));\r\n&gt;       \r\n&gt;       LOCATED  := SUBSTR(LOCATED, INSTR(LOCATED,',')+1);\r\n&gt;       \r\n&gt;       STRLEN := TO_NUMBER(SUBSTR(LOCATED,1,INSTR(LOCATED,',')-1));\r\n&gt;       \r\n&gt;       LOCATED  := SUBSTR(LOCATED,INSTR(LOCATED,',')+1);\r\n&gt;       \r\n&gt;       VAL := SUBSTR(LOCATED, 1, STRLEN);\r\n&gt;       \r\n&gt;       LOCATED  := SUBSTR(LOCATED,STRLEN+2);\r\n&gt;       IF (MTYP = 20 OR MTYP = 27 OR MTYP = 28) THEN\r\n&gt;         PROP := SYS.AQ$_JMS_USERPROPERTY(NAME, 2, VAL, NULL, MTYP);\r\n&gt;       ELSE\r\n&gt;         PROP := SYS.AQ$_JMS_USERPROPERTY(NAME, 1, NULL, TO_NUMBER(VAL), MTYP);\r\n&gt;       END IF;\r\n&gt;       PROP_LIST(I) := PROP ;\r\n&gt;     END LOOP ;\r\n&gt;     HEADER := SYS.AQ$_JMS_HEADER(AGENT, HEADER_FIELD_VAL(JMS_HEADER, 'JMSType'), NULL, NULL, NULL, NULL, PROP_LIST);\r\n&gt;   ELSE\r\n&gt;     HEADER := SYS.AQ$_JMS_HEADER(AGENT, HEADER_FIELD_VAL(JMS_HEADER, 'JMSType'), NULL, NULL, NULL, NULL, NULL);\r\n&gt;   END IF;\r\n&gt; END ;\r\n1288,1289d1342\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: jms_header ' || JMS_HEADER);\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: jms_msg_typ ' || JMS_MSG_TYP);\r\n1296,1297c1349\r\n&lt; \r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: jms_userprop len ' || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;     \r\n1301,1302d1352\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: located len ' ||  DBMS_LOB.GETLENGTH(LOCATED));\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: counter = ' || COUNTER);\r\n1309d1358\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: Name strlen = ' || STRLEN);\r\n1312d1360\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: located len ' || DBMS_LOB.GETLENGTH(LOCATED));\r\n1315d1362\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: Name = ' || NAME);\r\n1318d1364\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: located len ' || DBMS_LOB.GETLENGTH(LOCATED));\r\n1321d1366\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: mtyp =  ' || MTYP);\r\n1326d1370\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: Value strlen = ' || STRLEN);\r\n1329d1372\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: located len ' || DBMS_LOB.GETLENGTH(LOCATED));\r\n1332d1374\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: Value = ' || VAL);\r\n1335d1376\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE('adt_encapsulate: located len ' || DBMS_LOB.GETLENGTH(LOCATED));\r\n1358,1361c1399,1403\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_bytes_message: jms_header ' || JMS_HEADER) ;\r\n&lt;   IF (JMS_USERPROP IS NOT NULL) THEN\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_bytes_message: jms_userprop len '\r\n&lt;                                || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;   IF (DBMS_LOB.GETLENGTH(JMS_USERPROP) &lt; MAXCHARSIZE) THEN\r\n&gt;     ADT_ENCAPSULATE_SMALL(JMS_HEADER, DBMS_LOB.SUBSTR(JMS_USERPROP), \r\n&gt;                           DBMS_AQJMS.JMS_BYTES_MESSAGE, HEADER) ;\r\n&gt;   ELSE\r\n&gt;     ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_BYTES_MESSAGE, HEADER) ;\r\n1362a1405\r\n&gt; \r\n1368,1369d1410\r\n&lt;   ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_BYTES_MESSAGE, HEADER) ;\r\n&lt; \r\n1371c1412\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n---\r\n&gt;     IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n1378a1420\r\n&gt; \r\n1379a1422\r\n&gt; \r\n1390,1393c1433,1436\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_text_message: jms_header ' || JMS_HEADER) ;\r\n&lt;   IF (JMS_USERPROP IS NOT NULL) THEN\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_text_message: jms_userprop len ' \r\n&lt;                                || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;   IF (DBMS_LOB.GETLENGTH(JMS_USERPROP) &lt; MAXCHARSIZE) THEN\r\n&gt;     ADT_ENCAPSULATE_SMALL(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_TEXT_MESSAGE, HEADER) ;\r\n&gt;   ELSE\r\n&gt;     ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_TEXT_MESSAGE, HEADER) ;\r\n1394a1438\r\n&gt; \r\n1400,1401d1443\r\n&lt;   ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_TEXT_MESSAGE, HEADER) ;\r\n&lt; \r\n1403c1445\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n---\r\n&gt;     IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n1414d1455\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_text_message: payload.TEXT_LEN = ' || PAYLOAD.TEXT_LEN);\r\n1425,1428c1466,1469\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_stream_message: jms_header ' || JMS_HEADER) ;\r\n&lt;   IF (JMS_USERPROP IS NOT NULL) THEN\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_stream_message: jms_userprop len ' \r\n&lt;                                || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;   IF (DBMS_LOB.GETLENGTH(JMS_USERPROP) &lt; MAXCHARSIZE) THEN\r\n&gt;     ADT_ENCAPSULATE_SMALL(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_STREAM_MESSAGE, HEADER) ;\r\n&gt;   ELSE\r\n&gt;     ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_STREAM_MESSAGE, HEADER) ;\r\n1429a1471\r\n&gt; \r\n1433,1435c1475\r\n&lt;   END IF ;\r\n&lt; \r\n&lt;   ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_STREAM_MESSAGE, HEADER) ;\r\n---\r\n&gt;   END IF;\r\n1438c1478\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n---\r\n&gt;     IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n1446d1485\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_stream_message: payload.BYTES_LEN = ' || PAYLOAD.BYTES_LEN);\r\n1457,1460c1496,1499\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_map_message: jms_header ' || JMS_HEADER) ;\r\n&lt;   IF (JMS_USERPROP IS NOT NULL) THEN\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_map_message: jms_userprop len '\r\n&lt;                                || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;   IF (DBMS_LOB.GETLENGTH(JMS_USERPROP) &lt; MAXCHARSIZE) THEN\r\n&gt;     ADT_ENCAPSULATE_SMALL(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_MAP_MESSAGE, HEADER) ;\r\n&gt;   ELSE\r\n&gt;     ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_MAP_MESSAGE, HEADER) ;\r\n1461a1501\r\n&gt; \r\n1465,1467c1505\r\n&lt;   END IF ;\r\n&lt; \r\n&lt;   ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_MAP_MESSAGE, HEADER) ;\r\n---\r\n&gt;   END IF;\r\n1470c1508\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n---\r\n&gt;     IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n1478d1515\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'create_map_message: payload.BYTES_LEN = ' || PAYLOAD.BYTES_LEN);\r\n1489,1492c1526,1529\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_object_message: jms_header ' || JMS_HEADER) ;\r\n&lt;   IF (JMS_USERPROP IS NOT NULL) THEN\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_object_message: jms_userprop len ' \r\n&lt;                                || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;   IF (DBMS_LOB.GETLENGTH(JMS_USERPROP) &lt; MAXCHARSIZE) THEN\r\n&gt;     ADT_ENCAPSULATE_SMALL(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_OBJECT_MESSAGE, HEADER) ;\r\n&gt;   ELSE\r\n&gt;     ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_OBJECT_MESSAGE, HEADER) ;\r\n1493a1531\r\n&gt; \r\n1497,1499c1535\r\n&lt;   END IF ;\r\n&lt; \r\n&lt;   ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, DBMS_AQJMS.JMS_MAP_MESSAGE, HEADER) ;\r\n---\r\n&gt;   END IF;\r\n1502c1538\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n---\r\n&gt;     IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n1510d1545\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'create_object_message: payload.BYTES_LEN = ' || PAYLOAD.BYTES_LEN);\r\n1515,1518c1550,1553\r\n&lt;         BYTE_PLOD           IN BLOB,\r\n&lt;         JMS_HEADER          IN VARCHAR2,\r\n&lt;         JMS_USERPROP        IN CLOB,\r\n&lt;         JMS_MSG_TYPE        IN NUMBER) IS\r\n---\r\n&gt;         BYTE_PLOD           IN  BLOB,\r\n&gt;         JMS_HEADER          IN  VARCHAR2,\r\n&gt;         JMS_USERPROP        IN  CLOB,\r\n&gt;         JMS_MSG_TYPE        IN  NUMBER) IS\r\n1522,1525c1557,1561\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE('create_jms_message: jms_header ' || JMS_HEADER) ;\r\n&lt;   IF (JMS_USERPROP IS NOT NULL) THEN\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_jms_message: jms_userprop len ' \r\n&lt;                                || DBMS_LOB.GETLENGTH(JMS_USERPROP));\r\n---\r\n&gt;   PLODLEN := DBMS_LOB.GETLENGTH(BYTE_PLOD) ;\r\n&gt;   IF (DBMS_LOB.GETLENGTH(JMS_USERPROP) &lt; MAXCHARSIZE) THEN\r\n&gt;     ADT_ENCAPSULATE_SMALL(JMS_HEADER, JMS_USERPROP, JMS_MSG_TYPE, HEADER) ;\r\n&gt;   ELSE\r\n&gt;     ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, JMS_MSG_TYPE, HEADER) ;\r\n1526a1563\r\n&gt; \r\n1529,1532c1566,1567\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE('create_jms_message: byte_plod len ' || PLODLEN);\r\n&lt;   END IF ;\r\n&lt; \r\n&lt;   ADT_ENCAPSULATE(JMS_HEADER, JMS_USERPROP, JMS_MSG_TYPE, HEADER) ;\r\n---\r\n&gt;     DBMS_AQADM_SYS.WRITE_TRACE('create_generic_message: byte_plod len ' || PLODLEN);\r\n&gt;   END IF;\r\n1535,1538c1570,1579\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n&lt;       PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, PLODLEN, 0,\r\n&lt;                                      UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(BYTE_PLOD)),\r\n&lt;                                      NULL, NULL, NULL);\r\n---\r\n&gt;     IF (PLODLEN &gt; 0) THEN\r\n&gt;       IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n&gt;         PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, PLODLEN, 0,\r\n&gt;                                        UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(BYTE_PLOD)),\r\n&gt;                                        NULL, NULL, NULL);\r\n&gt;       ELSE\r\n&gt;         PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, PLODLEN, 0, NULL, NULL,\r\n&gt;                                        TO_CLOB(UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(BYTE_PLOD))),\r\n&gt;                                        NULL);\r\n&gt;       END IF;\r\n1540,1542c1581\r\n&lt;       PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, PLODLEN, 0, NULL, NULL,\r\n&lt;                                      TO_CLOB(UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(BYTE_PLOD))),\r\n&lt;                                      NULL);\r\n---\r\n&gt;       PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, 0, 0, NULL, NULL, NULL, NULL);\r\n1544d1582\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE( 'payload.TEXT_LEN = ' || PAYLOAD.TEXT_LEN);\r\n1546,1551c1584,1593\r\n&lt;     IF (PLODLEN &lt;= 2000) THEN\r\n&lt;       PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, 0, PLODLEN, NULL,\r\n&lt;                                      DBMS_LOB.SUBSTR(BYTE_PLOD), NULL, NULL);\r\n&lt;     ELSE\r\n&lt;       PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, 0, PLODLEN,\r\n&lt;                                      NULL, NULL, NULL, BYTE_PLOD);\r\n---\r\n&gt;     IF (PLODLEN &gt; 0) THEN\r\n&gt;       IF (PLODLEN &lt;= MAXRAWSIZE) THEN\r\n&gt;         PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, 0, PLODLEN, NULL,\r\n&gt;                                        DBMS_LOB.SUBSTR(BYTE_PLOD), NULL, NULL);\r\n&gt;       ELSE\r\n&gt;         PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, 0, PLODLEN,\r\n&gt;                                        NULL, NULL, NULL, BYTE_PLOD);\r\n&gt;       END IF;\r\n&gt;       ELSE\r\n&gt;         PAYLOAD := SYS.AQ$_JMS_MESSAGE(HEADER, 'sender_id', JMS_MSG_TYPE, 0, 0, NULL, NULL, NULL, NULL);\r\n1553d1594\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE( 'payload.BYTES_LEN = ' || PAYLOAD.BYTES_LEN);\r\n1582,1584d1622\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'bytes_raw ' || BYTES_RAW);\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'bytes_lob length ' || DBMS_LOB.GETLENGTH(BYTES_LOB));\r\n&lt; \r\n1587d1624\r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'REPLYTO.NAME converted');\r\n1615d1651\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE( 'prop_list(i).name converted');\r\n1626d1661\r\n&lt;       DBMS_AQADM_SYS.WRITE_TRACE( 'prop_list(i).str_value converted');\r\n1633d1667\r\n&lt;          DBMS_AQADM_SYS.WRITE_TRACE( 'prop_list(i).num_value converted');\r\n1645,1646d1678\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE( 'userprp_formatted length ' \r\n&lt;                                || DBMS_LOB.GETLENGTH(USERPRP_FORMATTED));\r\n1655d1686\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE( 'byte_plod length' || DBMS_LOB.GETLENGTH(BYTE_PLOD));\r\n1664d1694\r\n&lt;     DBMS_AQADM_SYS.WRITE_TRACE( 'text_plod length' || DBMS_LOB.GETLENGTH(BYTE_PLOD));\r\n1666,1667d1695\r\n&lt; \r\n&lt;   DBMS_AQADM_SYS.WRITE_TRACE( 'header_formatted ' || HEADER_FORMATTED) ;\r\n<\/pre>\n<div id=\"SYS.DBMS_HEAT_MAP_INTERNAL.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_HEAT_MAP_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">996c996,997\r\n&lt;   \r\n---\r\n&gt;     HEATMAP VARCHAR2(3);\r\n&gt; \r\n997a999,1004\r\n&gt;     \r\n&gt;     SELECT VALUE INTO HEATMAP FROM V$PARAMETER WHERE NAME='heat_map';\r\n&gt;     IF (HEATMAP = 'OFF') THEN\r\n&gt;       RETURN;\r\n&gt;     END IF;\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.LOGMNR_DICT_CACHE.PACKAGE BODY.12.2.0.1_RU\">SYS.LOGMNR_DICT_CACHE &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">573a574\r\n&gt; \r\n579a581,583\r\n&gt; \r\n&gt; DUPLICATE_FOUND BOOLEAN := FALSE;\r\n&gt; \r\n581,584c585,612\r\n&lt;    INSERT INTO SYSTEM.LOGMNRC_CONCOL_GG (\r\n&lt;               LOGMNR_UID, CON#, INTCOL#, POS#, SPARE1, COMMIT_SCN) VALUES (\r\n&lt;               LM_LOGMNR_UID, LM_CON#, LM_INTCOL#, LM_POS#, LM_COLFLAGS,\r\n&lt;               LM_COMMIT_SCN);\r\n---\r\n&gt;   BEGIN\r\n&gt;     INSERT INTO SYSTEM.LOGMNRC_CONCOL_GG (\r\n&gt;                LOGMNR_UID, CON#, INTCOL#, POS#, SPARE1, COMMIT_SCN) VALUES (\r\n&gt;                LM_LOGMNR_UID, LM_CON#, LM_INTCOL#, LM_POS#, LM_COLFLAGS,\r\n&gt;                LM_COMMIT_SCN);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN DUP_VAL_ON_INDEX THEN\r\n&gt;       DUPLICATE_FOUND := TRUE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   IF (DUPLICATE_FOUND = TRUE) THEN\r\n&gt;     UPDATE SYSTEM.LOGMNRC_CONCOL_GG\r\n&gt;       SET  POS#           = LM_POS#,\r\n&gt;            SPARE1         = LM_COLFLAGS,\r\n&gt;            SPARE2         = NULL,\r\n&gt;            SPARE3         = NULL\r\n&gt;      WHERE LOGMNR_UID     = LM_LOGMNR_UID\r\n&gt;      AND   CON#           = LM_CON#\r\n&gt;      AND   INTCOL#        = LM_INTCOL#\r\n&gt;      AND   COMMIT_SCN     = LM_COMMIT_SCN;\r\n&gt;   END IF;\r\n603a632,636\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n654c687\r\n&lt;     ORDER BY NAME, POSITION;\r\n---\r\n&gt;     ORDER BY CON#, POSITION;\r\n656,658c689,691\r\n&lt;     CURRENT_CON_NAME    VARCHAR2(384);\r\n&lt;     LM_FLAGS NUMBER;\r\n&lt;     LM_CON# NUMBER;\r\n---\r\n&gt;     CURRENT_CON_CON#     NUMBER;\r\n&gt;     LM_FLAGS             NUMBER;\r\n&gt;     LM_CON#              NUMBER;\r\n660,662c693,695\r\n&lt;     LM_CON_NAME         VARCHAR2(384);\r\n&lt;     LM_COMMIT_SCN NUMBER;\r\n&lt;     TRACE_LEVEL NUMBER;\r\n---\r\n&gt;     LM_CON_CON#          NUMBER;\r\n&gt;     LM_COMMIT_SCN        NUMBER;\r\n&gt;     TRACE_LEVEL          NUMBER;\r\n669c702\r\n&lt;     CURRENT_CON_NAME := NULL;\r\n---\r\n&gt;     CURRENT_CON_CON# := NULL;\r\n680c713\r\n&lt;       LM_CON_NAME := SEL_REC.NAME;\r\n---\r\n&gt;       LM_CON_CON# := SEL_REC.CON#;\r\n685,686c718,719\r\n&lt;       IF (CURRENT_CON_NAME &lt;&gt; LM_CON_NAME) OR \r\n&lt;         (CURRENT_CON_NAME IS NULL) THEN\r\n---\r\n&gt;       IF (CURRENT_CON_CON# &lt;&gt; LM_CON_CON#) OR \r\n&gt;         (CURRENT_CON_CON# IS NULL) THEN\r\n700c733\r\n&lt;         CURRENT_CON_NAME := LM_CON_NAME;\r\n---\r\n&gt;         CURRENT_CON_CON# := LM_CON_CON#;\r\n702c735,736\r\n&lt;                        ':con_name='||CURRENT_CON_NAME||\r\n---\r\n&gt;                        ':con_name='||SEL_REC.NAME|| \r\n&gt;                        ':con_con#='||CURRENT_CON_CON#||\r\n1305a1340\r\n&gt; \r\n1311a1347,1349\r\n&gt; \r\n&gt; DUPLICATE_FOUND BOOLEAN := FALSE;\r\n&gt; \r\n1313,1317c1351,1366\r\n&lt;    INSERT INTO SYSTEM.LOGMNRC_INDCOL_GG (\r\n&lt;               LOGMNR_UID, OBJ#, INTCOL#, POS#, SPARE1, COMMIT_SCN\r\n&lt;               ) VALUES (\r\n&lt;               LM_LOGMNR_UID, LM_INDEX_OBJ#, LM_INTCOL#, \r\n&lt;               LM_POS#, LM_COLFLAGS, LM_COMMIT_SCN);\r\n---\r\n&gt;   BEGIN\r\n&gt;     INSERT INTO SYSTEM.LOGMNRC_INDCOL_GG (\r\n&gt;                LOGMNR_UID, OBJ#, INTCOL#, POS#, SPARE1, COMMIT_SCN\r\n&gt;                ) VALUES (\r\n&gt;                LM_LOGMNR_UID, LM_INDEX_OBJ#, LM_INTCOL#, \r\n&gt;                LM_POS#, LM_COLFLAGS, LM_COMMIT_SCN);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN DUP_VAL_ON_INDEX THEN\r\n&gt;       DUPLICATE_FOUND := TRUE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n1318a1368,1383\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   IF (DUPLICATE_FOUND = TRUE) THEN\r\n&gt;     UPDATE SYSTEM.LOGMNRC_INDCOL_GG\r\n&gt;       SET  POS#           = LM_POS#,\r\n&gt;            SPARE1         = LM_COLFLAGS,\r\n&gt;            SPARE2         = NULL,\r\n&gt;            SPARE3         = NULL\r\n&gt;      WHERE LOGMNR_UID     = LM_LOGMNR_UID\r\n&gt;      AND   OBJ#           = LM_INDEX_OBJ#\r\n&gt;      AND   INTCOL#        = LM_INTCOL#\r\n&gt;      AND   COMMIT_SCN     = LM_COMMIT_SCN;\r\n&gt;   END IF;\r\n&gt;   \r\n1335a1401,1409\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n1391c1465\r\n&lt;     ORDER BY NAME, POSITION;\r\n---\r\n&gt;     ORDER BY INDEX_OBJ#, POSITION;\r\n1393,1394c1467,1468\r\n&lt;     CURRENT_IND_NAME    VARCHAR2(384);\r\n&lt;     LM_FLAGS NUMBER;\r\n---\r\n&gt;     CURRENT_IND_OBJ#     NUMBER;\r\n&gt;     LM_FLAGS             NUMBER;\r\n1396,1398c1470,1472\r\n&lt;     LM_IND_NAME         VARCHAR2(384);\r\n&lt;     LM_COMMIT_SCN NUMBER;\r\n&lt;     TRACE_LEVEL NUMBER;\r\n---\r\n&gt;     LM_IND_OBJ#          NUMBER;\r\n&gt;     LM_COMMIT_SCN        NUMBER;\r\n&gt;     TRACE_LEVEL          NUMBER;\r\n1403c1477\r\n&lt;     CURRENT_IND_NAME := NULL;\r\n---\r\n&gt;     CURRENT_IND_OBJ# := NULL;\r\n1414c1488\r\n&lt;       LM_IND_NAME := SEL_REC.NAME;\r\n---\r\n&gt;       LM_IND_OBJ# := SEL_REC.INDEX_OBJ#;\r\n1417,1418c1491,1492\r\n&lt;                      'save_indexes:old='||CURRENT_IND_NAME||':new='||\r\n&lt;                      LM_IND_NAME);\r\n---\r\n&gt;                      'save_indexes:old obj#='||CURRENT_IND_OBJ#\r\n&gt;                      ||':new obj#='||LM_IND_OBJ#);\r\n1423,1424c1497,1498\r\n&lt;       IF (CURRENT_IND_NAME &lt;&gt; LM_IND_NAME) OR \r\n&lt;         (CURRENT_IND_NAME IS NULL) THEN\r\n---\r\n&gt;       IF (CURRENT_IND_OBJ# &lt;&gt; LM_IND_OBJ#) OR \r\n&gt;         (CURRENT_IND_OBJ# IS NULL) THEN\r\n1426c1500\r\n&lt;                     SEL_REC.INDEX_OBJ#, \r\n---\r\n&gt;                     LM_IND_OBJ#, \r\n1428c1502\r\n&lt;                     LM_IND_NAME,\r\n---\r\n&gt;                     SEL_REC.NAME,\r\n1438c1512\r\n&lt;         CURRENT_IND_NAME := LM_IND_NAME;\r\n---\r\n&gt;         CURRENT_IND_OBJ# := LM_IND_OBJ#;\r\n1441c1515,1516\r\n&lt;                        ':con_name='||CURRENT_IND_NAME||\r\n---\r\n&gt;                        ':ind_name='||SEL_REC.NAME||\r\n&gt;                        ':ind_obj#='||CURRENT_IND_OBJ#||\r\n<\/pre>\n<div id=\"SYS.DBMS_FEATURE_JSON.PROCEDURE.12.2.0.1_RU\">SYS.DBMS_FEATURE_JSON &#8211; PROCEDURE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">41,48c41,48\r\n&lt;   expr   expr_cur%ROWTYPE;\r\n&lt;   c         clob;\r\n&lt;   TYPE      CurTyp IS REF CURSOR;\r\n&lt;   cur       CurTyp;\r\n&lt;   idxname1   dbms_id;\r\n&lt;   uname1     dbms_id;\r\n&lt;   idxname2   dbms_quoted_id;\r\n&lt;   uname2     dbms_quoted_id;\r\n---\r\n&gt;   expr                  expr_cur%ROWTYPE;\r\n&gt;   c                     clob;\r\n&gt;   TYPE CurTyp           IS REF CURSOR;\r\n&gt;   cur                   CurTyp;\r\n&gt;   idxname1              dbms_id;\r\n&gt;   uname1                dbms_id;\r\n&gt;   idxname2              dbms_quoted_id;\r\n&gt;   uname2                dbms_quoted_id;\r\n99,130c99,106\r\n&lt;   execute immediate 'select max(num_rows) from dba_tables where\r\n&lt;                      table_name in (select table_name\r\n&lt;                      from dba_json_columns where owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y''))'\r\n&lt;   into num_max_rows;\r\n&lt; \r\n&lt;   execute immediate 'select min(num_rows) from dba_tables where\r\n&lt;                      table_name in (select table_name\r\n&lt;                      from dba_json_columns where owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y''))'\r\n&lt;   into num_min_rows;\r\n&lt; \r\n&lt;   execute immediate 'select avg(num_rows) from dba_tables where\r\n&lt;                      table_name in (select table_name\r\n&lt;                      from dba_json_columns where owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y''))'\r\n&lt;   into num_avg_rows;\r\n&lt; \r\n&lt;   if num_max_rows is null then\r\n&lt;     num_max_rows := 0;\r\n&lt;   end if;\r\n&lt; \r\n&lt;   if num_min_rows is null then\r\n&lt;     num_min_rows := 0;\r\n&lt;   end if;\r\n&lt; \r\n&lt;   if num_avg_rows is null then\r\n&lt;     num_avg_rows := 0;\r\n&lt;   end if;\r\n---\r\n&gt;   execute immediate 'select nvl(max(d.rowcnt),0), nvl(min(d.rowcnt), 0),\r\n&gt;                      nvl(avg(d.rowcnt),0) from tab$ d,\r\n&gt;                      int$dba_json_columns j where\r\n&gt;                      d.obj# = j.object_id and\r\n&gt;                      j.owner not in\r\n&gt;                      (select distinct username from all_users\r\n&gt;                       where oracle_maintained = ''Y'')'\r\n&gt;   into num_max_rows, num_min_rows, num_avg_rows;\r\n139,150c115,118\r\n&lt;   \/* Average length in bytes *\/\r\n&lt;   execute immediate 'select nvl(avg(avg_col_len),0) from dba_tab_columns t,\r\n&lt;                      dba_json_columns j where t.owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y'')\r\n&lt;                      and t.table_name = j.table_name\r\n&lt;                      and t.column_name = j.column_name'\r\n&lt;   into avgsize_jsoncol;\r\n&lt; \r\n&lt;   \/* Max length in chars *\/\r\n&lt;   execute immediate 'select nvl(max(char_length),0) from dba_tab_columns t,\r\n&lt;                      dba_json_columns j where t.owner not in\r\n---\r\n&gt;   \/* Average length in bytes and max length in chars *\/\r\n&gt;   execute immediate 'select nvl(avg(avg_col_len),0), nvl(max(char_length),0)\r\n&gt;                      from dba_tab_columns t, dba_json_columns j\r\n&gt;                      where t.owner not in\r\n155c123\r\n&lt;   into maxsize_jsoncol;\r\n---\r\n&gt;   into avgsize_jsoncol, maxsize_jsoncol;\r\n<\/pre>\n<h3><strong>18.0.0.0<\/strong><\/h3>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.9RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (18.9RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '18.09.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '18.09.01.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('18.09.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('18.09.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('18.09.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('18.09.01.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('18.09.01.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('18.09.01.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('18.09.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('18.09.01.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('18.09.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('18.09.01.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('18.09.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('18.09.01.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('18.09.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('18.09.01.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.8RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (18.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '18.08.01.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '18.08.02.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('18.08.01.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('18.08.01.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('18.08.01.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('18.08.02.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('18.08.02.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('18.08.02.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('18.08.01.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('18.08.02.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('18.08.01.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('18.08.02.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('18.08.01.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('18.08.02.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('18.08.01.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('18.08.02.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '18.09.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '18.10.00.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('18.09.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('18.09.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('18.09.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('18.10.00.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('18.10.00.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('18.10.00.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('18.09.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('18.10.00.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('18.09.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('18.10.00.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('18.09.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('18.10.00.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('18.09.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('18.10.00.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">13c13\r\n&lt;                                '18.9.0.0.0';\r\n---\r\n&gt;                                '18.10.0.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.8RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (18.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">13c13\r\n&lt;                                '18.8.1.0.0';\r\n---\r\n&gt;                                '18.8.2.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.9RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (18.9RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">13c13\r\n&lt;                                '18.9.0.0.0';\r\n---\r\n&gt;                                '18.9.1.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.8RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (18.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.08.01.00'; \r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.08.02.00'; \r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.9RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (18.9RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.09.00.00'; \r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.09.01.00'; \r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.09.00.00'; \r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.10.00.00'; \r\n<\/pre>\n<div id=\"SYS.DBMS_FEATURE_JSON.PROCEDURE.18.0.0.0_RU\">SYS.DBMS_FEATURE_JSON &#8211; PROCEDURE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">41,48c41,48\r\n&lt;   expr   expr_cur%ROWTYPE;\r\n&lt;   c         clob;\r\n&lt;   TYPE      CurTyp IS REF CURSOR;\r\n&lt;   cur       CurTyp;\r\n&lt;   idxname1   dbms_id;\r\n&lt;   uname1     dbms_id;\r\n&lt;   idxname2   dbms_quoted_id;\r\n&lt;   uname2     dbms_quoted_id;\r\n---\r\n&gt;   expr                  expr_cur%ROWTYPE;\r\n&gt;   c                     clob;\r\n&gt;   TYPE CurTyp           IS REF CURSOR;\r\n&gt;   cur                   CurTyp;\r\n&gt;   idxname1              dbms_id;\r\n&gt;   uname1                dbms_id;\r\n&gt;   idxname2              dbms_quoted_id;\r\n&gt;   uname2                dbms_quoted_id;\r\n99,130c99,106\r\n&lt;   execute immediate 'select max(num_rows) from dba_tables where\r\n&lt;                      table_name in (select table_name\r\n&lt;                      from dba_json_columns where owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y''))'\r\n&lt;   into num_max_rows;\r\n&lt; \r\n&lt;   execute immediate 'select min(num_rows) from dba_tables where\r\n&lt;                      table_name in (select table_name\r\n&lt;                      from dba_json_columns where owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y''))'\r\n&lt;   into num_min_rows;\r\n&lt; \r\n&lt;   execute immediate 'select avg(num_rows) from dba_tables where\r\n&lt;                      table_name in (select table_name\r\n&lt;                      from dba_json_columns where owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y''))'\r\n&lt;   into num_avg_rows;\r\n&lt; \r\n&lt;   if num_max_rows is null then\r\n&lt;     num_max_rows := 0;\r\n&lt;   end if;\r\n&lt; \r\n&lt;   if num_min_rows is null then\r\n&lt;     num_min_rows := 0;\r\n&lt;   end if;\r\n&lt; \r\n&lt;   if num_avg_rows is null then\r\n&lt;     num_avg_rows := 0;\r\n&lt;   end if;\r\n---\r\n&gt;   execute immediate 'select nvl(max(d.rowcnt),0), nvl(min(d.rowcnt), 0),\r\n&gt;                      nvl(avg(d.rowcnt),0) from tab$ d,\r\n&gt;                      int$dba_json_columns j where\r\n&gt;                      d.obj# = j.object_id and\r\n&gt;                      j.owner not in\r\n&gt;                      (select distinct username from all_users\r\n&gt;                       where oracle_maintained = ''Y'')'\r\n&gt;   into num_max_rows, num_min_rows, num_avg_rows;\r\n139,150c115,118\r\n&lt;   \/* Average length in bytes *\/\r\n&lt;   execute immediate 'select nvl(avg(avg_col_len),0) from dba_tab_columns t,\r\n&lt;                      dba_json_columns j where t.owner not in\r\n&lt;                      (select distinct username from all_users\r\n&lt;                       where oracle_maintained = ''Y'')\r\n&lt;                      and t.table_name = j.table_name\r\n&lt;                      and t.column_name = j.column_name'\r\n&lt;   into avgsize_jsoncol;\r\n&lt; \r\n&lt;   \/* Max length in chars *\/\r\n&lt;   execute immediate 'select nvl(max(char_length),0) from dba_tab_columns t,\r\n&lt;                      dba_json_columns j where t.owner not in\r\n---\r\n&gt;   \/* Average length in bytes and max length in chars *\/\r\n&gt;   execute immediate 'select nvl(avg(avg_col_len),0), nvl(max(char_length),0)\r\n&gt;                      from dba_tab_columns t, dba_json_columns j\r\n&gt;                      where t.owner not in\r\n155c123\r\n&lt;   into maxsize_jsoncol;\r\n---\r\n&gt;   into avgsize_jsoncol, maxsize_jsoncol;\r\n<\/pre>\n<div id=\"SYS.CDB_WORKLOAD_CAPTURES.VIEW.18.0.0.0_RU\">SYS.CDB_WORKLOAD_CAPTURES &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; SELECT k.\"ID\",k.\"NAME\",k.\"DBID\",k.\"DBNAME\",k.\"DBVERSION\",k.\"PARALLEL\",k.\"DIRECTORY\",k.\"STATUS\",k.\"START_TIME\",k.\"END_TIME\",k.\"DURATION_SECS\",k.\"START_SCN\",k.\"END_SCN\",k.\"DEFAULT_ACTION\",k.\"FILTERS_USED\",k.\"CAPTURE_SIZE\",k.\"DBTIME\",k.\"DBTIME_TOTAL\",k.\"USER_CALLS\",k.\"USER_CALLS_TOTAL\",k.\"USER_CALLS_UNREPLAYABLE\",k.\"PLSQL_SUBCALL_SIZE\",k.\"PLSQL_CALLS\",k.\"PLSQL_SUBCALLS\",k.\"PLSQL_DBTIME\",k.\"TRANSACTIONS\",k.\"TRANSACTIONS_TOTAL\",k.\"CONNECTS\",k.\"CONNECTS_TOTAL\",k.\"ERRORS\",k.\"AWR_DBID\",k.\"AWR_BEGIN_SNAP\",k.\"AWR_END_SNAP\",k.\"AWR_EXPORTED\",k.\"ERROR_CODE\",k.\"ERROR_MESSAGE\",k.\"DIR_PATH\",k.\"DIR_PATH_SHARED\",k.\"LAST_PROCESSED_VERSION\",k.\"SQLSET_OWNER\",k.\"SQLSET_NAME\",k.\"PLSQL_MODE\",k.\"ENCRYPTION\",k.\"CON_ID\", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS(\"SYS\".\"DBA_WORKLOAD_CAPTURES\") k\r\n---\r\n&gt; SELECT k.\"ID\",k.\"NAME\",k.\"DBID\",k.\"DBNAME\",k.\"DBVERSION\",k.\"PARALLEL\",k.\"DIRECTORY\",k.\"STATUS\",k.\"START_TIME\",k.\"END_TIME\",k.\"DURATION_SECS\",k.\"START_SCN\",k.\"END_SCN\",k.\"DEFAULT_ACTION\",k.\"FILTERS_USED\",k.\"CAPTURE_SIZE\",k.\"DBTIME\",k.\"DBTIME_TOTAL\",k.\"USER_CALLS\",k.\"USER_CALLS_TOTAL\",k.\"USER_CALLS_UNREPLAYABLE\",k.\"PLSQL_SUBCALL_SIZE\",k.\"PLSQL_CALLS\",k.\"PLSQL_SUBCALLS\",k.\"PLSQL_DBTIME\",k.\"TRANSACTIONS\",k.\"TRANSACTIONS_TOTAL\",k.\"CONNECTS\",k.\"CONNECTS_TOTAL\",k.\"ERRORS\",k.\"AWR_DBID\",k.\"AWR_BEGIN_SNAP\",k.\"AWR_END_SNAP\",k.\"AWR_EXPORTED\",k.\"ERROR_CODE\",k.\"ERROR_MESSAGE\",k.\"DIR_PATH\",k.\"DIR_PATH_SHARED\",k.\"LAST_PROCESSED_VERSION\",k.\"SQLSET_OWNER\",k.\"SQLSET_NAME\",k.\"PLSQL_MODE\",k.\"ENCRYPTION\",k.\"ENCRYPTION_VERIFIER\",k.\"CON_ID\", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS(\"SYS\".\"DBA_WORKLOAD_CAPTURES\") k\r\n<\/pre>\n<div id=\"SYS.CDB_WORKLOAD_REPLAY_FILTER_SET.VIEW.18.0.0.0_RU\">SYS.CDB_WORKLOAD_REPLAY_FILTER_SET &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; SELECT k.\"CAPTURE_ID\",k.\"SET_NAME\",k.\"FILTER_NAME\",k.\"ATTRIBUTE\",k.\"VALUE\",k.\"CON_ID\", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS(\"SYS\".\"DBA_WORKLOAD_REPLAY_FILTER_SET\") k\r\n---\r\n&gt; SELECT k.\"CAPTURE_ID\",k.\"SET_NAME\",k.\"FILTER_NAME\",k.\"ATTRIBUTE\",k.\"VALUE\",k.\"DEFAULT_ACTION\",k.\"CON_ID\", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS(\"SYS\".\"DBA_WORKLOAD_REPLAY_FILTER_SET\") k\r\n<\/pre>\n<div id=\"SYS.DBA_WORKLOAD_CAPTURES.VIEW.18.0.0.0_RU\">SYS.DBA_WORKLOAD_CAPTURES &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">30c30,31\r\n&lt;  , decode(nvl(r.plsql_mode, 0), 0, 'TOP_LEVEL', 1, 'EXTENDED', 2, 'EXTENDED_SYS', 'INVALID')\r\n---\r\n&gt;  , decode( nvl(r.plsql_mode, 0), 0,'TOP_LEVEL', 1,'EXTENDED', 2,'EXTENDED_SYS',\r\n&gt;                                  'INVALID' )\r\n31a33\r\n&gt;  , r.encryption_verifier\r\n<\/pre>\n<div id=\"SYS.DBA_WORKLOAD_REPLAY_FILTER_SET.VIEW.18.0.0.0_RU\">SYS.DBA_WORKLOAD_REPLAY_FILTER_SET &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,7\r\n&lt; select capture_id, set_name, filter_name, attribute, value\r\n&lt;  from WRR$_REPLAY_FILTER_SET\r\n---\r\n&gt; select capture_id, set_name, filter_name, attribute, value, default_action\r\n&gt; from wrr$_replay_filter_set rfs\r\n&gt; UNION ALL\r\n&gt; select NULL, NULL, name, attribute, value, NULL\r\n&gt; from wrr$_filters\r\n&gt; where wrr_id = 0\r\n&gt; and   filter_type = 'REPLAY'\r\n<\/pre>\n<h3><strong>19.0.0.0<\/strong><\/h3>\n<div id=\"AUDSYS.DBMS_AUDIT_MGMT.PACKAGE BODY.19.0.0.0_RU\">AUDSYS.DBMS_AUDIT_MGMT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">970a971,972\r\n&gt;     M_CURTIMESTAMP      TIMESTAMP := SYSTIMESTAMP;\r\n&gt; \r\n975a978,990\r\n&gt;       RAISE_ORA_ERROR(46250, 'LAST_ARCHIVE_TIME');\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF AUDIT_TRAIL_TYPE = AUDIT_TRAIL_AUD_STD OR\r\n&gt;        AUDIT_TRAIL_TYPE = AUDIT_TRAIL_FGA_STD OR\r\n&gt;        AUDIT_TRAIL_TYPE = AUDIT_TRAIL_UNIFIED\r\n&gt;     THEN\r\n&gt;       M_CURTIMESTAMP := SYS_EXTRACT_UTC(SYSTIMESTAMP);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF LAST_ARCHIVE_TIME &gt; M_CURTIMESTAMP THEN\r\n&gt;       WRITE_TRACE_MESSAGE(TRACE_LEVEL_DEBUG, 'last_archive_time with future\r\n&gt;                           timestamp value is not allowed');\r\n<\/pre>\n<div id=\"CTXSYS.DRIXMD.PACKAGE.19.0.0.0_RU\">CTXSYS.DRIXMD &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">11d10\r\n&lt;   NO_R_MIN_COMP           constant varchar2(30) := '12.2.0.2';\r\n19a19,27\r\n&gt; \r\n&gt; -- FEATUREs protected by compatible check\r\n&gt; FEATURE_NO_R           constant number := 1;                           -- no $R\r\n&gt; \r\n&gt; \/*------------------------------ ChkCompatible ------------------------------*\/\r\n&gt; \r\n&gt; function ChkCompatible(\r\n&gt;   feature_id  number)\r\n&gt; return boolean;\r\n<\/pre>\n<div id=\"CTXSYS.DRIPARSE.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRIPARSE &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1478,1483c1478,1479\r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   IF OPTS.NO_R AND NOT DRVUTL.CHKCOMPATIBLE(DRIXMD.NO_R_MIN_COMP) THEN\r\n&lt;     DRUE.PUSH(DRIG.GU_NOT_GENERALLY_AVAIL);\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;   IF OPTS.NO_R AND NOT DRIXMD.CHKCOMPATIBLE(DRIXMD.FEATURE_NO_R) THEN\r\n&gt;     OPTS.NO_R := FALSE;\r\n2501,2506c2497,2498\r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   IF OPTS.NO_R AND NOT DRVUTL.CHKCOMPATIBLE(DRIXMD.NO_R_MIN_COMP) THEN\r\n&lt;     DRUE.PUSH(DRIG.GU_NOT_GENERALLY_AVAIL);\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;   IF OPTS.NO_R AND NOT DRIXMD.CHKCOMPATIBLE(DRIXMD.FEATURE_NO_R) THEN\r\n&gt;     OPTS.NO_R := FALSE;\r\n<\/pre>\n<div id=\"CTXSYS.DRIREPM.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRIREPM &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">972a973,975\r\n&gt;   IF (IDX.IDX_OPTION LIKE '%R%') THEN\r\n&gt;     DESCLN(0,'index option', 'no $R');\r\n&gt;   END IF;\r\n1369a1373,1379\r\n&gt;     \r\n&gt;     IF (INSTR(IDX.IDX_OPTION, 'R') != 0) THEN\r\n&gt;       DRVIMR.WL('    fast_dml');\r\n&gt;     ELSE\r\n&gt;       DRVIMR.WL('    fast_query');\r\n&gt;     END IF;\r\n&gt; \r\n<\/pre>\n<div id=\"CTXSYS.DRIXMD.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRIXMD &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">55a56,63\r\n&gt; NO_R_MIN_COMP           CONSTANT VARCHAR2(30) := '12.2.0.2';\r\n&gt; NO_R_COMP_EVENT         CONSTANT NUMBER := 30580;\r\n&gt; NO_R_COMP_LEVEL         CONSTANT NUMBER := 131072;\r\n&gt; \r\n&gt; \r\n&gt; TYPE VER_ITAB_TYPE IS TABLE OF PLS_INTEGER INDEX BY PLS_INTEGER;\r\n&gt; \r\n&gt; \r\n60a69,170\r\n&gt; FUNCTION CHKEVENT(\r\n&gt;   EVENT        NUMBER,\r\n&gt;   EVENT_LEVEL  NUMBER)\r\n&gt; RETURN BOOLEAN\r\n&gt; IS\r\n&gt;   LEV          NUMBER;\r\n&gt;   STATUS       BOOLEAN;\r\n&gt; BEGIN\r\n&gt;   LEV := DRIDISP.EXECTRUST_RET1(NULL, NULL, NULL, DRILIST.CMD_ADMIN_ORAEVENT,\r\n&gt;                                 DRILIST.MS_ORAEVENT_GET, EVENT, 0);\r\n&gt; \r\n&gt;   IF BITAND(LEV, EVENT_LEVEL) = EVENT_LEVEL THEN\r\n&gt;     STATUS := TRUE;\r\n&gt;   ELSE\r\n&gt;     STATUS := FALSE;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   RETURN STATUS;\r\n&gt; END CHKEVENT;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION GETCOMPATIBLE \r\n&gt; RETURN VARCHAR2 \r\n&gt; IS\r\n&gt; BEGIN\r\n&gt;   RETURN DRIDISP.EXECTRUST_RET1(NULL, NULL, NULL, DRILIST.CMD_GET_COMPATIBLE);\r\n&gt; END GETCOMPATIBLE;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE PARSEVERSION(\r\n&gt;   VERSION_STR  IN VARCHAR2,\r\n&gt;   VERSION_TAB  OUT VER_ITAB_TYPE)\r\n&gt; IS\r\n&gt;   VAL  VARCHAR2(30) := VERSION_STR;\r\n&gt;   SUB  VARCHAR2(30);\r\n&gt;   POS  PLS_INTEGER;\r\n&gt; BEGIN\r\n&gt;   FOR I IN 1..5 LOOP\r\n&gt;     POS := INSTR(VAL, '.');\r\n&gt;     IF POS = 0 THEN\r\n&gt;       POS := LENGTH(VAL) + 1;\r\n&gt;     END IF;\r\n&gt;     SUB := SUBSTR(VAL, 1, POS - 1);\r\n&gt;     VAL := SUBSTR(VAL, POS + 1);\r\n&gt; \r\n&gt;     VERSION_TAB(I) := NVL(TO_NUMBER(SUB), 0); \r\n&gt;   END LOOP;\r\n&gt; END PARSEVERSION;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION CHKVERSION(\r\n&gt;   MIN_VERSION_STR  VARCHAR2)\r\n&gt; RETURN BOOLEAN\r\n&gt; IS\r\n&gt;   RES          BOOLEAN;\r\n&gt;   MIN_VERSION  VER_ITAB_TYPE;\r\n&gt;   SYS_VERSION  VER_ITAB_TYPE;\r\n&gt; BEGIN\r\n&gt;   PARSEVERSION(MIN_VERSION_STR, MIN_VERSION);\r\n&gt;   PARSEVERSION(GETCOMPATIBLE, SYS_VERSION);\r\n&gt; \r\n&gt;   RES := TRUE;\r\n&gt;   FOR I IN 1..5 LOOP\r\n&gt;     IF    SYS_VERSION(I) &lt; MIN_VERSION(I) THEN\r\n&gt;       RES := FALSE;\r\n&gt;       EXIT;\r\n&gt;     ELSIF SYS_VERSION(I) &gt; MIN_VERSION(I) THEN\r\n&gt;       EXIT;\r\n&gt;     END IF;\r\n&gt;   END LOOP;\r\n&gt; \r\n&gt;   RETURN RES;\r\n&gt; END CHKVERSION;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION CHKCOMPATIBLE(\r\n&gt;   FEATURE_ID  NUMBER)\r\n&gt; RETURN BOOLEAN\r\n&gt; IS\r\n&gt;   STATUS  BOOLEAN := TRUE;\r\n&gt; BEGIN\r\n&gt;   CASE FEATURE_ID\r\n&gt;   WHEN FEATURE_NO_R THEN\r\n&gt;     IF CHKEVENT(NO_R_COMP_EVENT, NO_R_COMP_LEVEL) THEN\r\n&gt;       STATUS := TRUE;\r\n&gt;     ELSE\r\n&gt;       STATUS := CHKVERSION(NO_R_MIN_COMP);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;   ELSE \r\n&gt;     STATUS := FALSE;\r\n&gt;   END CASE;\r\n&gt; \r\n&gt;   RETURN STATUS;\r\n&gt; END CHKCOMPATIBLE;\r\n&gt; \r\n&gt; \r\n&gt; \r\n2310c2420,2421\r\n&lt;   L_NO_R           BOOLEAN := NVL(P_NO_R, DRVUTL.CHKCOMPATIBLE(NO_R_MIN_COMP));\r\n---\r\n&gt;   L_NO_R           BOOLEAN := NVL(P_NO_R, CHKCOMPATIBLE(FEATURE_NO_R));\r\n&gt; \r\n<\/pre>\n<div id=\"CTXSYS.DRVDDL.PACKAGE BODY.19.0.0.0_RU\">CTXSYS.DRVDDL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2962a2963,2964\r\n&gt;   REMOVE_R       BOOLEAN := FALSE;\r\n&gt;   ADD_R          BOOLEAN := FALSE;\r\n3140,3145c3142\r\n&lt;     IF (IDX.IDX_OPTION LIKE '%P%') THEN\r\n&lt;       DRIXMD.GETALLPARTITIONS(IDX.IDX_ID, IDX.IDX_TABLE#, L_IXP);\r\n&lt;       DRVXTAB.REMOVE_R(IDX, L_IXP);\r\n&lt;     ELSE\r\n&lt;       DRVXTAB.REMOVE_R(IDX, L_IXP);\r\n&lt;     END IF;\r\n---\r\n&gt;     REMOVE_R := TRUE;\r\n3148,3156d3144\r\n&lt;     IF (STORAGE IS NOT NULL) THEN\r\n&lt;       L_PREFREC := DRIPREF.GET_PREF_INFO(STORAGE);\r\n&lt;       IF DRIPREF.GET_ATTRIBUTE_VALUE(L_PREFREC, 'SMALL_R_ROW') = '1' THEN\r\n&lt;         DRUE.PUSH(DRIG.GU_NOT_GENERALLY_AVAIL);\r\n&lt;         RAISE DR_DEF.TEXTILE_ERROR;\r\n&lt;       END IF;\r\n&lt;     END IF;\r\n&lt; \r\n&lt;     \r\n3160,3165c3148,3155\r\n&lt;     IF (IDX.IDX_OPTION LIKE '%P%') THEN\r\n&lt;       DRIXMD.GETALLPARTITIONS(IDX.IDX_ID, IDX.IDX_TABLE#, L_IXP);\r\n&lt;       DRVXTAB.ADD_R(IDX, L_IXP);\r\n&lt;     ELSE\r\n&lt;       DRVXTAB.ADD_R(IDX, L_IXP);\r\n&lt;     END IF;\r\n---\r\n&gt;     ADD_R := TRUE;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   \r\n&gt;   IF BITAND(L_FLAGS, INDEXREPLACEDOINDEX) = INDEXREPLACEDOINDEX AND \r\n&gt;      METADATAONLY = FALSE THEN\r\n&gt;     REMOVE_R   := FALSE;\r\n&gt;     ADD_R      := FALSE;\r\n3377a3368,3371\r\n&gt;   IF (IDX.IDX_OPTION LIKE '%P%') THEN\r\n&gt;     DRIXMD.GETALLPARTITIONS(IDX.IDX_ID, IDX.IDX_TABLE#, L_IXP);\r\n&gt;   END IF;\r\n&gt; \r\n3396a3391,3400\r\n&gt;   IF REMOVE_R THEN\r\n&gt;     DRVXTAB.REMOVE_R(IDX, L_IXP);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   \r\n&gt;   IF ADD_R THEN\r\n&gt;     DRVXTAB.ADD_R(IDX, L_IXP);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   \r\n6432a6437,6439\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6442a6450\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6443a6452\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6444a6454\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6455a6466\r\n&gt;   GOTOPTLOCK := FALSE;\r\n6456a6468\r\n&gt;   GOTDMLLOCK := FALSE;\r\n6457a6470\r\n&gt;   GOTRIOLOCK := FALSE;\r\n6479c6492\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6481a6495,6506\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN \r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n6488a6514,6516\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6498a6527\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6499a6529\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6500a6531\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6510a6542\r\n&gt;   GOTOPTLOCK := FALSE;\r\n6511a6544\r\n&gt;   GOTDMLLOCK := FALSE;\r\n6512a6546\r\n&gt;   GOTRIOLOCK := FALSE;\r\n6535c6569\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6537a6572,6583\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN\r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n6544a6591,6593\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6554a6604\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6555a6606\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6556a6608\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6569a6622\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6570a6624\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6571a6626\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6591c6646\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6593a6649,6660\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN\r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n6661a6729,6731\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6675a6746\r\n&gt;   GOTDMLLOCK := TRUE; \r\n6676a6748\r\n&gt;   GOTOPTLOCK := TRUE; \r\n6677a6750\r\n&gt;   GOTRIOLOCK := TRUE; \r\n6688a6762\r\n&gt;   GOTOPTLOCK := FALSE;\r\n6689a6764\r\n&gt;   GOTDMLLOCK := FALSE;\r\n6690a6766\r\n&gt;   GOTRIOLOCK := FALSE;\r\n6698c6774\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6702a6779,6790\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN\r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n6708a6797,6799\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6718a6810\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6719a6812\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6720a6814\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6731a6826\r\n&gt;   GOTOPTLOCK := FALSE;\r\n6732a6828\r\n&gt;   GOTDMLLOCK := FALSE;\r\n6733a6830\r\n&gt;   GOTRIOLOCK := FALSE;\r\n6741c6838\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6743a6841,6852\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN\r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n6787a6897,6899\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6801a6914\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6802a6916\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6803a6918\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6809a6925\r\n&gt;   GOTOPTLOCK := FALSE;\r\n6815a6932\r\n&gt;   GOTDMLLOCK := FALSE;\r\n6816a6934\r\n&gt;   GOTRIOLOCK := FALSE;\r\n6821c6939\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6825a6944,6955\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN\r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n6831a6962,6964\r\n&gt;   GOTOPTLOCK BOOLEAN := FALSE;\r\n&gt;   GOTDMLLOCK BOOLEAN := FALSE;\r\n&gt;   GOTRIOLOCK BOOLEAN := FALSE;\r\n6841a6975\r\n&gt;   GOTDMLLOCK := TRUE;\r\n6842a6977\r\n&gt;   GOTOPTLOCK := TRUE;\r\n6843a6979\r\n&gt;   GOTRIOLOCK := TRUE;\r\n6849a6986\r\n&gt;   GOTOPTLOCK := FALSE;\r\n6855a6993\r\n&gt;   GOTDMLLOCK := FALSE;\r\n6856a6995\r\n&gt;   GOTRIOLOCK := FALSE;\r\n6861c7000\r\n&lt;     RAISE DR_DEF.TEXTILE_ERROR;\r\n---\r\n&gt;     GOTO CLEANUP;\r\n6863a7003,7015\r\n&gt; &lt;&lt;CLEANUP&gt;&gt;\r\n&gt;     IF (IDX.IDX_ID &gt; 0) THEN\r\n&gt;       IF (GOTOPTLOCK) THEN\r\n&gt;         DRIOPT.UNLOCK_OPT(DRIOPT.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTDMLLOCK) THEN\r\n&gt;         DRIDML.UNLOCK_DML(DRIDML.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;       IF (GOTRIOLOCK) THEN\r\n&gt;         DRIRIO.UNLOCK_RIO(DRIRIO.IGNORE_ERRORS);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt;  \r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE BODY.19.0.0.0_RU\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2751c2751,2752\r\n&lt;        (INSTR(TMP2, 'IDENTIFIED\/*' ) &gt; 0) OR\r\n---\r\n&gt;        (INSTR(TMP2, 'NO AUTHENTICATION') &gt; 0) OR\r\n&gt;        (INSTR(TMP2, 'ACCOUNT LOCK') &gt; 0) OR\r\n<\/pre>\n<div id=\"LBACSYS.LBAC_POLICY_ADMIN.PACKAGE.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; PACKAGE lbac_policy_admin AS\r\n---\r\n&gt; PACKAGE lbac_policy_admin AUTHID CURRENT_USER AS\r\n8a9,10\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(DEFAULT, NONE);\r\n&gt; \r\n12d13\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(APPLY_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n17d17\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(REMOVE_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n21d20\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(ENABLE_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n26d24\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(ALTER_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n34,35c32\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(APPLY_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n&lt;                               \r\n---\r\n&gt; \r\n40d36\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(REMOVE_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n43d38\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(POLICY_SUBSCRIBE, AUTO_WITH_COMMIT);\r\n46d40\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(POLICY_UNSUBSCRIBE, AUTO_WITH_COMMIT);\r\n51,52c45\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(ENABLE_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n&lt;                                \r\n---\r\n&gt; \r\n56d48\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(DISABLE_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n60d51\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(DISABLE_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n<\/pre>\n<div id=\"LBACSYS.LBAC_POLICY_ADMIN_INT.PACKAGE.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1,74\r\n&gt; PACKAGE lbac_policy_admin_int\r\n&gt; ACCESSIBLE BY (LBACSYS.LBAC_POLICY_ADMIN)\r\n&gt; AS\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE APPLY_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                DEFAULT_OPTIONS IN VARCHAR2 DEFAULT NULL,\r\n&gt;                                USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(APPLY_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE REMOVE_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                 SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                 DROP_COLUMN IN BOOLEAN DEFAULT FALSE,\r\n&gt;                                 USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(REMOVE_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE ENABLE_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                 SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                 USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(ENABLE_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE ALTER_SCHEMA_POLICY (POLICY_NAME     IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME     IN VARCHAR2,\r\n&gt;                                DEFAULT_OPTIONS IN VARCHAR2,\r\n&gt;                                USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(ALTER_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE APPLY_TABLE_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                               SCHEMA_NAME IN VARCHAR2,\r\n&gt;                               TABLE_NAME  IN VARCHAR2,\r\n&gt;                               TABLE_OPTIONS IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               LABEL_FUNCTION IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               PREDICATE IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(APPLY_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n&gt;                               \r\n&gt; PROCEDURE REMOVE_TABLE_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                TABLE_NAME  IN VARCHAR2,\r\n&gt;                                DROP_COLUMN IN BOOLEAN DEFAULT FALSE,\r\n&gt;                                USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(REMOVE_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE POLICY_SUBSCRIBE(POLICY_NAME IN VARCHAR2,\r\n&gt;                            USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(POLICY_SUBSCRIBE, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE POLICY_UNSUBSCRIBE(POLICY_NAME IN VARCHAR2,\r\n&gt;                              USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(POLICY_UNSUBSCRIBE, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE ENABLE_TABLE_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                TABLE_NAME  IN VARCHAR2,\r\n&gt;                                USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(ENABLE_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n&gt;                                \r\n&gt; PROCEDURE DISABLE_TABLE_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                 SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                 TABLE_NAME  IN VARCHAR2,\r\n&gt;                                 USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(DISABLE_TABLE_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE DISABLE_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                  SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                  USERNAME IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(DISABLE_SCHEMA_POLICY, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; END LBAC_POLICY_ADMIN_INT;\r\n<\/pre>\n<div id=\"LBACSYS.SA_USER_ADMIN.PACKAGE.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1,3\r\n&lt; PACKAGE sa_user_admin AS\r\n---\r\n&gt; PACKAGE sa_user_admin AUTHID CURRENT_USER AS\r\n&gt; \r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(DEFAULT, NONE);\r\n90d91\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(SET_USER_PRIVS, AUTO_WITH_COMMIT);\r\n96d96\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(SET_PROG_PRIVS, AUTO_WITH_COMMIT);\r\n100,101d99\r\n&lt; PRAGMA SUPPLEMENTAL_LOG_DATA(DROP_USER_ACCESS, AUTO_WITH_COMMIT);\r\n&lt; \r\n<\/pre>\n<div id=\"LBACSYS.SA_USER_ADMIN_INT.PACKAGE.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1,122\r\n&gt; PACKAGE sa_user_admin_int\r\n&gt; ACCESSIBLE BY (LBACSYS.SA_USER_ADMIN)\r\n&gt; AS\r\n&gt; \r\n&gt; PROCEDURE SET_LEVELS       (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             MAX_LEVEL        IN VARCHAR2,\r\n&gt;                             MIN_LEVEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_LEVEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_LEVEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt;                             \r\n&gt; PROCEDURE SET_COMPARTMENTS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             READ_COMPS       IN VARCHAR2,\r\n&gt;                             WRITE_COMPS      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_COMPS        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_COMPS        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE ALTER_COMPARTMENTS (POLICY_NAME IN VARCHAR2,\r\n&gt;                               USER_NAME   IN VARCHAR2,\r\n&gt;                               COMPS       IN VARCHAR2,\r\n&gt;                               ACCESS_MODE IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               IN_DEF      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               IN_ROW      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               INVOKER_USR IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE SET_GROUPS       (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             READ_GROUPS      IN VARCHAR2,\r\n&gt;                             WRITE_GROUPS     IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_GROUPS       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_GROUPS       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE ALTER_GROUPS (POLICY_NAME IN VARCHAR2,\r\n&gt;                              USER_NAME   IN VARCHAR2,\r\n&gt;                              GROUPS      IN VARCHAR2,\r\n&gt;                              ACCESS_MODE IN VARCHAR2 DEFAULT NULL,\r\n&gt;                              IN_DEF      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                              IN_ROW      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                              INVOKER_USR IN VARCHAR2);\r\n&gt;                             \r\n&gt; PROCEDURE ADD_COMPARTMENTS (POLICY_NAME  IN VARCHAR2,\r\n&gt;                             USER_NAME    IN VARCHAR2,\r\n&gt;                             COMPS        IN VARCHAR2,\r\n&gt;                             ACCESS_MODE  IN VARCHAR2 DEFAULT SA_UTL.READ_ONLY,\r\n&gt;                             IN_DEF       IN VARCHAR2 DEFAULT 'Y',\r\n&gt;                             IN_ROW       IN VARCHAR2 DEFAULT 'N',\r\n&gt;                             INVOKER_USR  IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE DROP_COMPARTMENTS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                              USER_NAME        IN VARCHAR2,\r\n&gt;                              COMPS            IN VARCHAR2,\r\n&gt;                              INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE DROP_ALL_COMPARTMENTS \r\n&gt;                            (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE ADD_GROUPS       (POLICY_NAME  IN VARCHAR2,\r\n&gt;                             USER_NAME    IN VARCHAR2,\r\n&gt;                             GROUPS       IN VARCHAR2,\r\n&gt;                             ACCESS_MODE  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             IN_DEF       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             IN_ROW       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR  IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE DROP_GROUPS      (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             GROUPS           IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE DROP_ALL_GROUPS  (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE SET_USER_LABELS\r\n&gt;                            (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             MAX_READ_LABEL   IN VARCHAR2,\r\n&gt;                             MAX_WRITE_LABEL  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             MIN_WRITE_LABEL  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_LABEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_LABEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE SET_DEFAULT_LABEL\r\n&gt;                            (POLICY_NAME IN VARCHAR2,\r\n&gt;                             USER_NAME   IN VARCHAR2,\r\n&gt;                             DEF_LABEL   IN VARCHAR2,\r\n&gt;                             INVOKER_USR IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE SET_ROW_LABEL\r\n&gt;                            (POLICY_NAME IN VARCHAR2,\r\n&gt;                             USER_NAME   IN VARCHAR2,\r\n&gt;                             ROW_LABEL   IN VARCHAR2,\r\n&gt;                             INVOKER_USR IN VARCHAR2);\r\n&gt; \r\n&gt; PROCEDURE SET_USER_PRIVS (POLICY_NAME IN VARCHAR2,\r\n&gt;                           USER_NAME   IN VARCHAR2,\r\n&gt;                           PRIVILEGES  IN VARCHAR2,\r\n&gt;                           INVOKER_USR IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(SET_USER_PRIVS, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE SET_PROG_PRIVS (POLICY_NAME       IN VARCHAR2,\r\n&gt;                           SCHEMA_NAME       IN VARCHAR2,\r\n&gt;                           PROGRAM_UNIT_NAME IN VARCHAR2,\r\n&gt;                           PRIVILEGES        IN VARCHAR2,\r\n&gt;                           INVOKER_USR       IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(SET_PROG_PRIVS, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; PROCEDURE DROP_USER_ACCESS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2);\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(DROP_USER_ACCESS, AUTO_WITH_COMMIT);\r\n&gt; \r\n&gt; \r\n&gt; END SA_USER_ADMIN_INT;\r\n<\/pre>\n<div id=\"LBACSYS.LBAC_POLICY_ADMIN.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">8,61c8,10\r\n&lt; \r\n&lt; PRODUCT            CONSTANT VARCHAR2(30) := 'TRUSTED';\r\n&lt; FACILITY           CONSTANT VARCHAR2(30) := 'LBAC';\r\n&lt; NO_POLICY_EC       CONSTANT PLS_INTEGER := 12416;\r\n&lt; NO_PROG_EC         CONSTANT PLS_INTEGER := 12417;\r\n&lt; NO_USER_EC         CONSTANT PLS_INTEGER := 12418;\r\n&lt; INVALID_PARAMS_EC  CONSTANT PLS_INTEGER := 12427;\r\n&lt; STARTUP_FAILURE_EC CONSTANT PLS_INTEGER := 12409;\r\n&lt; LBAC_ERROR_EC      CONSTANT PLS_INTEGER := 12432;\r\n&lt; UNAUTH_OPERATION   CONSTANT PLS_INTEGER := 12407;\r\n&lt; POLICY_ADMIN_EC    CONSTANT PLS_INTEGER := 12446;\r\n&lt; INVALID_SCHEMA_EC  CONSTANT PLS_INTEGER := 12425;\r\n&lt; ALTER_SCHEMA_EC    CONSTANT PLS_INTEGER := 12448;\r\n&lt; INTERNAL_ERROR_EC  CONSTANT PLS_INTEGER := 12414;\r\n&lt; \r\n&lt; \r\n&lt; APPLY_ACTION     CONSTANT PLS_INTEGER := 1;\r\n&lt; REMOVE_ACTION    CONSTANT PLS_INTEGER := 2;\r\n&lt; SET_ACTION       CONSTANT PLS_INTEGER := 4;\r\n&lt; GRANT_ACTION     CONSTANT PLS_INTEGER := 8;\r\n&lt; REVOKE_ACTION    CONSTANT PLS_INTEGER := 16;\r\n&lt; EXISTS_ACTION    CONSTANT PLS_INTEGER := 32;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; APPLY_POLICY_ACTION    CONSTANT PLS_INTEGER := 1;\r\n&lt; REMOVE_POLICY_ACTION   CONSTANT PLS_INTEGER := 2;\r\n&lt; ENABLE_POLICY_ACTION   CONSTANT PLS_INTEGER := 5;\r\n&lt; DISABLE_POLICY_ACTION  CONSTANT PLS_INTEGER := 6;\r\n&lt; POLICY_SUB_ACTION      CONSTANT PLS_INTEGER := 7;\r\n&lt; POLICY_UNSUB_ACTION    CONSTANT PLS_INTEGER := 8;\r\n&lt; ALTER_POLICY_ACTION    CONSTANT PLS_INTEGER := 13;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; AUDINFO_OBJOWNER CONSTANT PLS_INTEGER := 0;\r\n&lt; AUDINFO_OBJNAME  CONSTANT PLS_INTEGER := 1;\r\n&lt; \r\n&lt; PROCEDURE APPLY_SCHEMA_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&lt;                                         SCHEMA_NAME IN VARCHAR2,\r\n&lt;                                         DEFAULT_OPTIONS IN VARCHAR2)\r\n&lt; IS LANGUAGE C \r\n&lt;    NAME \"zlluasp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&lt;      POLICY_NAME    INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME    INDICATOR SB2,\r\n&lt;      DEFAULT_OPTIONS STRING, DEFAULT_OPTIONS LENGTH SIZE_T,\r\n&lt;      DEFAULT_OPTIONS INDICATOR SB2\r\n&lt;      );\r\n---\r\n&gt; NOT_ALLOWED_EC CONSTANT PLS_INTEGER := 42908;\r\n&gt; PRODUCT CONSTANT VARCHAR2(12) := 'TRUSTED';\r\n&gt; LBAC_FACILITY CONSTANT VARCHAR2(12) := 'LBAC';\r\n67,69c16\r\n&lt; \r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n71,115c18,24\r\n&lt;   \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYSUBSCRIBED(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, LBAC_ERROR_EC, 'Policy not OID subscribed');\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, APPLY_ACTION) = FALSE\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&lt;     END IF; \r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);  \r\n&lt;     APPLY_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, DEFAULT_OPTIONS);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, 0)) THEN\r\n&lt;     LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;     LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;   END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.APPLY_SCHEMA_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                     DEFAULT_OPTIONS, USERNAME);\r\n118,133d26\r\n&lt; PROCEDURE REMOVE_SCHEMA_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&lt;                                          SCHEMA_NAME IN VARCHAR2,\r\n&lt;                                          DROP_COLUMN IN BOOLEAN)\r\n&lt; IS LANGUAGE C \r\n&lt;    NAME \"zllursp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&lt;      POLICY_NAME    INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME    INDICATOR SB2,\r\n&lt;      DROP_COLUMN UB1\r\n&lt;      );\r\n&lt; \r\n138,140c31\r\n&lt; \r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n142,181c33,39\r\n&lt;   \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, REMOVE_ACTION) = FALSE\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&lt;     END IF; \r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     REMOVE_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, DROP_COLUMN);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, 0)) THEN\r\n&lt;     LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;     LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;   END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.REMOVE_SCHEMA_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                      DROP_COLUMN, USERNAME);\r\n184,197d41\r\n&lt; PROCEDURE ENABLE_SCHEMA_POLICY_INTERNAL (POLICY_NAME    IN VARCHAR2,\r\n&lt;                                          SCHEMA_NAME    IN VARCHAR2)\r\n&lt;    IS LANGUAGE C \r\n&lt;    NAME \"zlluesp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T, \r\n&lt;      POLICY_NAME INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME INDICATOR SB2\r\n&lt;      );\r\n&lt; \r\n200,201c44\r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n203,241c46,52\r\n&lt;   \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&lt;     END IF; \r\n&lt;   END IF;\r\n&lt;   \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     ENABLE_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.ENABLE_SCHEMA_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                      USERNAME);\r\n244d54\r\n&lt; \r\n248,254c58,59\r\n&lt; IS \r\n&lt; \r\n&lt; POL_NUM         PLS_INTEGER;\r\n&lt; USR_CNT         PLS_INTEGER;\r\n&lt; NEW_OPTIONS     PLS_INTEGER;\r\n&lt; SCH_NAME        VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; IS\r\n&gt; USERNAME VARCHAR2(128);\r\n256,316c61,64\r\n&lt; \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&lt;     END IF; \r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   IF SCH_NAME IS NULL THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;             PRODUCT, FACILITY, INVALID_PARAMS_EC, 'schema name');\r\n&lt;   END IF;\r\n&lt;   IF SCH_NAME IN ('SYS', 'LBACSYS', 'SYSTEM') THEN\r\n&lt;     LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, FACILITY, INVALID_SCHEMA_EC);\r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   POL_NUM:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;   SELECT COUNT(*) INTO USR_CNT\r\n&lt;   FROM SYS.ALL_USERS\r\n&lt;   WHERE USERNAME = SCH_NAME;\r\n&lt;   IF (USR_CNT != 1) THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;       PRODUCT, FACILITY, NO_PROG_EC, SCH_NAME);\r\n&lt;   END IF;\r\n&lt;    \r\n&lt;   IF DEFAULT_OPTIONS IS NULL THEN\r\n&lt;      NEW_OPTIONS := NULL;\r\n&lt;   ELSE\r\n&lt;      \r\n&lt;      IF INSTR(UPPER(DEFAULT_OPTIONS),'INVERSE_GROUP',1,1) &gt; 0 THEN\r\n&lt;        LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;           PRODUCT, FACILITY, LBAC_ERROR_EC, ' invalid  option string');\r\n&lt;      END IF;\r\n&lt; \r\n&lt;      NEW_OPTIONS := LBACSYS.LBAC_CACHE.OPTION_NUMBER(DEFAULT_OPTIONS); \r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;   UPDATE LBACSYS.OLS$POLS SET OPTIONS = NEW_OPTIONS\r\n&lt;   WHERE POL#=POL_NUM AND OWNER = SCH_NAME;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;   IF SQL%ROWCOUNT = 0 THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, FACILITY, \r\n&lt;       ALTER_SCHEMA_EC, POLICY_NAME, SCH_NAME);\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n318,334c66,67\r\n&lt; \r\n&lt;   COMMIT;\r\n&lt;  \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ALTER_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ALTER_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.ALTER_SCHEMA_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                     DEFAULT_OPTIONS, USERNAME);\r\n337,363d69\r\n&lt; \r\n&lt; PROCEDURE APPLY_TABLE_POLICY_INTERNAL (POLICY_NAME    IN VARCHAR2,\r\n&lt;                               SCHEMA_NAME    IN VARCHAR2,\r\n&lt;                               TABLE_NAME     IN VARCHAR2,\r\n&lt;                               TABLE_OPTIONS  IN VARCHAR2,\r\n&lt;                               LABEL_FUNCTION IN VARCHAR2,\r\n&lt;                               PREDICATE      IN VARCHAR2)\r\n&lt; IS LANGUAGE C \r\n&lt;    NAME \"zlluatp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T, \r\n&lt;      POLICY_NAME INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME INDICATOR SB2, \r\n&lt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&lt;      TABLE_NAME  INDICATOR SB2,\r\n&lt;      TABLE_OPTIONS  STRING, TABLE_OPTIONS LENGTH SIZE_T,\r\n&lt;      TABLE_OPTIONS INDICATOR SB2,\r\n&lt;      LABEL_FUNCTION STRING, LABEL_FUNCTION LENGTH SIZE_T,\r\n&lt;      LABEL_FUNCTION INDICATOR SB2,\r\n&lt;      PREDICATE      STRING, PREDICATE LENGTH SIZE_T,\r\n&lt;      PREDICATE INDICATOR SB2\r\n&lt;      );\r\n&lt; \r\n371,373c77\r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; TAB_NAME     VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n375,424c79,87\r\n&lt; \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&lt;                                              TAB_NAME);\r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYSUBSCRIBED(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, LBAC_ERROR_EC, 'Policy not OID subscribed');\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, APPLY_ACTION) = FALSE\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&lt;     END IF; \r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     APPLY_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME, TABLE_OPTIONS,\r\n&lt;                                 LABEL_FUNCTION, PREDICATE );\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.APPLY_TABLE_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                    TABLE_NAME, TABLE_OPTIONS,\r\n&gt;                                                    LABEL_FUNCTION, PREDICATE,\r\n&gt;                                                    USERNAME);\r\n427,443d89\r\n&lt; PROCEDURE ENABLE_TABLE_POLICY_INTERNAL (POLICY_NAME    IN VARCHAR2,\r\n&lt;                               SCHEMA_NAME    IN VARCHAR2,\r\n&lt;                               TABLE_NAME     IN VARCHAR2)\r\n&lt;    IS LANGUAGE C \r\n&lt;    NAME \"zlluetp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T, \r\n&lt;      POLICY_NAME INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME INDICATOR SB2, \r\n&lt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&lt;      TABLE_NAME  INDICATOR SB2\r\n&lt;      );\r\n&lt; \r\n447,449c93\r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; TAB_NAME     VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n451,494c95,101\r\n&lt;   \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&lt;                                              TAB_NAME);\r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   END IF;\r\n&lt;   \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     ENABLE_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;  \r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.ENABLE_TABLE_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                     TABLE_NAME, USERNAME);\r\n497,516d103\r\n&lt;                               \r\n&lt; PROCEDURE REMOVE_TABLE_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&lt;                                SCHEMA_NAME IN VARCHAR2,\r\n&lt;                                TABLE_NAME  IN VARCHAR2,\r\n&lt;                                DROP_COLUMN IN BOOLEAN)\r\n&lt; IS LANGUAGE C \r\n&lt;    NAME \"zllurtp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;              CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&lt;      POLICY_NAME    INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME    INDICATOR SB2,\r\n&lt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&lt;      TABLE_NAME     INDICATOR SB2,\r\n&lt;      DROP_COLUMN    UB1, DROP_COLUMN INDICATOR SB2\r\n&lt;      );\r\n&lt;                               \r\n522,525c109\r\n&lt; \r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; TAB_NAME     VARCHAR2(128);\r\n&lt;  \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n527,571c111,118\r\n&lt; \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&lt;                                              TAB_NAME);\r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, REMOVE_ACTION) = FALSE\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF; \r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     REMOVE_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME, DROP_COLUMN);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.REMOVE_TABLE_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                     TABLE_NAME, DROP_COLUMN,\r\n&gt;                                                     USERNAME);\r\n576,587c123,128\r\n&lt; UNSUPPORTED_OP_EC    CONSTANT PLS_INTEGER := 12408;\r\n&lt; \r\n&lt; BEGIN\r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     LBACSYS.LBAC_CACHE.OID_SUBSCRIBE(POLICY_NAME);\r\n&lt;   ELSE\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, UNSUPPORTED_OP_EC, 'OID not enabled');\r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n&gt; BEGIN \r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n589,601c130\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_SUB_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_SUB_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.POLICY_SUBSCRIBE(POLICY_NAME, USERNAME);\r\n606,609c135\r\n&lt; UNSUPPORTED_OP_EC    CONSTANT PLS_INTEGER := 12408;\r\n&lt; POLICY_IN_USE_TABLE  PLS_INTEGER;\r\n&lt; POLICY_IN_USE_SCHEMA PLS_INTEGER;\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n611,632c137,140\r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     SELECT COUNT(*) INTO POLICY_IN_USE_SCHEMA\r\n&lt;         FROM LBACSYS.OLS$POL P, LBACSYS.OLS$POLS S\r\n&lt;         WHERE P.POL_NAME = UPPER(POLICY_NAME)\r\n&lt;           AND P.POL# = S.POL#;\r\n&lt;     SELECT COUNT(*) INTO POLICY_IN_USE_TABLE\r\n&lt;         FROM LBACSYS.OLS$POL P, LBACSYS.OLS$POLT PT\r\n&lt;         WHERE P.POL_NAME = UPPER(POLICY_NAME)\r\n&lt;           AND P.POL# = PT.POL#;\r\n&lt; \r\n&lt;     IF POLICY_IN_USE_TABLE &lt;&gt; 0 OR POLICY_IN_USE_SCHEMA &lt;&gt; 0 THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, LBAC_ERROR_EC, 'Policy in use');\r\n&lt;     END IF;\r\n&lt;     LBACSYS.LBAC_CACHE.OID_UNSUBSCRIBE(POLICY_NAME);\r\n&lt;   ELSE\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, UNSUPPORTED_OP_EC, 'OID not enabled');\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n634,646c142\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_UNSUB_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_UNSUB_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.POLICY_UNSUBSCRIBE(POLICY_NAME, USERNAME);\r\n649,666d144\r\n&lt; \r\n&lt; PROCEDURE DISABLE_TABLE_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&lt;                                SCHEMA_NAME IN VARCHAR2,\r\n&lt;                                TABLE_NAME  IN VARCHAR2)\r\n&lt; IS LANGUAGE C \r\n&lt;    NAME \"zlludtp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&lt;      POLICY_NAME    INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME    INDICATOR SB2,\r\n&lt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&lt;      TABLE_NAME     INDICATOR SB2\r\n&lt;      );\r\n&lt;                               \r\n671,674c149\r\n&lt; \r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; TAB_NAME     VARCHAR2(128);\r\n&lt;  \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n676,719c151,157\r\n&lt;   \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&lt;                                              TAB_NAME);\r\n&lt; \r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN \r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     DISABLE_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.DISABLE_TABLE_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                      TABLE_NAME, USERNAME);\r\n722,735d159\r\n&lt; PROCEDURE DISABLE_SCHEMA_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&lt;                                           SCHEMA_NAME IN VARCHAR2)\r\n&lt; IS LANGUAGE C \r\n&lt;    NAME \"zlludsp\" \r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&lt;      POLICY_NAME    INDICATOR SB2,\r\n&lt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&lt;      SCHEMA_NAME    INDICATOR SB2\r\n&lt;      );\r\n&lt; \r\n739,741c163\r\n&lt; \r\n&lt; SCH_NAME     VARCHAR2(128);\r\n&lt; \r\n---\r\n&gt; USERNAME VARCHAR2(128);\r\n743,831c165,168\r\n&lt; \r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                              SCH_NAME);\r\n&lt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&lt;     DISABLE_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME);\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&lt;     RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&lt;     THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n&lt; END DISABLE_SCHEMA_POLICY;\r\n&lt; \r\n&lt; FUNCTION PRIV_NAMES (POLICY_NAME IN VARCHAR2)\r\n&lt; RETURN LBACSYS.LBAC_NAME_LIST IS\r\n&lt; \r\n&lt; STR_NAME_LIST LBACSYS.LBAC_NAME_LIST;\r\n&lt; \r\n&lt; BEGIN\r\n&lt; \r\n&lt;   IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;      PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;   END IF;\r\n&lt;   STR_NAME_LIST := NULL;\r\n&lt;   EXECUTE IMMEDIATE 'BEGIN lbacsys.' ||\r\n&lt;             LBAC_CACHE.PACKAGE(POLICY_NAME) ||\r\n&lt;             '.priv_names(:name_List); END;'\r\n&lt;   USING\r\n&lt;        OUT STR_NAME_LIST;\r\n&lt;     \r\n&lt;   IF STR_NAME_LIST IS NULL THEN\r\n&lt;     RETURN NULL;\r\n&lt;   END IF;\r\n&lt;   \r\n&lt;   RETURN STR_NAME_LIST;\r\n&lt; \r\n&lt; END PRIV_NAMES; \r\n&lt;     \r\n&lt; FUNCTION LABEL_NAMES (POLICY_NAME IN VARCHAR2,\r\n&lt;                       LABEL_TYPE  IN PLS_INTEGER)\r\n&lt; RETURN LBACSYS.LBAC_NAME_LIST IS\r\n&lt;     \r\n&lt; STR_LABEL_LIST LBACSYS.LBAC_NAME_LIST;\r\n&lt;     \r\n&lt; BEGIN\r\n&lt;     \r\n&lt;   IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;      PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&lt;   END IF;\r\n&lt;   STR_LABEL_LIST := NULL;\r\n&lt;   EXECUTE IMMEDIATE 'BEGIN lbacsys.' ||\r\n&lt;             LBAC_CACHE.PACKAGE(POLICY_NAME) ||\r\n&lt;             '.label_names(:type,:label_List); END;'\r\n&lt;   USING\r\n&lt;        IN LABEL_TYPE,\r\n&lt;        OUT STR_LABEL_LIST; \r\n&lt; \r\n&lt;   IF STR_LABEL_LIST IS NULL THEN\r\n&lt;     RETURN NULL;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n833,836c170,172\r\n&lt; \r\n&lt;   RETURN STR_LABEL_LIST;\r\n&lt; \r\n&lt; END LABEL_NAMES;\r\n---\r\n&gt;   LBACSYS.LBAC_POLICY_ADMIN_INT.DISABLE_SCHEMA_POLICY(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                                       USERNAME);\r\n&gt; END DISABLE_SCHEMA_POLICY;\r\n<\/pre>\n<div id=\"LBACSYS.LBAC_POLICY_ADMIN_INT.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.LBAC_POLICY_ADMIN_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1,856\r\n&gt; PACKAGE BODY lbac_policy_admin_int AS\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PRODUCT            CONSTANT VARCHAR2(30) := 'TRUSTED';\r\n&gt; FACILITY           CONSTANT VARCHAR2(30) := 'LBAC';\r\n&gt; NO_POLICY_EC       CONSTANT PLS_INTEGER := 12416;\r\n&gt; NO_PROG_EC         CONSTANT PLS_INTEGER := 12417;\r\n&gt; NO_USER_EC         CONSTANT PLS_INTEGER := 12418;\r\n&gt; INVALID_PARAMS_EC  CONSTANT PLS_INTEGER := 12427;\r\n&gt; STARTUP_FAILURE_EC CONSTANT PLS_INTEGER := 12409;\r\n&gt; LBAC_ERROR_EC      CONSTANT PLS_INTEGER := 12432;\r\n&gt; UNAUTH_OPERATION   CONSTANT PLS_INTEGER := 12407;\r\n&gt; POLICY_ADMIN_EC    CONSTANT PLS_INTEGER := 12446;\r\n&gt; INVALID_SCHEMA_EC  CONSTANT PLS_INTEGER := 12425;\r\n&gt; ALTER_SCHEMA_EC    CONSTANT PLS_INTEGER := 12448;\r\n&gt; INTERNAL_ERROR_EC  CONSTANT PLS_INTEGER := 12414;\r\n&gt; \r\n&gt; \r\n&gt; APPLY_ACTION     CONSTANT PLS_INTEGER := 1;\r\n&gt; REMOVE_ACTION    CONSTANT PLS_INTEGER := 2;\r\n&gt; SET_ACTION       CONSTANT PLS_INTEGER := 4;\r\n&gt; GRANT_ACTION     CONSTANT PLS_INTEGER := 8;\r\n&gt; REVOKE_ACTION    CONSTANT PLS_INTEGER := 16;\r\n&gt; EXISTS_ACTION    CONSTANT PLS_INTEGER := 32;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; APPLY_POLICY_ACTION    CONSTANT PLS_INTEGER := 1;\r\n&gt; REMOVE_POLICY_ACTION   CONSTANT PLS_INTEGER := 2;\r\n&gt; ENABLE_POLICY_ACTION   CONSTANT PLS_INTEGER := 5;\r\n&gt; DISABLE_POLICY_ACTION  CONSTANT PLS_INTEGER := 6;\r\n&gt; POLICY_SUB_ACTION      CONSTANT PLS_INTEGER := 7;\r\n&gt; POLICY_UNSUB_ACTION    CONSTANT PLS_INTEGER := 8;\r\n&gt; ALTER_POLICY_ACTION    CONSTANT PLS_INTEGER := 13;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; AUDINFO_OBJOWNER CONSTANT PLS_INTEGER := 0;\r\n&gt; AUDINFO_OBJNAME  CONSTANT PLS_INTEGER := 1;\r\n&gt; \r\n&gt; PROCEDURE APPLY_SCHEMA_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&gt;                                         SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                         DEFAULT_OPTIONS IN VARCHAR2,\r\n&gt;                                         USERNAME IN VARCHAR2)\r\n&gt; IS LANGUAGE C \r\n&gt;    NAME \"zlluasp1\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&gt;      POLICY_NAME    INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME    INDICATOR SB2,\r\n&gt;      DEFAULT_OPTIONS STRING, DEFAULT_OPTIONS LENGTH SIZE_T,\r\n&gt;      DEFAULT_OPTIONS INDICATOR SB2,\r\n&gt;      USERNAME STRING, USERNAME LENGTH SIZE_T,\r\n&gt;      USERNAME INDICATOR SB2\r\n&gt;      );\r\n&gt; \r\n&gt; PROCEDURE APPLY_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                DEFAULT_OPTIONS IN VARCHAR2 DEFAULT NULL,\r\n&gt;                                USERNAME IN VARCHAR2)\r\n&gt; IS\r\n&gt; \r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYSUBSCRIBED(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, LBAC_ERROR_EC, 'Policy not OID subscribed');\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, APPLY_ACTION) = FALSE\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&gt;     END IF; \r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);  \r\n&gt;     APPLY_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME,\r\n&gt;                                  DEFAULT_OPTIONS, USERNAME);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, 0)) THEN\r\n&gt;     LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;     LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;   END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END APPLY_SCHEMA_POLICY;\r\n&gt; \r\n&gt; PROCEDURE REMOVE_SCHEMA_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&gt;                                          SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                          DROP_COLUMN IN BOOLEAN)\r\n&gt; IS LANGUAGE C \r\n&gt;    NAME \"zllursp\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&gt;      POLICY_NAME    INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME    INDICATOR SB2,\r\n&gt;      DROP_COLUMN UB1\r\n&gt;      );\r\n&gt; \r\n&gt; PROCEDURE REMOVE_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                 SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                 DROP_COLUMN IN BOOLEAN DEFAULT FALSE,\r\n&gt;                                 USERNAME    IN VARCHAR2)\r\n&gt; IS\r\n&gt; \r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, REMOVE_ACTION) = FALSE\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&gt;     END IF; \r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     REMOVE_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, DROP_COLUMN);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, 0)) THEN\r\n&gt;     LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;     LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;   END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END REMOVE_SCHEMA_POLICY;\r\n&gt; \r\n&gt; PROCEDURE ENABLE_SCHEMA_POLICY_INTERNAL (POLICY_NAME    IN VARCHAR2,\r\n&gt;                                          SCHEMA_NAME    IN VARCHAR2)\r\n&gt;    IS LANGUAGE C \r\n&gt;    NAME \"zlluesp\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T, \r\n&gt;      POLICY_NAME INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME INDICATOR SB2\r\n&gt;      );\r\n&gt; \r\n&gt; PROCEDURE ENABLE_SCHEMA_POLICY(POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                USERNAME    IN VARCHAR2) IS\r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&gt;     END IF; \r\n&gt;   END IF;\r\n&gt;   \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     ENABLE_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END ENABLE_SCHEMA_POLICY;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE ALTER_SCHEMA_POLICY (POLICY_NAME     IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME     IN VARCHAR2,\r\n&gt;                                DEFAULT_OPTIONS IN VARCHAR2,\r\n&gt;                                USERNAME        IN VARCHAR2)\r\n&gt; IS \r\n&gt; \r\n&gt; POL_NUM         PLS_INTEGER;\r\n&gt; USR_CNT         PLS_INTEGER;\r\n&gt; NEW_OPTIONS     PLS_INTEGER;\r\n&gt; SCH_NAME        VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&gt;     END IF; \r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   IF SCH_NAME IS NULL THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;             PRODUCT, FACILITY, INVALID_PARAMS_EC, 'schema name');\r\n&gt;   END IF;\r\n&gt;   IF SCH_NAME IN ('SYS', 'LBACSYS', 'SYSTEM') THEN\r\n&gt;     LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, FACILITY, INVALID_SCHEMA_EC);\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   POL_NUM:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   SELECT COUNT(*) INTO USR_CNT\r\n&gt;   FROM SYS.ALL_USERS\r\n&gt;   WHERE USERNAME = SCH_NAME;\r\n&gt;   IF (USR_CNT != 1) THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;       PRODUCT, FACILITY, NO_PROG_EC, SCH_NAME);\r\n&gt;   END IF;\r\n&gt;    \r\n&gt;   IF DEFAULT_OPTIONS IS NULL THEN\r\n&gt;      NEW_OPTIONS := NULL;\r\n&gt;   ELSE\r\n&gt;      \r\n&gt;      IF INSTR(UPPER(DEFAULT_OPTIONS),'INVERSE_GROUP',1,1) &gt; 0 THEN\r\n&gt;        LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;           PRODUCT, FACILITY, LBAC_ERROR_EC, ' invalid  option string');\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      NEW_OPTIONS := LBACSYS.LBAC_CACHE.OPTION_NUMBER(DEFAULT_OPTIONS); \r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   UPDATE LBACSYS.OLS$POLS SET OPTIONS = NEW_OPTIONS\r\n&gt;   WHERE POL#=POL_NUM AND OWNER = SCH_NAME;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   IF SQL%ROWCOUNT = 0 THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, FACILITY, \r\n&gt;       ALTER_SCHEMA_EC, POLICY_NAME, SCH_NAME);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt;  \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ALTER_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ALTER_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END ALTER_SCHEMA_POLICY;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE APPLY_TABLE_POLICY_INTERNAL (POLICY_NAME    IN VARCHAR2,\r\n&gt;                               SCHEMA_NAME    IN VARCHAR2,\r\n&gt;                               TABLE_NAME     IN VARCHAR2,\r\n&gt;                               TABLE_OPTIONS  IN VARCHAR2,\r\n&gt;                               LABEL_FUNCTION IN VARCHAR2,\r\n&gt;                               PREDICATE      IN VARCHAR2,\r\n&gt;                               INVOKER_USR    IN VARCHAR2)\r\n&gt; IS LANGUAGE C \r\n&gt;    NAME \"zlluatp1\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T, \r\n&gt;      POLICY_NAME INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME INDICATOR SB2, \r\n&gt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&gt;      TABLE_NAME  INDICATOR SB2,\r\n&gt;      TABLE_OPTIONS  STRING, TABLE_OPTIONS LENGTH SIZE_T,\r\n&gt;      TABLE_OPTIONS INDICATOR SB2,\r\n&gt;      LABEL_FUNCTION STRING, LABEL_FUNCTION LENGTH SIZE_T,\r\n&gt;      LABEL_FUNCTION INDICATOR SB2,\r\n&gt;      PREDICATE      STRING, PREDICATE LENGTH SIZE_T,\r\n&gt;      PREDICATE INDICATOR SB2,\r\n&gt;      INVOKER_USR    STRING, INVOKER_USR LENGTH SIZE_T,\r\n&gt;      INVOKER_USR INDICATOR SB2\r\n&gt;      );\r\n&gt; \r\n&gt; PROCEDURE APPLY_TABLE_POLICY (POLICY_NAME    IN VARCHAR2,\r\n&gt;                               SCHEMA_NAME    IN VARCHAR2,\r\n&gt;                               TABLE_NAME     IN VARCHAR2,\r\n&gt;                               TABLE_OPTIONS  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               LABEL_FUNCTION IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               PREDICATE      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               USERNAME       IN VARCHAR2\r\n&gt;                               ) IS\r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; TAB_NAME     VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&gt;                                              TAB_NAME);\r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYSUBSCRIBED(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, LBAC_ERROR_EC, 'Policy not OID subscribed');\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, APPLY_ACTION) = FALSE\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME); \r\n&gt;     END IF; \r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     APPLY_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME, TABLE_OPTIONS,\r\n&gt;                                 LABEL_FUNCTION, PREDICATE, USERNAME);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(APPLY_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END APPLY_TABLE_POLICY;\r\n&gt; \r\n&gt; PROCEDURE ENABLE_TABLE_POLICY_INTERNAL (POLICY_NAME    IN VARCHAR2,\r\n&gt;                               SCHEMA_NAME    IN VARCHAR2,\r\n&gt;                               TABLE_NAME     IN VARCHAR2)\r\n&gt;    IS LANGUAGE C \r\n&gt;    NAME \"zlluetp\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T, \r\n&gt;      POLICY_NAME INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME INDICATOR SB2, \r\n&gt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&gt;      TABLE_NAME  INDICATOR SB2\r\n&gt;      );\r\n&gt; \r\n&gt; PROCEDURE ENABLE_TABLE_POLICY(POLICY_NAME IN VARCHAR2,\r\n&gt;                               SCHEMA_NAME IN VARCHAR2,\r\n&gt;                               TABLE_NAME  IN VARCHAR2,\r\n&gt;                               USERNAME    IN VARCHAR2) IS\r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; TAB_NAME     VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&gt;                                              TAB_NAME);\r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt;   \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     ENABLE_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(ENABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;  \r\n&gt;     RAISE;\r\n&gt; END ENABLE_TABLE_POLICY;\r\n&gt; \r\n&gt;                               \r\n&gt; PROCEDURE REMOVE_TABLE_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                TABLE_NAME  IN VARCHAR2,\r\n&gt;                                DROP_COLUMN IN BOOLEAN)\r\n&gt; IS LANGUAGE C \r\n&gt;    NAME \"zllurtp\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;              CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&gt;      POLICY_NAME    INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME    INDICATOR SB2,\r\n&gt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&gt;      TABLE_NAME     INDICATOR SB2,\r\n&gt;      DROP_COLUMN    UB1, DROP_COLUMN INDICATOR SB2\r\n&gt;      );\r\n&gt;                               \r\n&gt; PROCEDURE REMOVE_TABLE_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                TABLE_NAME  IN VARCHAR2,\r\n&gt;                                DROP_COLUMN IN BOOLEAN DEFAULT FALSE,\r\n&gt;                                USERNAME    IN VARCHAR2)\r\n&gt; IS\r\n&gt; \r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; TAB_NAME     VARCHAR2(128);\r\n&gt;  \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&gt;                                              TAB_NAME);\r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, REMOVE_ACTION) = FALSE\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF; \r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     REMOVE_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME, DROP_COLUMN);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(REMOVE_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END REMOVE_TABLE_POLICY;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE POLICY_SUBSCRIBE(POLICY_NAME IN VARCHAR2,\r\n&gt;                            USERNAME    IN VARCHAR2) IS\r\n&gt; UNSUPPORTED_OP_EC    CONSTANT PLS_INTEGER := 12408;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     LBACSYS.LBAC_CACHE.OID_SUBSCRIBE(POLICY_NAME);\r\n&gt;   ELSE\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, UNSUPPORTED_OP_EC, 'OID not enabled');\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_SUB_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_SUB_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END POLICY_SUBSCRIBE;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE POLICY_UNSUBSCRIBE(POLICY_NAME IN VARCHAR2,\r\n&gt;                              USERNAME    IN VARCHAR2) IS\r\n&gt; UNSUPPORTED_OP_EC    CONSTANT PLS_INTEGER := 12408;\r\n&gt; POLICY_IN_USE_TABLE  PLS_INTEGER;\r\n&gt; POLICY_IN_USE_SCHEMA PLS_INTEGER;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     SELECT COUNT(*) INTO POLICY_IN_USE_SCHEMA\r\n&gt;         FROM LBACSYS.OLS$POL P, LBACSYS.OLS$POLS S\r\n&gt;         WHERE P.POL_NAME = UPPER(POLICY_NAME)\r\n&gt;           AND P.POL# = S.POL#;\r\n&gt;     SELECT COUNT(*) INTO POLICY_IN_USE_TABLE\r\n&gt;         FROM LBACSYS.OLS$POL P, LBACSYS.OLS$POLT PT\r\n&gt;         WHERE P.POL_NAME = UPPER(POLICY_NAME)\r\n&gt;           AND P.POL# = PT.POL#;\r\n&gt; \r\n&gt;     IF POLICY_IN_USE_TABLE &lt;&gt; 0 OR POLICY_IN_USE_SCHEMA &lt;&gt; 0 THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, LBAC_ERROR_EC, 'Policy in use');\r\n&gt;     END IF;\r\n&gt;     LBACSYS.LBAC_CACHE.OID_UNSUBSCRIBE(POLICY_NAME);\r\n&gt;   ELSE\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, UNSUPPORTED_OP_EC, 'OID not enabled');\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_UNSUB_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(POLICY_UNSUB_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END POLICY_UNSUBSCRIBE;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DISABLE_TABLE_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&gt;                                SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                TABLE_NAME  IN VARCHAR2)\r\n&gt; IS LANGUAGE C \r\n&gt;    NAME \"zlludtp\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&gt;      POLICY_NAME    INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME    INDICATOR SB2,\r\n&gt;      TABLE_NAME     STRING, TABLE_NAME   LENGTH SIZE_T,\r\n&gt;      TABLE_NAME     INDICATOR SB2\r\n&gt;      );\r\n&gt;                               \r\n&gt; PROCEDURE DISABLE_TABLE_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                 SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                 TABLE_NAME  IN VARCHAR2,\r\n&gt;                                 USERNAME    IN VARCHAR2)\r\n&gt; IS\r\n&gt; \r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; TAB_NAME     VARCHAR2(128);\r\n&gt;  \r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(TABLE_NAME, 'table name',\r\n&gt;                                              TAB_NAME);\r\n&gt; \r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN \r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     DISABLE_TABLE_POLICY_INTERNAL(POLICY_NAME, SCH_NAME, TAB_NAME);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJNAME, TAB_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END DISABLE_TABLE_POLICY;\r\n&gt; \r\n&gt; PROCEDURE DISABLE_SCHEMA_POLICY_INTERNAL (POLICY_NAME IN VARCHAR2,\r\n&gt;                                           SCHEMA_NAME IN VARCHAR2)\r\n&gt; IS LANGUAGE C \r\n&gt;    NAME \"zlludsp\" \r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT \r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME    STRING, POLICY_NAME  LENGTH SIZE_T,\r\n&gt;      POLICY_NAME    INDICATOR SB2,\r\n&gt;      SCHEMA_NAME    STRING, SCHEMA_NAME  LENGTH SIZE_T,\r\n&gt;      SCHEMA_NAME    INDICATOR SB2\r\n&gt;      );\r\n&gt; \r\n&gt; PROCEDURE DISABLE_SCHEMA_POLICY (POLICY_NAME IN VARCHAR2,\r\n&gt;                                  SCHEMA_NAME IN VARCHAR2,\r\n&gt;                                  USERNAME    IN VARCHAR2)\r\n&gt; IS\r\n&gt; \r\n&gt; SCH_NAME     VARCHAR2(128);\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                              SCH_NAME);\r\n&gt;   IF (LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYADMIN(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(1);\r\n&gt;     DISABLE_SCHEMA_POLICY_INTERNAL(POLICY_NAME, SCH_NAME);\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;     LBACSYS.LBAC_CACHE.SET_ALTER_ALLOW(0);\r\n&gt;     RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(DISABLE_POLICY_ACTION, ABS(SQLCODE)))\r\n&gt;     THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCH_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END DISABLE_SCHEMA_POLICY;\r\n&gt; \r\n&gt; FUNCTION PRIV_NAMES (POLICY_NAME IN VARCHAR2)\r\n&gt; RETURN LBACSYS.LBAC_NAME_LIST IS\r\n&gt; \r\n&gt; STR_NAME_LIST LBACSYS.LBAC_NAME_LIST;\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;      PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;   END IF;\r\n&gt;   STR_NAME_LIST := NULL;\r\n&gt;   EXECUTE IMMEDIATE 'BEGIN lbacsys.' ||\r\n&gt;             LBAC_CACHE.PACKAGE(POLICY_NAME) ||\r\n&gt;             '.priv_names(:name_List); END;'\r\n&gt;   USING\r\n&gt;        OUT STR_NAME_LIST;\r\n&gt;     \r\n&gt;   IF STR_NAME_LIST IS NULL THEN\r\n&gt;     RETURN NULL;\r\n&gt;   END IF;\r\n&gt;   \r\n&gt;   RETURN STR_NAME_LIST;\r\n&gt; \r\n&gt; END PRIV_NAMES; \r\n&gt;     \r\n&gt; FUNCTION LABEL_NAMES (POLICY_NAME IN VARCHAR2,\r\n&gt;                       LABEL_TYPE  IN PLS_INTEGER)\r\n&gt; RETURN LBACSYS.LBAC_NAME_LIST IS\r\n&gt;     \r\n&gt; STR_LABEL_LIST LBACSYS.LBAC_NAME_LIST;\r\n&gt;     \r\n&gt; BEGIN\r\n&gt;     \r\n&gt;   IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;      PRODUCT, FACILITY, POLICY_ADMIN_EC, POLICY_NAME);\r\n&gt;   END IF;\r\n&gt;   STR_LABEL_LIST := NULL;\r\n&gt;   EXECUTE IMMEDIATE 'BEGIN lbacsys.' ||\r\n&gt;             LBAC_CACHE.PACKAGE(POLICY_NAME) ||\r\n&gt;             '.label_names(:type,:label_List); END;'\r\n&gt;   USING\r\n&gt;        IN LABEL_TYPE,\r\n&gt;        OUT STR_LABEL_LIST; \r\n&gt; \r\n&gt;   IF STR_LABEL_LIST IS NULL THEN\r\n&gt;     RETURN NULL;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   RETURN STR_LABEL_LIST;\r\n&gt; \r\n&gt; END LABEL_NAMES;\r\n&gt; \r\n&gt; END LBAC_POLICY_ADMIN_INT;\r\n<\/pre>\n<div id=\"LBACSYS.SA_SYSDBA.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.SA_SYSDBA &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">6a7,10\r\n&gt; NOT_ALLOWED_EC CONSTANT PLS_INTEGER := 42908;\r\n&gt; PRODUCT CONSTANT VARCHAR2(12) := 'TRUSTED';\r\n&gt; LBAC_FACILITY CONSTANT VARCHAR2(12) := 'LBAC';\r\n&gt; \r\n14,15c18,22\r\n&lt;   SELECT SYS_CONTEXT('USERENV','CURRENT_USER') INTO USERNAME\r\n&lt;   FROM SYS.DUAL;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n27,28c34,38\r\n&lt;   SELECT SYS_CONTEXT('USERENV','CURRENT_USER') INTO USERNAME\r\n&lt;   FROM SYS.DUAL;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n38,39c48,52\r\n&lt;   SELECT SYS_CONTEXT('USERENV','CURRENT_USER') INTO USERNAME\r\n&lt;   FROM SYS.DUAL;\r\n---\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n44a58\r\n&gt; USERNAME VARCHAR2(128);\r\n45a60,64\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n51a71\r\n&gt; USERNAME VARCHAR2(128);\r\n52a73,77\r\n&gt;   USERNAME := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (USERNAME = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n<\/pre>\n<div id=\"LBACSYS.SA_USER_ADMIN.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">3,5c3,4\r\n&lt; \r\n&lt; \r\n&lt; PRODUCT       CONSTANT VARCHAR2(12) := 'TRUSTED';\r\n---\r\n&gt; NOT_ALLOWED_EC CONSTANT PLS_INTEGER := 42908;\r\n&gt; PRODUCT CONSTANT VARCHAR2(12) := 'TRUSTED';\r\n7,311d5\r\n&lt; SA_FACILITY   CONSTANT VARCHAR2(12) := 'SA';\r\n&lt; SA_PACKAGE    CONSTANT VARCHAR2(12) := 'LBAC$SA';\r\n&lt; INV_BIT       CONSTANT PLS_INTEGER  := 4;\r\n&lt; GRP_BIT       CONSTANT PLS_INTEGER := 2;\r\n&lt; \r\n&lt; LVER    CONSTANT PLS_INTEGER := 1;  \r\n&lt; LVL_BIT CONSTANT PLS_INTEGER := 0;  \r\n&lt; CMP_BIT CONSTANT PLS_INTEGER := 1;\r\n&lt; LSEP    CONSTANT VARCHAR2(1) := '.'; \r\n&lt; \r\n&lt; INVALID_LABEL_LIST_EC   CONSTANT PLS_INTEGER := 12405;\r\n&lt; UNAUTHORIZED_OP_EC      CONSTANT PLS_INTEGER := 12407;\r\n&lt; NO_POLICY_EC            CONSTANT PLS_INTEGER := 12416;\r\n&lt; NO_USER_EC              CONSTANT PLS_INTEGER := 12418;\r\n&lt; NO_OLS_EC               CONSTANT PLS_INTEGER := 12458;\r\n&lt; UNDEFINED_LEVEL_EC      CONSTANT PLS_INTEGER := 12461;\r\n&lt; INVALID_CLRN_RANGE_EC   CONSTANT PLS_INTEGER := 12466;\r\n&lt; UNDEFINED_COMP_EC       CONSTANT PLS_INTEGER := 12462;\r\n&lt; UNDEFINED_GROUP_EC      CONSTANT PLS_INTEGER := 12463;\r\n&lt; SYS_USER_EC             CONSTANT PLS_INTEGER := 12432;\r\n&lt; INVALID_SCHEMA_EC       CONSTANT PLS_INTEGER := 12425;\r\n&lt; INVALID_ARG_EC          CONSTANT PLS_INTEGER := 12427;\r\n&lt; NO_DEFINED_LEVELS_EC    CONSTANT PLS_INTEGER := 12469;\r\n&lt; INVALID_LABEL_EC        CONSTANT PLS_INTEGER := 12470; \r\n&lt; NO_PROG_EC              CONSTANT PLS_INTEGER := 12417;\r\n&lt; INVALID_COMPS_GRPS_EC   CONSTANT PLS_INTEGER := 12465;\r\n&lt; \r\n&lt; INVALID_PARAMS_EC  CONSTANT PLS_INTEGER := 12427;\r\n&lt; STARTUP_FAILURE_EC CONSTANT PLS_INTEGER := 12409;\r\n&lt; \r\n&lt; SET_ACTION       CONSTANT PLS_INTEGER := 4;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; SET_AUTH_ACTION  CONSTANT PLS_INTEGER := 3;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; AUDINFO_OBJOWNER   CONSTANT PLS_INTEGER := 0;\r\n&lt; AUDINFO_GRANTEE    CONSTANT PLS_INTEGER := 2;\r\n&lt; AUDINFO_MAXRD      CONSTANT PLS_INTEGER := 3;\r\n&lt; AUDINFO_MAXWRT     CONSTANT PLS_INTEGER := 4;\r\n&lt; AUDINFO_MINWRT     CONSTANT PLS_INTEGER := 5;\r\n&lt; AUDINFO_PRIVGRNTED CONSTANT PLS_INTEGER := 6;\r\n&lt; AUDINFO_PROGRAM    CONSTANT PLS_INTEGER := 7;\r\n&lt; \r\n&lt; \r\n&lt; INSERT_TYPE    CONSTANT PLS_INTEGER := 2;    \r\n&lt; UPDATE_TYPE    CONSTANT PLS_INTEGER := 6;    \r\n&lt; DELETE_TYPE    CONSTANT PLS_INTEGER := 7;    \r\n&lt; \r\n&lt; \r\n&lt; TABLE_OBJ_TYPE CONSTANT PLS_INTEGER := 1;  \r\n&lt; PROC_OBJ_TYPE  CONSTANT PLS_INTEGER := 2;  \r\n&lt; \r\n&lt; USER_OBJ_TYPE  CONSTANT PLS_INTEGER := 3;  \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; TYPE LAB_SORT_T IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; PROCEDURE CHECK_POLICY(POLICY_NAME IN VARCHAR2) IS\r\n&lt; BEGIN\r\n&lt; \r\n&lt; \r\n&lt;   IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;       UNAUTHORIZED_OP_EC, POLICY_NAME);\r\n&lt;   END IF;\r\n&lt;   \r\n&lt; \r\n&lt;   IF LBACSYS.LBAC_CACHE.PACKAGE(POLICY_NAME) != SA_PACKAGE THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;       NO_POLICY_EC, POLICY_NAME, TRUE);\r\n&lt;   END IF;\r\n&lt;   \r\n&lt; END CHECK_POLICY;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; PROCEDURE CHECK_LEVELS(POLICY_NAME IN VARCHAR2,\r\n&lt;                        USER_NAME IN VARCHAR2) IS\r\n&lt; I_NULL     CHAR(1);\r\n&lt; POL_NUMBER LBACSYS.OLS$USER_LEVELS.POL#%TYPE;\r\n&lt; \r\n&lt; BEGIN\r\n&lt;     POL_NUMBER := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt; \r\n&lt;     SELECT NULL INTO I_NULL\r\n&lt;     FROM LBACSYS.OLS$USER_LEVELS\r\n&lt;     WHERE POL# = POL_NUMBER AND USR_NAME = USER_NAME;\r\n&lt; EXCEPTION\r\n&lt;   WHEN NO_DATA_FOUND THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;       NO_DEFINED_LEVELS_EC, USER_NAME, POLICY_NAME);\r\n&lt; END CHECK_LEVELS;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; PROCEDURE CHECK_USER(UNAME IN VARCHAR2) IS\r\n&lt; I_NULL CHAR(1);\r\n&lt; \r\n&lt; BEGIN\r\n&lt;     IF UNAME IN ('SYS','LBACSYS','SYSTEM') THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;       INVALID_SCHEMA_EC);\r\n&lt;     END IF;\r\n&lt; END CHECK_USER;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; PROCEDURE CHECK_COMMON(UNAME  IN VARCHAR2,\r\n&lt;                        OBJECT IN VARCHAR2,\r\n&lt;                        OBJTYP IN PLS_INTEGER)\r\n&lt; IS LANGUAGE C\r\n&lt;    NAME \"zllsesFedChk\"\r\n&lt;    LIBRARY LBACSYS.OLS$SESSION_LIBT\r\n&lt;    PARAMETERS (\r\n&lt;      UNAME STRING, UNAME LENGTH SIZE_T, UNAME INDICATOR SB2,\r\n&lt;      OBJECT STRING, OBJECT LENGTH SIZE_T, OBJECT INDICATOR SB2,\r\n&lt;      OBJTYP UB1, OBJTYP INDICATOR SB2\r\n&lt;      );\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; FUNCTION GET_LEVEL (POL_ID     IN PLS_INTEGER, \r\n&lt;                     LEVEL_CODE IN VARCHAR2)\r\n&lt; RETURN PLS_INTEGER IS\r\n&lt;   LEVEL_NUM LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&lt; BEGIN\r\n&lt;     IF LEVEL_CODE IS NULL THEN\r\n&lt;        RETURN NULL;\r\n&lt;     ELSE\r\n&lt;        SELECT LEVEL# INTO LEVEL_NUM\r\n&lt;        FROM LBACSYS.OLS$LEVELS\r\n&lt;        WHERE POL# = POL_ID AND CODE = LEVEL_CODE;\r\n&lt;        RETURN LEVEL_NUM;\r\n&lt;     END IF;\r\n&lt;   EXCEPTION\r\n&lt;     WHEN NO_DATA_FOUND THEN \r\n&lt;        LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&lt;        UNDEFINED_LEVEL_EC, LEVEL_CODE, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&lt; END GET_LEVEL; \r\n&lt; \r\n&lt; FUNCTION GET_LEVEL (POL_ID     IN PLS_INTEGER,\r\n&lt;                     LEVEL_NUM  IN PLS_INTEGER)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt;   LEVEL_CODE LBACSYS.OLS$LEVELS.CODE%TYPE;\r\n&lt; BEGIN\r\n&lt;     IF LEVEL_NUM IS NULL THEN\r\n&lt;        RETURN NULL;\r\n&lt;     ELSE\r\n&lt;        SELECT CODE INTO LEVEL_CODE\r\n&lt;        FROM LBACSYS.OLS$LEVELS\r\n&lt;        WHERE POL# = POL_ID AND LEVEL# = LEVEL_NUM;\r\n&lt;        RETURN LEVEL_CODE;\r\n&lt;     END IF;\r\n&lt;   EXCEPTION\r\n&lt;     WHEN NO_DATA_FOUND THEN\r\n&lt;        LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;        UNDEFINED_LEVEL_EC, LEVEL_NUM, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&lt; END GET_LEVEL;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; FUNCTION GET_COMP  (POL_ID     IN PLS_INTEGER, \r\n&lt;                     COMP_CODE IN VARCHAR2)\r\n&lt; RETURN PLS_INTEGER IS\r\n&lt;   COMP_NUM LBACSYS.OLS$COMPARTMENTS.COMP#%TYPE;\r\n&lt; BEGIN\r\n&lt;   IF COMP_CODE IS NULL THEN\r\n&lt;      RETURN NULL;\r\n&lt;   ELSE\r\n&lt;      SELECT COMP# INTO COMP_NUM\r\n&lt;      FROM LBACSYS.OLS$COMPARTMENTS\r\n&lt;      WHERE POL# = POL_ID AND CODE = COMP_CODE;\r\n&lt;      RETURN COMP_NUM;\r\n&lt;   END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN NO_DATA_FOUND THEN \r\n&lt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&lt;      UNDEFINED_COMP_EC, COMP_CODE, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&lt; END GET_COMP; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; FUNCTION GET_GROUP (POL_ID     IN PLS_INTEGER, \r\n&lt;                     GROUP_CODE IN VARCHAR2)\r\n&lt; RETURN PLS_INTEGER IS\r\n&lt;   GROUP_NUM LBACSYS.OLS$GROUPS.GROUP#%TYPE;\r\n&lt; BEGIN\r\n&lt;   IF GROUP_CODE IS NULL THEN\r\n&lt;      RETURN NULL;\r\n&lt;   ELSE\r\n&lt;      SELECT GROUP# INTO GROUP_NUM\r\n&lt;      FROM LBACSYS.OLS$GROUPS\r\n&lt;      WHERE POL# = POL_ID AND CODE = GROUP_CODE;\r\n&lt;      RETURN GROUP_NUM;\r\n&lt;   END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN NO_DATA_FOUND THEN \r\n&lt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&lt;      UNDEFINED_GROUP_EC, GROUP_CODE, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&lt; END GET_GROUP; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; FUNCTION SET_INVERSE_POLICY_BIT(POL_ID PLS_INTEGER)\r\n&lt; RETURN PLS_INTEGER IS\r\n&lt; BEGIN\r\n&lt;   \r\n&lt;   IF LBACSYS.LBAC_CACHE.INVERSE_GROUP(POL_ID) THEN\r\n&lt;     RETURN 4;\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   RETURN 0;\r\n&lt; END SET_INVERSE_POLICY_BIT;\r\n&lt; \r\n&lt; FUNCTION TO_PRIVS ( POLICY_NAME VARCHAR2,\r\n&lt;                      PRIVILEGES VARCHAR2)\r\n&lt; RETURN NUMBER IS\r\n&lt;  PRIVS NUMBER := 0;\r\n&lt;  POS        PLS_INTEGER; \r\n&lt;  REST       VARCHAR2(255);\r\n&lt;  PRIV       VARCHAR2(30);\r\n&lt;  PRIV_NUM   PLS_INTEGER;\r\n&lt;  TYPE PRIV_IDX_TAB  IS TABLE OF  PLS_INTEGER\r\n&lt;  INDEX BY PLS_INTEGER;          \r\n&lt;  PRIV_ARR PRIV_IDX_TAB;\r\n&lt;  I NUMBER;\r\n&lt; \r\n&lt; BEGIN\r\n&lt;   POS := 0;\r\n&lt;   REST := PRIVILEGES;\r\n&lt;   \r\n&lt;   WHILE REST IS NOT NULL LOOP\r\n&lt;      POS := INSTR(REST,',');\r\n&lt;      IF POS = 0 THEN\r\n&lt;         PRIV:=REST;\r\n&lt;         REST:=NULL;\r\n&lt;      ELSE\r\n&lt;         PRIV:=SUBSTR(REST,1,POS-1);\r\n&lt;         REST:=SUBSTR(REST,POS+1);\r\n&lt;      END IF;\r\n&lt; \r\n&lt;      EXECUTE IMMEDIATE 'BEGIN LBACSYS.' ||\r\n&lt;            LBACSYS.LBAC_CACHE.PACKAGE(POLICY_NAME) ||\r\n&lt;            '.validate_priv(:priv, :priv_number); END;'\r\n&lt;      USING\r\n&lt;         IN  PRIV,\r\n&lt;         OUT PRIV_NUM;\r\n&lt;      PRIV_ARR(PRIV_NUM) := 1;\r\n&lt; \r\n&lt;      PRIVS := BITAND(PRIVS,PRIV_NUM); \r\n&lt; \r\n&lt;   END LOOP;  \r\n&lt; \r\n&lt;   \r\n&lt; \r\n&lt;   FOR I IN 1..7 LOOP\r\n&lt;      IF NOT (PRIV_ARR.EXISTS(I))  THEN\r\n&lt;         PRIV_ARR(I) :=0;\r\n&lt;      END IF;\r\n&lt;   END LOOP;\r\n&lt;   SELECT BIN_TO_NUM(PRIV_ARR(7), PRIV_ARR(6), PRIV_ARR(5), PRIV_ARR(4),\r\n&lt;              PRIV_ARR(3),PRIV_ARR(2),PRIV_ARR(1)) INTO PRIVS FROM SYS.DUAL;\r\n&lt; \r\n&lt;   RETURN(PRIVS);\r\n&lt; \r\n&lt; END TO_PRIVS;\r\n&lt; \r\n&lt; PROCEDURE SET_USER_PRIVS_INTERNAL\r\n&lt;                         (POLICY_NAME IN VARCHAR2,\r\n&lt;                          USER_NAME   IN VARCHAR2,\r\n&lt;                          MR_LABEL    IN VARCHAR2,\r\n&lt;                          MW_LABEL    IN VARCHAR2,\r\n&lt;                          MIN_LABEL   IN VARCHAR2,\r\n&lt;                          READ_LABEL  IN VARCHAR2,\r\n&lt;                          WRITE_LABEL IN VARCHAR2,\r\n&lt;                          ROW_LABEL   IN VARCHAR2,\r\n&lt;                          PRIVS       IN PLS_INTEGER,\r\n&lt;                          STMT_TYPE   IN PLS_INTEGER)\r\n&lt; IS LANGUAGE C\r\n&lt;    NAME \"zllusr_sup\"\r\n&lt;    LIBRARY LBACSYS.LBAC$USER_LIBT\r\n&lt;    WITH CONTEXT\r\n&lt;    PARAMETERS (\r\n&lt;      CONTEXT,\r\n&lt;      POLICY_NAME STRING, POLICY_NAME LENGTH SIZE_T, POLICY_NAME INDICATOR SB2,\r\n&lt;      USER_NAME STRING, USER_NAME LENGTH SIZE_T, USER_NAME INDICATOR SB2,\r\n&lt;      MR_LABEL STRING, MR_LABEL LENGTH SIZE_T, MR_LABEL INDICATOR SB2,\r\n&lt;      MW_LABEL STRING, MW_LABEL LENGTH SIZE_T, MW_LABEL INDICATOR SB2,\r\n&lt;      MIN_LABEL STRING, MIN_LABEL LENGTH SIZE_T, MIN_LABEL INDICATOR SB2,\r\n&lt;      READ_LABEL STRING, READ_LABEL LENGTH SIZE_T, READ_LABEL INDICATOR SB2,\r\n&lt;      WRITE_LABEL STRING, WRITE_LABEL LENGTH SIZE_T, WRITE_LABEL INDICATOR SB2,\r\n&lt;      ROW_LABEL STRING, ROW_LABEL LENGTH SIZE_T, ROW_LABEL INDICATOR SB2,\r\n&lt;      PRIVS UB4, STMT_TYPE UB1\r\n&lt;      );\r\n322,333c16\r\n&lt; CUNAME        VARCHAR2(1024);\r\n&lt; MINLVL_CODE   LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(MIN_LEVEL);\r\n&lt; MAXLVL_CODE   LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(MAX_LEVEL);\r\n&lt; DLVL_CODE     LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(DEF_LEVEL);\r\n&lt; RLVL_CODE     LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(ROW_LEVEL);\r\n&lt; POLID         LBACSYS.OLS$USER_LEVELS.POL#%TYPE;\r\n&lt; MIN_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&lt; MAX_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&lt; DEF_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&lt; ROW_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&lt; I_NULL  CHAR(1);\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n335,390c18,26\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;   CHECK_USER(CUNAME);\r\n&lt; \r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   MAX_NUM := GET_LEVEL(POLID, MAXLVL_CODE);\r\n&lt;   IF MINLVL_CODE IS NULL THEN\r\n&lt;     SELECT MIN(LEVEL#) INTO MIN_NUM\r\n&lt;     FROM LBACSYS.OLS$LEVELS\r\n&lt;     WHERE POL#=POLID;\r\n&lt;   ELSE\r\n&lt;     MIN_NUM := GET_LEVEL(POLID, MINLVL_CODE);\r\n&lt;   END IF;\r\n&lt;   IF DLVL_CODE IS NULL THEN\r\n&lt;     DEF_NUM := MAX_NUM;\r\n&lt;   ELSE\r\n&lt;     DEF_NUM := GET_LEVEL(POLID, DLVL_CODE);\r\n&lt;   END IF;\r\n&lt;   IF RLVL_CODE IS NULL THEN\r\n&lt;     ROW_NUM := DEF_NUM;\r\n&lt;   ELSE\r\n&lt;     ROW_NUM := GET_LEVEL(POLID, RLVL_CODE);\r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   IF DEF_NUM &lt; MIN_NUM THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;         INVALID_ARG_EC, 'def_level');\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   IF DEF_NUM &gt; MAX_NUM THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;       PRODUCT, SA_FACILITY, INVALID_CLRN_RANGE_EC);\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   IF ROW_NUM &lt; MIN_NUM OR ROW_NUM &gt; DEF_NUM THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&lt;         INVALID_ARG_EC, 'row_level');\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_LEVELS(POLID, CUNAME, MAX_NUM, \r\n&lt;                                   MIN_NUM, DEF_NUM, ROW_NUM);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;  \r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_LEVELS(POLICY_NAME, USER_NAME,\r\n&gt;                                        MAX_LEVEL, MIN_LEVEL,\r\n&gt;                                        DEF_LEVEL, ROW_LEVEL,\r\n&gt;                                        INVOKER_USR);\r\n400,402c36\r\n&lt; CUNAME   VARCHAR2(1024);\r\n&lt; POLID    LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n404,426c38,46\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt; \r\n&lt;   \r\n&lt;   CHECK_LEVELS(POLICY_NAME, CUNAME);\r\n&lt; \r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;   \r\n&lt;   LBACSYS.LBAC_LGSTNDBY_UTIL.SET_COMPARTMENTS(POLID, CUNAME, READ_COMPS,\r\n&lt;                                       WRITE_COMPS, DEF_COMPS, ROW_COMPS);\r\n&lt; \r\n&lt;   LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_COMPARTMENTS(POLICY_NAME, USER_NAME,\r\n&gt;                                              READ_COMPS, WRITE_COMPS,\r\n&gt;                                              DEF_COMPS, ROW_COMPS,\r\n&gt;                                              INVOKER_USR);\r\n436,437c56\r\n&lt; CUNAME     VARCHAR2(1024);\r\n&lt; POLID      LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n439,461c58,66\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;   \r\n&lt;   IF (ACCESS_MODE IS NULL) AND (IN_DEF IS NULL) AND (IN_ROW IS NULL) THEN\r\n&lt;     RETURN;  \r\n&lt;   END IF;\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ALTER_COMPARTMENTS(POLID, CUNAME, COMPS,\r\n&lt;                                           ACCESS_MODE, IN_DEF, IN_ROW);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.ALTER_COMPARTMENTS(POLICY_NAME, USER_NAME,\r\n&gt;                                                COMPS, ACCESS_MODE,\r\n&gt;                                                IN_DEF, IN_ROW,\r\n&gt;                                                INVOKER_USR);\r\n471,473c76\r\n&lt; CUNAME    VARCHAR2(1024);\r\n&lt; POLID     LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n475,497c78,86\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt; \r\n&lt;   \r\n&lt;   CHECK_LEVELS(POLICY_NAME, CUNAME);\r\n&lt; \r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_GROUPS(POLID, CUNAME, READ_GROUPS,\r\n&lt;                                   WRITE_GROUPS, DEF_GROUPS, ROW_GROUPS);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_GROUPS(POLICY_NAME, USER_NAME,\r\n&gt;                                        READ_GROUPS, WRITE_GROUPS,\r\n&gt;                                        DEF_GROUPS, ROW_GROUPS,\r\n&gt;                                        INVOKER_USR);\r\n507,509c96\r\n&lt; CUNAME     VARCHAR2(1024);\r\n&lt; POLID      LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n511,533c98,106\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   IF (ACCESS_MODE IS NULL) AND (IN_DEF IS NULL) AND (IN_ROW IS NULL) THEN\r\n&lt;     RETURN;  \r\n&lt;   END IF;\r\n&lt; \r\n&lt;   \r\n&lt;   BEGIN\r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ALTER_GROUPS(POLID, CUNAME, GROUPS,\r\n&lt;                                     ACCESS_MODE, IN_DEF, IN_ROW);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.ALTER_GROUPS(POLICY_NAME, USER_NAME,\r\n&gt;                                          GROUPS, ACCESS_MODE,\r\n&gt;                                          IN_DEF, IN_ROW,\r\n&gt;                                          INVOKER_USR);\r\n543,544c116\r\n&lt; CUNAME     VARCHAR2(1024);\r\n&lt; POLID      LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n546,564c118,126\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;  \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ADD_COMPARTMENTS(POLID, CUNAME, COMPS,\r\n&lt;                                         ACCESS_MODE, IN_DEF, IN_ROW);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.ADD_COMPARTMENTS(POLICY_NAME, USER_NAME,\r\n&gt;                                              COMPS, ACCESS_MODE,\r\n&gt;                                              IN_DEF, IN_ROW,\r\n&gt;                                              INVOKER_USR);\r\n571,572c133\r\n&lt; CUNAME   VARCHAR2(1024);\r\n&lt; POLID    LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n574,577c135,138\r\n&lt; \r\n&lt;   IF COMPS IS NULL THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;       INVALID_ARG_EC, 'comps');\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n579,596c140,141\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_COMPARTMENTS(POLID, CUNAME, COMPS);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.DROP_COMPARTMENTS(POLICY_NAME, USER_NAME,\r\n&gt;                                               COMPS, INVOKER_USR);\r\n603,604c148\r\n&lt; CUNAME   VARCHAR2(1024);\r\n&lt; POLID    LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n606,623c150,156\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_ALL_COMPARTMENTS(POLID, CUNAME);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.DROP_ALL_COMPARTMENTS(POLICY_NAME, USER_NAME,\r\n&gt;                                                   INVOKER_USR);\r\n633,634c166\r\n&lt; CUNAME      VARCHAR2(1024);\r\n&lt; POLID       LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n636,654c168,176\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ADD_GROUPS(POLID, CUNAME, GROUPS,\r\n&lt;                                   ACCESS_MODE, IN_DEF, IN_ROW); \r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.ADD_GROUPS(POLICY_NAME, USER_NAME,\r\n&gt;                                        GROUPS, ACCESS_MODE,\r\n&gt;                                        IN_DEF, IN_ROW,\r\n&gt;                                        INVOKER_USR);\r\n661,662c183\r\n&lt; CUNAME   VARCHAR2(1024);\r\n&lt; POLID    LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n664,667c185,188\r\n&lt; \r\n&lt;   IF GROUPS IS NULL THEN\r\n&lt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&lt;       INVALID_ARG_EC, 'groups');\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n669,686c190,191\r\n&lt; \r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_GROUPS(POLID, CUNAME, GROUPS);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.DROP_GROUPS(POLICY_NAME, USER_NAME,\r\n&gt;                                         GROUPS, INVOKER_USR);\r\n692,693c197\r\n&lt; CUNAME   VARCHAR2(1024);\r\n&lt; POLID    LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n695,711c199,205\r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_ALL_GROUPS(POLID, CUNAME);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.DROP_ALL_GROUPS(POLICY_NAME, USER_NAME,\r\n&gt;                                             INVOKER_USR);\r\n723,732c217\r\n&lt; CUNAME      VARCHAR2(1024);\r\n&lt; POLID       LBACSYS.OLS$USER_LEVELS.POL#%TYPE;\r\n&lt; MAX_RD_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; MAX_WT_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; MIN_WT_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; DF_LAB      LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; RW_LAB      LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; MIN_LVL     PLS_INTEGER;\r\n&lt; I_NULL      VARCHAR2(1);\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n734,810c219,227\r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt; \r\n&lt;   IF (NOT LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   ELSE\r\n&lt;     CUNAME := UPPER(USER_NAME);\r\n&lt;   END IF;\r\n&lt;   CHECK_USER(CUNAME);\r\n&lt; \r\n&lt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt; \r\n&lt;   CHECK_COMMON(CUNAME, NULL, USER_OBJ_TYPE);\r\n&lt; \r\n&lt; \r\n&lt;   MAX_RD_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MAX_READ_LABEL);\r\n&lt; \r\n&lt; \r\n&lt;   IF MAX_WRITE_LABEL IS NULL THEN\r\n&lt;      MAX_WT_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MAX_READ_LABEL);\r\n&lt;   ELSE \r\n&lt;      MAX_WT_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MAX_WRITE_LABEL);\r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   IF MIN_WRITE_LABEL IS NULL THEN\r\n&lt;   \r\n&lt;   \r\n&lt;      SELECT MIN(LEVEL#) INTO MIN_LVL \r\n&lt;      FROM LBACSYS.OLS$LEVELS\r\n&lt;      WHERE POL# = POLID;\r\n&lt; \r\n&lt;   ELSE\r\n&lt;      MIN_WT_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MIN_WRITE_LABEL);\r\n&lt;      MIN_LVL := LBACSYS.LBAC$SA_LABELS.LABEL_LEVEL_ONLY(MIN_WT_LAB);\r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   IF DEF_LABEL IS NULL THEN\r\n&lt;     DF_LAB := MAX_RD_LAB;\r\n&lt;   ELSE\r\n&lt;     DF_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, DEF_LABEL);\r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   IF ROW_LABEL IS NULL THEN\r\n&lt;     RW_LAB :=LBACSYS.LBAC$SA_LABELS.COMPUTE_WRITE_LABEL(POLID, MAX_WT_LAB, DF_LAB);\r\n&lt;   ELSE\r\n&lt;     RW_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, ROW_LABEL);\r\n&lt;   END IF;\r\n&lt; \r\n&lt; \r\n&lt;   LBACSYS.LBAC_LGSTNDBY_UTIL.SET_USER_LABELS(POLID, CUNAME, MAX_RD_LAB,\r\n&lt;                                      MAX_WT_LAB,\r\n&lt;                                      MIN_LVL, DF_LAB, RW_LAB);  \r\n&lt;   LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&lt;   COMMIT;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXRD, MAX_READ_LABEL);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXWRT, MAX_WRITE_LABEL);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MINWRT, MIN_WRITE_LABEL);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, ABS(SQLCODE))) THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXRD, MAX_READ_LABEL);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXWRT, MAX_WRITE_LABEL);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MINWRT, MIN_WRITE_LABEL);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_USER_LABELS(POLICY_NAME, USER_NAME,\r\n&gt;                                             MAX_READ_LABEL, MAX_WRITE_LABEL,\r\n&gt;                                             MIN_WRITE_LABEL, DEF_LABEL,\r\n&gt;                                             ROW_LABEL, INVOKER_USR);\r\n814,941d230\r\n&lt; \r\n&lt; FUNCTION MAX_READ_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt; POL_NUMBER     PLS_INTEGER;\r\n&lt; CUNAME         LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; MAX_READ_LABEL LBACSYS.OLS$PROFILE.MAX_READ%TYPE;\r\n&lt; BEGIN\r\n&lt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&lt;             NO_POLICY_EC,POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;    SELECT MAX_READ INTO MAX_READ_LABEL\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&lt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt; \r\n&lt;    RETURN MAX_READ_LABEL;\r\n&lt; END MAX_READ_LABEL;\r\n&lt; \r\n&lt; FUNCTION MAX_WRITE_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt; POL_NUMBER      PLS_INTEGER;\r\n&lt; CUNAME          LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; MAX_WRITE_LABEL LBACSYS.OLS$PROFILE.MAX_WRITE%TYPE;\r\n&lt; BEGIN\r\n&lt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&lt;             NO_POLICY_EC,POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;    SELECT MAX_WRITE INTO MAX_WRITE_LABEL\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&lt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt; \r\n&lt;    RETURN MAX_WRITE_LABEL;\r\n&lt; END MAX_WRITE_LABEL;\r\n&lt; \r\n&lt; FUNCTION MIN_WRITE_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt; POL_NUMBER      PLS_INTEGER;\r\n&lt; CUNAME          LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; MIN_WRITE_LABEL LBACSYS.OLS$PROFILE.MIN_WRITE%TYPE;\r\n&lt; BEGIN\r\n&lt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&lt;             NO_POLICY_EC,POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUMBER:=LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;    SELECT MIN_WRITE INTO MIN_WRITE_LABEL\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&lt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt; \r\n&lt;    RETURN MIN_WRITE_LABEL;\r\n&lt; END MIN_WRITE_LABEL;\r\n&lt; \r\n&lt; FUNCTION DEFAULT_READ_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt; POL_NUMBER     PLS_INTEGER;\r\n&lt; CUNAME         LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; DEF_READ_LABEL LBACSYS.OLS$PROFILE.DEF_READ%TYPE;\r\n&lt; BEGIN\r\n&lt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&lt;             NO_POLICY_EC,POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;    SELECT DEF_READ INTO DEF_READ_LABEL\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&lt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt; \r\n&lt;    RETURN DEF_READ_LABEL;\r\n&lt; END DEFAULT_READ_LABEL;\r\n&lt; \r\n&lt; FUNCTION DEFAULT_WRITE_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt; POL_NUMBER      PLS_INTEGER;\r\n&lt; CUNAME          LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; DEF_WRITE_LABEL LBACSYS.OLS$PROFILE.DEF_WRITE%TYPE;\r\n&lt; BEGIN\r\n&lt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&lt;             NO_POLICY_EC,POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;    SELECT DEF_WRITE INTO DEF_WRITE_LABEL\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&lt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt; \r\n&lt;    RETURN DEF_WRITE_LABEL;\r\n&lt; END DEFAULT_WRITE_LABEL;\r\n&lt; \r\n&lt; FUNCTION DEFAULT_ROW_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&lt; RETURN VARCHAR2 IS\r\n&lt; POL_NUMBER    PLS_INTEGER;\r\n&lt; CUNAME        LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; DEF_ROW_LABEL LBACSYS.OLS$PROFILE.DEF_ROW%TYPE;\r\n&lt; BEGIN\r\n&lt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&lt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&lt;             NO_POLICY_EC,POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt; \r\n&lt;    SELECT DEF_ROW INTO DEF_ROW_LABEL\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&lt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt; \r\n&lt;    RETURN DEF_ROW_LABEL;\r\n&lt; END DEFAULT_ROW_LABEL;\r\n&lt; \r\n&lt; \r\n947,951c236,237\r\n&lt;  IS\r\n&lt; UNAME LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; POLID LBACSYS.OLS$POL.POL#%TYPE;\r\n&lt; DEF_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; \r\n---\r\n&gt; IS\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n953,971c239,245\r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', UNAME);\r\n&lt;   CHECK_USER(UNAME);\r\n&lt;   POLID:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   DEF_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, DEF_LABEL);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_DEFAULT_LABEL(POLID, UNAME, DEF_LAB);  \r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, UNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_DEFAULT_LABEL(POLICY_NAME, USER_NAME,\r\n&gt;                                               DEF_LABEL, INVOKER_USR);\r\n980,983c254\r\n&lt; UNAME LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; POLID LBACSYS.OLS$POL.POL#%TYPE;\r\n&lt; ROW_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n985,1003c256,262\r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', UNAME);\r\n&lt;   CHECK_USER(UNAME);\r\n&lt;   POLID:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   ROW_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, ROW_LABEL);\r\n&lt; \r\n&lt;   BEGIN\r\n&lt;     \r\n&lt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_ROW_LABEL(POLID, UNAME, ROW_LAB);\r\n&lt; \r\n&lt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, UNAME);\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       ROLLBACK;\r\n&lt;       RAISE;\r\n&lt;   END;\r\n&lt; \r\n&lt;   COMMIT;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_ROW_LABEL(POLICY_NAME, USER_NAME,\r\n&gt;                                           ROW_LABEL, INVOKER_USR);\r\n1008,1046d266\r\n&lt; PROCEDURE DROP_LABELS(POLICY_NAME      IN VARCHAR2,\r\n&lt;                       USER_NAME        IN VARCHAR2)\r\n&lt; IS\r\n&lt; CURR_PRIVS     PLS_INTEGER := 0 ;\r\n&lt; POL_NUM        PLS_INTEGER;\r\n&lt; STMT_TYPE      PLS_INTEGER;\r\n&lt; BEGIN\r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   CHECK_USER(USER_NAME);\r\n&lt;   POL_NUM := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt; \r\n&lt;   DELETE FROM LBACSYS.OLS$USER_LEVELS \r\n&lt;   WHERE USR_NAME = USER_NAME AND POL#=POL_NUM;\r\n&lt; \r\n&lt;  BEGIN\r\n&lt;    SELECT PRIVS INTO CURR_PRIVS\r\n&lt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;    WHERE USR_NAME = USER_NAME AND U.POL# = POL_NUM\r\n&lt;    AND U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt;  EXCEPTION\r\n&lt;    WHEN NO_DATA_FOUND THEN\r\n&lt;      RETURN;\r\n&lt;  END;\r\n&lt;   \r\n&lt; \r\n&lt;  IF CURR_PRIVS = 0 THEN\r\n&lt;    STMT_TYPE := DELETE_TYPE;\r\n&lt;  ELSE \r\n&lt;    STMT_TYPE := UPDATE_TYPE;\r\n&lt;  END IF;\r\n&lt; \r\n&lt;  LBACSYS.LBAC$SA_LABELS.STORE_USER(POLICY_NAME, USER_NAME,\r\n&lt;                            NULL, NULL, NULL, NULL,\r\n&lt;                            NULL, NULL, CURR_PRIVS, STMT_TYPE);\r\n&lt; END DROP_LABELS;\r\n&lt; \r\n&lt; \r\n&lt; \r\n1050,1062c270\r\n&lt; UNAME            LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&lt; POL_NUM          PLS_INTEGER;\r\n&lt; OLD_MAX_READ     LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&lt; OLD_MAX_WRITE    LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&lt; OLD_MIN_WRITE    LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&lt; OLD_DEF_READ     LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&lt; OLD_DEF_WRITE    LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&lt; OLD_DEF_ROW      LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&lt; NO_OLD_PRIVS     BOOLEAN;\r\n&lt; OLD_PRIVS        NUMBER;\r\n&lt; NEW_PRIVS        NUMBER;\r\n&lt; PROFILE_ID       NUMBER;\r\n&lt; STMT_TYPE        PLS_INTEGER;\r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n1064,1068c272,275\r\n&lt;   CHECK_POLICY(POLICY_NAME);\r\n&lt;   IF (NOT LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', UNAME);\r\n&lt;   ELSE\r\n&lt;     UNAME := UPPER(USER_NAME);\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n1070,1132c277,278\r\n&lt; \r\n&lt;   \r\n&lt;   \r\n&lt;   POL_NUM := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt; \r\n&lt;   CHECK_COMMON(UNAME, NULL, USER_OBJ_TYPE);\r\n&lt; \r\n&lt; \r\n&lt;    NO_OLD_PRIVS := FALSE;\r\n&lt;    BEGIN\r\n&lt;      SELECT MAX_READ, MAX_WRITE, MIN_WRITE, DEF_READ, DEF_WRITE,\r\n&lt;             DEF_ROW, PRIVS\r\n&lt;      INTO OLD_MAX_READ, OLD_MAX_WRITE, OLD_MIN_WRITE, OLD_DEF_READ, \r\n&lt;           OLD_DEF_WRITE, OLD_DEF_ROW, OLD_PRIVS\r\n&lt;      FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&lt;      WHERE USR_NAME = UNAME AND U.POL# = POL_NUM \r\n&lt;            AND U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&lt;    EXCEPTION\r\n&lt;      WHEN NO_DATA_FOUND THEN\r\n&lt; \r\n&lt;        IF PRIVILEGES IS NULL THEN\r\n&lt;          RETURN;\r\n&lt;        ELSE\r\n&lt;          NO_OLD_PRIVS := TRUE;\r\n&lt;          OLD_PRIVS := 0;\r\n&lt;        END IF;\r\n&lt;    END;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;   NEW_PRIVS := TO_PRIVS(POLICY_NAME,PRIVILEGES);\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;    IF NO_OLD_PRIVS THEN\r\n&lt;      STMT_TYPE := INSERT_TYPE;\r\n&lt;    ELSIF OLD_MAX_READ IS NULL AND PRIVILEGES IS  NULL THEN\r\n&lt;      STMT_TYPE := DELETE_TYPE;\r\n&lt;    ELSE\r\n&lt;      STMT_TYPE := UPDATE_TYPE;\r\n&lt;    END IF;\r\n&lt; \r\n&lt;    SET_USER_PRIVS_INTERNAL(POLICY_NAME, UNAME, OLD_MAX_READ, OLD_MAX_WRITE,\r\n&lt;                            OLD_MIN_WRITE, OLD_DEF_READ, OLD_DEF_WRITE,\r\n&lt;                            OLD_DEF_ROW, NEW_PRIVS, STMT_TYPE);\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, ABS(SQLCODE))) THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_USER_PRIVS(POLICY_NAME, USER_NAME,\r\n&gt;                                            PRIVILEGES, INVOKER_USR);\r\n1141,1149c287\r\n&lt; POL_NUM        PLS_INTEGER;\r\n&lt; PGM_CNT        PLS_INTEGER;\r\n&lt; ROW_CNT        PLS_INTEGER;\r\n&lt; NO_OLD_PRIVS   BOOLEAN;\r\n&lt; OLD_PRIVS      NUMBER;\r\n&lt; NEW_PRIVS      NUMBER;\r\n&lt; CPNAME         LBACSYS.OLS$PROG.PGM_NAME%TYPE;\r\n&lt; CSNAME         LBACSYS.OLS$PROG.OWNER%TYPE;\r\n&lt; \r\n---\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n1151,1257c289,296\r\n&lt;    CHECK_POLICY(POLICY_NAME);\r\n&lt;    \r\n&lt;    IF SCHEMA_NAME IS NULL THEN\r\n&lt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;              PRODUCT, SA_FACILITY, INVALID_PARAMS_EC, 'schema name');\r\n&lt;    ELSIF PROGRAM_UNIT_NAME IS NULL THEN\r\n&lt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;              PRODUCT, SA_FACILITY, INVALID_PARAMS_EC, 'program name');\r\n&lt;    END IF;\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_CACHE.FAILEDSTARTUP(POLICY_NAME)) THEN\r\n&lt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;              PRODUCT, SA_FACILITY, STARTUP_FAILURE_EC, POLICY_NAME);\r\n&lt;    END IF;\r\n&lt;    POL_NUM:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&lt;                                               CSNAME);\r\n&lt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(PROGRAM_UNIT_NAME,\r\n&lt;                                      'program unit name', CPNAME);\r\n&lt; \r\n&lt; \r\n&lt;   CHECK_COMMON(CSNAME, CPNAME, PROC_OBJ_TYPE);\r\n&lt; \r\n&lt; \r\n&lt;    \r\n&lt;    \r\n&lt;    SELECT COUNT(*) INTO PGM_CNT\r\n&lt;    FROM SYS.OBJ$ O, SYS.\"_BASE_USER\" U\r\n&lt;    WHERE O.NAME = CPNAME \r\n&lt;    AND U.NAME = CSNAME \r\n&lt;    AND O.OWNER# = U.USER#\r\n&lt;    AND O.TYPE# IN (7,8,9);\r\n&lt; \r\n&lt;    IF (PGM_CNT != 1) THEN\r\n&lt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&lt;        PRODUCT, SA_FACILITY, NO_PROG_EC, \r\n&lt;        (SCHEMA_NAME || '.' || PROGRAM_UNIT_NAME));\r\n&lt;    END IF;\r\n&lt; \r\n&lt; \r\n&lt;    NO_OLD_PRIVS := FALSE;\r\n&lt;    BEGIN\r\n&lt;      SELECT PRIVS INTO OLD_PRIVS\r\n&lt;      FROM LBACSYS.OLS$PROG\r\n&lt;      WHERE CPNAME = PGM_NAME AND\r\n&lt;            OWNER = CSNAME AND\r\n&lt;            POL# = POL_NUM;\r\n&lt;    EXCEPTION\r\n&lt;      WHEN  NO_DATA_FOUND THEN\r\n&lt; \r\n&lt;        IF PRIVILEGES IS NULL THEN\r\n&lt;          RETURN;\r\n&lt;        ELSE\r\n&lt;          NO_OLD_PRIVS := TRUE;\r\n&lt;          OLD_PRIVS := NULL;\r\n&lt;        END IF;\r\n&lt;    END;\r\n&lt; \r\n&lt;    NEW_PRIVS := TO_PRIVS(POLICY_NAME,PRIVILEGES);\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;    IF NO_OLD_PRIVS THEN\r\n&lt; \r\n&lt;      LBACSYS.LBAC_STANDARD.SET_TRUSTED_PROG(CSNAME,CPNAME);\r\n&lt;      INSERT INTO LBACSYS.OLS$PROG VALUES (POL_NUM,CPNAME,\r\n&lt;                           CSNAME, NEW_PRIVS);\r\n&lt;   ELSIF PRIVILEGES IS NULL THEN\r\n&lt;      LBACSYS.LBAC_STANDARD.RESET_TRUSTED_PROG(CSNAME,CPNAME);\r\n&lt;      DELETE FROM LBACSYS.OLS$PROG \r\n&lt;      WHERE POL#=POL_NUM AND PGM_NAME=CPNAME\r\n&lt;             AND OWNER=CSNAME;\r\n&lt;    ELSE \r\n&lt; \r\n&lt;      LBACSYS.LBAC_STANDARD.SET_TRUSTED_PROG(CSNAME,CPNAME);\r\n&lt;      UPDATE LBACSYS.OLS$PROG SET PRIVS = NEW_PRIVS\r\n&lt;      WHERE POL#=POL_NUM AND\r\n&lt;             PGM_NAME=CPNAME AND \r\n&lt;             OWNER=CSNAME;\r\n&lt;    END IF;\r\n&lt; \r\n&lt;    COMMIT;  \r\n&lt;    \r\n&lt; \r\n&lt;    LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME, SET_ACTION, TRUE,\r\n&lt;      'SET PROGRAM PRIVILEGES');\r\n&lt; \r\n&lt; \r\n&lt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, 0)) THEN\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCHEMA_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PROGRAM, PROGRAM_UNIT_NAME);\r\n&lt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&lt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;    END IF;\r\n&lt; EXCEPTION\r\n&lt;   WHEN OTHERS THEN\r\n&lt;     \r\n&lt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, ABS(SQLCODE))) THEN\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCHEMA_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PROGRAM, PROGRAM_UNIT_NAME);\r\n&lt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&lt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&lt;     END IF;\r\n&lt;     RAISE;\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n&gt;   END IF;\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.SET_PROG_PRIVS(POLICY_NAME, SCHEMA_NAME,\r\n&gt;                                            PROGRAM_UNIT_NAME, PRIVILEGES,\r\n&gt;                                            INVOKER_USR);\r\n1263,1266c302,303\r\n&lt;                      USER_NAME        IN VARCHAR2) IS\r\n&lt; \r\n&lt; POL_NUM PLS_INTEGER := 0;\r\n&lt; CUNAME VARCHAR2(1024);\r\n---\r\n&gt;                             USER_NAME        IN VARCHAR2) IS\r\n&gt; INVOKER_USR VARCHAR2(1024);\r\n1268,1271c305,308\r\n&lt;   IF (NOT LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&lt;     LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&lt;   ELSE\r\n&lt;     CUNAME := UPPER(USER_NAME);\r\n---\r\n&gt;   INVOKER_USR := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   IF (INVOKER_USR = 'XS$NULL') THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;                                                NOT_ALLOWED_EC);\r\n1273,1279c310,311\r\n&lt; \r\n&lt;   DROP_LABELS(POLICY_NAME, CUNAME);\r\n&lt;   POL_NUM := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&lt; \r\n&lt;   LBACSYS.LBAC$SA_LABELS.STORE_USER(POLICY_NAME, CUNAME,\r\n&lt;                            NULL, NULL, NULL, NULL,\r\n&lt;                            NULL, NULL, 0, DELETE_TYPE);\r\n---\r\n&gt;   LBACSYS.SA_USER_ADMIN_INT.DROP_USER_ACCESS(POLICY_NAME, USER_NAME,\r\n&gt;                                              INVOKER_USR);\r\n<\/pre>\n<div id=\"LBACSYS.SA_USER_ADMIN_INT.PACKAGE BODY.19.0.0.0_RU\">LBACSYS.SA_USER_ADMIN_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">0a1,1302\r\n&gt; PACKAGE BODY sa_user_admin_int AS\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PRODUCT       CONSTANT VARCHAR2(12) := 'TRUSTED';\r\n&gt; LBAC_FACILITY CONSTANT VARCHAR2(12) := 'LBAC';\r\n&gt; SA_FACILITY   CONSTANT VARCHAR2(12) := 'SA';\r\n&gt; SA_PACKAGE    CONSTANT VARCHAR2(12) := 'LBAC$SA';\r\n&gt; INV_BIT       CONSTANT PLS_INTEGER  := 4;\r\n&gt; GRP_BIT       CONSTANT PLS_INTEGER := 2;\r\n&gt; \r\n&gt; LVER    CONSTANT PLS_INTEGER := 1;  \r\n&gt; LVL_BIT CONSTANT PLS_INTEGER := 0;  \r\n&gt; CMP_BIT CONSTANT PLS_INTEGER := 1;\r\n&gt; LSEP    CONSTANT VARCHAR2(1) := '.'; \r\n&gt; \r\n&gt; INVALID_LABEL_LIST_EC   CONSTANT PLS_INTEGER := 12405;\r\n&gt; UNAUTHORIZED_OP_EC      CONSTANT PLS_INTEGER := 12407;\r\n&gt; NO_POLICY_EC            CONSTANT PLS_INTEGER := 12416;\r\n&gt; NO_USER_EC              CONSTANT PLS_INTEGER := 12418;\r\n&gt; NO_OLS_EC               CONSTANT PLS_INTEGER := 12458;\r\n&gt; UNDEFINED_LEVEL_EC      CONSTANT PLS_INTEGER := 12461;\r\n&gt; INVALID_CLRN_RANGE_EC   CONSTANT PLS_INTEGER := 12466;\r\n&gt; UNDEFINED_COMP_EC       CONSTANT PLS_INTEGER := 12462;\r\n&gt; UNDEFINED_GROUP_EC      CONSTANT PLS_INTEGER := 12463;\r\n&gt; SYS_USER_EC             CONSTANT PLS_INTEGER := 12432;\r\n&gt; INVALID_SCHEMA_EC       CONSTANT PLS_INTEGER := 12425;\r\n&gt; INVALID_ARG_EC          CONSTANT PLS_INTEGER := 12427;\r\n&gt; NO_DEFINED_LEVELS_EC    CONSTANT PLS_INTEGER := 12469;\r\n&gt; INVALID_LABEL_EC        CONSTANT PLS_INTEGER := 12470; \r\n&gt; NO_PROG_EC              CONSTANT PLS_INTEGER := 12417;\r\n&gt; INVALID_COMPS_GRPS_EC   CONSTANT PLS_INTEGER := 12465;\r\n&gt; \r\n&gt; INVALID_PARAMS_EC  CONSTANT PLS_INTEGER := 12427;\r\n&gt; STARTUP_FAILURE_EC CONSTANT PLS_INTEGER := 12409;\r\n&gt; \r\n&gt; SET_ACTION       CONSTANT PLS_INTEGER := 4;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; SET_AUTH_ACTION  CONSTANT PLS_INTEGER := 3;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; AUDINFO_OBJOWNER   CONSTANT PLS_INTEGER := 0;\r\n&gt; AUDINFO_GRANTEE    CONSTANT PLS_INTEGER := 2;\r\n&gt; AUDINFO_MAXRD      CONSTANT PLS_INTEGER := 3;\r\n&gt; AUDINFO_MAXWRT     CONSTANT PLS_INTEGER := 4;\r\n&gt; AUDINFO_MINWRT     CONSTANT PLS_INTEGER := 5;\r\n&gt; AUDINFO_PRIVGRNTED CONSTANT PLS_INTEGER := 6;\r\n&gt; AUDINFO_PROGRAM    CONSTANT PLS_INTEGER := 7;\r\n&gt; \r\n&gt; \r\n&gt; INSERT_TYPE    CONSTANT PLS_INTEGER := 2;    \r\n&gt; UPDATE_TYPE    CONSTANT PLS_INTEGER := 6;    \r\n&gt; DELETE_TYPE    CONSTANT PLS_INTEGER := 7;    \r\n&gt; \r\n&gt; \r\n&gt; TABLE_OBJ_TYPE CONSTANT PLS_INTEGER := 1;  \r\n&gt; PROC_OBJ_TYPE  CONSTANT PLS_INTEGER := 2;  \r\n&gt; \r\n&gt; USER_OBJ_TYPE  CONSTANT PLS_INTEGER := 3;  \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; TYPE LAB_SORT_T IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE CHECK_POLICY(POLICY_NAME IN VARCHAR2) IS\r\n&gt; BEGIN\r\n&gt; \r\n&gt; \r\n&gt;   IF LBACSYS.LBAC_CACHE.CHECK_POLICYROLE(POLICY_NAME, NULL) = FALSE THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;       UNAUTHORIZED_OP_EC, POLICY_NAME);\r\n&gt;   END IF;\r\n&gt;   \r\n&gt; \r\n&gt;   IF LBACSYS.LBAC_CACHE.PACKAGE(POLICY_NAME) != SA_PACKAGE THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;       NO_POLICY_EC, POLICY_NAME, TRUE);\r\n&gt;   END IF;\r\n&gt;   \r\n&gt; END CHECK_POLICY;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE CHECK_LEVELS(POLICY_NAME IN VARCHAR2,\r\n&gt;                        USER_NAME IN VARCHAR2) IS\r\n&gt; I_NULL     CHAR(1);\r\n&gt; POL_NUMBER LBACSYS.OLS$USER_LEVELS.POL#%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;     POL_NUMBER := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt; \r\n&gt;     SELECT NULL INTO I_NULL\r\n&gt;     FROM LBACSYS.OLS$USER_LEVELS\r\n&gt;     WHERE POL# = POL_NUMBER AND USR_NAME = USER_NAME;\r\n&gt; EXCEPTION\r\n&gt;   WHEN NO_DATA_FOUND THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;       NO_DEFINED_LEVELS_EC, USER_NAME, POLICY_NAME);\r\n&gt; END CHECK_LEVELS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE CHECK_USER(UNAME IN VARCHAR2) IS\r\n&gt; I_NULL CHAR(1);\r\n&gt; \r\n&gt; BEGIN\r\n&gt;     IF UNAME IN ('SYS','LBACSYS','SYSTEM') THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;       INVALID_SCHEMA_EC);\r\n&gt;     END IF;\r\n&gt; END CHECK_USER;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE CHECK_COMMON(UNAME       IN VARCHAR2,\r\n&gt;                        OBJECT      IN VARCHAR2,\r\n&gt;                        OBJTYP      IN PLS_INTEGER,\r\n&gt;                        INVOKER_USR IN VARCHAR2)\r\n&gt; IS LANGUAGE C\r\n&gt;    NAME \"zllsesFedChk1\"\r\n&gt;    LIBRARY LBACSYS.OLS$SESSION_LIBT\r\n&gt;    PARAMETERS (\r\n&gt;      UNAME STRING, UNAME LENGTH SIZE_T, UNAME INDICATOR SB2,\r\n&gt;      OBJECT STRING, OBJECT LENGTH SIZE_T, OBJECT INDICATOR SB2,\r\n&gt;      OBJTYP UB1, OBJTYP INDICATOR SB2,\r\n&gt;      INVOKER_USR STRING, INVOKER_USR LENGTH SIZE_T,\r\n&gt;      INVOKER_USR INDICATOR SB2\r\n&gt;      );\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION GET_LEVEL (POL_ID     IN PLS_INTEGER, \r\n&gt;                     LEVEL_CODE IN VARCHAR2)\r\n&gt; RETURN PLS_INTEGER IS\r\n&gt;   LEVEL_NUM LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&gt; BEGIN\r\n&gt;     IF LEVEL_CODE IS NULL THEN\r\n&gt;        RETURN NULL;\r\n&gt;     ELSE\r\n&gt;        SELECT LEVEL# INTO LEVEL_NUM\r\n&gt;        FROM LBACSYS.OLS$LEVELS\r\n&gt;        WHERE POL# = POL_ID AND CODE = LEVEL_CODE;\r\n&gt;        RETURN LEVEL_NUM;\r\n&gt;     END IF;\r\n&gt;   EXCEPTION\r\n&gt;     WHEN NO_DATA_FOUND THEN \r\n&gt;        LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&gt;        UNDEFINED_LEVEL_EC, LEVEL_CODE, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&gt; END GET_LEVEL; \r\n&gt; \r\n&gt; FUNCTION GET_LEVEL (POL_ID     IN PLS_INTEGER,\r\n&gt;                     LEVEL_NUM  IN PLS_INTEGER)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt;   LEVEL_CODE LBACSYS.OLS$LEVELS.CODE%TYPE;\r\n&gt; BEGIN\r\n&gt;     IF LEVEL_NUM IS NULL THEN\r\n&gt;        RETURN NULL;\r\n&gt;     ELSE\r\n&gt;        SELECT CODE INTO LEVEL_CODE\r\n&gt;        FROM LBACSYS.OLS$LEVELS\r\n&gt;        WHERE POL# = POL_ID AND LEVEL# = LEVEL_NUM;\r\n&gt;        RETURN LEVEL_CODE;\r\n&gt;     END IF;\r\n&gt;   EXCEPTION\r\n&gt;     WHEN NO_DATA_FOUND THEN\r\n&gt;        LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;        UNDEFINED_LEVEL_EC, LEVEL_NUM, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&gt; END GET_LEVEL;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION GET_COMP  (POL_ID     IN PLS_INTEGER, \r\n&gt;                     COMP_CODE IN VARCHAR2)\r\n&gt; RETURN PLS_INTEGER IS\r\n&gt;   COMP_NUM LBACSYS.OLS$COMPARTMENTS.COMP#%TYPE;\r\n&gt; BEGIN\r\n&gt;   IF COMP_CODE IS NULL THEN\r\n&gt;      RETURN NULL;\r\n&gt;   ELSE\r\n&gt;      SELECT COMP# INTO COMP_NUM\r\n&gt;      FROM LBACSYS.OLS$COMPARTMENTS\r\n&gt;      WHERE POL# = POL_ID AND CODE = COMP_CODE;\r\n&gt;      RETURN COMP_NUM;\r\n&gt;   END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN NO_DATA_FOUND THEN \r\n&gt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&gt;      UNDEFINED_COMP_EC, COMP_CODE, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&gt; END GET_COMP; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION GET_GROUP (POL_ID     IN PLS_INTEGER, \r\n&gt;                     GROUP_CODE IN VARCHAR2)\r\n&gt; RETURN PLS_INTEGER IS\r\n&gt;   GROUP_NUM LBACSYS.OLS$GROUPS.GROUP#%TYPE;\r\n&gt; BEGIN\r\n&gt;   IF GROUP_CODE IS NULL THEN\r\n&gt;      RETURN NULL;\r\n&gt;   ELSE\r\n&gt;      SELECT GROUP# INTO GROUP_NUM\r\n&gt;      FROM LBACSYS.OLS$GROUPS\r\n&gt;      WHERE POL# = POL_ID AND CODE = GROUP_CODE;\r\n&gt;      RETURN GROUP_NUM;\r\n&gt;   END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN NO_DATA_FOUND THEN \r\n&gt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&gt;      UNDEFINED_GROUP_EC, GROUP_CODE, LBACSYS.LBAC_CACHE.POLICY_NAME(POL_ID));\r\n&gt; END GET_GROUP; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION SET_INVERSE_POLICY_BIT(POL_ID PLS_INTEGER)\r\n&gt; RETURN PLS_INTEGER IS\r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   IF LBACSYS.LBAC_CACHE.INVERSE_GROUP(POL_ID) THEN\r\n&gt;     RETURN 4;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   RETURN 0;\r\n&gt; END SET_INVERSE_POLICY_BIT;\r\n&gt; \r\n&gt; FUNCTION TO_PRIVS ( POLICY_NAME VARCHAR2,\r\n&gt;                      PRIVILEGES VARCHAR2)\r\n&gt; RETURN NUMBER IS\r\n&gt;  PRIVS NUMBER := 0;\r\n&gt;  POS        PLS_INTEGER; \r\n&gt;  REST       VARCHAR2(255);\r\n&gt;  PRIV       VARCHAR2(30);\r\n&gt;  PRIV_NUM   PLS_INTEGER;\r\n&gt;  TYPE PRIV_IDX_TAB  IS TABLE OF  PLS_INTEGER\r\n&gt;  INDEX BY PLS_INTEGER;          \r\n&gt;  PRIV_ARR PRIV_IDX_TAB;\r\n&gt;  I NUMBER;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   POS := 0;\r\n&gt;   REST := PRIVILEGES;\r\n&gt;   \r\n&gt;   WHILE REST IS NOT NULL LOOP\r\n&gt;      POS := INSTR(REST,',');\r\n&gt;      IF POS = 0 THEN\r\n&gt;         PRIV:=REST;\r\n&gt;         REST:=NULL;\r\n&gt;      ELSE\r\n&gt;         PRIV:=SUBSTR(REST,1,POS-1);\r\n&gt;         REST:=SUBSTR(REST,POS+1);\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      EXECUTE IMMEDIATE 'BEGIN LBACSYS.' ||\r\n&gt;            LBACSYS.LBAC_CACHE.PACKAGE(POLICY_NAME) ||\r\n&gt;            '.validate_priv(:priv, :priv_number); END;'\r\n&gt;      USING\r\n&gt;         IN  PRIV,\r\n&gt;         OUT PRIV_NUM;\r\n&gt;      PRIV_ARR(PRIV_NUM) := 1;\r\n&gt; \r\n&gt;      PRIVS := BITAND(PRIVS,PRIV_NUM); \r\n&gt; \r\n&gt;   END LOOP;  \r\n&gt; \r\n&gt;   \r\n&gt; \r\n&gt;   FOR I IN 1..7 LOOP\r\n&gt;      IF NOT (PRIV_ARR.EXISTS(I))  THEN\r\n&gt;         PRIV_ARR(I) :=0;\r\n&gt;      END IF;\r\n&gt;   END LOOP;\r\n&gt;   SELECT BIN_TO_NUM(PRIV_ARR(7), PRIV_ARR(6), PRIV_ARR(5), PRIV_ARR(4),\r\n&gt;              PRIV_ARR(3),PRIV_ARR(2),PRIV_ARR(1)) INTO PRIVS FROM SYS.DUAL;\r\n&gt; \r\n&gt;   RETURN(PRIVS);\r\n&gt; \r\n&gt; END TO_PRIVS;\r\n&gt; \r\n&gt; PROCEDURE SET_USER_PRIVS_INTERNAL\r\n&gt;                         (POLICY_NAME IN VARCHAR2,\r\n&gt;                          USER_NAME   IN VARCHAR2,\r\n&gt;                          MR_LABEL    IN VARCHAR2,\r\n&gt;                          MW_LABEL    IN VARCHAR2,\r\n&gt;                          MIN_LABEL   IN VARCHAR2,\r\n&gt;                          READ_LABEL  IN VARCHAR2,\r\n&gt;                          WRITE_LABEL IN VARCHAR2,\r\n&gt;                          ROW_LABEL   IN VARCHAR2,\r\n&gt;                          PRIVS       IN PLS_INTEGER,\r\n&gt;                          STMT_TYPE   IN PLS_INTEGER)\r\n&gt; IS LANGUAGE C\r\n&gt;    NAME \"zllusr_sup\"\r\n&gt;    LIBRARY LBACSYS.LBAC$USER_LIBT\r\n&gt;    WITH CONTEXT\r\n&gt;    PARAMETERS (\r\n&gt;      CONTEXT,\r\n&gt;      POLICY_NAME STRING, POLICY_NAME LENGTH SIZE_T, POLICY_NAME INDICATOR SB2,\r\n&gt;      USER_NAME STRING, USER_NAME LENGTH SIZE_T, USER_NAME INDICATOR SB2,\r\n&gt;      MR_LABEL STRING, MR_LABEL LENGTH SIZE_T, MR_LABEL INDICATOR SB2,\r\n&gt;      MW_LABEL STRING, MW_LABEL LENGTH SIZE_T, MW_LABEL INDICATOR SB2,\r\n&gt;      MIN_LABEL STRING, MIN_LABEL LENGTH SIZE_T, MIN_LABEL INDICATOR SB2,\r\n&gt;      READ_LABEL STRING, READ_LABEL LENGTH SIZE_T, READ_LABEL INDICATOR SB2,\r\n&gt;      WRITE_LABEL STRING, WRITE_LABEL LENGTH SIZE_T, WRITE_LABEL INDICATOR SB2,\r\n&gt;      ROW_LABEL STRING, ROW_LABEL LENGTH SIZE_T, ROW_LABEL INDICATOR SB2,\r\n&gt;      PRIVS UB4, STMT_TYPE UB1\r\n&gt;      );\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_LEVELS       (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             MAX_LEVEL        IN VARCHAR2,\r\n&gt;                             MIN_LEVEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_LEVEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_LEVEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME        VARCHAR2(1024);\r\n&gt; MINLVL_CODE   LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(MIN_LEVEL);\r\n&gt; MAXLVL_CODE   LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(MAX_LEVEL);\r\n&gt; DLVL_CODE     LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(DEF_LEVEL);\r\n&gt; RLVL_CODE     LBACSYS.OLS$LEVELS.CODE%TYPE := UPPER(ROW_LEVEL);\r\n&gt; POLID         LBACSYS.OLS$USER_LEVELS.POL#%TYPE;\r\n&gt; MIN_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&gt; MAX_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&gt; DEF_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&gt; ROW_NUM       LBACSYS.OLS$LEVELS.LEVEL#%TYPE;\r\n&gt; I_NULL  CHAR(1);\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;   CHECK_USER(CUNAME);\r\n&gt; \r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   MAX_NUM := GET_LEVEL(POLID, MAXLVL_CODE);\r\n&gt;   IF MINLVL_CODE IS NULL THEN\r\n&gt;     SELECT MIN(LEVEL#) INTO MIN_NUM\r\n&gt;     FROM LBACSYS.OLS$LEVELS\r\n&gt;     WHERE POL#=POLID;\r\n&gt;   ELSE\r\n&gt;     MIN_NUM := GET_LEVEL(POLID, MINLVL_CODE);\r\n&gt;   END IF;\r\n&gt;   IF DLVL_CODE IS NULL THEN\r\n&gt;     DEF_NUM := MAX_NUM;\r\n&gt;   ELSE\r\n&gt;     DEF_NUM := GET_LEVEL(POLID, DLVL_CODE);\r\n&gt;   END IF;\r\n&gt;   IF RLVL_CODE IS NULL THEN\r\n&gt;     ROW_NUM := DEF_NUM;\r\n&gt;   ELSE\r\n&gt;     ROW_NUM := GET_LEVEL(POLID, RLVL_CODE);\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   IF DEF_NUM &lt; MIN_NUM THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;         INVALID_ARG_EC, 'def_level');\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   IF DEF_NUM &gt; MAX_NUM THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;       PRODUCT, SA_FACILITY, INVALID_CLRN_RANGE_EC);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   IF ROW_NUM &lt; MIN_NUM OR ROW_NUM &gt; DEF_NUM THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY, \r\n&gt;         INVALID_ARG_EC, 'row_level');\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_LEVELS(POLID, CUNAME, MAX_NUM, \r\n&gt;                                   MIN_NUM, DEF_NUM, ROW_NUM);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;  \r\n&gt; END SET_LEVELS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_COMPARTMENTS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             READ_COMPS       IN VARCHAR2,\r\n&gt;                             WRITE_COMPS      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_COMPS        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_COMPS        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME   VARCHAR2(1024);\r\n&gt; POLID    LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt; \r\n&gt;   \r\n&gt;   CHECK_LEVELS(POLICY_NAME, CUNAME);\r\n&gt; \r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;   \r\n&gt;   LBACSYS.LBAC_LGSTNDBY_UTIL.SET_COMPARTMENTS(POLID, CUNAME, READ_COMPS,\r\n&gt;                                       WRITE_COMPS, DEF_COMPS, ROW_COMPS);\r\n&gt; \r\n&gt;   LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END SET_COMPARTMENTS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE ALTER_COMPARTMENTS (POLICY_NAME IN VARCHAR2,\r\n&gt;                               USER_NAME   IN VARCHAR2,\r\n&gt;                               COMPS       IN VARCHAR2,\r\n&gt;                               ACCESS_MODE IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               IN_DEF      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               IN_ROW      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                               INVOKER_USR IN VARCHAR2) IS\r\n&gt; CUNAME     VARCHAR2(1024);\r\n&gt; POLID      LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;   \r\n&gt;   IF (ACCESS_MODE IS NULL) AND (IN_DEF IS NULL) AND (IN_ROW IS NULL) THEN\r\n&gt;     RETURN;  \r\n&gt;   END IF;\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ALTER_COMPARTMENTS(POLID, CUNAME, COMPS,\r\n&gt;                                           ACCESS_MODE, IN_DEF, IN_ROW);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END ALTER_COMPARTMENTS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_GROUPS       (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             READ_GROUPS      IN VARCHAR2,\r\n&gt;                             WRITE_GROUPS     IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             DEF_GROUPS       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             ROW_GROUPS       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME    VARCHAR2(1024);\r\n&gt; POLID     LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt; \r\n&gt;   \r\n&gt;   CHECK_LEVELS(POLICY_NAME, CUNAME);\r\n&gt; \r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_GROUPS(POLID, CUNAME, READ_GROUPS,\r\n&gt;                                   WRITE_GROUPS, DEF_GROUPS, ROW_GROUPS);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END SET_GROUPS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE ALTER_GROUPS (POLICY_NAME IN VARCHAR2,\r\n&gt;                         USER_NAME   IN VARCHAR2,\r\n&gt;                         GROUPS      IN VARCHAR2,\r\n&gt;                         ACCESS_MODE IN VARCHAR2 DEFAULT NULL,\r\n&gt;                         IN_DEF      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                         IN_ROW      IN VARCHAR2 DEFAULT NULL,\r\n&gt;                         INVOKER_USR IN VARCHAR2) IS           \r\n&gt; CUNAME     VARCHAR2(1024);\r\n&gt; POLID      LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   IF (ACCESS_MODE IS NULL) AND (IN_DEF IS NULL) AND (IN_ROW IS NULL) THEN\r\n&gt;     RETURN;  \r\n&gt;   END IF;\r\n&gt; \r\n&gt;   \r\n&gt;   BEGIN\r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ALTER_GROUPS(POLID, CUNAME, GROUPS,\r\n&gt;                                     ACCESS_MODE, IN_DEF, IN_ROW);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END ALTER_GROUPS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE ADD_COMPARTMENTS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             COMPS            IN VARCHAR2,\r\n&gt;                             ACCESS_MODE  IN VARCHAR2 DEFAULT SA_UTL.READ_ONLY,\r\n&gt;                             IN_DEF       IN VARCHAR2 DEFAULT 'Y',\r\n&gt;                             IN_ROW       IN VARCHAR2 DEFAULT 'N',\r\n&gt;                             INVOKER_USR  IN VARCHAR2) IS\r\n&gt; CUNAME     VARCHAR2(1024);\r\n&gt; POLID      LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;  \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ADD_COMPARTMENTS(POLID, CUNAME, COMPS,\r\n&gt;                                         ACCESS_MODE, IN_DEF, IN_ROW);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END ADD_COMPARTMENTS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DROP_COMPARTMENTS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                              USER_NAME        IN VARCHAR2,\r\n&gt;                              COMPS            IN VARCHAR2,\r\n&gt;                              INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME   VARCHAR2(1024);\r\n&gt; POLID    LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt; \r\n&gt;   IF COMPS IS NULL THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;       INVALID_ARG_EC, 'comps');\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_COMPARTMENTS(POLID, CUNAME, COMPS);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END DROP_COMPARTMENTS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DROP_ALL_COMPARTMENTS \r\n&gt;                            (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME   VARCHAR2(1024);\r\n&gt; POLID    LBACSYS.OLS$USER_COMPARTMENTS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_ALL_COMPARTMENTS(POLID, CUNAME);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END DROP_ALL_COMPARTMENTS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE ADD_GROUPS       (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             GROUPS           IN VARCHAR2,\r\n&gt;                             ACCESS_MODE  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             IN_DEF       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             IN_ROW       IN VARCHAR2 DEFAULT NULL,\r\n&gt;                             INVOKER_USR  IN VARCHAR2) IS\r\n&gt; CUNAME      VARCHAR2(1024);\r\n&gt; POLID       LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.ADD_GROUPS(POLID, CUNAME, GROUPS,\r\n&gt;                                   ACCESS_MODE, IN_DEF, IN_ROW); \r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END ADD_GROUPS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DROP_GROUPS      (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             GROUPS           IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME   VARCHAR2(1024);\r\n&gt; POLID    LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt; \r\n&gt;   IF GROUPS IS NULL THEN\r\n&gt;     LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, SA_FACILITY,\r\n&gt;       INVALID_ARG_EC, 'groups');\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_GROUPS(POLID, CUNAME, GROUPS);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END DROP_GROUPS;\r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DROP_ALL_GROUPS  (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME   VARCHAR2(1024);\r\n&gt; POLID    LBACSYS.OLS$USER_GROUPS.POL#%TYPE;\r\n&gt; BEGIN\r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.DROP_ALL_GROUPS(POLID, CUNAME);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END DROP_ALL_GROUPS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_USER_LABELS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                            USER_NAME        IN VARCHAR2,\r\n&gt;                            MAX_READ_LABEL   IN VARCHAR2,\r\n&gt;                            MAX_WRITE_LABEL  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                            MIN_WRITE_LABEL  IN VARCHAR2 DEFAULT NULL,\r\n&gt;                            DEF_LABEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                            ROW_LABEL        IN VARCHAR2 DEFAULT NULL,\r\n&gt;                            INVOKER_USR      IN VARCHAR2) IS\r\n&gt; CUNAME      VARCHAR2(1024);\r\n&gt; POLID       LBACSYS.OLS$USER_LEVELS.POL#%TYPE;\r\n&gt; MAX_RD_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; MAX_WT_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; MIN_WT_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; DF_LAB      LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; RW_LAB      LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; MIN_LVL     PLS_INTEGER;\r\n&gt; I_NULL      VARCHAR2(1);\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt; \r\n&gt;   IF (NOT LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   ELSE\r\n&gt;     CUNAME := UPPER(USER_NAME);\r\n&gt;   END IF;\r\n&gt;   CHECK_USER(CUNAME);\r\n&gt; \r\n&gt;   POLID := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt; \r\n&gt;   CHECK_COMMON(CUNAME, NULL, USER_OBJ_TYPE, INVOKER_USR);\r\n&gt; \r\n&gt; \r\n&gt;   MAX_RD_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MAX_READ_LABEL);\r\n&gt; \r\n&gt; \r\n&gt;   IF MAX_WRITE_LABEL IS NULL THEN\r\n&gt;      MAX_WT_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MAX_READ_LABEL);\r\n&gt;   ELSE \r\n&gt;      MAX_WT_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MAX_WRITE_LABEL);\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   IF MIN_WRITE_LABEL IS NULL THEN\r\n&gt;   \r\n&gt;   \r\n&gt;      SELECT MIN(LEVEL#) INTO MIN_LVL \r\n&gt;      FROM LBACSYS.OLS$LEVELS\r\n&gt;      WHERE POL# = POLID;\r\n&gt; \r\n&gt;   ELSE\r\n&gt;      MIN_WT_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, MIN_WRITE_LABEL);\r\n&gt;      MIN_LVL := LBACSYS.LBAC$SA_LABELS.LABEL_LEVEL_ONLY(MIN_WT_LAB);\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   IF DEF_LABEL IS NULL THEN\r\n&gt;     DF_LAB := MAX_RD_LAB;\r\n&gt;   ELSE\r\n&gt;     DF_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, DEF_LABEL);\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   IF ROW_LABEL IS NULL THEN\r\n&gt;     RW_LAB :=LBACSYS.LBAC$SA_LABELS.COMPUTE_WRITE_LABEL(POLID, MAX_WT_LAB, DF_LAB);\r\n&gt;   ELSE\r\n&gt;     RW_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, ROW_LABEL);\r\n&gt;   END IF;\r\n&gt; \r\n&gt; \r\n&gt;   LBACSYS.LBAC_LGSTNDBY_UTIL.SET_USER_LABELS(POLID, CUNAME, MAX_RD_LAB,\r\n&gt;                                      MAX_WT_LAB,\r\n&gt;                                      MIN_LVL, DF_LAB, RW_LAB);  \r\n&gt;   LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, CUNAME);\r\n&gt;   COMMIT;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXRD, MAX_READ_LABEL);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXWRT, MAX_WRITE_LABEL);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MINWRT, MIN_WRITE_LABEL);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, ABS(SQLCODE))) THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXRD, MAX_READ_LABEL);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MAXWRT, MAX_WRITE_LABEL);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_MINWRT, MIN_WRITE_LABEL);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END SET_USER_LABELS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION MAX_READ_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt; POL_NUMBER     PLS_INTEGER;\r\n&gt; CUNAME         LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; MAX_READ_LABEL LBACSYS.OLS$PROFILE.MAX_READ%TYPE;\r\n&gt; BEGIN\r\n&gt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;             NO_POLICY_EC,POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;    SELECT MAX_READ INTO MAX_READ_LABEL\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&gt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt; \r\n&gt;    RETURN MAX_READ_LABEL;\r\n&gt; END MAX_READ_LABEL;\r\n&gt; \r\n&gt; FUNCTION MAX_WRITE_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt; POL_NUMBER      PLS_INTEGER;\r\n&gt; CUNAME          LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; MAX_WRITE_LABEL LBACSYS.OLS$PROFILE.MAX_WRITE%TYPE;\r\n&gt; BEGIN\r\n&gt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;             NO_POLICY_EC,POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;    SELECT MAX_WRITE INTO MAX_WRITE_LABEL\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&gt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt; \r\n&gt;    RETURN MAX_WRITE_LABEL;\r\n&gt; END MAX_WRITE_LABEL;\r\n&gt; \r\n&gt; FUNCTION MIN_WRITE_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt; POL_NUMBER      PLS_INTEGER;\r\n&gt; CUNAME          LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; MIN_WRITE_LABEL LBACSYS.OLS$PROFILE.MIN_WRITE%TYPE;\r\n&gt; BEGIN\r\n&gt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;             NO_POLICY_EC,POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUMBER:=LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;    SELECT MIN_WRITE INTO MIN_WRITE_LABEL\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&gt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt; \r\n&gt;    RETURN MIN_WRITE_LABEL;\r\n&gt; END MIN_WRITE_LABEL;\r\n&gt; \r\n&gt; FUNCTION DEFAULT_READ_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt; POL_NUMBER     PLS_INTEGER;\r\n&gt; CUNAME         LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; DEF_READ_LABEL LBACSYS.OLS$PROFILE.DEF_READ%TYPE;\r\n&gt; BEGIN\r\n&gt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;             NO_POLICY_EC,POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;    SELECT DEF_READ INTO DEF_READ_LABEL\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&gt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt; \r\n&gt;    RETURN DEF_READ_LABEL;\r\n&gt; END DEFAULT_READ_LABEL;\r\n&gt; \r\n&gt; FUNCTION DEFAULT_WRITE_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt; POL_NUMBER      PLS_INTEGER;\r\n&gt; CUNAME          LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; DEF_WRITE_LABEL LBACSYS.OLS$PROFILE.DEF_WRITE%TYPE;\r\n&gt; BEGIN\r\n&gt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;             NO_POLICY_EC,POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;    SELECT DEF_WRITE INTO DEF_WRITE_LABEL\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&gt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt; \r\n&gt;    RETURN DEF_WRITE_LABEL;\r\n&gt; END DEFAULT_WRITE_LABEL;\r\n&gt; \r\n&gt; FUNCTION DEFAULT_ROW_LABEL (POLICY_NAME IN VARCHAR2, USER_NAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2 IS\r\n&gt; POL_NUMBER    PLS_INTEGER;\r\n&gt; CUNAME        LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; DEF_ROW_LABEL LBACSYS.OLS$PROFILE.DEF_ROW%TYPE;\r\n&gt; BEGIN\r\n&gt;    IF LBACSYS.LBAC_CACHE.POLICYEXISTS(POLICY_NAME) = FALSE THEN\r\n&gt;       LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(PRODUCT, LBAC_FACILITY,\r\n&gt;             NO_POLICY_EC,POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUMBER:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt; \r\n&gt;    SELECT DEF_ROW INTO DEF_ROW_LABEL\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE  USR_NAME = CUNAME AND U.POL# = POL_NUMBER AND\r\n&gt;    U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt; \r\n&gt;    RETURN DEF_ROW_LABEL;\r\n&gt; END DEFAULT_ROW_LABEL;\r\n&gt; \r\n&gt; \r\n&gt;                             \r\n&gt; PROCEDURE SET_DEFAULT_LABEL\r\n&gt;                            (POLICY_NAME IN VARCHAR2,\r\n&gt;                             USER_NAME   IN VARCHAR2,\r\n&gt;                             DEF_LABEL   IN VARCHAR2,\r\n&gt;                             INVOKER_USR IN VARCHAR2)\r\n&gt;  IS\r\n&gt; UNAME LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; POLID LBACSYS.OLS$POL.POL#%TYPE;\r\n&gt; DEF_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', UNAME);\r\n&gt;   CHECK_USER(UNAME);\r\n&gt;   POLID:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   DEF_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, DEF_LABEL);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_DEFAULT_LABEL(POLID, UNAME, DEF_LAB);  \r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, UNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END SET_DEFAULT_LABEL;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_ROW_LABEL\r\n&gt;                            (POLICY_NAME IN VARCHAR2,\r\n&gt;                             USER_NAME   IN VARCHAR2,\r\n&gt;                             ROW_LABEL   IN VARCHAR2,\r\n&gt;                             INVOKER_USR IN VARCHAR2) IS\r\n&gt; UNAME LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; POLID LBACSYS.OLS$POL.POL#%TYPE;\r\n&gt; ROW_LAB  LBACSYS.OLS$LAB.ILABEL%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', UNAME);\r\n&gt;   CHECK_USER(UNAME);\r\n&gt;   POLID:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   ROW_LAB := LBACSYS.LBAC$SA_LABELS.TO_LABEL(POLID, ROW_LABEL);\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     LBACSYS.LBAC_LGSTNDBY_UTIL.SET_ROW_LABEL(POLID, UNAME, ROW_LAB);\r\n&gt; \r\n&gt;     LBACSYS.LBAC$SA_LABELS.STORE_USER_LABEL_LIST (POLID, UNAME);\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       ROLLBACK;\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt; \r\n&gt;   COMMIT;\r\n&gt; END SET_ROW_LABEL;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DROP_LABELS(POLICY_NAME      IN VARCHAR2,\r\n&gt;                       USER_NAME        IN VARCHAR2)\r\n&gt; IS\r\n&gt; CURR_PRIVS     PLS_INTEGER := 0 ;\r\n&gt; POL_NUM        PLS_INTEGER;\r\n&gt; STMT_TYPE      PLS_INTEGER;\r\n&gt; BEGIN\r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   CHECK_USER(USER_NAME);\r\n&gt;   POL_NUM := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt; \r\n&gt;   DELETE FROM LBACSYS.OLS$USER_LEVELS \r\n&gt;   WHERE USR_NAME = USER_NAME AND POL#=POL_NUM;\r\n&gt; \r\n&gt;  BEGIN\r\n&gt;    SELECT PRIVS INTO CURR_PRIVS\r\n&gt;    FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;    WHERE USR_NAME = USER_NAME AND U.POL# = POL_NUM\r\n&gt;    AND U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt;  EXCEPTION\r\n&gt;    WHEN NO_DATA_FOUND THEN\r\n&gt;      RETURN;\r\n&gt;  END;\r\n&gt;   \r\n&gt; \r\n&gt;  IF CURR_PRIVS = 0 THEN\r\n&gt;    STMT_TYPE := DELETE_TYPE;\r\n&gt;  ELSE \r\n&gt;    STMT_TYPE := UPDATE_TYPE;\r\n&gt;  END IF;\r\n&gt; \r\n&gt;  LBACSYS.LBAC$SA_LABELS.STORE_USER(POLICY_NAME, USER_NAME,\r\n&gt;                            NULL, NULL, NULL, NULL,\r\n&gt;                            NULL, NULL, CURR_PRIVS, STMT_TYPE);\r\n&gt; END DROP_LABELS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_USER_PRIVS (POLICY_NAME IN VARCHAR2,\r\n&gt;                           USER_NAME   IN VARCHAR2,\r\n&gt;                           PRIVILEGES  IN VARCHAR2,\r\n&gt;                           INVOKER_USR IN VARCHAR2) IS\r\n&gt; UNAME            LBACSYS.OLS$USER_LEVELS.USR_NAME%TYPE;\r\n&gt; POL_NUM          PLS_INTEGER;\r\n&gt; OLD_MAX_READ     LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&gt; OLD_MAX_WRITE    LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&gt; OLD_MIN_WRITE    LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&gt; OLD_DEF_READ     LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&gt; OLD_DEF_WRITE    LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&gt; OLD_DEF_ROW      LBACSYS.OLS$LAB.ILABEL%TYPE :=NULL;\r\n&gt; NO_OLD_PRIVS     BOOLEAN;\r\n&gt; OLD_PRIVS        NUMBER;\r\n&gt; NEW_PRIVS        NUMBER;\r\n&gt; PROFILE_ID       NUMBER;\r\n&gt; STMT_TYPE        PLS_INTEGER;\r\n&gt; BEGIN\r\n&gt;   CHECK_POLICY(POLICY_NAME);\r\n&gt;   IF (NOT LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', UNAME);\r\n&gt;   ELSE\r\n&gt;     UNAME := UPPER(USER_NAME);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   POL_NUM := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt; \r\n&gt;   CHECK_COMMON(UNAME, NULL, USER_OBJ_TYPE, INVOKER_USR);\r\n&gt; \r\n&gt; \r\n&gt;    NO_OLD_PRIVS := FALSE;\r\n&gt;    BEGIN\r\n&gt;      SELECT MAX_READ, MAX_WRITE, MIN_WRITE, DEF_READ, DEF_WRITE,\r\n&gt;             DEF_ROW, PRIVS\r\n&gt;      INTO OLD_MAX_READ, OLD_MAX_WRITE, OLD_MIN_WRITE, OLD_DEF_READ, \r\n&gt;           OLD_DEF_WRITE, OLD_DEF_ROW, OLD_PRIVS\r\n&gt;      FROM LBACSYS.OLS$USER U, LBACSYS.OLS$PROFILE P\r\n&gt;      WHERE USR_NAME = UNAME AND U.POL# = POL_NUM \r\n&gt;            AND U.POL# = P.POL# AND U.PROFID = P.PROFID;\r\n&gt;    EXCEPTION\r\n&gt;      WHEN NO_DATA_FOUND THEN\r\n&gt; \r\n&gt;        IF PRIVILEGES IS NULL THEN\r\n&gt;          RETURN;\r\n&gt;        ELSE\r\n&gt;          NO_OLD_PRIVS := TRUE;\r\n&gt;          OLD_PRIVS := 0;\r\n&gt;        END IF;\r\n&gt;    END;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;   NEW_PRIVS := TO_PRIVS(POLICY_NAME,PRIVILEGES);\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;    IF NO_OLD_PRIVS THEN\r\n&gt;      STMT_TYPE := INSERT_TYPE;\r\n&gt;    ELSIF OLD_MAX_READ IS NULL AND PRIVILEGES IS  NULL THEN\r\n&gt;      STMT_TYPE := DELETE_TYPE;\r\n&gt;    ELSE\r\n&gt;      STMT_TYPE := UPDATE_TYPE;\r\n&gt;    END IF;\r\n&gt; \r\n&gt;    SET_USER_PRIVS_INTERNAL(POLICY_NAME, UNAME, OLD_MAX_READ, OLD_MAX_WRITE,\r\n&gt;                            OLD_MIN_WRITE, OLD_DEF_READ, OLD_DEF_WRITE,\r\n&gt;                            OLD_DEF_ROW, NEW_PRIVS, STMT_TYPE);\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, ABS(SQLCODE))) THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_GRANTEE, USER_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END SET_USER_PRIVS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_PROG_PRIVS (POLICY_NAME       IN VARCHAR2,\r\n&gt;                           SCHEMA_NAME       IN VARCHAR2,\r\n&gt;                           PROGRAM_UNIT_NAME IN VARCHAR2,\r\n&gt;                           PRIVILEGES        IN VARCHAR2,\r\n&gt;                           INVOKER_USR       IN VARCHAR2) IS\r\n&gt; POL_NUM        PLS_INTEGER;\r\n&gt; PGM_CNT        PLS_INTEGER;\r\n&gt; ROW_CNT        PLS_INTEGER;\r\n&gt; NO_OLD_PRIVS   BOOLEAN;\r\n&gt; OLD_PRIVS      NUMBER;\r\n&gt; NEW_PRIVS      NUMBER;\r\n&gt; CPNAME         LBACSYS.OLS$PROG.PGM_NAME%TYPE;\r\n&gt; CSNAME         LBACSYS.OLS$PROG.OWNER%TYPE;\r\n&gt; \r\n&gt; BEGIN\r\n&gt;    CHECK_POLICY(POLICY_NAME);\r\n&gt;    \r\n&gt;    IF SCHEMA_NAME IS NULL THEN\r\n&gt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;              PRODUCT, SA_FACILITY, INVALID_PARAMS_EC, 'schema name');\r\n&gt;    ELSIF PROGRAM_UNIT_NAME IS NULL THEN\r\n&gt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;              PRODUCT, SA_FACILITY, INVALID_PARAMS_EC, 'program name');\r\n&gt;    END IF;\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_CACHE.FAILEDSTARTUP(POLICY_NAME)) THEN\r\n&gt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;              PRODUCT, SA_FACILITY, STARTUP_FAILURE_EC, POLICY_NAME);\r\n&gt;    END IF;\r\n&gt;    POL_NUM:=LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(SCHEMA_NAME, 'schema name',\r\n&gt;                                               CSNAME);\r\n&gt;    LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(PROGRAM_UNIT_NAME,\r\n&gt;                                      'program unit name', CPNAME);\r\n&gt; \r\n&gt; \r\n&gt;   CHECK_COMMON(CSNAME, CPNAME, PROC_OBJ_TYPE, INVOKER_USR);\r\n&gt; \r\n&gt; \r\n&gt;    \r\n&gt;    \r\n&gt;    SELECT COUNT(*) INTO PGM_CNT\r\n&gt;    FROM SYS.OBJ$ O, SYS.\"_BASE_USER\" U\r\n&gt;    WHERE O.NAME = CPNAME \r\n&gt;    AND U.NAME = CSNAME \r\n&gt;    AND O.OWNER# = U.USER#\r\n&gt;    AND O.TYPE# IN (7,8,9);\r\n&gt; \r\n&gt;    IF (PGM_CNT != 1) THEN\r\n&gt;      LBACSYS.LBAC_STANDARD.RAISE_FACILITY_ERROR(\r\n&gt;        PRODUCT, SA_FACILITY, NO_PROG_EC, \r\n&gt;        (SCHEMA_NAME || '.' || PROGRAM_UNIT_NAME));\r\n&gt;    END IF;\r\n&gt; \r\n&gt; \r\n&gt;    NO_OLD_PRIVS := FALSE;\r\n&gt;    BEGIN\r\n&gt;      SELECT PRIVS INTO OLD_PRIVS\r\n&gt;      FROM LBACSYS.OLS$PROG\r\n&gt;      WHERE CPNAME = PGM_NAME AND\r\n&gt;            OWNER = CSNAME AND\r\n&gt;            POL# = POL_NUM;\r\n&gt;    EXCEPTION\r\n&gt;      WHEN  NO_DATA_FOUND THEN\r\n&gt; \r\n&gt;        IF PRIVILEGES IS NULL THEN\r\n&gt;          RETURN;\r\n&gt;        ELSE\r\n&gt;          NO_OLD_PRIVS := TRUE;\r\n&gt;          OLD_PRIVS := NULL;\r\n&gt;        END IF;\r\n&gt;    END;\r\n&gt; \r\n&gt;    NEW_PRIVS := TO_PRIVS(POLICY_NAME,PRIVILEGES);\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt;    IF NO_OLD_PRIVS THEN\r\n&gt; \r\n&gt;      LBACSYS.LBAC_STANDARD.SET_TRUSTED_PROG(CSNAME,CPNAME);\r\n&gt;      INSERT INTO LBACSYS.OLS$PROG VALUES (POL_NUM,CPNAME,\r\n&gt;                           CSNAME, NEW_PRIVS);\r\n&gt;   ELSIF PRIVILEGES IS NULL THEN\r\n&gt;      LBACSYS.LBAC_STANDARD.RESET_TRUSTED_PROG(CSNAME,CPNAME);\r\n&gt;      DELETE FROM LBACSYS.OLS$PROG \r\n&gt;      WHERE POL#=POL_NUM AND PGM_NAME=CPNAME\r\n&gt;             AND OWNER=CSNAME;\r\n&gt;    ELSE \r\n&gt; \r\n&gt;      LBACSYS.LBAC_STANDARD.SET_TRUSTED_PROG(CSNAME,CPNAME);\r\n&gt;      UPDATE LBACSYS.OLS$PROG SET PRIVS = NEW_PRIVS\r\n&gt;      WHERE POL#=POL_NUM AND\r\n&gt;             PGM_NAME=CPNAME AND \r\n&gt;             OWNER=CSNAME;\r\n&gt;    END IF;\r\n&gt; \r\n&gt;    COMMIT;  \r\n&gt;    \r\n&gt; \r\n&gt;    LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME, SET_ACTION, TRUE,\r\n&gt;      'SET PROGRAM PRIVILEGES');\r\n&gt; \r\n&gt; \r\n&gt;    IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, 0)) THEN\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCHEMA_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PROGRAM, PROGRAM_UNIT_NAME);\r\n&gt;      LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&gt;      LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;    END IF;\r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     \r\n&gt;     IF (LBACSYS.LBAC_SERVICES.CHECK_AUDIT(SET_AUTH_ACTION, ABS(SQLCODE))) THEN\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_OBJOWNER, SCHEMA_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PROGRAM, PROGRAM_UNIT_NAME);\r\n&gt;       LBACSYS.LBAC_SERVICES.SET_UGA(AUDINFO_PRIVGRNTED, PRIVILEGES);\r\n&gt;       LBACSYS.LBAC_SERVICES.AUDIT_ACTION(POLICY_NAME);\r\n&gt;     END IF;\r\n&gt;     RAISE;\r\n&gt; END SET_PROG_PRIVS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE DROP_USER_ACCESS (POLICY_NAME      IN VARCHAR2,\r\n&gt;                             USER_NAME        IN VARCHAR2,\r\n&gt;                             INVOKER_USR      IN VARCHAR2) IS\r\n&gt; \r\n&gt; POL_NUM PLS_INTEGER := 0;\r\n&gt; CUNAME VARCHAR2(1024);\r\n&gt; BEGIN\r\n&gt;   IF (NOT LBACSYS.LBAC_CACHE.OID_ENABLED) THEN\r\n&gt;     LBACSYS.LBAC_CACHE.CANONICALIZE_IDENTIFIER(USER_NAME, 'user name', CUNAME);\r\n&gt;   ELSE\r\n&gt;     CUNAME := UPPER(USER_NAME);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   DROP_LABELS(POLICY_NAME, CUNAME);\r\n&gt;   POL_NUM := LBACSYS.LBAC_CACHE.POL_NUMBER(POLICY_NAME);\r\n&gt; \r\n&gt;   LBACSYS.LBAC$SA_LABELS.STORE_USER(POLICY_NAME, CUNAME,\r\n&gt;                            NULL, NULL, NULL, NULL,\r\n&gt;                            NULL, NULL, 0, DELETE_TYPE);\r\n&gt; END DROP_USER_ACCESS;\r\n&gt; \r\n&gt; END SA_USER_ADMIN_INT;\r\n<\/pre>\n<div id=\"MDSYS.SDO_3GL.PACKAGE.19.0.0.0_RU\">MDSYS.SDO_3GL &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">485a486,491\r\n&gt;   FUNCTION GENERATE_BUFFER_C(DIMOBJ  IN  MDSYS.SDO_DIM_ARRAY,\r\n&gt;                            GEOMOBJ IN  MDSYS.SDO_GEOMETRY,\r\n&gt;                            DIST    IN  NUMBER)\r\n&gt;   RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;\r\n&gt; \r\n&gt; \r\n<\/pre>\n<div id=\"MDSYS.RDF_APIS.PACKAGE BODY.19.0.0.0_RU\">MDSYS.RDF_APIS &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2554c2554\r\n&lt;     GRANT_MODEL_ACCESS_PRIVS(MODEL_NAME, USER_NAME, SYS.ODCIVARCHAR2LIST(PRIVILEGE), USER_VIEW, OPTIONS);\r\n---\r\n&gt;     GRANT_MODEL_ACCESS_PRIVS(MODEL_NAME, USER_NAME, SYS.ODCIVARCHAR2LIST(PRIVILEGE), USER_VIEW, OPTIONS, NETWORK_OWNER, NETWORK_NAME);\r\n2582c2582\r\n&lt;     REVOKE_MODEL_ACCESS_PRIVS(MODEL_NAME, USER_NAME, SYS.ODCIVARCHAR2LIST(PRIVILEGE), USER_VIEW, OPTIONS);\r\n---\r\n&gt;     REVOKE_MODEL_ACCESS_PRIVS(MODEL_NAME, USER_NAME, SYS.ODCIVARCHAR2LIST(PRIVILEGE), USER_VIEW, OPTIONS, NETWORK_OWNER, NETWORK_NAME);\r\n5348c5348,5349\r\n&lt;                                   ' || OBJ_COL_NAME || ')\r\n---\r\n&gt;                                   ' || OBJ_COL_NAME || ',\r\n&gt;                                   :3, :4)\r\n5350c5351\r\n&lt;             USING V_MODEL_NAME_COLON,V_MODEL_NAME;\r\n---\r\n&gt;             USING V_MODEL_NAME_COLON,V_MODEL_NAME,NETWORK_OWNER,NETWORK_NAME;\r\n<\/pre>\n<div id=\"MDSYS.RDF_APIS_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.RDF_APIS_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2183c2183\r\n&lt;       IDS := W_FETCHIDLIST(NAMES, 'MODEL_ID','RDF_MODEL_INTERNAL$','MODEL_NAME');\r\n---\r\n&gt;       IDS := W_FETCHIDLIST(NAMES, 'MODEL_ID',(CASE SYS_CONTEXT('USERENV','CURRENT_USER') WHEN NETWORK_OWNER THEN 'RDF_MODEL_INTERNAL$' ELSE 'RDF_MODEL$' END),'MODEL_NAME');\r\n2195a2196\r\n&gt;          IF (SYS_CONTEXT('USERENV','CURRENT_USER') = NETWORK_OWNER) THEN\r\n2200a2202,2208\r\n&gt;          ELSE\r\n&gt;           EXECUTE IMMEDIATE \r\n&gt;             'select model_name from ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDF_MODEL$ \r\n&gt;               where model_id=:1 model_type=:2'\r\n&gt;             INTO MODEL_NAME \r\n&gt;             USING IDS(IDX),SDO_RDF_INTERNAL.MODEL_TYPE_RDB2RDF;\r\n&gt;          END IF;\r\n7413a7422\r\n&gt;     CLIQUE_VIEW_EXISTS      PLS_INTEGER;\r\n7475a7485,7490\r\n&gt;       ELSE\r\n&gt;         SELECT COUNT(*) INTO CLIQUE_VIEW_EXISTS FROM  SYS.ALL_VIEWS WHERE OWNER=NETWORK_OWNER AND VIEW_NAME=NETWORK_NAME || 'RDFC_' || PRECOMPIDX;\r\n&gt;         IF (CLIQUE_VIEW_EXISTS &gt; 0) THEN\r\n&gt;           VCSAMEASOPTION := ',OPT_SAMEAS=T,INF_ONLY=T,';\r\n&gt;         END IF;\r\n&gt;         \r\n8726a8742\r\n&gt;          BEGIN\r\n8727a8744,8748\r\n&gt;          EXCEPTION WHEN OTHERS THEN\r\n&gt;            RAISE_APPLICATION_ERROR(-20000, 'Unable to read model ' || NAME || ' info from '|| V_PFX_FOR_RDF_OBJ_NAME || 'rdf_model$' ||\r\n&gt;              CHR(10) || SYS.DBMS_UTILITY.FORMAT_ERROR_STACK\r\n&gt;            );\r\n&gt;          END;\r\n<\/pre>\n<div id=\"MDSYS.SDO_GEOM.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_GEOM &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">4238a4239,4240\r\n&gt;          \r\n&gt;          COMMIT;\r\n<\/pre>\n<div id=\"MDSYS.SDO_RDF.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">17275c17275,17278\r\n&lt;       IF (PKG_LIST(I) = 'S_SDO_RDF_INFO') THEN\r\n---\r\n&gt;       IF (INSTR(U_OPTIONS, ' QUERY_ONLY=T ') &gt; 0) THEN\r\n&gt;         CONTINUE;\r\n&gt;       \r\n&gt;       ELSIF (PKG_LIST(I) = 'S_SDO_RDF_INFO') THEN\r\n17407a17411,17417\r\n&gt;     \r\n&gt;     TYPE CUR_TYPE IS REF CURSOR;\r\n&gt;     RC  CUR_TYPE;\r\n&gt;     RELTABNAME          VARCHAR2(261);\r\n&gt;     \r\n&gt;     ENTAILMENT_TYPE     CONSTANT VARCHAR2(30) := 'ENTAILMENT';\r\n&gt;     ENT_EXISTS          PLS_INTEGER;\r\n17409a17420,17421\r\n&gt;     E_NO_TABLE EXCEPTION;\r\n&gt;     PRAGMA EXCEPTION_INIT (E_NO_TABLE, -942);\r\n17423,17424c17435,17445\r\n&lt;     \r\n&lt;     DYN_SQL_STMT := \r\n---\r\n&gt;     IF (INSTR(' ' || NLS_UPPER(OPTIONS) || ' ',' ' || ENTAILMENT_TYPE || ' ') &gt; 0) THEN\r\n&gt;       \r\n&gt;       DYN_SQL_STMT := \r\n&gt;         'select \/*+ dynamic_sampling(0) result_cache *\/ 1 ' || \r\n&gt;         '  from ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDF_RULES_INDEX_INFO' || \r\n&gt;         ' where index_name = :ent';\r\n&gt;       EXECUTE IMMEDIATE DYN_SQL_STMT INTO ENT_EXISTS USING MODEL;\r\n&gt;       MODEL_TYPE := ENTAILMENT_TYPE;\r\n&gt;     ELSE\r\n&gt;       \r\n&gt;       DYN_SQL_STMT := \r\n17426,17428c17447,17450\r\n&lt;       '  from ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDF_MODEL$' || \r\n&lt;       ' where model_name = :mod';\r\n&lt;     EXECUTE IMMEDIATE DYN_SQL_STMT INTO MODEL_ID, MODEL_TYPE, OWNER_NAME, APPTAB_NAME USING MODEL;\r\n---\r\n&gt;         '  from ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDF_MODEL$' || \r\n&gt;         ' where model_name = :mod';\r\n&gt;       EXECUTE IMMEDIATE DYN_SQL_STMT INTO MODEL_ID, MODEL_TYPE, OWNER_NAME, APPTAB_NAME USING MODEL;\r\n&gt;     END IF;\r\n17441c17463,17487\r\n&lt;     IF (MODEL_TYPE = SDO_RDF_INTERNAL.MODEL_TYPE_VIRTUAL) THEN\r\n---\r\n&gt;     IF (MODEL_TYPE = ENTAILMENT_TYPE) THEN\r\n&gt;       PRIV := 'READ';\r\n&gt;       DYN_SQL_STMT := OPCODE || ' ' || PRIV || ' on ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDFI_' || MODEL || DIR || Q_UNAME;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n&gt;         EXCEPTION WHEN NO_REVOKE_FOR_NOT_GRANTED THEN NULL;\r\n&gt;       END;\r\n&gt;       DYN_SQL_STMT := OPCODE || ' ' || PRIV || ' on ' || V_PFX_FOR_RDF_OBJ_NAME || 'SEMI_' || MODEL || DIR || Q_UNAME;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n&gt;         EXCEPTION WHEN NO_REVOKE_FOR_NOT_GRANTED THEN NULL;\r\n&gt;       END;\r\n&gt;       DYN_SQL_STMT := OPCODE || ' ' || PRIV || ' on ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDFC_' || MODEL || DIR || Q_UNAME;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n&gt;         EXCEPTION WHEN NO_REVOKE_FOR_NOT_GRANTED OR E_NO_TABLE THEN NULL;\r\n&gt;       END;\r\n&gt;       DYN_SQL_STMT := OPCODE || ' ' || PRIV || ' on ' || V_PFX_FOR_RDF_OBJ_NAME || 'SEMC_' || MODEL || DIR || Q_UNAME;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n&gt;         EXCEPTION WHEN NO_REVOKE_FOR_NOT_GRANTED OR E_NO_TABLE THEN NULL;\r\n&gt;       END;\r\n&gt; \r\n&gt;       RETURN;\r\n&gt;     ELSIF (MODEL_TYPE = SDO_RDF_INTERNAL.MODEL_TYPE_VIRTUAL) THEN\r\n17487a17534,17554\r\n&gt;         \r\n&gt;         IF (INSTR(' ' || NLS_UPPER(OPTIONS) || ' ',' READ_PRIV_ON_TABLES=T ') &gt; 0) THEN\r\n&gt;         BEGIN\r\n&gt;           OPEN RC FOR 'select distinct tabName from ' || V_PFX_FOR_RDF_OBJ_NAME || RRTABNAME || ' where tabName is NOT NULL';\r\n&gt;           LOOP\r\n&gt;             FETCH RC INTO RELTABNAME;\r\n&gt;             EXIT WHEN RC%NOTFOUND;\r\n&gt;             DYN_SQL_STMT := OPCODE || ' READ on ' || SYS.DBMS_ASSERT.QUALIFIED_SQL_NAME(RELTABNAME) || DIR || Q_UNAME;\r\n&gt;             EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n&gt;           END LOOP;\r\n&gt;           CLOSE RC;\r\n&gt;           EXCEPTION \r\n&gt;           WHEN NO_REVOKE_FOR_NOT_GRANTED THEN \r\n&gt;             NULL;\r\n&gt;           WHEN OTHERS THEN\r\n&gt;             CLOSE RC;\r\n&gt;             RAISE_APPLICATION_ERROR(-20000, 'Failed: ' || DYN_SQL_STMT ||\r\n&gt;               CHR(10) || '[' || CHR(10) || DBMS_UTILITY.FORMAT_ERROR_STACK || CHR(10) || ']'\r\n&gt;             );\r\n&gt;         END;\r\n&gt;         END IF;\r\n17514a17582\r\n&gt;       BEGIN\r\n17521a17590,17593\r\n&gt;       EXCEPTION\r\n&gt;         WHEN NO_DATA_FOUND THEN\r\n&gt;           NULL;\r\n&gt;       END;\r\n<\/pre>\n<div id=\"MDSYS.SDO_RDF_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1176a1177\r\n&gt;   EXCEPTION WHEN OTHERS THEN ROLLBACK;\r\n1198a1200\r\n&gt;   EXCEPTION WHEN OTHERS THEN ROLLBACK;\r\n1543c1545\r\n&lt;     OPTION_LIST      VARCHAR2(32767);\r\n---\r\n&gt;     OPTION_LIST      VARCHAR2(32767) := TRIM(TRANSLATE(FLAGS, CHR(8) || CHR(9) || CHR(10) || CHR(11) || CHR(12), '     '));\r\n1567c1569\r\n&lt;     IF (FLAGS IS NULL) THEN RETURN OPTION_CNT; END IF;\r\n---\r\n&gt;     IF (OPTION_LIST IS NULL) THEN RETURN OPTION_CNT; END IF;\r\n1570c1572\r\n&lt;     OPTION_LIST := NLS_UPPER(TRIM(FLAGS))||' ';\r\n---\r\n&gt;     OPTION_LIST := NLS_UPPER(OPTION_LIST)||' ';\r\n4804a4807,4810\r\n&gt;         IF (INSTR(U_OPTIONS,' QUERY_ONLY=T ') &gt; 0) THEN\r\n&gt;           \r\n&gt;           CHOSEN_ROUTE := SDO_RDF.ROUTE_DIRECT_IR;\r\n&gt;         ELSE\r\n4809a4816\r\n&gt;         END IF;\r\n4828a4836\r\n&gt;     DYN_SQL_STMT LONG;\r\n5001c5009\r\n&lt;       CALLCONTEXT.MODEL_ID := MDSYS.SDO_RDF_INTERNAL.GET_MODEL_ID(CALLCONTEXT.MODEL_NAME,FLAGS=&gt;OPTIONS);\r\n---\r\n&gt;       CALLCONTEXT.MODEL_ID := MDSYS.SDO_RDF_INTERNAL.W_GET_MODEL_ID(CALLCONTEXT.MODEL_NAME,FLAGS=&gt;OPTIONS);\r\n5004c5012\r\n&lt;       M_G_ID := MDSYS.SDO_RDF_INTERNAL.GET_MODEL_ID(CALLCONTEXT.M_G_NAME,FLAGS=&gt;OPTIONS);\r\n---\r\n&gt;       M_G_ID := MDSYS.SDO_RDF_INTERNAL.W_GET_MODEL_ID(CALLCONTEXT.M_G_NAME,FLAGS=&gt;OPTIONS);\r\n14674c14682\r\n&lt;     IF (MDSYS.RDF_APIS_INTERNAL.HAS_VERSION_ENABLED_MODEL(SYS.ODCINUMBERLIST(MOD_ID)) &gt; 0) THEN\r\n---\r\n&gt;     IF (MDSYS.RDF_APIS_INTERNAL.W_HAS_VERSION_ENABLED_MODEL(SYS.ODCINUMBERLIST(MOD_ID)) &gt; 0) THEN\r\n14876c14884\r\n&lt;    GET_VALUE$_TYPE$(M_ID, \r\n---\r\n&gt;    W_GET_VALUE$_TYPE$(M_ID, \r\n14900c14908\r\n&lt;       PARSE_SUBJECT_NODE(V_SUBJECT,SV_TYPE,SV_ID,NEW_SV);\r\n---\r\n&gt;       W_PARSE_SUBJECT_NODE(V_SUBJECT,SV_TYPE,SV_ID,NEW_SV);\r\n14909c14917\r\n&lt;       PARSE_OBJECT_NODE(V_OBJECT,LIT_TYPE,LIT_LANG,OV_TYPE,OV_ID,COV_ID,NEW_OV);\r\n---\r\n&gt;       W_PARSE_OBJECT_NODE(V_OBJECT,LIT_TYPE,LIT_LANG,OV_TYPE,OV_ID,COV_ID,NEW_OV);\r\n14917c14925\r\n&lt;       PARSE_PROPERTY_VALUE(V_PROPERTY,PV_TYPE,PV_ID,NEW_PV);\r\n---\r\n&gt;       W_PARSE_PROPERTY_VALUE(V_PROPERTY,PV_TYPE,PV_ID,NEW_PV);\r\n15008c15016\r\n&lt;   GET_VALUE$_TYPE$(M_ID,\r\n---\r\n&gt;     GET_VALUE$_TYPE$(M_ID,\r\n15033c15041\r\n&lt;       PARSE_SUBJECT_NODE(V_SUBJECT,SV_TYPE,SV_ID,NEW_SV);\r\n---\r\n&gt;       W_PARSE_SUBJECT_NODE(V_SUBJECT,SV_TYPE,SV_ID,NEW_SV);\r\n15041c15049\r\n&lt;       PARSE_OBJECT_NODE(V_OBJECT,LIT_TYPE,LIT_LANG,OV_TYPE,OV_ID,COV_ID,NEW_OV);\r\n---\r\n&gt;       W_PARSE_OBJECT_NODE(V_OBJECT,LIT_TYPE,LIT_LANG,OV_TYPE,OV_ID,COV_ID,NEW_OV);\r\n15049c15057\r\n&lt;       PARSE_PROPERTY_VALUE(V_PROPERTY,PV_TYPE,PV_ID,NEW_PV);\r\n---\r\n&gt;       W_PARSE_PROPERTY_VALUE(V_PROPERTY,PV_TYPE,PV_ID,NEW_PV);\r\n15677c15685\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE); \r\n15689c15697\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE); \r\n15702c15710\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE); \r\n15730c15738\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE); \r\n15989c15997\r\n&lt;     RDF_APIS_INTERNAL.KSDWRF('gmi: model_name=' || MODEL_NAME || ' sep_pos=' || SEP_POS, DEBUG_TRACE);\r\n---\r\n&gt;     \r\n15991,15992c15999,16000\r\n&lt;     MODEL := SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(VAL_CVT_RDF_NAME(SUBSTR(MODEL_NAME,1,SEP_POS-1)));\r\n&lt;     SEL_MODEL :='SELECT model_id FROM ' || V_PFX_FOR_RDF_OBJ_NAME || 'rdf_model$ WHERE model_name=:1';\r\n---\r\n&gt;     MODEL := SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(SDO_RDF_INTERNAL.VAL_CVT_RDF_NAME(SUBSTR(MODEL_NAME,1,SEP_POS-1)));\r\n&gt;     SEL_MODEL :='SELECT \/*+ dynamic_sampling(0) result_cache *\/ model_id FROM ' || V_PFX_FOR_RDF_OBJ_NAME || 'rdf_model_internal$ WHERE model_name=:1';\r\n15994c16002\r\n&lt;     RDF_APIS_INTERNAL.KSDWRF('gmi: model_name=' || MODEL_NAME || ' m_id=' || M_ID, DEBUG_TRACE);\r\n---\r\n&gt;     \r\n16001c16009\r\n&lt;       PARSE_PROPERTY_VALUE(\r\n---\r\n&gt;       W_PARSE_PROPERTY_VALUE(\r\n18529d18536\r\n&lt;     DYN_SQL_STMT VARCHAR2(4000);\r\n18530a18538,18546\r\n&gt;     \r\n&gt;     TRUNCATE_STMT LONG;\r\n&gt;     SELECT_STMT LONG;\r\n&gt;     INSERT_STMT   LONG;\r\n&gt;     ROWS_PRESENT NUMBER := 0;\r\n&gt;     RETRY_CNT NUMBER := 0;\r\n&gt;     MAX_RETRY_CNT CONSTANT NUMBER := 10;\r\n&gt;     E_RESOURCE_BUSY EXCEPTION;\r\n&gt;     PRAGMA EXCEPTION_INIT (E_RESOURCE_BUSY, -54);\r\n18548,18549c18564\r\n&lt;     \r\n&lt;     DYN_SQL_STMT := \r\n---\r\n&gt;     TRUNCATE_STMT := \r\n18551d18565\r\n&lt;     EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n18553,18554c18567,18570\r\n&lt;     \r\n&lt;     DYN_SQL_STMT :=\r\n---\r\n&gt;     SELECT_STMT := \r\n&gt;       'SELECT COUNT(*) FROM ' || V_PFX_FOR_RDF_OBJ_NAME || 'RDF_MODEL$_TBL WHERE ROWNUM &lt; 2';\r\n&gt; \r\n&gt;     INSERT_STMT :=\r\n18562c18578,18604\r\n&lt;     EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n---\r\n&gt; \r\n&gt; \r\n&gt;     &lt;&lt;RETRY_REFRESH&gt;&gt;\r\n&gt; \r\n&gt;     \r\n&gt;     BEGIN\r\n&gt;       EXECUTE IMMEDIATE TRUNCATE_STMT;\r\n&gt;     EXCEPTION\r\n&gt;       WHEN E_RESOURCE_BUSY THEN\r\n&gt;         IF (RETRY_CNT &lt; MAX_RETRY_CNT) THEN\r\n&gt;           RETRY_CNT := RETRY_CNT + 1;\r\n&gt;           DBMS_LOCK.SLEEP(1);\r\n&gt;           GOTO RETRY_REFRESH;\r\n&gt;         END IF;\r\n&gt;     END;\r\n&gt; \r\n&gt;     \r\n&gt;     EXECUTE IMMEDIATE SELECT_STMT INTO ROWS_PRESENT;\r\n&gt;     IF (ROWS_PRESENT &gt; 0 AND RETRY_CNT &lt; MAX_RETRY_CNT) THEN\r\n&gt;       RETRY_CNT := RETRY_CNT + 1;\r\n&gt;       DBMS_LOCK.SLEEP(1);\r\n&gt;       GOTO RETRY_REFRESH;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     EXECUTE IMMEDIATE INSERT_STMT;\r\n&gt; \r\n18564a18607\r\n&gt; \r\n18565a18609,18619\r\n&gt;     IF (ROWS_PRESENT &gt; 0) THEN\r\n&gt;       RDF_APIS_INTERNAL.KSDWRF('W_refresh_rdf_model_tbl: RDF_MODEL$_TBL may need manual cleanup to eliminate duplicate rows.' ||\r\n&gt;         NL || DBMS_UTILITY.FORMAT_CALL_STACK);\r\n&gt;     END IF;\r\n&gt;   EXCEPTION \r\n&gt;     WHEN OTHERS THEN \r\n&gt;       ROLLBACK;\r\n&gt;       RDF_APIS_INTERNAL.KSDWRF('W_refresh_rdf_model_tbl: IGNORING: RDF_MODEL$_TBL may need manual refresh.' || \r\n&gt;         NL || DBMS_UTILITY.FORMAT_ERROR_STACK ||\r\n&gt;         NL || '[' || NL || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE || NL || ']' ||\r\n&gt;         NL || DBMS_UTILITY.FORMAT_CALL_STACK);\r\n19339c19393,19397\r\n&lt;     EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n---\r\n&gt;     BEGIN\r\n&gt;       EXECUTE IMMEDIATE DYN_SQL_STMT;\r\n&gt;     EXCEPTION WHEN E_PART_NX THEN NULL;\r\n&gt;               WHEN TABLE_NX THEN NULL;\r\n&gt;     END;\r\n19365a19424\r\n&gt; \r\n20674c20733\r\n&lt;         MDSYS.RDF_APIS_INTERNAL.KSDWRF('RDFCTX vmId ='|| VMID || 'vID_beg vID_end:' || VID_BEG || ' ' || VID_END);\r\n---\r\n&gt;         MDSYS.RDF_APIS_INTERNAL.KSDWRF('RDFCTX vmId ='|| VMID || 'vID_beg vID_end:' || VID_BEG || ' ' || VID_END, DEBUG_TRACE);\r\n25368a25428\r\n&gt;       , 'rdf_rulebase$', 'rdf_precomp$' , 'rdf_precomp_dep$', 'rdf_delta$', 'rdf_ts$', 'rdf_hist$' \r\n26042c26102\r\n&lt;               select m.model_id, au.user_id, ao.object_id\r\n---\r\n&gt;               select DISTINCT m.model_id, au.user_id, ao.object_id\r\n26330c26390\r\n&lt;                                    '... skipping creation'); \r\n---\r\n&gt;                                    '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26339c26399\r\n&lt;                                    '... skipping drop'); \r\n---\r\n&gt;                                    '... skipping drop', DEBUG_TRACE OR IMPORT_MODE); \r\n26358c26418\r\n&lt;                                    '... skipping creation'); \r\n---\r\n&gt;                                    '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26393c26453\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26406c26466\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26418c26478\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26430c26490\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26440c26500\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26450c26510\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26471c26531\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26484c26544\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26496c26556\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26508c26568\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26520c26580\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26541c26601\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26554c26614\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26567c26627\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26583c26643\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26602c26662\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26614c26674\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26633c26693\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26647c26707\r\n&lt;             '... skipping populate'); \r\n---\r\n&gt;             '... skipping populate', DEBUG_TRACE OR IMPORT_MODE); \r\n26691c26751\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26704c26764\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26716c26776\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26725c26785\r\n&lt;                                    '... skipping drop'); \r\n---\r\n&gt;                                    '... skipping drop', DEBUG_TRACE OR IMPORT_MODE); \r\n26737c26797\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26787c26847\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26805c26865\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26819c26879\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26844c26904\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26855c26915\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26866c26926\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26877c26937\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26938c26998\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26952c27012\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26966c27026\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n26995c27055\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27032c27092\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27047c27107\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27061c27121\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27075c27135\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27106c27166\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27126c27186\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27140c27200\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27154c27214\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27167c27227\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27185c27245\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27200c27260\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27217c27277\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27232c27292\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27259c27319\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27280c27340\r\n&lt;               '... skipping creation'); \r\n---\r\n&gt;               '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27294c27354\r\n&lt;               '... skipping creation'); \r\n---\r\n&gt;               '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27315c27375\r\n&lt;               '... skipping creation'); \r\n---\r\n&gt;               '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27384c27444\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27402c27462\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27423c27483\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n27441c27501\r\n&lt;             '... skipping creation'); \r\n---\r\n&gt;             '... skipping creation', DEBUG_TRACE OR IMPORT_MODE); \r\n31384c31444\r\n&lt;     V_COMMAND := NLS_UPPER(TRIM(COMMAND));\r\n---\r\n&gt;     V_COMMAND := ' ' || NLS_UPPER(TRIM(COMMAND)) || ' ';\r\n<\/pre>\n<div id=\"MDSYS.SDO_UTIL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_UTIL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2207a2208\r\n&gt;  IS_G3D VARCHAR2(10) := 'FALSE';\r\n2228a2230,2237\r\n&gt;   \r\n&gt;  \r\n&gt;  BEGIN\r\n&gt;    SDO_GEOM.G3D_PARAMETERS(GEOMETRY.SDO_SRID, SM_MJR_AXIS,INV_FLTN,UOM_FACTOR);\r\n&gt;     EXCEPTION WHEN OTHERS THEN\r\n&gt;        SM_MJR_AXIS := NULL;\r\n&gt;        INV_FLTN := NULL;\r\n&gt;  END;\r\n2230d2238\r\n&lt;  SDO_GEOM.G3D_PARAMETERS(GEOMETRY.SDO_SRID, SM_MJR_AXIS,INV_FLTN,UOM_FACTOR);\r\n<\/pre>\n<div id=\"MDSYS.SDO_RDF_TRIPLE_S.TYPE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF_TRIPLE_S &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">29a30,31\r\n&gt;   CLN_NETWORK_OWNER DBMS_QUOTED_ID;\r\n&gt;   CLN_NETWORK_NAME  VARCHAR2(30);\r\n39c41,58\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NETWORK_OWNER, NETWORK_NAME);\r\n---\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   IF (NETWORK_OWNER IS NOT NULL) THEN\r\n&gt;     CLN_NETWORK_OWNER := SDO_RDF_INTERNAL.VALIDATE_AND_CONVERT_NAME(NETWORK_OWNER);\r\n&gt;   ELSE\r\n&gt;     CLN_NETWORK_OWNER := 'MDSYS';\r\n&gt;   END IF;\r\n&gt;   IF (NETWORK_NAME IS NOT NULL) THEN\r\n&gt;     CLN_NETWORK_NAME := SDO_RDF_INTERNAL.VAL_CVT_RDF_NAME(NETWORK_NAME)||'#';\r\n&gt;   ELSE\r\n&gt;     CLN_NETWORK_NAME := 'ORA$NULL';\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = CLN_NETWORK_OWNER AND\r\n&gt;           COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_NAME(),'ORA$NULL') = CLN_NETWORK_NAME)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NETWORK_OWNER, NETWORK_NAME);\r\n&gt;   END IF;\r\n134a154,155\r\n&gt;   CLN_NETWORK_OWNER DBMS_QUOTED_ID;\r\n&gt;   CLN_NETWORK_NAME  VARCHAR2(30);\r\n159c180,196\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NETWORK_OWNER, NETWORK_NAME);\r\n---\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   IF (NETWORK_OWNER IS NOT NULL) THEN\r\n&gt;     CLN_NETWORK_OWNER := SDO_RDF_INTERNAL.VALIDATE_AND_CONVERT_NAME(NETWORK_OWNER);\r\n&gt;   ELSE\r\n&gt;     CLN_NETWORK_OWNER := 'MDSYS';\r\n&gt;   END IF;\r\n&gt;   IF (NETWORK_NAME IS NOT NULL) THEN\r\n&gt;     CLN_NETWORK_NAME := SDO_RDF_INTERNAL.VAL_CVT_RDF_NAME(NETWORK_NAME)||'#';\r\n&gt;   ELSE\r\n&gt;     CLN_NETWORK_NAME := 'ORA$NULL';\r\n&gt;   END IF;\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = CLN_NETWORK_OWNER AND\r\n&gt;           COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_NAME(),'ORA$NULL') = CLN_NETWORK_NAME)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NETWORK_OWNER, NETWORK_NAME);\r\n&gt;   END IF;\r\n309c346,349\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n---\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = 'MDSYS' AND\r\n&gt;           SDO_RDF_INTERNAL.GET_NETWORK_NAME() IS NULL)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n&gt;   END IF;\r\n411c451,454\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n---\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = 'MDSYS' AND\r\n&gt;           SDO_RDF_INTERNAL.GET_NETWORK_NAME() IS NULL)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n&gt;   END IF;\r\n486c529,532\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n---\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = 'MDSYS' AND\r\n&gt;           SDO_RDF_INTERNAL.GET_NETWORK_NAME() IS NULL)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n&gt;   END IF;\r\n542c588,591\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n---\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = 'MDSYS' AND\r\n&gt;           SDO_RDF_INTERNAL.GET_NETWORK_NAME() IS NULL)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n&gt;   END IF;\r\n583c632,635\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n---\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = 'MDSYS' AND\r\n&gt;           SDO_RDF_INTERNAL.GET_NETWORK_NAME() IS NULL)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n&gt;   END IF;\r\n648c700,703\r\n&lt;   RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n---\r\n&gt;   IF (NOT(COALESCE(SDO_RDF_INTERNAL.GET_NETWORK_OWNER(),'ORA$NULL') = 'MDSYS' AND\r\n&gt;           SDO_RDF_INTERNAL.GET_NETWORK_NAME() IS NULL)) THEN\r\n&gt;     RDF_APIS.SET_NETWORK_INFO_CP_TO_PKGS(NULL, NULL);\r\n&gt;   END IF;\r\n<\/pre>\n<div id=\"SYS.DBMS_APP_CONT_ADMIN.PACKAGE.19.0.0.0_RU\">SYS.DBMS_APP_CONT_ADMIN &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">79c79,80\r\n&lt;                       failover_restore IN VARCHAR2 DEFAULT 'LEVEL1');\r\n---\r\n&gt;                       failover_restore IN VARCHAR2 DEFAULT 'LEVEL1',\r\n&gt;                       replay_initiation_timeout IN BINARY_INTEGER DEFAULT NULL);\r\n84a86\r\n&gt;   --    replay_initiation_timeout - replay initiation timeout\r\n90c92,94\r\n&lt;                        failover_restore IN VARCHAR2 DEFAULT 'AUTO');\r\n---\r\n&gt;                        failover_restore IN VARCHAR2 DEFAULT 'AUTO',\r\n&gt;                        replay_initiation_timeout IN BINARY_INTEGER\r\n&gt;                                                      DEFAULT NULL);\r\n96a101\r\n&gt;   --    replay_initiation_timeout - replay initiation timeout\r\n144a150,163\r\n&gt;   --\r\n&gt;   -- error\r\n&gt;   --    Appropriate error raised by server.\r\n&gt; \r\n&gt;   PROCEDURE set_draining(service_name IN VARCHAR2,\r\n&gt;                          drain_timeout IN BINARY_INTEGER DEFAULT NULL,\r\n&gt;                          stop_option IN VARCHAR2 DEFAULT NULL);\r\n&gt;   -- This procedure sets session drain timeout and stop_option for the given\r\n&gt;   -- service\r\n&gt;   --\r\n&gt;   -- Input Parameter(s):\r\n&gt;   --    service_name - Service name\r\n&gt;   --    drain_timeout - Integer in second for session drain timeout\r\n&gt;   --    Service stop_option: NONE, TRANSACTIONAL, IMMEDIATE\r\n<\/pre>\n<div id=\"SYS.DBMS_AUTOTASK_PRVT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_AUTOTASK_PRVT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">50c50,51\r\n&lt; PROCEDURE RUN_AUTOTASK(TASK_ID      IN PLS_INTEGER);\r\n---\r\n&gt; PROCEDURE RUN_AUTOTASK(TASK_ID      IN PLS_INTEGER,\r\n&gt;                        MAGIC_NUM    IN NUMBER);\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.6RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (19.6RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '19.06.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '19.06.01.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('19.06.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('19.06.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('19.06.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('19.06.01.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('19.06.01.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('19.06.01.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('19.06.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('19.06.01.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('19.06.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('19.06.01.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('19.06.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('19.06.01.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('19.06.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('19.06.01.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.5RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (19.5RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '19.05.01.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '19.05.02.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('19.05.01.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('19.05.01.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('19.05.01.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('19.05.02.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('19.05.02.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('19.05.02.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('19.05.01.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('19.05.02.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('19.05.01.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('19.05.02.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('19.05.01.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('19.05.02.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('19.05.01.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('19.05.02.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '19.06.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '19.07.00.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('19.06.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('19.06.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('19.06.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('19.07.00.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('19.07.00.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('19.07.00.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('19.06.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('19.07.00.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('19.06.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('19.07.00.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('19.06.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('19.07.00.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('19.06.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('19.07.00.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_HADOOP_INTERNAL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_HADOOP_INTERNAL &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">291,318d290\r\n&lt; -- NAME: MERGE_PARTITIONS\r\n&lt; --\r\n&lt; -- DESCRIPTION: Given a local list partitioned Oracle table and details about a\r\n&lt; --              partitioned Hive table, merge the Hive partitions onto the local\r\n&lt; --              Oracle table.\r\n&lt; --\r\n&lt; -- PARAMETERS: partnList - partnList to be added, if any\r\n&lt; --             CLUSTER_ID   - Hadoop cluster id\r\n&lt; --             DB_NAME      - database name\r\n&lt; --             HIVE_TABLE_NAME  - Hive table name\r\n&lt; --             HYPT_TAB_NAME  - Hybrid table name\r\n&lt; --             HYPT_TAB_OWNER - Hybrid table owner\r\n&lt; --             PERFORM_DDL  - If TRUE, merge the Hive partitions to local table\r\n&lt; -- RETURNS:\r\n&lt; --            Any newly added hive partitions since the last sync or\r\n&lt; --            hybrid table creation.\r\n&lt; --\r\n&lt; FUNCTION MERGE_PARTITIONS(\r\n&lt;                      PARTNLIST IN CLOB,\r\n&lt;                      CLUSTER_ID IN VARCHAR2,\r\n&lt;                      DB_NAME IN VARCHAR2,\r\n&lt;                      HIVE_TABLE_NAME IN VARCHAR2,\r\n&lt;                      HYPT_TAB_NAME IN VARCHAR2,\r\n&lt;                      HYPT_TAB_OWNER IN VARCHAR2,\r\n&lt;                      PERFORM_DDL IN BOOLEAN\r\n&lt; ) RETURN CLOB;\r\n&lt; \r\n&lt; \r\n<\/pre>\n<div id=\"SYS.DBMS_JSON0.PACKAGE.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">25a26,27\r\n&gt; FUNCTION  CHECKPK(OWNER VARCHAR2,\r\n&gt;                   TABLENAME VARCHAR2) RETURN BOOLEAN;\r\n<\/pre>\n<div id=\"SYS.DBMS_REDACT_INT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REDACT_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1,3\r\n&lt; PACKAGE dbms_redact_int AS\r\n---\r\n&gt; PACKAGE dbms_redact_int \r\n&gt; ACCESSIBLE BY (SYS.DBMS_REDACT)\r\n&gt; AS\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">13c13\r\n&lt;                                '19.6.0.0.0';\r\n---\r\n&gt;                                '19.7.0.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.5RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (19.5RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">13c13\r\n&lt;                                '19.5.1.0.0';\r\n---\r\n&gt;                                '19.5.2.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.6RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (19.6RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">13c13\r\n&lt;                                '19.6.0.0.0';\r\n---\r\n&gt;                                '19.6.1.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REPORT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REPORT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">667c667,672\r\n&lt;   --\r\n---\r\n&gt;   --    p_cloud_service_type\r\n&gt;   --                     (OUT)  - 0 NONE\r\n&gt;   --                              1 DWCS (Autonomous Data Warehouse)\r\n&gt;   --                              2 EECS (Exadata Express Cloud Service)\r\n&gt;   --                              3 PAAS (Platform As A Service (MDBCS))\r\n&gt;   --                              4 OLTP (ATP)\r\n678c683,684\r\n&lt;     p_packs                 OUT      NUMBER\r\n---\r\n&gt;     p_packs                 OUT      NUMBER,\r\n&gt;     p_cloud_service_type    OUT      NUMBER\r\n<\/pre>\n<div id=\"SYS.DBMS_RLS_INT.PACKAGE.19.0.0.0_RU\">SYS.DBMS_RLS_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1,3\r\n&lt; PACKAGE dbms_rls_int AS\r\n---\r\n&gt; PACKAGE dbms_rls_int \r\n&gt; ACCESSIBLE BY (SYS.DBMS_RLS)\r\n&gt; AS\r\n21c23,24\r\n&lt;                        CPS             IN BOOLEAN := FALSE);\r\n---\r\n&gt;                        CPS             IN BOOLEAN := FALSE,\r\n&gt;                        INVOKER         IN VARCHAR2 := NULL);\r\n29c32,33\r\n&lt;                        CPS             IN BOOLEAN := FALSE);\r\n---\r\n&gt;                        CPS             IN BOOLEAN := FALSE,\r\n&gt;                        INVOKER         IN VARCHAR2 := NULL);\r\n38c42,43\r\n&lt;                                  CPS             IN BOOLEAN := FALSE);\r\n---\r\n&gt;                                  CPS             IN BOOLEAN := FALSE,\r\n&gt;                                  INVOKER         IN VARCHAR2 := NULL);\r\n43c48,49\r\n&lt;                         CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                         CPS           IN BOOLEAN := FALSE, \r\n&gt;                         INVOKER         IN VARCHAR2 := NULL);\r\n48c54,55\r\n&lt;                            CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                            CPS           IN BOOLEAN := FALSE,\r\n&gt;                            INVOKER         IN VARCHAR2 := NULL);\r\n54c61,62\r\n&lt;                           CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                           CPS           IN BOOLEAN := FALSE,\r\n&gt;                           INVOKER         IN VARCHAR2 := NULL);\r\n59c67,68\r\n&lt;                                 CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                                 CPS           IN BOOLEAN := FALSE,\r\n&gt;                                 INVOKER         IN VARCHAR2 := NULL);\r\n77c86,87\r\n&lt;                                 CPS             IN BOOLEAN := FALSE);\r\n---\r\n&gt;                                 CPS             IN BOOLEAN := FALSE,\r\n&gt;                                 INVOKER         IN VARCHAR2 := NULL);\r\n83c93,94\r\n&lt;                         CPS             IN BOOLEAN := FALSE);\r\n---\r\n&gt;                         CPS             IN BOOLEAN := FALSE,\r\n&gt;                         INVOKER         IN VARCHAR2 := NULL);\r\n88c99,100\r\n&lt;                                 CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                                 CPS           IN BOOLEAN := FALSE,\r\n&gt;                                 INVOKER         IN VARCHAR2 := NULL);\r\n94c106,107\r\n&lt;                                    CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                                    CPS           IN BOOLEAN := FALSE,\r\n&gt;                                    INVOKER         IN VARCHAR2 := NULL);\r\n100c113,114\r\n&lt;                         CPS             IN BOOLEAN := FALSE);\r\n---\r\n&gt;                         CPS             IN BOOLEAN := FALSE,\r\n&gt;                         INVOKER         IN VARCHAR2 := NULL);\r\n106c120,121\r\n&lt;                            CPS           IN BOOLEAN  := FALSE);\r\n---\r\n&gt;                            CPS           IN BOOLEAN  := FALSE,\r\n&gt;                            INVOKER         IN VARCHAR2 := NULL);\r\n113c128,129\r\n&lt;                           CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                           CPS           IN BOOLEAN := FALSE,\r\n&gt;                           INVOKER         IN VARCHAR2 := NULL);\r\n120c136,137\r\n&lt;                           CPS           IN BOOLEAN := FALSE);\r\n---\r\n&gt;                           CPS           IN BOOLEAN := FALSE,\r\n&gt;                           INVOKER         IN VARCHAR2 := NULL);\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLTUNE_UTIL2.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SQLTUNE_UTIL2 &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">15a16,22\r\n&gt;   -- Cloud Service Type Constants\r\n&gt;   CLOUD_SERVICE_TYPE_NONE    CONSTANT VARCHAR2(30) := 'NONE';\r\n&gt;   CLOUD_SERVICE_TYPE_ADW     CONSTANT VARCHAR2(30) := 'DWCS';\r\n&gt;   CLOUD_SERVICE_TYPE_EXADATA CONSTANT VARCHAR2(30) := 'EECS';\r\n&gt;   CLOUD_SERVICE_TYPE_PAAS    CONSTANT VARCHAR2(30) := 'PAAS';\r\n&gt;   CLOUD_SERVICE_TYPE_ATP     CONSTANT VARCHAR2(30) := 'OLTP';\r\n&gt; \r\n351a359,389\r\n&gt;   RETURN BOOLEAN;\r\n&gt; \r\n&gt;   -------------------------- get_cloud_service_type  --------------------------\r\n&gt;   -- NAME:\r\n&gt;   --     get_cloud_service_type\r\n&gt;   --\r\n&gt;   -- DESCRIPTION:\r\n&gt;   --     return value of _cloud_service_type parameter for cloud service type\r\n&gt;   --\r\n&gt;   -- RETURN:\r\n&gt;   --     NONE: None\r\n&gt;   --     DWCS: Autonomous Data Warehouse\r\n&gt;   --     EECS: Exadata Express Cloud Service\r\n&gt;   --     PAAS: Platform As A Service (MDBCS)\r\n&gt;   --     OLTP: ATP\r\n&gt;   -----------------------------------------------------------------------------\r\n&gt;   FUNCTION get_cloud_service_type\r\n&gt;   RETURN varchar2;\r\n&gt; \r\n&gt;   --------------------------------- is_adw  -----------------------------------\r\n&gt;   -- NAME:\r\n&gt;   --     is_adw\r\n&gt;   --\r\n&gt;   -- DESCRIPTION:\r\n&gt;   --     check if current DB is Autonomous Data Warehouse\r\n&gt;   --\r\n&gt;   -- RETURN:\r\n&gt;   --     TRUE is current DB is Autonomous Data Warehouse\r\n&gt;   --     FALSE otherwise\r\n&gt;   -----------------------------------------------------------------------------\r\n&gt;   FUNCTION is_adw\r\n<\/pre>\n<div id=\"SYS.DBMS_SWRF_REPORT_INTERNAL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SWRF_REPORT_INTERNAL &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">519,520c519,520\r\n&lt;   STAT_SGA_PARAM         CONSTANT BINARY_INTEGER := 160;\r\n&lt;   STAT_PGA_PARAM         CONSTANT BINARY_INTEGER := 161;\r\n---\r\n&gt;   STAT_SGA_TARGET_PARAM_E  CONSTANT BINARY_INTEGER := 160;\r\n&gt;   STAT_PGA_TARGET_PARAM_E  CONSTANT BINARY_INTEGER := 161;\r\n664a665,670\r\n&gt;   STAT_CPU_COUNT_B           CONSTANT BINARY_INTEGER := 310;\r\n&gt;   STAT_CPU_COUNT_E           CONSTANT BINARY_INTEGER := 311;\r\n&gt;   STAT_SGA_TARGET_PARAM_B    CONSTANT BINARY_INTEGER := 312;\r\n&gt;   STAT_PGA_TARGET_PARAM_B    CONSTANT BINARY_INTEGER := 313;\r\n&gt;   STAT_MEMORY_TARGET_B       CONSTANT BINARY_INTEGER := 314;\r\n&gt;   STAT_MEMORY_TARGET_E       CONSTANT BINARY_INTEGER := 315;\r\n<\/pre>\n<div id=\"SYS.KUPU$UTILITIES_INT.PACKAGE.19.0.0.0_RU\">SYS.KUPU$UTILITIES_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">967a968,983\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_KGL_TIME_TO_WAIT_FOR_LOCKS (\r\n&gt;                 LWAIT_TIME IN NUMBER)\r\n&gt;           ACCESSIBLE BY (PACKAGE SYS.KUPW$WORKER);\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.PRVTEMX_PERF.PACKAGE.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">71a72,97\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION ACTION_CANCEL_SQL_XML(\r\n&gt;     P_SID              IN   NUMBER,\r\n&gt;     P_SERIAL_NUM       IN   NUMBER,\r\n&gt;     P_INST_ID          IN   NUMBER DEFAULT NULL,\r\n&gt;     P_SQL_ID           IN   VARCHAR2,\r\n&gt;     P_SHOW_SQL         IN   NUMBER DEFAULT 0)\r\n&gt;   RETURN XMLTYPE;\r\n<\/pre>\n<div id=\"SYS.PRVT_ASH_OMX.PACKAGE.19.0.0.0_RU\">SYS.PRVT_ASH_OMX &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">42,44d41\r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n56d52\r\n&lt;     FILTERED        IN NUMBER   := NULL,\r\n95,97d90\r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n110d102\r\n&lt;     FILTERED        IN NUMBER   := NULL,\r\n<\/pre>\n<div id=\"SYS.PRVT_AWR_VIEWER.PACKAGE.19.0.0.0_RU\">SYS.PRVT_AWR_VIEWER &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">421a422,423\r\n&gt;   \r\n&gt;   \r\n433a436\r\n&gt;     INCLUDE_SQLS      IN NUMBER         DEFAULT NULL,\r\n887a891,909\r\n&gt;   PROCEDURE CREATE_CONSUMER_GROUP_MAP(\r\n&gt;     P_CON_ID     IN     NUMBER,\r\n&gt;     P_AWR_PERIOD IN OUT NOCOPY PRVT_AWRV_METADATA,\r\n&gt;     P_CGRP_MAP   IN OUT NOCOPY PRVT_AWRV_INSTTAB);\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n917a940,1001\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION REPORT_ADW_WORKLOAD_REALTIME(\r\n&gt;     START_TIME        IN DATE           DEFAULT NULL,\r\n&gt;     END_TIME          IN DATE           DEFAULT NULL,\r\n&gt;     INST_ID_LOW       IN NUMBER         DEFAULT NULL,\r\n&gt;     INST_ID_HIGH      IN NUMBER         DEFAULT NULL,\r\n&gt;     SHOW_SQL          IN NUMBER         DEFAULT 0)\r\n&gt;   RETURN XMLTYPE;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION REPORT_ADW_WORKLOAD_HISTORICAL(\r\n&gt;     START_TIME        IN DATE           DEFAULT NULL,\r\n&gt;     END_TIME          IN DATE           DEFAULT NULL,\r\n&gt;     DBID              IN NUMBER         DEFAULT NULL,\r\n&gt;     INST_ID           IN NUMBER         DEFAULT NULL,\r\n&gt;     SHOW_SQL          IN NUMBER         DEFAULT 0)\r\n&gt;   RETURN XMLTYPE;\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.XS_DATA_SECURITY_INT.PACKAGE.19.0.0.0_RU\">SYS.XS_DATA_SECURITY_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1,3\r\n&lt; PACKAGE XS_DATA_SECURITY_INT AS\r\n---\r\n&gt; PACKAGE XS_DATA_SECURITY_INT \r\n&gt; ACCESSIBLE BY (SYS.XS_DATA_SECURITY)\r\n&gt; AS\r\n79c81,82\r\n&lt;           ACLMV           IN VARCHAR2 := NULL\r\n---\r\n&gt;           ACLMV           IN VARCHAR2 := NULL,\r\n&gt;           INVOKER         IN VARCHAR2 := NULL\r\n84,87c87,91\r\n&lt;           POLICY IN VARCHAR2,\r\n&lt;           SCHEMA IN VARCHAR2,\r\n&lt;           OBJECT IN VARCHAR2,\r\n&lt;           ENABLE IN BOOLEAN\r\n---\r\n&gt;           POLICY  IN VARCHAR2,\r\n&gt;           SCHEMA  IN VARCHAR2,\r\n&gt;           OBJECT  IN VARCHAR2,\r\n&gt;           ENABLE  IN BOOLEAN,\r\n&gt;           INVOKER IN VARCHAR2\r\n92,94c96,99\r\n&lt;           POLICY IN VARCHAR2,\r\n&lt;           SCHEMA IN VARCHAR2,\r\n&lt;           OBJECT IN VARCHAR2\r\n---\r\n&gt;           POLICY  IN VARCHAR2,\r\n&gt;           SCHEMA  IN VARCHAR2,\r\n&gt;           OBJECT  IN VARCHAR2,\r\n&gt;           INVOKER IN VARCHAR2\r\n<\/pre>\n<div id=\"SYS.XS_DIAG_INT.PACKAGE.19.0.0.0_RU\">SYS.XS_DIAG_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1,3\r\n&lt; PACKAGE XS_DIAG_INT AS\r\n---\r\n&gt; PACKAGE XS_DIAG_INT \r\n&gt; ACCESSIBLE BY (SYS.XS_DIAG)\r\n&gt; AS\r\n14c16,17\r\n&lt;   FUNCTION VALIDATE_WORKSPACE(MSG_MAX  IN PLS_INTEGER := 1)\r\n---\r\n&gt;   FUNCTION VALIDATE_WORKSPACE(MSG_MAX  IN PLS_INTEGER := 1,\r\n&gt;                               INVOKER  IN VARCHAR2)\r\n20a24\r\n&gt;                            I_INVOKER    IN VARCHAR2,\r\n<\/pre>\n<div id=\"SYS.DBMS_APP_CONT_ADMIN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_APP_CONT_ADMIN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">9a10,12\r\n&gt;   \r\n&gt;   MAX_DRAIN_TIMEOUT                 CONSTANT NUMBER := 28800;\r\n&gt; \r\n202a206,207\r\n&gt; \r\n&gt; \r\n204c209,210\r\n&lt;                     FAILOVER_RESTORE IN VARCHAR2 DEFAULT 'LEVEL1')\r\n---\r\n&gt;                     FAILOVER_RESTORE IN VARCHAR2 DEFAULT 'LEVEL1',\r\n&gt;                     REPLAY_INITIATION_TIMEOUT IN BINARY_INTEGER DEFAULT NULL)\r\n222c228,234\r\n&lt;   L_PARAMS('REPLAY_INITIATION_TIMEOUT') := REPLAY_INIT_TIMEOUT_DEFAULT;\r\n---\r\n&gt;   L_PARAMS('SESSION_STATE_CONSISTENCY') := 'DYNAMIC';\r\n&gt; \r\n&gt;   IF REPLAY_INITIATION_TIMEOUT IS NULL THEN\r\n&gt;     L_PARAMS('REPLAY_INITIATION_TIMEOUT') := REPLAY_INIT_TIMEOUT_DEFAULT;\r\n&gt;   ELSE\r\n&gt;     L_PARAMS('REPLAY_INITIATION_TIMEOUT') := REPLAY_INITIATION_TIMEOUT;\r\n&gt;   END IF;\r\n237a250,251\r\n&gt; \r\n&gt; \r\n239c253,254\r\n&lt;                      FAILOVER_RESTORE IN VARCHAR2 DEFAULT 'AUTO')\r\n---\r\n&gt;                      FAILOVER_RESTORE IN VARCHAR2 DEFAULT 'AUTO',\r\n&gt;                      REPLAY_INITIATION_TIMEOUT IN BINARY_INTEGER DEFAULT NULL)\r\n257c272,278\r\n&lt;   L_PARAMS('REPLAY_INITIATION_TIMEOUT') := REPLAY_INIT_TIMEOUT_DEFAULT;\r\n---\r\n&gt;   L_PARAMS('SESSION_STATE_CONSISTENCY') := 'AUTO';\r\n&gt; \r\n&gt;   IF REPLAY_INITIATION_TIMEOUT IS NULL THEN\r\n&gt;     L_PARAMS('REPLAY_INITIATION_TIMEOUT') := REPLAY_INIT_TIMEOUT_DEFAULT;\r\n&gt;   ELSE\r\n&gt;     L_PARAMS('REPLAY_INITIATION_TIMEOUT') := REPLAY_INITIATION_TIMEOUT;\r\n&gt;   END IF;\r\n300a322\r\n&gt;   L_PARAMS('SESSION_STATE_CONSISTENCY') := NULL;\r\n379a402,443\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_DRAINING(SERVICE_NAME IN VARCHAR2,\r\n&gt;                        DRAIN_TIMEOUT IN BINARY_INTEGER DEFAULT NULL,\r\n&gt;                        STOP_OPTION IN VARCHAR2 DEFAULT NULL)\r\n&gt; IS\r\n&gt;   L_PARAMS DBMS_SERVICE.SVC_PARAMETER_ARRAY;\r\n&gt; BEGIN\r\n&gt;   \r\n&gt;   IF (DRAIN_TIMEOUT IS NULL AND STOP_OPTION IS NULL) THEN\r\n&gt;     RAISE_APPLICATION_ERROR(-20000, 'Draining parameter(s) unspecified');\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   IF (DRAIN_TIMEOUT IS NOT NULL) THEN\r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     L_PARAMS('DRAIN_TIMEOUT') := LEAST(DRAIN_TIMEOUT, MAX_DRAIN_TIMEOUT);\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   IF (STOP_OPTION IS NOT NULL) THEN\r\n&gt;     IF ((UPPER(STOP_OPTION) &lt;&gt; 'NONE') AND\r\n&gt;         (UPPER(STOP_OPTION) &lt;&gt; 'IMMEDIATE') AND \r\n&gt;         (UPPER(STOP_OPTION) &lt;&gt; 'TRANSACTIONAL')) THEN\r\n&gt;       RAISE_APPLICATION_ERROR(-20000, 'Invalid stop_option parameter');\r\n&gt;     ELSE\r\n&gt;       L_PARAMS('STOP_OPTION') := UPPER(STOP_OPTION);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   \r\n&gt;   MODIFY_SERVICE(SERVICE_NAME, L_PARAMS);\r\n&gt; END SET_DRAINING;\r\n<\/pre>\n<div id=\"SYS.DBMS_AUTOTASK_PRVT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_AUTOTASK_PRVT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">176c176,177\r\n&lt;   TASK_ID      IN PLS_INTEGER\r\n---\r\n&gt;   TASK_ID      IN PLS_INTEGER,\r\n&gt;   MAGIC_NUM    IN NUMBER\r\n184,185c185,188\r\n&lt;     TASK_ID   SB4,\r\n&lt;     TASK_ID   INDICATOR SB2\r\n---\r\n&gt;     TASK_ID         SB4,\r\n&gt;     TASK_ID         INDICATOR SB2,\r\n&gt;     MAGIC_NUM       OCINUMBER,\r\n&gt;     MAGIC_NUM       INDICATOR SB2\r\n<\/pre>\n<div id=\"SYS.DBMS_AUTO_INDEX_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_AUTO_INDEX_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">33,35c33,37\r\n&lt;   AI_TRC_PREFIX       VARCHAR2(4)           := 'AI: ';\r\n&lt;   AI_TRC_DBMS_OUTPUT  NUMBER                := 1;\r\n&lt;   AI_TRC_FILE         NUMBER                := 2;\r\n---\r\n&gt;   AI_TRC_PREFIX       CONSTANT VARCHAR2(4)           := 'AI: ';\r\n&gt;   AI_TRC_DBMS_OUTPUT  CONSTANT NUMBER                := 1;\r\n&gt;   AI_TRC_FILE         CONSTANT NUMBER                := 2;\r\n&gt;   \r\n&gt;   AI_TRC_DEFAULT      CONSTANT NUMBER                := 0;\r\n48a51,52\r\n&gt;   \r\n&gt;   AI_CTRL_DEFAULT               CONSTANT NUMBER     := 0;\r\n300,302d303\r\n&lt;   AI_TRACE_DEFAULT              CONSTANT NUMBER := 0;\r\n&lt; \r\n&lt;   \r\n326,329c327\r\n&lt;                                                       AI_STS_CAPTURE_TASK_OFF;\r\n&lt; \r\n&lt;   \r\n&lt;   AI_CONTROL_DEFAULT            CONSTANT NUMBER := 0;\r\n---\r\n&gt;                                                       AI_STS_CAPTURE_TASK_ON;\r\n433a432\r\n&gt;   AI_TABLE_SKIP_NONINTTAB       CONSTANT NUMBER     := 6;\r\n826c825\r\n&lt;       TO_CLOB(AI_TRACE_DEFAULT)),\r\n---\r\n&gt;       TO_CLOB(AI_TRC_DEFAULT)),\r\n847c846\r\n&lt;       TO_CLOB(AI_CONTROL_DEFAULT)),\r\n---\r\n&gt;       TO_CLOB(AI_CTRL_DEFAULT)),\r\n877c876\r\n&lt;   TRACE_LEVEL                   NUMBER := AI_CONTROL_DEFAULT;\r\n---\r\n&gt;   TRACE_LEVEL                   NUMBER := AI_TRC_DEFAULT;\r\n3371a3371\r\n&gt;     INT_TAB      VARCHAR2(8);\r\n3384,3387c3384,3392\r\n&lt;            MIN(OWNER), MIN(OBJECT_NAME), MIN(TEMPORARY), COUNT(*) \r\n&lt;     INTO OWN, TAB, TEMP_TAB, NUM_TAB\r\n&lt;     FROM DBA_OBJECTS O\r\n&lt;     WHERE OBJECT_ID = OBJN AND OBJECT_TYPE = 'TABLE';\r\n---\r\n&gt;       MIN(O.OWNER), MIN(O.OBJECT_NAME), MIN(O.TEMPORARY), COUNT(*),\r\n&gt;       MIN(CASE WHEN (BITAND(T.PROPERTY, POWER(2,90)) = POWER(2,90) OR \r\n&gt;                  BITAND(T.PROPERTY, 2147483648) = 2147483648) \r\n&gt;            THEN 'N' ELSE 'Y' END)\r\n&gt;     INTO OWN, TAB, TEMP_TAB, NUM_TAB, INT_TAB\r\n&gt;     FROM DBA_OBJECTS O, SYS.TAB$ T\r\n&gt;     WHERE O.OBJECT_ID = OBJN \r\n&gt;       AND O.OBJECT_TYPE = 'TABLE'\r\n&gt;       AND O.OBJECT_ID = T.OBJ#;\r\n3396a3402,3408\r\n&gt;     IF (INT_TAB = 'N') THEN\r\n&gt;       LOG_TABLE_SKIPPED(AI_CTX, OBJ_ID, AI_TABLE_SKIP_NONINTTAB, OWN, TAB);\r\n&gt;       RETURN AI_TABLE_SKIP_NONINTTAB;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     \r\n4575c4587,4588\r\n&lt;                       AI_TABLE_SKIP_SMALLTAB, AI_TABLE_SKIP_TEMPTAB)) THEN\r\n---\r\n&gt;                       AI_TABLE_SKIP_SMALLTAB, AI_TABLE_SKIP_TEMPTAB,\r\n&gt;                       AI_TABLE_SKIP_NONINTTAB)) THEN\r\n6431a6445,6446\r\n&gt;     STS_COUNT        NUMBER;                     \r\n&gt;     STS_COUNT_STATS  NUMBER;                     \r\n6442c6457\r\n&lt;     CHECK_AUTO_INDEX_ENABLED;\r\n---\r\n&gt;     \r\n6449c6464\r\n&lt;     SELECT COUNT(*) INTO VALID_STS \r\n---\r\n&gt;     SELECT COUNT(*) INTO STS_COUNT \r\n6458c6473\r\n&lt;     IF (VALID_STS = 0) THEN\r\n---\r\n&gt;     IF (STS_COUNT = 0) THEN\r\n6468a6484,6492\r\n&gt;     SELECT SUM(STATEMENT_COUNT) INTO STS_COUNT\r\n&gt;     FROM DBA_SQLSET \r\n&gt;     WHERE CON_DBID = SYS_CONTEXT('userenv','con_dbid');\r\n&gt; \r\n&gt;     SELECT SUM(NUM_ROWS) INTO STS_COUNT_STATS \r\n&gt;     FROM DBA_TABLES \r\n&gt;     WHERE OWNER = 'SYS' AND TABLE_NAME = 'WRI$_SQLSET_STATEMENTS';\r\n&gt; \r\n&gt; \r\n6472c6496,6504\r\n&lt;     IF (BITAND(AI_CTRL, AI_CTRL_DIS_OPT_STATS) = 0) THEN\r\n---\r\n&gt;     IF (BITAND(AI_CTRL, AI_CTRL_DIS_OPT_STATS) = 0 AND\r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         (STS_COUNT_STATS IS NULL OR \r\n&gt;          (STS_COUNT IS NOT NULL AND \r\n&gt;           ABS(STS_COUNT_STATS - STS_COUNT)\/(STS_COUNT_STATS+1) &gt; .1))) THEN\r\n&gt; \r\n6488a6521,6527\r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n6503c6542,6554\r\n&lt;                  and plan_hash_value &gt; 0 #')) P;\r\n---\r\n&gt;                  and plan_hash_value &gt; 0 \r\n&gt;                  and (con_dbid, force_matching_signature) not in\r\n&gt;                      (select \/*+ unnest no_merge *\/ \r\n&gt;                       sss.con_dbid, sss.force_matching_signature\r\n&gt;                       from wri$_sqlset_definitions ssf, wri$_sqlset_statements sss \r\n&gt;                       where ssf.id = sss.sqlset_id \r\n&gt;                         and ssf.con_dbid = sss.con_dbid\r\n&gt;                         and ssf.owner = '#' || AI_STS_OWN ||\r\n&gt;                         q'#' and ssf.name = '#' || AI_STS_NAME ||\r\n&gt;                         q'#' and ssf.con_dbid = sys_context('userenv','con_dbid')\r\n&gt;                         and force_matching_signature &gt; 0\r\n&gt;                       group by sss.con_dbid, sss.sqlset_id, sss.force_matching_signature\r\n&gt;                       having count(*) &gt; 1000) #')) P;\r\n6517c6568,6572\r\n&lt;                              COMMIT_ROWS =&gt; 100);\r\n---\r\n&gt;                              UPDATE_CONDITION =&gt; \r\n&gt;                                q'# old.executions != new.executions or \r\n&gt;                                    old.last_exec_start_time != \r\n&gt;                                    new.last_exec_start_time #',\r\n&gt;                               COMMIT_ROWS =&gt; 100);\r\n8794c8849\r\n&lt;           P_VALUE := AI_TRACE_DEFAULT;\r\n---\r\n&gt;           P_VALUE := AI_TRC_DEFAULT;\r\n8854c8909\r\n&lt;           P_VALUE := AI_CONTROL_DEFAULT;\r\n---\r\n&gt;           P_VALUE := AI_CTRL_DEFAULT;\r\n9421a9477,9480\r\n&gt;     \r\n&gt;     CONFIGURE(AI_PARAM_STS_CAPTURE_TASK, AI_STS_CAPTURE_TASK_DEFAULT, \r\n&gt;               TRUE, TRUE);\r\n&gt; \r\n10252,10287c10311,10420\r\n&lt;     SELECT \r\n&lt;            NVL(SUM(CASE WHEN V.VISIBILITY = 'VISIBLE' THEN 1 ELSE 0 END), 0),\r\n&lt;            NVL(SUM(CASE WHEN V.VISIBILITY = 'INVISIBLE' THEN 1 ELSE 0 END), 0),\r\n&lt;            NVL(SUM(CASE WHEN V.STATUS = 'UNUSABLE' THEN 1 ELSE 0 END), 0),\r\n&lt;            NVL(SUM(CASE WHEN V.VISIBILITY = 'VISIBLE' THEN V.BYTES \r\n&lt;                                                       ELSE 0 END), 0),\r\n&lt;            NVL(SUM(CASE WHEN V.VISIBILITY = 'INVISIBLE' THEN V.BYTES \r\n&lt;                                                         ELSE 0 END), 0)\r\n&lt;     INTO   UNUSED_VIS_IDX, UNUSED_INVIS_IDX, UNUSED_UNUSABLE_IDX,\r\n&lt;            UNUSED_SPACE_USED_VIS, UNUSED_SPACE_USED_INVIS\r\n&lt;     FROM   SYS.OBJ$ O, SYS.USER$ USR, \r\n&lt;            (SELECT I.OWNER, I.INDEX_NAME, I.VISIBILITY, I.STATUS, S.BYTES\r\n&lt;             FROM DBA_INDEXES I, DBA_INDEX_USAGE U, DBA_SEGMENTS S,\r\n&lt;                  DBA_OBJECTS DO\r\n&lt;             WHERE U.NAME (+)= I.INDEX_NAME AND\r\n&lt;                   U.OWNER (+)= I.OWNER AND\r\n&lt;                   I.AUTO = 'NO' AND\r\n&lt;                   I.INDEX_NAME = DO.OBJECT_NAME AND\r\n&lt;                   I.OWNER = DO.OWNER AND\r\n&lt;                   DO.OBJECT_TYPE = 'INDEX' AND\r\n&lt;                   \r\n&lt;                   \r\n&lt;                   (\r\n&lt;                     (U.LAST_USED IS NULL AND DO.CREATED &lt; IDX_RETENTION_TIME)\r\n&lt;                     OR\r\n&lt;                     U.LAST_USED &lt; IDX_RETENTION_TIME\r\n&lt;                   ) AND\r\n&lt;                   I.INDEX_NAME = S.SEGMENT_NAME AND\r\n&lt;                   I.OWNER=S.OWNER AND\r\n&lt;                   S.SEGMENT_TYPE LIKE 'INDEX%'\r\n&lt;             GROUP BY I.OWNER, I.INDEX_NAME, I.VISIBILITY, I.STATUS,\r\n&lt;                      S.BYTES) V\r\n&lt;     WHERE V.OWNER = USR.NAME AND\r\n&lt;           V.INDEX_NAME = O.NAME AND\r\n&lt;           USR.USER# = O.OWNER# AND\r\n&lt;           BITAND(O.FLAGS, DBMS_STATS_INTERNAL.DSC_ORACLE_OWNED_OBJ) = 0;\r\n---\r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt;     \r\n&gt; \r\n&gt;   SELECT \r\n&gt;          NVL(SUM(CASE WHEN IX.VISIBILITY = 'VISIBLE'   THEN 1 ELSE 0 END),\r\n&gt;              0),\r\n&gt;          NVL(SUM(CASE WHEN IX.VISIBILITY = 'INVISIBLE' THEN 1 ELSE 0 END),\r\n&gt;              0),\r\n&gt;          \r\n&gt;          \r\n&gt;          \r\n&gt;          NVL(SUM(CASE WHEN IX.STATUS = 'UNUSABLE'\r\n&gt;                            OR (IX.STATUS = 'N\/A' \r\n&gt;                                AND (IX.UNUS_PART_CNT       &gt; 0 \r\n&gt;                                     OR IX.UNUS_SUBPART_CNT &gt; 0)) THEN 1\r\n&gt;                       ELSE 0 END),\r\n&gt;              0),\r\n&gt;          NVL(SUM(CASE WHEN IX.VISIBILITY = 'VISIBLE'   THEN IX.BYTES\r\n&gt;                       ELSE 0 END), 0),\r\n&gt;          NVL(SUM(CASE WHEN IX.VISIBILITY = 'INVISIBLE' THEN IX.BYTES\r\n&gt;                       ELSE 0 END), 0)\r\n&gt;   INTO UNUSED_VIS_IDX,\r\n&gt;        UNUSED_INVIS_IDX,\r\n&gt;        UNUSED_UNUSABLE_IDX,\r\n&gt;        UNUSED_SPACE_USED_VIS,\r\n&gt;        UNUSED_SPACE_USED_INVIS\r\n&gt;   FROM (SELECT IXPAR.OWNER       \"OWNER\",\r\n&gt;                IXPAR.NAME        \"NAME\",\r\n&gt;                IXPAR.STATUS      \"STATUS\",\r\n&gt;                IXPAR.VISIBILITY  \"VISIBILITY\",\r\n&gt;                SUM(IXPAR.BYTES)  \"BYTES\",\r\n&gt;                \r\n&gt;                \r\n&gt;                SUM(DECODE(NVL(IXPAR.PARTITION_STATUS, 'N\/A'), 'UNUSABLE',\r\n&gt;                           1, 0)) \"UNUS_PART_CNT\",\r\n&gt;                SUM(DECODE(NVL(IXPAR.SUBPARTITION_STATUS, 'N\/A'), 'UNUSABLE',\r\n&gt;                           1, 0)) \"UNUS_SUBPART_CNT\"\r\n&gt;         FROM (SELECT UMIX.OWNER      \"OWNER\",\r\n&gt;                      UMIX.NAME       \"NAME\",\r\n&gt;                      UMIX.STATUS     \"STATUS\",\r\n&gt;                      UMIX.VISIBILITY \"VISIBILITY\",\r\n&gt;                      SDBSEGS.BYTES   \"BYTES\",\r\n&gt;                      DBIXP.STATUS    \"PARTITION_STATUS\",\r\n&gt;                      DBIXSP.STATUS   \"SUBPARTITION_STATUS\"\r\n&gt;               FROM (SELECT \/*+ NO_MERGE *\/\r\n&gt;                            DBIX.OWNER      \"OWNER\",\r\n&gt;                            DBIX.INDEX_NAME \"NAME\",\r\n&gt;                            DBIX.STATUS     \"STATUS\",\r\n&gt;                            DBIX.VISIBILITY \"VISIBILITY\"\r\n&gt;                     FROM DBA_INDEXES          \"DBIX\",\r\n&gt;                          SYS.USER$            \"USR\",\r\n&gt;                          SYS.OBJ$             \"OBJ\",\r\n&gt;                          SYS.WRI$_INDEX_USAGE \"IXUS\"\r\n&gt;                     WHERE DBIX.OWNER      = USR.NAME\r\n&gt;                       AND DBIX.INDEX_NAME = OBJ.NAME\r\n&gt;                       AND USR.USER#       = OBJ.OWNER#\r\n&gt;                       AND OBJ.OBJ#        = IXUS.OBJ#(+)\r\n&gt;                       AND DBIX.AUTO       = 'NO' \r\n&gt;                       AND OBJ.TYPE#       = 1    \r\n&gt;                       AND OBJ.NAMESPACE   = 4    \r\n&gt;                       AND BITAND(OBJ.FLAGS,\r\n&gt;                                  DBMS_STATS_INTERNAL.DSC_ORACLE_OWNED_OBJ)\r\n&gt;                                           = 0    \r\n&gt;                       AND OBJ.REMOTEOWNER IS NULL\r\n&gt;                       AND OBJ.LINKNAME    IS NULL\r\n&gt;                       AND OBJ.SUBNAME     IS NULL\r\n&gt;                       AND ((IXUS.LAST_USED IS NULL\r\n&gt;                             AND OBJ.CTIME &lt; IDX_RETENTION_TIME)\r\n&gt;                            OR IXUS.LAST_USED &lt; IDX_RETENTION_TIME)\r\n&gt;                    )                     \"UMIX\",\r\n&gt;                    DBA_IND_PARTITIONS    \"DBIXP\",\r\n&gt;                    DBA_IND_SUBPARTITIONS \"DBIXSP\",\r\n&gt;                    SYS_DBA_SEGS          \"SDBSEGS\"\r\n&gt;               WHERE UMIX.NAME            = DBIXP.INDEX_NAME(+)\r\n&gt;                 AND UMIX.OWNER           = DBIXP.INDEX_OWNER(+)\r\n&gt;                 AND DBIXP.INDEX_NAME     = DBIXSP.INDEX_NAME(+)\r\n&gt;                 AND DBIXP.INDEX_OWNER    = DBIXSP.INDEX_OWNER(+)\r\n&gt;                 AND DBIXP.PARTITION_NAME = DBIXSP.PARTITION_NAME(+)\r\n&gt;                 AND UMIX.NAME            = SDBSEGS.SEGMENT_NAME(+)\r\n&gt;                 AND UMIX.OWNER           = SDBSEGS.OWNER(+) \r\n&gt;                 AND NVL(DBIXSP.SUBPARTITION_NAME,\r\n&gt;                         NVL(DBIXP.PARTITION_NAME, 'NON-PARTITIONED'))\r\n&gt;                                          =\r\n&gt;                     NVL(SDBSEGS.PARTITION_NAME, 'NON-PARTITIONED')\r\n&gt;              ) \"IXPAR\"\r\n&gt;         GROUP BY IXPAR.OWNER,\r\n&gt;                  IXPAR.NAME, \r\n&gt;                  IXPAR.STATUS,\r\n&gt;                  IXPAR.VISIBILITY\r\n&gt;        ) \"IX\";\r\n<\/pre>\n<div id=\"SYS.DBMS_AUTO_REPORT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_AUTO_REPORT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">3c3,60\r\n&lt;  \r\n---\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION I_ADD_LOCKDOWN_PREDICATES\r\n&gt;   RETURN VARCHAR2\r\n&gt;   IS\r\n&gt;     RETVAL      VARCHAR2(4000);\r\n&gt;   BEGIN\r\n&gt; \r\n&gt;     \r\n&gt;     IF (SYS.DBMS_SQLTUNE_UTIL2.IS_SYSTEM_DATA_LOCKED = 'YES' AND\r\n&gt;         SYS.DBMS_SQLTUNE_UTIL2.IS_PDB) THEN\r\n&gt; \r\n&gt;         RETVAL := \r\n&gt;         q'[  report_summary is not NULL \r\n&gt;          AND REGEXP_INSTR(report_summary,]' || q'['(\\w*&lt;user&gt;C##)']'           \r\n&gt;                                             || q'[, 1, 1, 0, 'i') = 0 \r\n&gt;          AND REGEXP_INSTR(report_summary,]' || q'['(\\w*&lt;user&gt;SYS&lt;\/user&gt;)']'    \r\n&gt;                                             || q'[, 1, 1, 0, 'i') = 0 \r\n&gt;          AND REGEXP_INSTR(report_summary,]' || q'['(\\w*&lt;user&gt;SYSTEM&lt;\/user&gt;)']' \r\n&gt;                                             || q'[, 1, 1, 0, 'i') = 0 \r\n&gt;          AND REGEXP_INSTR(report_summary,]' || q'['(\\w*&lt;service&gt;SYS[$])']'     \r\n&gt;                                             || q'[, 1, 1, 0, 'i') = 0 ]';\r\n&gt; \r\n&gt;     ELSE\r\n&gt;       RETVAL := '1=1';  \r\n&gt;     END IF;\r\n&gt;    \r\n&gt;     RETURN RETVAL;\r\n&gt; \r\n&gt;   END I_ADD_LOCKDOWN_PREDICATES;  \r\n&gt; \r\n406c463,464\r\n&lt;                     where :dt1 &lt;= pe and :dt2 &gt;= ps and v2.rid = r.report_id) v\r\n---\r\n&gt;                     where :dt1 &lt;= pe and :dt2 &gt;= ps and v2.rid = r.report_id\r\n&gt;                     AND   #ADW_FILTER_PREDICATE#) v\r\n479a538,541\r\n&gt; \r\n&gt;       \r\n&gt;       SUB_QRY := REPLACE(SUB_QRY, '#ADW_FILTER_PREDICATE#',\r\n&gt;                           DBMS_AUTO_REPORT.I_ADD_LOCKDOWN_PREDICATES());  \r\n<\/pre>\n<div id=\"SYS.DBMS_HADOOP.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_HADOOP &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">214a215,369\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION MERGE_PARTITIONS(\r\n&gt;                      PARTNLIST IN CLOB,\r\n&gt;                      CLUSTER_ID IN VARCHAR2,\r\n&gt;                      DB_NAME IN VARCHAR2,\r\n&gt;                      HIVE_TABLE_NAME IN VARCHAR2,\r\n&gt;                      HYPT_TAB_NAME IN VARCHAR2,\r\n&gt;                      HYPT_TAB_OWNER IN VARCHAR2,\r\n&gt;                      PERFORM_DDL IN BOOLEAN\r\n&gt; ) RETURN CLOB\r\n&gt;    IS\r\n&gt;    KEYPOS1 NUMBER := 0;\r\n&gt;    PARTNCNT NUMBER := 0;\r\n&gt;    PARTKEYCNT NUMBER := 0;\r\n&gt;    CNT NUMBER := 0;\r\n&gt;    CURKEY VARCHAR2(42) := NULL;\r\n&gt;    ORIGKEY VARCHAR2(4000) := NULL;\r\n&gt;    PARTKEYVALS CLOB := NULL;\r\n&gt;    PARTKEY VARCHAR2(ORA_MAX_NAME_LEN);\r\n&gt;    PARTKEYTYPE VARCHAR2(ORA_MAX_NAME_LEN);\r\n&gt;    PARTKEYCHAR BOOLEAN := FALSE;\r\n&gt;    SYNCPARTITIONDDL VARCHAR2(4000) := '';\r\n&gt;    MAX_BUCKETS NUMBER := 999999999;      \r\n&gt;    CUR INTEGER;\r\n&gt;    FDBK INTEGER;\r\n&gt;    SECURE_PARTNLIST CLOB := NULL;\r\n&gt;    HYPT_TAB_NAME_DQR VARCHAR2(ORA_MAX_NAME_LEN);\r\n&gt;    HYPT_TAB_OWNER_DQR VARCHAR2(ORA_MAX_NAME_LEN);\r\n&gt;    SEC_HYPT_TAB_NAME VARCHAR2(ORA_MAX_NAME_LEN+2);\r\n&gt;    SEC_HYPT_TAB_OWNER VARCHAR2(ORA_MAX_NAME_LEN+2);\r\n&gt;    PARTNINFO CLOB := NULL;\r\n&gt; BEGIN\r\n&gt;    SECURE_PARTNLIST := SYS.DBMS_ASSERT.ENQUOTE_NAME(PARTNLIST, FALSE);\r\n&gt;    SEC_HYPT_TAB_NAME := SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(HYPT_TAB_NAME);\r\n&gt;    SEC_HYPT_TAB_OWNER := SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(HYPT_TAB_OWNER);\r\n&gt; \r\n&gt;    PARTNINFO := NULL;\r\n&gt;    KEYPOS1 := 2;   \r\n&gt;    PARTNCNT := DBMS_HADOOP_INTERNAL.GETNUMBEROFITEMS(PARTNLIST, ',');  \r\n&gt; \r\n&gt;    WHILE (CNT &lt; PARTNCNT)\r\n&gt;    LOOP\r\n&gt;      IF (CNT &lt; PARTNCNT - 1) THEN\r\n&gt;        CURKEY := SUBSTR(SECURE_PARTNLIST, KEYPOS1, INSTR(SECURE_PARTNLIST, ',', KEYPOS1, 1)-KEYPOS1);  \r\n&gt;      ELSE\r\n&gt;        CURKEY := SUBSTR(SECURE_PARTNLIST, KEYPOS1);  \r\n&gt;        CURKEY := REPLACE(CURKEY, '\"', '');\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      \r\n&gt;      HYPT_TAB_NAME_DQR := DBMS_HADOOP_INTERNAL.REMOVE_DOUBLE_QUOTE(HYPT_TAB_NAME);\r\n&gt;      HYPT_TAB_OWNER_DQR := DBMS_HADOOP_INTERNAL.REMOVE_DOUBLE_QUOTE(HYPT_TAB_OWNER);\r\n&gt; \r\n&gt;      \r\n&gt;      SELECT HP.PARTITION_SPECS INTO ORIGKEY\r\n&gt;      FROM USER_HIVE_TAB_PARTITIONS HP\r\n&gt;      WHERE  CONCAT('P_', ORA_HASH(HP.PARTITION_SPECS, MAX_BUCKETS, 100)) = CURKEY AND\r\n&gt;             HP.TABLE_NAME = HIVE_TABLE_NAME AND\r\n&gt;             HP.CLUSTER_ID = CLUSTER_ID AND\r\n&gt;             HP.DATABASE_NAME= DB_NAME;\r\n&gt; \r\n&gt;      PARTKEY := SUBSTR(ORIGKEY, 1, INSTR(ORIGKEY, '=') - 1);\r\n&gt; \r\n&gt;      PARTKEYCNT := DBMS_HADOOP_INTERNAL.GETNUMBEROFITEMS(ORIGKEY, '\/');              \r\n&gt;      PARTKEYVALS := DBMS_HADOOP_INTERNAL.GETPARTKEYVALUES(ORIGKEY, PARTKEYCNT);      \r\n&gt; \r\n&gt;      CURKEY := SYS.DBMS_ASSERT.ENQUOTE_NAME(CURKEY, FALSE);\r\n&gt; \r\n&gt;      SELECT COLUMN_TYPE INTO PARTKEYTYPE\r\n&gt;      FROM USER_HIVE_PART_KEY_COLUMNS PK\r\n&gt;      WHERE PK.TABLE_NAME = HIVE_TABLE_NAME AND\r\n&gt;            PK.CLUSTER_ID = CLUSTER_ID AND\r\n&gt;            PK.DATABASE_NAME = DB_NAME AND\r\n&gt;            PK.COLUMN_NAME = PARTKEY;\r\n&gt; \r\n&gt;      IF (INSTR(UPPER(PARTKEYTYPE), 'CHAR') &gt; 0) THEN\r\n&gt;         PARTKEYCHAR := TRUE;\r\n&gt;      END IF;      \r\n&gt; \r\n&gt;      SYNCPARTITIONDDL := 'ALTER TABLE ' || SEC_HYPT_TAB_OWNER || '.' || SEC_HYPT_TAB_NAME ||\r\n&gt;                              ' ADD PARTITION ';\r\n&gt;      SYNCPARTITIONDDL := SYNCPARTITIONDDL || CURKEY;\r\n&gt; \r\n&gt;       SYNCPARTITIONDDL := SYNCPARTITIONDDL || ' VALUES (';\r\n&gt; \r\n&gt;      IF (PARTKEYCHAR = TRUE) THEN\r\n&gt;        SYNCPARTITIONDDL := SYNCPARTITIONDDL || '''' || PARTKEYVALS || ''')';\r\n&gt;      ELSE\r\n&gt;        SYNCPARTITIONDDL := SYNCPARTITIONDDL || PARTKEYVALS || ')';\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      IF (DBMS_HADOOP_INTERNAL.IS_HYPT(SEC_HYPT_TAB_NAME, SEC_HYPT_TAB_OWNER) = 1) THEN\r\n&gt;         SYNCPARTITIONDDL := SYNCPARTITIONDDL || ' EXTERNAL DEFAULT DIRECTORY DEFAULT_DIR';\r\n&gt;      ELSE\r\n&gt;         SYNCPARTITIONDDL := SYNCPARTITIONDDL || ' DEFAULT DIRECTORY DEFAULT_DIR';\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      PARTNINFO := PARTNINFO || 'PARTITION ' || CURKEY ||  ' VALUES (';\r\n&gt; \r\n&gt;      IF (PARTKEYCHAR = TRUE) THEN\r\n&gt;        PARTNINFO := PARTNINFO || '''' || PARTKEYVALS || ''')';\r\n&gt;      ELSE\r\n&gt;        PARTNINFO := PARTNINFO || PARTKEYVALS || ')';\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      PARTNINFO := PARTNINFO || ' EXTERNAL DEFAULT DIRECTORY DEFAULT_DIR';\r\n&gt; \r\n&gt;      IF (CNT &lt; PARTNCNT - 1) THEN\r\n&gt;         PARTNINFO := PARTNINFO || ',' || CHR(10);\r\n&gt;      ELSE\r\n&gt;         PARTNINFO := PARTNINFO || ')';\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      IF (PERFORM_DDL = TRUE) THEN\r\n&gt;        BEGIN\r\n&gt;          CUR := DBMS_SQL.OPEN_CURSOR;\r\n&gt;          DBMS_SQL.PARSE(CUR, SYNCPARTITIONDDL, DBMS_SQL.NATIVE);\r\n&gt;          FDBK := DBMS_SQL.EXECUTE(CUR);\r\n&gt;          DBMS_SQL.CLOSE_CURSOR(CUR);\r\n&gt; \r\n&gt;        EXCEPTION WHEN OTHERS THEN\r\n&gt;          IF DBMS_SQL.IS_OPEN(CUR) THEN\r\n&gt;             DBMS_SQL.CLOSE_CURSOR(CUR);\r\n&gt;          END IF;\r\n&gt;          RAISE;\r\n&gt;        END;\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      KEYPOS1 := KEYPOS1 + LENGTH(CURKEY) - 1; \r\n&gt; \r\n&gt;      CNT := CNT +1;\r\n&gt;    END LOOP;\r\n&gt; \r\n&gt;    RETURN PARTNINFO;\r\n&gt; \r\n&gt; END MERGE_PARTITIONS;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n367c522\r\n&lt;          PARTNINFO := DBMS_HADOOP_INTERNAL.MERGE_PARTITIONS(HIVE_PARTITIONS,\r\n---\r\n&gt;          PARTNINFO := MERGE_PARTITIONS(HIVE_PARTITIONS,\r\n383c538\r\n&lt;          PARTNINFO := DBMS_HADOOP_INTERNAL.MERGE_PARTITIONS(OTHER_HIVE_PARTNS,\r\n---\r\n&gt;          PARTNINFO := MERGE_PARTITIONS(OTHER_HIVE_PARTNS,\r\n397c552\r\n&lt;          PARTNINFO := DBMS_HADOOP_INTERNAL.MERGE_PARTITIONS(FIRST_HIVE_PARTN,\r\n---\r\n&gt;          PARTNINFO := MERGE_PARTITIONS(FIRST_HIVE_PARTN,\r\n409c564\r\n&lt;          PARTNINFO := DBMS_HADOOP_INTERNAL.MERGE_PARTITIONS(OTHER_HIVE_PARTNS,\r\n---\r\n&gt;          PARTNINFO := MERGE_PARTITIONS(OTHER_HIVE_PARTNS,\r\n763c918\r\n&lt;       PARTNINFO := DBMS_HADOOP_INTERNAL.MERGE_PARTITIONS(PARTNS_ADDED, \r\n---\r\n&gt;       PARTNINFO := MERGE_PARTITIONS(PARTNS_ADDED, \r\n<\/pre>\n<div id=\"SYS.DBMS_HADOOP_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_HADOOP_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">629d628\r\n&lt; \r\n646a646,648\r\n&gt;    PARTKEY VARCHAR2(ORA_MAX_NAME_LEN);\r\n&gt;    PARTKEYTYPE VARCHAR2(ORA_MAX_NAME_LEN);\r\n&gt;    PARTKEYCHAR BOOLEAN := FALSE;\r\n686a689,690\r\n&gt;      PARTKEY := SUBSTR(ORIGKEY, 1, INSTR(ORIGKEY, '=') - 1);\r\n&gt; \r\n691a696,706\r\n&gt;      SELECT COLUMN_TYPE INTO PARTKEYTYPE\r\n&gt;      FROM DBA_HIVE_PART_KEY_COLUMNS PK\r\n&gt;      WHERE PK.TABLE_NAME = HIVE_TABLE_NAME AND\r\n&gt;            PK.CLUSTER_ID = CLUSTER_ID AND\r\n&gt;            PK.DATABASE_NAME = DB_NAME AND\r\n&gt;            PK.COLUMN_NAME = PARTKEY;\r\n&gt; \r\n&gt;      IF (INSTR(UPPER(PARTKEYTYPE), 'CHAR') &gt; 0) THEN\r\n&gt;         PARTKEYCHAR := TRUE;\r\n&gt;      END IF;      \r\n&gt; \r\n694,695c709,717\r\n&lt;      SYNCPARTITIONDDL := SYNCPARTITIONDDL || CURKEY ;\r\n&lt;      SYNCPARTITIONDDL := SYNCPARTITIONDDL || ' VALUES (' || PARTKEYVALS || ')';\r\n---\r\n&gt;      SYNCPARTITIONDDL := SYNCPARTITIONDDL || CURKEY;\r\n&gt; \r\n&gt;       SYNCPARTITIONDDL := SYNCPARTITIONDDL || ' VALUES (';\r\n&gt; \r\n&gt;      IF (PARTKEYCHAR = TRUE) THEN\r\n&gt;        SYNCPARTITIONDDL := SYNCPARTITIONDDL || '''' || PARTKEYVALS || ''')';\r\n&gt;      ELSE\r\n&gt;        SYNCPARTITIONDDL := SYNCPARTITIONDDL || PARTKEYVALS || ')';\r\n&gt;      END IF;\r\n703c725,732\r\n&lt;      PARTNINFO := PARTNINFO || 'PARTITION ' || CURKEY ||  ' VALUES (' || PARTKEYVALS || ')';\r\n---\r\n&gt;      PARTNINFO := PARTNINFO || 'PARTITION ' || CURKEY ||  ' VALUES (';\r\n&gt; \r\n&gt;      IF (PARTKEYCHAR = TRUE) THEN\r\n&gt;        PARTNINFO := PARTNINFO || '''' || PARTKEYVALS || ''')';\r\n&gt;      ELSE\r\n&gt;        PARTNINFO := PARTNINFO || PARTKEYVALS || ')';\r\n&gt;      END IF;\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.DBMS_JSON0.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">64,65d63\r\n&lt;   JCNM        VARCHAR2(130) := JCOLNAME;\r\n&lt;   TBNM        VARCHAR2(130) := TABLENAME;\r\n69c67\r\n&lt;   IF (JCNM IS NULL OR TBNM IS NULL) THEN\r\n---\r\n&gt;   IF (JCOLNAME IS NULL OR TABLENAME IS NULL) THEN\r\n92c90\r\n&lt;   USING JCNM, TBNM, OWNER;\r\n---\r\n&gt;   USING JCOLNAME, TABLENAME, OWNER;\r\n205a204,230\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   RETURN RET;\r\n&gt; END;\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; FUNCTION  CHECKPK(OWNER VARCHAR2,\r\n&gt;                   TABLENAME VARCHAR2) RETURN BOOLEAN\r\n&gt; IS\r\n&gt;   RET BOOLEAN := FALSE;\r\n&gt;   CNT NUMBER;\r\n&gt; BEGIN\r\n&gt;   EXECUTE IMMEDIATE \r\n&gt;     'select count(1) \r\n&gt;      from DBA_CONS_COLUMNS COL, DBA_CONSTRAINTS CONS\r\n&gt;      where CONS.OWNER = COL.OWNER AND \r\n&gt;            CONS.TABLE_NAME = COL.TABLE_NAME AND \r\n&gt;            CONS.CONSTRAINT_NAME = COL.CONSTRAINT_NAME AND\r\n&gt;            CONS.CONSTRAINT_TYPE = ''P'' AND \r\n&gt;            COL.OWNER = :1 AND COL.TABLE_NAME = :2'\r\n&gt;   INTO CNT\r\n&gt;   USING OWNER, TABLENAME;\r\n&gt; \r\n&gt;   IF (CNT &gt; 0) THEN\r\n&gt;     RET := TRUE;\r\n<\/pre>\n<div id=\"SYS.DBMS_PART.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PART &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">58,62c58,72\r\n&lt;   CURSOR DIRTY_INDEX_CUR(SCH VARCHAR2, TBL VARCHAR2, ORPH_ONLY INT) IS\r\n&lt;     SELECT IOE.INDEX_OBJECT_ID IDX_OBJ#,\r\n&lt;            IOE.INDEX_OWNER     IDX_OWNER,\r\n&lt;            IOE.INDEX_NAME      IDX_NAME,\r\n&lt;            IOE.INDEX_SUBNAME   IDX_SUBNAME\r\n---\r\n&gt;   TYPE OBJNTABLE IS TABLE OF INTEGER;\r\n&gt; \r\n&gt;   CURSOR DIRTY_INDEX_CUR_ALL IS\r\n&gt;     SELECT DISTINCT IOE.INDEX_OBJECT_ID IDX_OBJ#\r\n&gt;       FROM SYS.INDEX_ORPHANED_ENTRY_V$ IOE\r\n&gt;       WHERE IOE.TYPE != 'H';\r\n&gt; \r\n&gt;   CURSOR DIRTY_INDEX_CUR_SCHEMA(SCH VARCHAR2) IS\r\n&gt;     SELECT DISTINCT IOE.INDEX_OBJECT_ID IDX_OBJ#\r\n&gt;       FROM SYS.INDEX_ORPHANED_ENTRY_V$ IOE\r\n&gt;       WHERE IOE.TYPE != 'H'\r\n&gt;         AND IOE.TABLE_OWNER = SCH;\r\n&gt; \r\n&gt;   CURSOR DIRTY_INDEX_CUR_TABLE(SCH VARCHAR2, TBL VARCHAR2) IS\r\n&gt;     SELECT DISTINCT IOE.INDEX_OBJECT_ID IDX_OBJ#\r\n64,74c74,76\r\n&lt;       WHERE (SCH IS NULL OR IOE.TABLE_OWNER = SCH)\r\n&lt;         AND (TBL IS NULL OR IOE.TABLE_NAME  = TBL)\r\n&lt;             \r\n&lt;         AND IOE.TYPE != 'H'\r\n&lt;             \r\n&lt;         AND NOT (ORPH_ONLY = 0 AND IOE.TYPE = 'O')\r\n&lt;             \r\n&lt;         AND NOT (ORPH_ONLY != 0 AND\r\n&lt;                  EXISTS (SELECT * FROM SYS.INDEX_ORPHANED_ENTRY_V$ IOE2\r\n&lt;                            WHERE IOE.INDEX_OBJECT_ID = IOE2.INDEX_OBJECT_ID\r\n&lt;                              AND IOE2.TYPE = 'R'));\r\n---\r\n&gt;       WHERE IOE.TYPE != 'H'\r\n&gt;         AND IOE.TABLE_OWNER = SCH\r\n&gt;         AND IOE.TABLE_NAME  = TBL;\r\n80,85c82,85\r\n&lt;   ORPHANS_ONLY    INT;\r\n&lt;   IDX_OWNER       VARCHAR2(512);\r\n&lt;   IDX_NAME        VARCHAR2(512);\r\n&lt;   IDX_SUBNAME     VARCHAR2(512);\r\n&lt;   TMPSTR          VARCHAR2(512);\r\n&lt;   SQLSTR          VARCHAR2(32767);\r\n---\r\n&gt;   INDOBJNTBL      OBJNTABLE;\r\n&gt;   ORPHANS_ONLY    BOOLEAN;\r\n&gt;   HASR            BOOLEAN;\r\n&gt;   HASO            BOOLEAN;\r\n131c131\r\n&lt;   ORPHANS_ONLY := NVL(ORPHANS_ONLY_IN, 0);\r\n---\r\n&gt;   ORPHANS_ONLY := (NVL(ORPHANS_ONLY_IN, 0) != 0);\r\n158c158,179\r\n&lt;   FOR INDEX_REC IN DIRTY_INDEX_CUR(SCHEMA_NAME, TABLE_NAME, ORPHANS_ONLY) LOOP\r\n---\r\n&gt;   IF SCHEMA_NAME IS NULL AND TABLE_NAME IS NULL THEN\r\n&gt;     OPEN DIRTY_INDEX_CUR_ALL;\r\n&gt;     FETCH DIRTY_INDEX_CUR_ALL\r\n&gt;       BULK COLLECT INTO INDOBJNTBL;\r\n&gt;     CLOSE DIRTY_INDEX_CUR_ALL;\r\n&gt;   ELSIF TABLE_NAME IS NULL THEN\r\n&gt;     OPEN DIRTY_INDEX_CUR_SCHEMA(SCHEMA_NAME);\r\n&gt;     FETCH DIRTY_INDEX_CUR_SCHEMA\r\n&gt;       BULK COLLECT INTO INDOBJNTBL;\r\n&gt;     CLOSE DIRTY_INDEX_CUR_SCHEMA;\r\n&gt;   ELSE\r\n&gt;     OPEN DIRTY_INDEX_CUR_TABLE(SCHEMA_NAME, TABLE_NAME);\r\n&gt;     FETCH DIRTY_INDEX_CUR_TABLE\r\n&gt;       BULK COLLECT INTO INDOBJNTBL;\r\n&gt;     CLOSE DIRTY_INDEX_CUR_TABLE;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   IF INDOBJNTBL IS NULL OR INDOBJNTBL.COUNT = 0 THEN\r\n&gt;     GOTO DONE;\r\n&gt;   END IF;\r\n&gt; \r\n&gt;   FOR I IN INDOBJNTBL.FIRST .. INDOBJNTBL.LAST LOOP\r\n163,174c184,199\r\n&lt;     SQLSTR := 'select count(*) from SYS.INDEX_ORPHANED_ENTRY_V$ ioe\r\n&lt;                  where ioe.index_object_id = :1 and ioe.type != ''H'' and ';\r\n&lt; \r\n&lt;     IF (ORPHANS_ONLY = 0) THEN\r\n&lt;       SQLSTR := SQLSTR || 'ioe.type != ''O''';\r\n&lt;     ELSE\r\n&lt;       SQLSTR := SQLSTR\r\n&lt;              || 'NOT EXISTS '\r\n&lt;              || '(select * from SYS.INDEX_ORPHANED_ENTRY_V$ ioe2\r\n&lt;                   where ioe.index_object_id = ioe2.index_object_id\r\n&lt;                     and ioe2.type = ''R''\r\n&lt;                  )';\r\n---\r\n&gt;     \r\n&gt;     HASR := FALSE;\r\n&gt;     HASO := FALSE;\r\n&gt;     FOR TYP IN (SELECT DISTINCT IOE.TYPE FROM SYS.INDEX_ORPHANED_ENTRY_V$ IOE\r\n&gt;                   WHERE IOE.INDEX_OBJECT_ID = INDOBJNTBL(I)\r\n&gt;                     AND IOE.TYPE != 'H') LOOP\r\n&gt;       HASR := HASR OR TYP.TYPE = 'R';   \r\n&gt;       HASO := HASO OR TYP.TYPE = 'O';\r\n&gt;     END LOOP;\r\n&gt; \r\n&gt;     IF ORPHANS_ONLY AND NOT (HASO AND NOT HASR) THEN\r\n&gt;       \r\n&gt;       CONTINUE;\r\n&gt;     ELSIF NOT ORPHANS_ONLY AND NOT HASR THEN\r\n&gt;       \r\n&gt;       CONTINUE;\r\n176,178d200\r\n&lt;     SQLSTR := SQLSTR || ' and rownum &lt; 2';\r\n&lt; \r\n&lt;     EXECUTE IMMEDIATE SQLSTR INTO CNT USING INDEX_REC.IDX_OBJ#;\r\n181,186c203,206\r\n&lt;     IF CNT &gt; 0 THEN\r\n&lt;       BEGIN\r\n&lt;         EXEC_ALTER_INDEX_COALESCE(INDEX_REC.IDX_OBJ#, PARALLEL,\r\n&lt;                                   OPTIONS != 'COALESCE');\r\n&lt; \r\n&lt;         COMPLETED := COMPLETED + 1;\r\n---\r\n&gt;     BEGIN\r\n&gt;       EXEC_ALTER_INDEX_COALESCE(INDOBJNTBL(I), PARALLEL,\r\n&gt;                                 OPTIONS != 'COALESCE');\r\n&gt;       COMPLETED := COMPLETED + 1;\r\n188c208\r\n&lt;       EXCEPTION WHEN OTHERS THEN\r\n---\r\n&gt;     EXCEPTION WHEN OTHERS THEN\r\n190,197c210,217\r\n&lt;         IF SQLCODE = -1418  OR   \r\n&lt;            SQLCODE = -2149  OR   \r\n&lt;            SQLCODE = -8111  OR   \r\n&lt;            SQLCODE = -14075 THEN \r\n&lt;           NULL;\r\n&lt;         ELSE\r\n&lt;           RAISE;\r\n&lt;         END IF;\r\n---\r\n&gt;       IF SQLCODE = -1418  OR   \r\n&gt;          SQLCODE = -2149  OR   \r\n&gt;          SQLCODE = -8111  OR   \r\n&gt;          SQLCODE = -14075 THEN \r\n&gt;         NULL;\r\n&gt;       ELSE\r\n&gt;         RAISE;\r\n&gt;       END IF;\r\n199,201c219\r\n&lt;       END;\r\n&lt;     END IF;\r\n&lt; \r\n---\r\n&gt;     END;\r\n203a222\r\n&gt; &lt;&lt;DONE&gt;&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_PERF.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PERF &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1136a1137,1145\r\n&gt;       PROCEDURE INIT_OMX_REPORT_LEVEL\r\n&gt;       IS\r\n&gt;       BEGIN\r\n&gt;         \r\n&gt;         \r\n&gt;         P_SUMMARY  := 0;\r\n&gt;         P_EXADATA  := 0;\r\n&gt;       END INIT_OMX_REPORT_LEVEL;\r\n&gt; \r\n1163a1173,1179\r\n&gt; \r\n&gt;         \r\n&gt;         \r\n&gt;         IF (IS_OMX = 1) THEN\r\n&gt;           INIT_OMX_REPORT_LEVEL();\r\n&gt;         END IF;\r\n&gt; \r\n1283a1300,1304\r\n&gt;       \r\n&gt;       IF (IS_OMX = 1) THEN\r\n&gt;         INIT_OMX_REPORT_LEVEL();\r\n&gt;       END IF;\r\n&gt; \r\n1499,1529c1520,1521\r\n&lt; \r\n&lt;     IF (L_IS_REALTIME = 1) THEN\r\n&lt;       \r\n&lt;       IF (L_SUMMARY = 1) THEN\r\n&lt;         \r\n&lt;         \r\n&lt;         L_SUMMARY_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&lt;                            SYS.PRVT_AWR_VIEWER.REPORT_METRICS_XML(\r\n&lt;                              START_TIME =&gt; NULL, \r\n&lt;                              END_TIME   =&gt; L_OUTER_END_TIME,\r\n&lt;                              INST_ID    =&gt; INST_ID,\r\n&lt;                              DBID       =&gt; L_DBID,\r\n&lt;                              BUCKET_MAX_COUNT =&gt; NULL,\r\n&lt;                              BUCKET_INTERVAL  =&gt; NULL,\r\n&lt;                              INST_DETAIL      =&gt; NULL,\r\n&lt;                              REPORT_LEVEL     =&gt; NULL,\r\n&lt;                              SHOW_SQL         =&gt; NULL),\r\n&lt;                            ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&lt;       ELSIF ( (L_SUMMARY = 0) \r\n&lt;             \r\n&lt;             \r\n&lt;             \r\n&lt;             \r\n&lt;             ) THEN \r\n&lt;         \r\n&lt;         \r\n&lt;         \r\n&lt;         \r\n&lt;         \r\n&lt;         \r\n&lt;         \r\n---\r\n&gt;     IF (IS_OMX != 1) THEN\r\n&gt;       IF (L_IS_REALTIME = 1) THEN\r\n1530a1523,1551\r\n&gt;         IF (L_SUMMARY = 1) THEN\r\n&gt;           \r\n&gt;           \r\n&gt;           L_SUMMARY_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&gt;                              SYS.PRVT_AWR_VIEWER.REPORT_METRICS_XML(\r\n&gt;                                START_TIME =&gt; NULL, \r\n&gt;                                END_TIME   =&gt; L_OUTER_END_TIME,\r\n&gt;                                INST_ID    =&gt; INST_ID,\r\n&gt;                                DBID       =&gt; L_DBID,\r\n&gt;                                BUCKET_MAX_COUNT =&gt; NULL,\r\n&gt;                                BUCKET_INTERVAL  =&gt; NULL,\r\n&gt;                                INST_DETAIL      =&gt; NULL,\r\n&gt;                                REPORT_LEVEL     =&gt; NULL,\r\n&gt;                                SHOW_SQL         =&gt; NULL),\r\n&gt;                              ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&gt;         ELSIF ( (L_SUMMARY = 0) \r\n&gt;               \r\n&gt;               \r\n&gt;               \r\n&gt;               \r\n&gt;               ) THEN \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n1531a1553,1565\r\n&gt;           L_SUMMARY_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&gt;                              SYS.PRVT_AWR_VIEWER.REPORT_AWR_XML(\r\n&gt;                                      START_TIME       =&gt; L_SELECTED_START_TIME,\r\n&gt;                                      END_TIME         =&gt; L_SELECTED_END_TIME,\r\n&gt;                                      INSTANCE_LIST    =&gt; TO_CHAR(INST_ID),\r\n&gt;                                      DBID             =&gt; L_DBID,\r\n&gt;                                      BUCKET_MAX_COUNT =&gt; NULL,\r\n&gt;                                      DATA_DETAIL      =&gt; 1,\r\n&gt;                                      SHOW_SQL         =&gt; NULL),\r\n&gt;                              ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&gt;         END IF;\r\n&gt;       \r\n&gt;       ELSE\r\n1533,1541c1567,1575\r\n&lt;                            SYS.PRVT_AWR_VIEWER.REPORT_AWR_XML(\r\n&lt;                                    START_TIME       =&gt; L_SELECTED_START_TIME,\r\n&lt;                                    END_TIME         =&gt; L_SELECTED_END_TIME,\r\n&lt;                                    INSTANCE_LIST    =&gt; TO_CHAR(INST_ID),\r\n&lt;                                    DBID             =&gt; L_DBID,\r\n&lt;                                    BUCKET_MAX_COUNT =&gt; NULL,\r\n&lt;                                    DATA_DETAIL      =&gt; 1,\r\n&lt;                                    SHOW_SQL         =&gt; NULL),\r\n&lt;                            ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n---\r\n&gt;                              SYS.PRVT_AWR_VIEWER.REPORT_AWR_XML(\r\n&gt;                                      START_TIME       =&gt; L_SELECTED_START_TIME,\r\n&gt;                                      END_TIME         =&gt; L_SELECTED_END_TIME,\r\n&gt;                                      INSTANCE_LIST    =&gt; TO_CHAR(INST_ID),\r\n&gt;                                      DBID             =&gt; L_DBID,\r\n&gt;                                      BUCKET_MAX_COUNT =&gt; NULL,\r\n&gt;                                      DATA_DETAIL      =&gt; 1,\r\n&gt;                                      SHOW_SQL         =&gt; NULL),\r\n&gt;                              ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n1543,1575d1576\r\n&lt;     \r\n&lt;     ELSE\r\n&lt;       L_SUMMARY_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&lt;                            SYS.PRVT_AWR_VIEWER.REPORT_AWR_XML(\r\n&lt;                                    START_TIME       =&gt; L_SELECTED_START_TIME,\r\n&lt;                                    END_TIME         =&gt; L_SELECTED_END_TIME,\r\n&lt;                                    INSTANCE_LIST    =&gt; TO_CHAR(INST_ID),\r\n&lt;                                    DBID             =&gt; L_DBID,\r\n&lt;                                    BUCKET_MAX_COUNT =&gt; NULL,\r\n&lt;                                    DATA_DETAIL      =&gt; 1,\r\n&lt;                                    SHOW_SQL         =&gt; NULL),\r\n&lt;                            ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&lt;     END IF;\r\n&lt; \r\n&lt;     \r\n&lt;     IF (SYS_CONTEXT('USERENV','CON_ID') = 1) THEN\r\n&lt;     \r\n&lt;       L_CONTAINERS_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&lt;                               SYS.PRVT_AWR_VIEWER.REPORT_CONTAINERS_XML(\r\n&lt;                                    P_IS_REALTIME =&gt; L_IS_REALTIME,\r\n&lt;                                    P_START_TIME  =&gt; L_SELECTED_START_TIME,\r\n&lt;                                    P_END_TIME    =&gt; L_SELECTED_END_TIME,\r\n&lt;                                    P_DBID       =&gt; L_DBID,\r\n&lt;                                    P_INST_ID     =&gt; INST_ID),                  \r\n&lt;                                 ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&lt;     \r\n&lt;     ELSIF ( (DBMS_SQLTUNE_UTIL2.IS_IMPORTED_CDB(L_DBID) = \r\n&lt;                             DBMS_SQLTUNE_UTIL2.STR_YES) \r\n&lt;             AND   \r\n&lt;             (DBMS_SQLTUNE_UTIL2.IS_IMPORTED_PDB(L_DBID) = \r\n&lt;                             DBMS_SQLTUNE_UTIL2.STR_NO) \r\n&lt;           )\r\n&lt;     THEN\r\n1576a1578,1580\r\n&gt;       \r\n&gt;       IF (SYS_CONTEXT('USERENV','CON_ID') = 1) THEN\r\n&gt;       \r\n1578,1584c1582,1605\r\n&lt;                               SYS.PRVT_AWR_VIEWER.REPORT_CONTAINERS_XML(\r\n&lt;                                    P_START_TIME =&gt; L_SELECTED_START_TIME,\r\n&lt;                                    P_END_TIME   =&gt; L_SELECTED_END_TIME,\r\n&lt;                                    P_DBID       =&gt; L_DBID,\r\n&lt;                                    P_INST_ID    =&gt; INST_ID),\r\n&lt;                                 ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&lt;     END IF; \r\n---\r\n&gt;                                 SYS.PRVT_AWR_VIEWER.REPORT_CONTAINERS_XML(\r\n&gt;                                      P_IS_REALTIME =&gt; L_IS_REALTIME,\r\n&gt;                                      P_START_TIME  =&gt; L_SELECTED_START_TIME,\r\n&gt;                                      P_END_TIME    =&gt; L_SELECTED_END_TIME,\r\n&gt;                                      P_DBID       =&gt; L_DBID,\r\n&gt;                                      P_INST_ID     =&gt; INST_ID),                  \r\n&gt;                                   ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&gt;       \r\n&gt;       ELSIF ( (DBMS_SQLTUNE_UTIL2.IS_IMPORTED_CDB(L_DBID) = \r\n&gt;                               DBMS_SQLTUNE_UTIL2.STR_YES) \r\n&gt;               AND   \r\n&gt;               (DBMS_SQLTUNE_UTIL2.IS_IMPORTED_PDB(L_DBID) = \r\n&gt;                               DBMS_SQLTUNE_UTIL2.STR_NO) \r\n&gt;             )\r\n&gt;       THEN\r\n&gt; \r\n&gt;           L_CONTAINERS_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&gt;                                 SYS.PRVT_AWR_VIEWER.REPORT_CONTAINERS_XML(\r\n&gt;                                      P_START_TIME =&gt; L_SELECTED_START_TIME,\r\n&gt;                                      P_END_TIME   =&gt; L_SELECTED_END_TIME,\r\n&gt;                                      P_DBID       =&gt; L_DBID,\r\n&gt;                                      P_INST_ID    =&gt; INST_ID),\r\n&gt;                                   ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&gt;       END IF; \r\n1587,1593c1608,1614\r\n&lt;     \r\n&lt;     IF (L_RAC = 1) THEN\r\n&lt;       \r\n&lt;       L_IS_RAC := I_IS_RAC(P_IS_REALTIME =&gt; L_IS_REALTIME,\r\n&lt;                            P_TARGET_DBID =&gt; L_DBID,\r\n&lt;                            P_START_TIME =&gt; L_SELECTED_START_TIME,\r\n&lt;                            P_END_TIME  =&gt; L_SELECTED_END_TIME);\r\n---\r\n&gt;       \r\n&gt;       IF (L_RAC = 1) THEN\r\n&gt;         \r\n&gt;         L_IS_RAC := I_IS_RAC(P_IS_REALTIME =&gt; L_IS_REALTIME,\r\n&gt;                              P_TARGET_DBID =&gt; L_DBID,\r\n&gt;                              P_START_TIME =&gt; L_SELECTED_START_TIME,\r\n&gt;                              P_END_TIME  =&gt; L_SELECTED_END_TIME);\r\n1596,1606c1617,1627\r\n&lt;       IF (L_IS_RAC = 'yes') THEN\r\n&lt;         L_RAC_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&lt;                        SYS.PRVT_AWR_VIEWER.REPORT_RAC_XML(\r\n&lt;                                    START_TIME =&gt; L_SELECTED_START_TIME,\r\n&lt;                                    END_TIME   =&gt; L_SELECTED_END_TIME,\r\n&lt;                                    LAST_REFRESH_TIME =&gt; NULL,\r\n&lt;                                    INST_ID    =&gt; INST_ID,\r\n&lt;                                    DBID       =&gt; L_DBID,\r\n&lt;                                    IS_REALTIME =&gt; L_IS_REALTIME,\r\n&lt;                                    SHOW_SQL   =&gt; NULL),\r\n&lt;                            ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n---\r\n&gt;         IF (L_IS_RAC = 'yes') THEN\r\n&gt;           L_RAC_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&gt;                          SYS.PRVT_AWR_VIEWER.REPORT_RAC_XML(\r\n&gt;                                      START_TIME =&gt; L_SELECTED_START_TIME,\r\n&gt;                                      END_TIME   =&gt; L_SELECTED_END_TIME,\r\n&gt;                                      LAST_REFRESH_TIME =&gt; NULL,\r\n&gt;                                      INST_ID    =&gt; INST_ID,\r\n&gt;                                      DBID       =&gt; L_DBID,\r\n&gt;                                      IS_REALTIME =&gt; L_IS_REALTIME,\r\n&gt;                                      SHOW_SQL   =&gt; NULL),\r\n&gt;                              ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n1607a1629\r\n&gt;         END IF;\r\n1663c1685\r\n&lt;     IF (L_WORKLOAD = 1 AND IS_OMX = 0) THEN\r\n---\r\n&gt;     IF (L_WORKLOAD = 1) THEN\r\n2448d2469\r\n&lt;                           \r\n2520d2540\r\n&lt;                             FILTERED        =&gt; 1,\r\n3214d3233\r\n&lt;                             FILTERED        =&gt; 1,\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.5RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (19.5RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.05.01.00'; \r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.05.02.00'; \r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.06.00.00'; \r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.07.00.00'; \r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.6RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (19.6RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.06.00.00'; \r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.06.01.00'; \r\n<\/pre>\n<div id=\"SYS.DBMS_REPORT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_REPORT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1055a1056,1060\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       CONTENT_TYPE := CONTENT_TYPE_XML;\r\n&gt;       RETURN XMLTYPE('&lt;mesg type=\"oraerr\"&gt;'|| SQLERRM || \r\n&gt;                      '&lt;\/mesg&gt;').GETCLOBVAL();\r\n2011a2017,2021\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n2021c2031,2032\r\n&lt;     P_PACKS                 OUT      NUMBER\r\n---\r\n&gt;     P_PACKS                 OUT      NUMBER,\r\n&gt;     P_CLOUD_SERVICE_TYPE    OUT      NUMBER\r\n2257a2269,2299\r\n&gt;     \r\n&gt;     IF (V_RESOLVED_DB_TYPE\r\n&gt;         IN (DBMS_SQLTUNE_UTIL2.DB_TYPE_PDB, DBMS_SQLTUNE_UTIL2.DB_TYPE_IMP)) \r\n&gt;     THEN\r\n&gt;         SELECT CASE MAX(VALUE)\r\n&gt;                  WHEN 'DWCS' THEN 1\r\n&gt;                  WHEN 'EECS' THEN 2\r\n&gt;                  WHEN 'PAAS' THEN 3\r\n&gt;                  WHEN 'OLTP' THEN 4\r\n&gt;                  ELSE 0\r\n&gt;                END\r\n&gt;           INTO P_CLOUD_SERVICE_TYPE\r\n&gt;           FROM SYS.AWR_PDB_PARAMETER\r\n&gt;          WHERE DBID = P_DBID\r\n&gt;            AND SNAP_ID = V_END_SNAP\r\n&gt;            AND PARAMETER_NAME = '_cloud_service_type';\r\n&gt;     ELSE\r\n&gt;         SELECT CASE MAX(VALUE)\r\n&gt;                  WHEN 'DWCS' THEN 1\r\n&gt;                  WHEN 'EECS' THEN 2\r\n&gt;                  WHEN 'PAAS' THEN 3\r\n&gt;                  WHEN 'OLTP' THEN 4\r\n&gt;                  ELSE 0\r\n&gt;                END\r\n&gt;           INTO P_CLOUD_SERVICE_TYPE\r\n&gt;           FROM SYS.AWR_ROOT_PARAMETER\r\n&gt;          WHERE DBID = P_DBID\r\n&gt;            AND SNAP_ID = V_END_SNAP\r\n&gt;            AND PARAMETER_NAME = '_cloud_service_type';\r\n&gt;     END IF;\r\n&gt;       \r\n<\/pre>\n<div id=\"SYS.DBMS_RLS.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RLS &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">63c63,65\r\n&lt;                   ATTRIBUTE, CPS);\r\n---\r\n&gt;                   ATTRIBUTE, CPS, \r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n98c100,102\r\n&lt;                   ATTRIBUTE, CPS);\r\n---\r\n&gt;                   ATTRIBUTE, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n130c134,136\r\n&lt;                   NAMESPACE, ATTRIBUTE, CPS);\r\n---\r\n&gt;                   NAMESPACE, ATTRIBUTE, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n154c160,162\r\n&lt;                   OBJECT_NAME,POLICY_NAME, CPS);\r\n---\r\n&gt;                   OBJECT_NAME,POLICY_NAME, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n178c186,188\r\n&lt;                   OBJECT_NAME, POLICY_NAME, CPS);\r\n---\r\n&gt;                   OBJECT_NAME, POLICY_NAME, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n204c214,216\r\n&lt;                   OBJECT_NAME, POLICY_NAME, ENABLE, CPS);\r\n---\r\n&gt;                   OBJECT_NAME, POLICY_NAME, ENABLE, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n226c238,240\r\n&lt;                   OBJECT_NAME,POLICY_GROUP, CPS);\r\n---\r\n&gt;                   OBJECT_NAME,POLICY_GROUP, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n282c296,298\r\n&lt;                   ATTRIBUTE, CPS);\r\n---\r\n&gt;                   ATTRIBUTE, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n307c323,325\r\n&lt;                   OBJECT_NAME,NAMESPACE, ATTRIBUTE, CPS);\r\n---\r\n&gt;                   OBJECT_NAME,NAMESPACE, ATTRIBUTE, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n329c347,349\r\n&lt;                   OBJECT_NAME,POLICY_GROUP, CPS);\r\n---\r\n&gt;                   OBJECT_NAME,POLICY_GROUP, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n354c374,376\r\n&lt;                   OBJECT_NAME,POLICY_GROUP, POLICY_NAME, CPS);\r\n---\r\n&gt;                   OBJECT_NAME,POLICY_GROUP, POLICY_NAME, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n379c401,403\r\n&lt;                   OBJECT_NAME,NAMESPACE, ATTRIBUTE, CPS);\r\n---\r\n&gt;                   OBJECT_NAME,NAMESPACE, ATTRIBUTE, CPS,\r\n&gt;                   DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n405c429,431\r\n&lt;                  OBJECT_NAME,GROUP_NAME, POLICY_NAME, CPS);\r\n---\r\n&gt;                  OBJECT_NAME,GROUP_NAME, POLICY_NAME, CPS,\r\n&gt;                  DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n431c457,459\r\n&lt;                  OBJECT_NAME,GROUP_NAME, POLICY_NAME, ENABLE, CPS);\r\n---\r\n&gt;                  OBJECT_NAME,GROUP_NAME, POLICY_NAME, ENABLE, CPS,\r\n&gt;                  DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                      SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n449c477,479\r\n&lt;                    OBJECT_NAME,GROUP_NAME, POLICY_NAME, FALSE, CPS);\r\n---\r\n&gt;                    OBJECT_NAME,GROUP_NAME, POLICY_NAME, FALSE, CPS,\r\n&gt;                    DBMS_ASSERT.ENQUOTE_NAME(\r\n&gt;                       SYS_CONTEXT('USERENV','CURRENT_USER'), FALSE));\r\n<\/pre>\n<div id=\"SYS.DBMS_RLS_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RLS_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">38c38,39\r\n&lt;                        CPS             IN BOOLEAN  := FALSE) IS\r\n---\r\n&gt;                        CPS             IN BOOLEAN  := FALSE,\r\n&gt;                        INVOKER         IN VARCHAR2) IS\r\n40c41\r\n&lt;       NAME \"kzraadp\"\r\n---\r\n&gt;       NAME \"kzraadp1\"\r\n44,49c45,58\r\n&lt;                  OBJECT_SCHEMA   OCISTRING, OBJECT_SCHEMA   INDICATOR SB2, \r\n&lt;                  OBJECT_NAME     OCISTRING, POLICY_NAME     OCISTRING, \r\n&lt;                  FUNCTION_SCHEMA OCISTRING, FUNCTION_SCHEMA INDICATOR SB2,\r\n&lt;                  POLICY_FUNCTION OCISTRING, STATEMENT_TYPES OCISTRING, \r\n&lt;                  STATEMENT_TYPES INDICATOR SB2, UPDATE_CHECK UB1, ENABLE UB1,\r\n&lt;                  STATIC_POLICY UB1, POLICY_TYPE SB4, POLICY_TYPE INDICATOR SB2,\r\n---\r\n&gt;                  OBJECT_SCHEMA   OCISTRING,\r\n&gt;                  OBJECT_SCHEMA   INDICATOR SB2,\r\n&gt;                  OBJECT_NAME     OCISTRING,\r\n&gt;                  POLICY_NAME     OCISTRING,\r\n&gt;                  FUNCTION_SCHEMA OCISTRING,\r\n&gt;                  FUNCTION_SCHEMA INDICATOR SB2,\r\n&gt;                  POLICY_FUNCTION OCISTRING,\r\n&gt;                  STATEMENT_TYPES OCISTRING,\r\n&gt;                  STATEMENT_TYPES INDICATOR SB2,\r\n&gt;                  UPDATE_CHECK UB1,\r\n&gt;                  ENABLE UB1,\r\n&gt;                  STATIC_POLICY UB1,\r\n&gt;                  POLICY_TYPE SB4,\r\n&gt;                  POLICY_TYPE INDICATOR SB2,\r\n51c60,61\r\n&lt;                  SEC_RELEVANT_COLS OCISTRING, SEC_RELEVANT_COLS INDICATOR SB2,\r\n---\r\n&gt;                  SEC_RELEVANT_COLS OCISTRING,\r\n&gt;                  SEC_RELEVANT_COLS INDICATOR SB2,\r\n54,55c64,69\r\n&lt;                  NAMESPACE       OCISTRING, NAMESPACE INDICATOR SB2,\r\n&lt;                  ATTRIBUTE     OCISTRING, ATTRIBUTE INDICATOR SB2, CPS UB1)\r\n---\r\n&gt;                  NAMESPACE       OCISTRING,\r\n&gt;                  NAMESPACE INDICATOR SB2,\r\n&gt;                  ATTRIBUTE     OCISTRING,\r\n&gt;                  ATTRIBUTE INDICATOR SB2,\r\n&gt;                  CPS UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n77c91,92\r\n&lt;                        CPS             IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                        CPS             IN BOOLEAN := FALSE,\r\n&gt;                        INVOKER         IN VARCHAR2) IS\r\n79c94\r\n&lt;       NAME \"kzraealp\"\r\n---\r\n&gt;       NAME \"kzraealp1\"\r\n83,86c98,107\r\n&lt;                  OBJECT_SCHEMA   OCISTRING, OBJECT_SCHEMA   INDICATOR SB2, \r\n&lt;                  OBJECT_NAME     OCISTRING, POLICY_NAME     OCISTRING, \r\n&lt;                  ALTER_OPTION          SB4, ALTER_OPTION    INDICATOR SB2,\r\n&lt;                  NAMESPACE       OCISTRING, ATTRIBUTE     OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA   OCISTRING,\r\n&gt;                  OBJECT_SCHEMA   INDICATOR SB2,\r\n&gt;                  OBJECT_NAME     OCISTRING,\r\n&gt;                  POLICY_NAME     OCISTRING, \r\n&gt;                  ALTER_OPTION    SB4,\r\n&gt;                  ALTER_OPTION    INDICATOR SB2,\r\n&gt;                  NAMESPACE       OCISTRING,\r\n&gt;                  ATTRIBUTE       OCISTRING,\r\n&gt;                  CPS UB1,\r\n&gt;                  INVOKER         OCISTRING)\r\n110c131,132\r\n&lt;                                  CPS             IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                                  CPS             IN BOOLEAN := FALSE,\r\n&gt;                                  INVOKER         IN VARCHAR2) IS\r\n112c134\r\n&lt;       NAME \"kzraealgp\"\r\n---\r\n&gt;       NAME \"kzraealgp1\"\r\n116,120c138,148\r\n&lt;                  OBJECT_SCHEMA   OCISTRING,     OBJECT_SCHEMA   INDICATOR SB2,\r\n&lt;                  OBJECT_NAME     OCISTRING,     POLICY_GROUP    OCISTRING, \r\n&lt;                  POLICY_NAME     OCISTRING,     ALTER_OPTION          SB4, \r\n&lt;                  ALTER_OPTION    INDICATOR SB2, NAMESPACE       OCISTRING, \r\n&lt;                  ATTRIBUTE       OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA   OCISTRING,\r\n&gt;                  OBJECT_SCHEMA   INDICATOR SB2,\r\n&gt;                  OBJECT_NAME     OCISTRING,\r\n&gt;                  POLICY_GROUP    OCISTRING, \r\n&gt;                  POLICY_NAME     OCISTRING,\r\n&gt;                  ALTER_OPTION    SB4, \r\n&gt;                  ALTER_OPTION    INDICATOR SB2,\r\n&gt;                  NAMESPACE       OCISTRING,\r\n&gt;                  ATTRIBUTE       OCISTRING,\r\n&gt;                  CPS UB1,\r\n&gt;                  INVOKER         OCISTRING)\r\n136c164,165\r\n&lt;                         CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                         CPS           IN BOOLEAN := FALSE,\r\n&gt;                         INVOKER       IN VARCHAR2) IS\r\n138c167\r\n&lt;       NAME \"kzradrp\"\r\n---\r\n&gt;       NAME \"kzradrp1\"\r\n142,143c171,176\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2, \r\n&lt;                  OBJECT_NAME   OCISTRING, POLICY_NAME   OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2, \r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  CPS UB1,\r\n&gt;                  INVOKER         OCISTRING)\r\n159c192,193\r\n&lt;                            CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                            CPS           IN BOOLEAN := FALSE,\r\n&gt;                            INVOKER       IN VARCHAR2) IS\r\n161c195\r\n&lt;       NAME \"kzraflp\"\r\n---\r\n&gt;       NAME \"kzraflp1\"\r\n165,167c199,206\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2, \r\n&lt;                  OBJECT_NAME   OCISTRING, OBJECT_NAME  INDICATOR SB2,\r\n&lt;                  POLICY_NAME   OCISTRING, POLICY_NAME  INDICATOR SB2, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  OBJECT_NAME   INDICATOR SB2,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  POLICY_NAME   INDICATOR SB2,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n185c224,225\r\n&lt;                           CPS           IN BOOLEAN := FALSE ) IS\r\n---\r\n&gt;                           CPS           IN BOOLEAN := FALSE,\r\n&gt;                           INVOKER       IN VARCHAR2) IS\r\n187c227\r\n&lt;       NAME \"kzraenp\"\r\n---\r\n&gt;       NAME \"kzraenp1\"\r\n191,193c231,237\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2, \r\n&lt;                  OBJECT_NAME   OCISTRING, POLICY_NAME   OCISTRING, ENABLE UB1,\r\n&lt;                  CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  ENABLE        UB1,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n207c251,252\r\n&lt;                                 CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                                 CPS           IN BOOLEAN := FALSE,\r\n&gt;                                 INVOKER       IN VARCHAR2) IS\r\n209c254\r\n&lt;       NAME \"kzracpg\"\r\n---\r\n&gt;       NAME \"kzracpg1\"\r\n213,214c258,263\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, POLICY_GROUP  OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  POLICY_GROUP  OCISTRING,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n256,257c305,306\r\n&lt;                                CPS             IN BOOLEAN  := FALSE)\r\n&lt;                                IS\r\n---\r\n&gt;                                CPS             IN BOOLEAN  := FALSE,\r\n&gt;                                INVOKER         IN VARCHAR2) IS\r\n259c308\r\n&lt;       NAME \"kzraptg\"\r\n---\r\n&gt;       NAME \"kzraptg1\"\r\n263,264c312,315\r\n&lt;                  OBJECT_SCHEMA   OCISTRING, OBJECT_SCHEMA   INDICATOR SB2,\r\n&lt;                  OBJECT_NAME     OCISTRING, POLICY_GROUP    OCISTRING,\r\n---\r\n&gt;                  OBJECT_SCHEMA   OCISTRING,\r\n&gt;                  OBJECT_SCHEMA   INDICATOR SB2,\r\n&gt;                  OBJECT_NAME     OCISTRING,\r\n&gt;                  POLICY_GROUP    OCISTRING,\r\n266,271c317,329\r\n&lt;                  FUNCTION_SCHEMA OCISTRING, FUNCTION_SCHEMA INDICATOR SB2,\r\n&lt;                  POLICY_FUNCTION OCISTRING, STATEMENT_TYPES OCISTRING,\r\n&lt;                  STATEMENT_TYPES INDICATOR SB2, UPDATE_CHECK UB1, ENABLE UB1,\r\n&lt;                  STATIC_POLICY UB1, POLICY_TYPE SB4, POLICY_TYPE INDICATOR SB2,\r\n&lt;                  LONG_PREDICATE UB1,\r\n&lt;                  SEC_RELEVANT_COLS OCISTRING, SEC_RELEVANT_COLS INDICATOR SB2,\r\n---\r\n&gt;                  FUNCTION_SCHEMA OCISTRING,\r\n&gt;                  FUNCTION_SCHEMA INDICATOR SB2,\r\n&gt;                  POLICY_FUNCTION OCISTRING,\r\n&gt;                  STATEMENT_TYPES OCISTRING,\r\n&gt;                  STATEMENT_TYPES INDICATOR SB2,\r\n&gt;                  UPDATE_CHECK    UB1,\r\n&gt;                  ENABLE          UB1,\r\n&gt;                  STATIC_POLICY   UB1,\r\n&gt;                  POLICY_TYPE     SB4,\r\n&gt;                  POLICY_TYPE     INDICATOR SB2,\r\n&gt;                  LONG_PREDICATE  UB1,\r\n&gt;                  SEC_RELEVANT_COLS OCISTRING,\r\n&gt;                  SEC_RELEVANT_COLS INDICATOR SB2,\r\n274,275c332,337\r\n&lt;                  NAMESPACE       OCISTRING, NAMESPACE INDICATOR SB2,\r\n&lt;                  ATTRIBUTE       OCISTRING, ATTRIBUTE INDICATOR SB2, CPS UB1)\r\n---\r\n&gt;                  NAMESPACE       OCISTRING,\r\n&gt;                  NAMESPACE       INDICATOR SB2,\r\n&gt;                  ATTRIBUTE       OCISTRING,\r\n&gt;                  ATTRIBUTE       INDICATOR SB2,\r\n&gt;                  CPS             UB1,\r\n&gt;                  INVOKER         OCISTRING)\r\n292c354,355\r\n&lt;                         CPS             IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                         CPS             IN BOOLEAN := FALSE,\r\n&gt;                         INVOKER         IN VARCHAR2) IS\r\n294c357\r\n&lt;       NAME \"kzraacx\"\r\n---\r\n&gt;       NAME \"kzraacx1\"\r\n298,300c361,367\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, NAMESPACE  OCISTRING,\r\n&lt;                  ATTRIBUTE     OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  NAMESPACE     OCISTRING,\r\n&gt;                  ATTRIBUTE     OCISTRING,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n314c381,382\r\n&lt;                                 CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                                 CPS           IN BOOLEAN := FALSE,\r\n&gt;                                 INVOKER       IN VARCHAR2) IS\r\n316c384\r\n&lt;       NAME \"kzradpg\"\r\n---\r\n&gt;       NAME \"kzradpg1\"\r\n320,321c388,393\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, POLICY_GROUP  OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  POLICY_GROUP  OCISTRING,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n338c410,411\r\n&lt;                                 CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                                 CPS           IN BOOLEAN := FALSE,\r\n&gt;                                 INVOKER       IN VARCHAR2) IS\r\n341c414\r\n&lt;       NAME \"kzrapfg\"\r\n---\r\n&gt;       NAME \"kzrapfg1\"\r\n345,347c418,424\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, POLICY_GROUP  OCISTRING,\r\n&lt;                  POLICY_NAME   OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  POLICY_GROUP  OCISTRING,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n364c441,442\r\n&lt;                          CPS             IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                          CPS             IN BOOLEAN := FALSE,\r\n&gt;                          INVOKER         IN VARCHAR2) IS\r\n366c444\r\n&lt;       NAME \"kzradcx\"\r\n---\r\n&gt;       NAME \"kzradcx1\"\r\n370,372c448,454\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, NAMESPACE  OCISTRING,\r\n&lt;                  ATTRIBUTE     OCISTRING, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  NAMESPACE     OCISTRING,\r\n&gt;                  ATTRIBUTE     OCISTRING,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n390c472,473\r\n&lt;                            CPS           IN BOOLEAN  := FALSE) IS\r\n---\r\n&gt;                            CPS           IN BOOLEAN  := FALSE,\r\n&gt;                            INVOKER       IN VARCHAR2) IS\r\n392c475\r\n&lt;       NAME \"kzragflp\"\r\n---\r\n&gt;       NAME \"kzragflp1\"\r\n396,399c479,488\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, OBJECT_NAME   INDICATOR SB2,\r\n&lt;                  GROUP_NAME    OCISTRING, GROUP_NAME    INDICATOR SB2,\r\n&lt;                  POLICY_NAME   OCISTRING, POLICY_NAME   INDICATOR SB2, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  OBJECT_NAME   INDICATOR SB2,\r\n&gt;                  GROUP_NAME    OCISTRING,\r\n&gt;                  GROUP_NAME    INDICATOR SB2,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  POLICY_NAME   INDICATOR SB2,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n417c506,507\r\n&lt;                           CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                           CPS           IN BOOLEAN := FALSE,\r\n&gt;                           INVOKER       IN VARCHAR2) IS\r\n419c509\r\n&lt;       NAME \"kzragenp\"\r\n---\r\n&gt;       NAME \"kzragenp1\"\r\n423,425c513,520\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, GROUP_NAME    OCISTRING,\r\n&lt;                  POLICY_NAME   OCISTRING, ENABLE UB1, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  GROUP_NAME    OCISTRING,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  ENABLE        UB1,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n442c537,538\r\n&lt;                           CPS           IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                           CPS           IN BOOLEAN := FALSE,\r\n&gt;                           INVOKER       IN VARCHAR2) IS\r\n444c540\r\n&lt;       NAME \"kzragenp\"\r\n---\r\n&gt;       NAME \"kzragenp1\"\r\n448,450c544,551\r\n&lt;                  OBJECT_SCHEMA OCISTRING, OBJECT_SCHEMA INDICATOR SB2,\r\n&lt;                  OBJECT_NAME   OCISTRING, GROUP_NAME    OCISTRING,\r\n&lt;                  POLICY_NAME   OCISTRING, ENABLE UB1, CPS UB1)\r\n---\r\n&gt;                  OBJECT_SCHEMA OCISTRING,\r\n&gt;                  OBJECT_SCHEMA INDICATOR SB2,\r\n&gt;                  OBJECT_NAME   OCISTRING,\r\n&gt;                  GROUP_NAME    OCISTRING,\r\n&gt;                  POLICY_NAME   OCISTRING,\r\n&gt;                  ENABLE        UB1,\r\n&gt;                  CPS           UB1,\r\n&gt;                  INVOKER       OCISTRING)\r\n<\/pre>\n<div id=\"SYS.DBMS_SPM.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SPM &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">541a542\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.DBMS_SQLTCB_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SQLTCB_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">4503,4505c4503\r\n&lt;         IF (SQLCODE = -1031) THEN                    \r\n&lt;           ERR_CREATE_DIR := TRUE;                    \r\n&lt;         ELSE\r\n---\r\n&gt;         IF (DBMS_STATS_INTERNAL.IS_URGENT_ERROR) THEN\r\n4506a4505,4507\r\n&gt;         ELSE\r\n&gt;           \r\n&gt;           ERR_CREATE_DIR := TRUE;                    \r\n4634c4635,4639\r\n&lt;         RETURN;\r\n---\r\n&gt;         IF (DBMS_STATS_INTERNAL.IS_URGENT_ERROR) THEN\r\n&gt;           RAISE;\r\n&gt;         ELSE\r\n&gt;           RETURN;\r\n&gt;         END IF;\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLTUNE_UTIL2.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SQLTUNE_UTIL2 &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">669a670,716\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION GET_CLOUD_SERVICE_TYPE\r\n&gt;   RETURN VARCHAR2\r\n&gt;   IS\r\n&gt;   BEGIN\r\n&gt; \r\n&gt;     RETURN NVL(SYS_CONTEXT('userenv', 'cloud_service'), CLOUD_SERVICE_TYPE_NONE);\r\n&gt; \r\n&gt;   END GET_CLOUD_SERVICE_TYPE;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION IS_ADW\r\n&gt;   RETURN BOOLEAN\r\n&gt;   IS\r\n&gt;   BEGIN\r\n&gt; \r\n&gt;     IF (GET_CLOUD_SERVICE_TYPE() = CLOUD_SERVICE_TYPE_ADW) THEN\r\n&gt;       RETURN TRUE;\r\n&gt;     ELSE\r\n&gt;       RETURN FALSE;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;   END IS_ADW;\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.DBMS_SWRF_REPORT_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SWRF_REPORT_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">712,719c712,715\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DICT_CACHE,           AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DICT_CACHE_RAC,       AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.LIB_CACHE,            AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.LIB_CACHE_RAC,        AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n---\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DICT_CACHE,           AWRRPT_DEFAULT),\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DICT_CACHE_RAC,       AWRRPT_DEFAULT),\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.LIB_CACHE,            AWRRPT_DEFAULT),\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.LIB_CACHE_RAC,        AWRRPT_DEFAULT),\r\n963,970c959,962\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_DIC_CACHE,       AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_DIC_CACHE_RAC,   AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_LIB_CACHE,       AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_LIB_CACHE_RAC,   AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB),\r\n---\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_DIC_CACHE,       AWRRPT_DEFAULT),\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_DIC_CACHE_RAC,   AWRRPT_DEFAULT),\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_LIB_CACHE,       AWRRPT_DEFAULT),\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.DIFF_LIB_CACHE_RAC,   AWRRPT_DEFAULT),\r\n1218,1219c1210\r\n&lt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.GAWRG_LIB_CACHE,      AWRRPT_PDB_FOR_ROOT\r\n&lt;                                                           + AWRRPT_PDB_FOR_PDB)\r\n---\r\n&gt;       RS_CTR(DBMS_AWR_REPORT_LAYOUT.GAWRG_LIB_CACHE,      AWRRPT_DEFAULT)\r\n13737c13728,13731\r\n&lt;               and b.status          = ''OPEN''';\r\n---\r\n&gt;               and b.status          = ''OPEN''\r\n&gt;               and exists (select 1 from awr_pdb_snapshot s\r\n&gt;                           where  s.dbid = b.dbid and s.snap_id = b.snap_id\r\n&gt;                              and s.instance_number = b.thread#)';\r\n13775c13769,13772\r\n&lt;               and e.status          = ''OPEN''';\r\n---\r\n&gt;               and e.status          = ''OPEN''\r\n&gt;               and exists (select 1 from awr_pdb_snapshot s\r\n&gt;                           where  s.dbid = e.dbid and s.snap_id = e.snap_id\r\n&gt;                              and s.instance_number = e.thread#)';\r\n14602a14600,14658\r\n&gt;      \r\n&gt;     IF TO_HTML THEN\r\n&gt;       APPEND_ROW(PARAGRAPH_TAG);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     APPEND_ROW('Database Resource Limits');\r\n&gt; \r\n&gt;     IF (TO_HTML) THEN\r\n&gt;       TAB_SUMMARY := 'This table displays database resource limits';\r\n&gt;       APPEND_ROW(PARAGRAPH_TAG);\r\n&gt;       APPEND_ROW(AWR_TAB_STYLE || TAB_SUMMARY || TABLE_CLOSE);\r\n&gt;       GENERIC_TABLE_HEADER(HTML_TABLE_HEADER('', 'Begin', 'End'));\r\n&gt;       GENERIC_TABLE_ROW(HTML_TABLE_ROW(\r\n&gt;         NEW_CELL_TEXT('CPUs:'), \r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_CPU_COUNT_B)), \r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_CPU_COUNT_E))), TRUE, 1);\r\n&gt;       GENERIC_TABLE_ROW(HTML_TABLE_ROW(\r\n&gt;         NEW_CELL_TEXT('SGA Target:'),\r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_SGA_TARGET_PARAM_B), '999,999,999,999'),\r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_SGA_TARGET_PARAM_E), '999,999,999,999')), \r\n&gt;         TRUE, 1);\r\n&gt;       GENERIC_TABLE_ROW(HTML_TABLE_ROW(\r\n&gt;         NEW_CELL_TEXT('PGA Target:'),\r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_PGA_TARGET_PARAM_B), '999,999,999,999'),\r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_PGA_TARGET_PARAM_E), '999,999,999,999')),\r\n&gt;         TRUE, 1);\r\n&gt;       GENERIC_TABLE_ROW(HTML_TABLE_ROW(\r\n&gt;         NEW_CELL_TEXT('Memory Target'),\r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_MEMORY_TARGET_B), '999,999,999,999'),\r\n&gt;         NEW_CELL_NUM(RPT_PARAMS(STAT_MEMORY_TARGET_E), '999,999,999,999')),\r\n&gt;         TRUE, 1); \r\n&gt;       APPEND_ROW(TABLE_END);\r\n&gt; \r\n&gt;     ELSE\r\n&gt;       APPEND_ROW('~~~~~~~~~~~~~~~~~~~~~~~~' || SP_CHR ||\r\n&gt;                  LPAD('Begin              End',37));\r\n&gt;       APPEND_ROW(LPAD('---------------- ----------------',62));\r\n&gt;       APPEND_ROW(LPAD('CPUs:',28)                  || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_CPU_COUNT_B), '999,999,999,999') || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_CPU_COUNT_E), '999,999,999,999'));\r\n&gt;       APPEND_ROW(LPAD('SGA Target:',28)            || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_SGA_TARGET_PARAM_B), '999,999,999,999') \r\n&gt;                                                    || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_SGA_TARGET_PARAM_E), '999,999,999,999'));\r\n&gt;       APPEND_ROW(LPAD('PGA Target:',28)            || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_PGA_TARGET_PARAM_B), '999,999,999,999')\r\n&gt;                                                    || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_PGA_TARGET_PARAM_E), '999,999,999,999'));\r\n&gt;       APPEND_ROW(LPAD('Memory Target:',28)         || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_MEMORY_TARGET_B), '999,999,999,999')\r\n&gt;                                                    || SP_CHR ||\r\n&gt;         TO_CHAR(RPT_PARAMS(STAT_MEMORY_TARGET_E), '999,999,999,999'));\r\n&gt;       APPEND_ROW(BLANK_LINE);\r\n&gt;     END IF;\r\n&gt; \r\n&gt; \r\n&gt;     \r\n&gt; \r\n&gt; \r\n14913c14969,14972\r\n&lt;             and b.status          = ''OPEN''';\r\n---\r\n&gt;             and b.status          = ''OPEN''\r\n&gt;             and exists (select 1 from awr_pdb_snapshot s\r\n&gt;                           where  s.dbid = b.dbid and s.snap_id = b.snap_id\r\n&gt;                              and s.instance_number = b.thread#)';\r\n14951c15010,15013\r\n&lt;             and e.status          = ''OPEN''';\r\n---\r\n&gt;             and e.status          = ''OPEN''\r\n&gt;             and exists (select 1 from awr_pdb_snapshot s\r\n&gt;                           where  s.dbid = e.dbid and s.snap_id = e.snap_id\r\n&gt;                              and s.instance_number = e.thread#)';\r\n15827c15889,15891\r\n&lt;               RPAD('Startup Time', 15);\r\n---\r\n&gt;               RPAD('Startup Time', 15)                   || SP_CHR ||\r\n&gt;               RPAD('User Name', 12)                      || SP_CHR ||\r\n&gt;               RPAD('System Data Visible', 20);\r\n15833c15897,15899\r\n&lt;               RPAD('-', 15, '-');\r\n---\r\n&gt;               RPAD('-', 15, '-')                         || SP_CHR ||\r\n&gt;               RPAD('-', 12, '-')                         || SP_CHR ||\r\n&gt;               RPAD('-', 20, '-');\r\n15837,15839c15903,15908\r\n&lt;     OUTPUT := RPAD(RPT_PARAMS(STAT_INSTNAME), 12)        || SP_CHR ||\r\n&lt;               TO_CHAR(L_INST_NUM, '9999999')             || SP_CHR ||\r\n&lt;               TO_CHAR(RPT_TIME_VALS(STAT_INSTSTART), 'DD-Mon-YY HH24:MI');\r\n---\r\n&gt;     OUTPUT := RPAD(RPT_PARAMS(STAT_INSTNAME), 12)                  || SP_CHR ||\r\n&gt;               TO_CHAR(L_INST_NUM, '9999999')                       || SP_CHR ||\r\n&gt;               TO_CHAR(RPT_TIME_VALS(STAT_INSTSTART), 'DD-Mon-YY HH24:MI')\r\n&gt;                                                                    || SP_CHR ||\r\n&gt;               RPAD(SYS_CONTEXT('USERENV', 'SESSION_USER'), 12)     || SP_CHR ||\r\n&gt;               RPAD(SYS_CONTEXT('USERENV', 'SYSTEM_DATA_VISIBLE'), 20);\r\n15875c15944,15945\r\n&lt;         HDR := HTML_TABLE_HEADER('Instance','Inst Num','Startup Time');\r\n---\r\n&gt;         HDR := HTML_TABLE_HEADER('Instance','Inst Num','Startup Time',\r\n&gt;                                  'User Name', 'System Data Visible');\r\n15881c15951,15953\r\n&lt;                  TO_CHAR(RPT_TIME_VALS(STAT_INSTSTART),'DD-Mon-YY HH24:MI'))\r\n---\r\n&gt;                  TO_CHAR(RPT_TIME_VALS(STAT_INSTSTART),'DD-Mon-YY HH24:MI')),\r\n&gt;                NEW_CELL_TEXT(SYS_CONTEXT('USERENV', 'SESSION_USER')),\r\n&gt;                NEW_CELL_TEXT(SYS_CONTEXT('USERENV', 'SYSTEM_DATA_VISIBLE'))\r\n22424c22496,22499\r\n&lt;             and e.status          = ''OPEN''';\r\n---\r\n&gt;             and e.status          = ''OPEN''\r\n&gt;             and exists (select 1 from awr_pdb_snapshot s\r\n&gt;                           where  s.dbid = e.dbid and s.snap_id = e.snap_id\r\n&gt;                              and s.instance_number = e.thread#)';\r\n26904a26980,26983\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_CPU_COUNT_B, 'cpu_count');\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_SGA_TARGET_PARAM_B, 'sga_target');\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_PGA_TARGET_PARAM_B, 'pga_aggregate_target');\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_MEMORY_TARGET_B, 'memory_target');\r\n26926,26927d27004\r\n&lt;     ADD_RPT_STAT_IN_SRC(STAT_SGA_PARAM, 'sga_target');\r\n&lt;     ADD_RPT_STAT_IN_SRC(STAT_PGA_PARAM, 'pga_aggregate_target');\r\n26931a27009,27012\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_CPU_COUNT_E, 'cpu_count');\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_SGA_TARGET_PARAM_E, 'sga_target');\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_PGA_TARGET_PARAM_E, 'pga_aggregate_target');\r\n&gt;     ADD_RPT_STAT_IN_SRC(STAT_MEMORY_TARGET_E, 'memory_target');\r\n<\/pre>\n<div id=\"SYS.KUPF$FILE.PACKAGE BODY.19.0.0.0_RU\">SYS.KUPF$FILE &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">6662,6668c6662\r\n&lt;       \r\n&lt;       \r\n&lt;       \r\n&lt;       V_SCB.FATALFILEERROR := 0;\r\n&lt; \r\n&lt;       L_RESPONSE := KUPC$QUEUE.TRANSCEIVE(KUPC$_WORKER_FILE_LIST(WID));\r\n&lt;       IF L_RESPONSE IS NULL OR L_RESPONSE.MSGTYPE &lt;&gt; KUPCC.FILE_LIST_MSGTYPE\r\n---\r\n&gt;       IF (SYS.KUPP$PROC.WHAT_AM_I != SYS.KUPP$PROC.VC_KUPP_PROC_TYPE_EXTTBL)\r\n6670,6673c6664,6692\r\n&lt;          DEBUG('Received unexpected msgtype ' || L_RESPONSE.MSGTYPE ||\r\n&lt;                ' in response to FILE_LIST request.');\r\n&lt;          V_SCB.FATALFILEERROR := KUPCC.E_INT_MASTER_NORMAL_EXIT_NUM;\r\n&lt;          DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(KUPCC.E_INT_MASTER_NORMAL_EXIT_NUM);\r\n---\r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         V_SCB.FATALFILEERROR := 0;\r\n&gt; \r\n&gt;         L_RESPONSE := KUPC$QUEUE.TRANSCEIVE(KUPC$_WORKER_FILE_LIST(WID));\r\n&gt;         IF L_RESPONSE IS NULL OR L_RESPONSE.MSGTYPE &lt;&gt; KUPCC.FILE_LIST_MSGTYPE\r\n&gt;         THEN\r\n&gt;           DEBUG('Received unexpected msgtype ' || L_RESPONSE.MSGTYPE ||\r\n&gt;                 ' in response to FILE_LIST request.');\r\n&gt;           V_SCB.FATALFILEERROR := KUPCC.E_INT_MASTER_NORMAL_EXIT_NUM;\r\n&gt;           DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(\r\n&gt;                KUPCC.E_INT_MASTER_NORMAL_EXIT_NUM, TRUE);\r\n&gt;         ELSE\r\n&gt;           V_FILELIST := TREAT(L_RESPONSE AS KUPC$_FILE_LIST).FILELIST;\r\n&gt;           DEBUG('Retrieved FILE_LIST, Count = ' || V_FILELIST.COUNT);\r\n&gt; \r\n&gt;           DMPFILVER := V_FILELIST(V_FILELIST.FIRST).VERSION;\r\n&gt; \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           L_DFLGS := V_FILELIST(V_FILELIST.FIRST).FLAGS;\r\n&gt;         END IF;\r\n6675,6688c6694,6749\r\n&lt;          V_FILELIST := TREAT(L_RESPONSE AS KUPC$_FILE_LIST).FILELIST;\r\n&lt;          DEBUG('Retrieved FILE_LIST, Count = ' || V_FILELIST.COUNT);\r\n&lt; \r\n&lt;          DMPFILVER := V_FILELIST(V_FILELIST.FIRST).VERSION;\r\n&lt; \r\n&lt;          \r\n&lt;          \r\n&lt;          \r\n&lt;          \r\n&lt;          \r\n&lt;          \r\n&lt;          \r\n&lt;          \r\n&lt;          L_DFLGS := V_FILELIST(V_FILELIST.FIRST).FLAGS;\r\n---\r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         DECLARE\r\n&gt;           L_FILETYPE   NUMBER := 0;\r\n&gt;           L_MTFULLNAME T_MTFULLNAME := NULL;\r\n&gt;           L_FILESPEC   T_FILENAME := NULL;\r\n&gt;           L_INFOVALUES SYS.KUPF$FILE_INT.T_INFOVALUES;\r\n&gt;           L_CREDENTIAL T_CREDENTIAL := NULL;  \r\n&gt; \r\n&gt;         BEGIN\r\n&gt;           L_MTFULLNAME := \r\n&gt;             ' ' || SYS.DBMS_ASSERT.ENQUOTE_NAME(JOBOWNER, FALSE) ||\r\n&gt;             '.' || SYS.DBMS_ASSERT.ENQUOTE_NAME(JOBNAME,  FALSE) || ' ';\r\n&gt; \r\n&gt;           EXECUTE IMMEDIATE\r\n&gt;             'SELECT file_name, file_type, user_directory FROM' ||\r\n&gt;                L_MTFULLNAME ||\r\n&gt;               'WHERE process_order = :1 AND duplicate &lt;&gt; 0 AND ROWNUM = 1'\r\n&gt;             INTO  L_FILESPEC,\r\n&gt;                   L_FILETYPE,\r\n&gt;                   L_CREDENTIAL\r\n&gt;             USING KUPCC.PO_IMP_FILE;\r\n&gt; \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           IF (L_FILETYPE &lt;&gt; K_URIDISKTYPE) THEN\r\n&gt;             L_CREDENTIAL := NULL;\r\n&gt;           END IF;\r\n&gt; \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           KUPF$FILE_INT.EXAMINE_DUMP_FILE(L_FILESPEC, L_FILETYPE, L_INFOVALUES,\r\n&gt;                                           L_CREDENTIAL);\r\n&gt; \r\n&gt;           DMPFILVER := TO_NUMBER(L_INFOVALUES(K_INFO_FILVER_NUM));\r\n&gt;           L_DFLGS   := TO_NUMBER(L_INFOVALUES(K_INFO_FLAGS));\r\n&gt; \r\n&gt;         EXCEPTION\r\n&gt;            WHEN OTHERS THEN\r\n&gt;              DEBUG('INIT_CB failure: ' || SQLERRM);\r\n&gt;              V_SCB.FATALFILEERROR := KUPCC.E_INT_MASTER_NORMAL_EXIT_NUM;\r\n&gt;              DBMS_SYS_ERROR.RAISE_SYSTEM_ERROR(\r\n&gt;                 KUPCC.E_INT_MASTER_NORMAL_EXIT_NUM, TRUE);\r\n&gt;         END;\r\n&gt;       END IF;\r\n6690,6691c6751,6752\r\n&lt;          KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_MDCMP_FLG,\r\n&lt;                         KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_MDCMP_FLG));\r\n---\r\n&gt;       KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_MDCMP_FLG,\r\n&gt;                      KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_MDCMP_FLG));\r\n6693,6694c6754,6755\r\n&lt;          KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_TDCMP_FLG,\r\n&lt;                         KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_TDCMP_FLG));\r\n---\r\n&gt;       KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_TDCMP_FLG,\r\n&gt;                      KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_TDCMP_FLG));\r\n6696,6697c6757,6758\r\n&lt;          KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_MDENC_FLG,\r\n&lt;                         KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_MDENC_FLG));\r\n---\r\n&gt;       KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_MDENC_FLG,\r\n&gt;                      KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_MDENC_FLG));\r\n6699,6700c6760,6761\r\n&lt;          KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_TDENC_FLG,\r\n&lt;                         KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_TDENC_FLG));\r\n---\r\n&gt;       KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_TDENC_FLG,\r\n&gt;                      KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_TDENC_FLG));\r\n6702,6703c6763,6764\r\n&lt;          KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_ECENC_FLG,\r\n&lt;                         KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_ECENC_FLG));\r\n---\r\n&gt;       KUPUTIL.BITSOC(V_SCB.JOBFLGS, K_KUPFJOB_ECENC_FLG,\r\n&gt;                      KUPUTIL.BITTST(L_DFLGS, K_KUPFDHF_ECENC_FLG));\r\n6705,6706c6766\r\n&lt;          JFLGS := V_SCB.JOBFLGS;\r\n&lt;       END IF;\r\n---\r\n&gt;       JFLGS := V_SCB.JOBFLGS;\r\n8626c8686,8687\r\n&lt;    IF (V_SCB.INITIALIZED)\r\n---\r\n&gt;    IF (V_SCB.INITIALIZED AND \r\n&gt;       (SYS.KUPP$PROC.WHAT_AM_I != SYS.KUPP$PROC.VC_KUPP_PROC_TYPE_EXTTBL))\r\n8629a8691,8692\r\n&gt; \r\n&gt;    DEBUG('SET DEBUG called');\r\n<\/pre>\n<div id=\"SYS.KUPU$UTILITIES_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.KUPU$UTILITIES_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1784a1785,1807\r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; \r\n&gt; PROCEDURE SET_KGL_TIME_TO_WAIT_FOR_LOCKS (\r\n&gt;                 LWAIT_TIME IN NUMBER)\r\n&gt;   ACCESSIBLE BY (PACKAGE SYS.KUPW$WORKER) IS\r\n&gt;   STMT       VARCHAR2(4000) := NULL;\r\n&gt; BEGIN\r\n&gt;   DEBUG('In SET_KGL_TIME_TO_WAIT_FOR_LOCKS' || LWAIT_TIME);\r\n&gt; \r\n&gt;   STMT := 'ALTER SESSION SET \"_kgl_time_to_wait_for_locks\" =' || LWAIT_TIME;\r\n&gt;   EXECUTE IMMEDIATE STMT;\r\n&gt; \r\n&gt; EXCEPTION\r\n&gt;   WHEN OTHERS THEN\r\n&gt;     DEBUG('Not able to set _kgl_time_to_wait_for_locks to ' || LWAIT_TIME ||\r\n&gt;           DBMS_UTILITY.FORMAT_ERROR_STACK() || ' ' ||\r\n&gt;           DBMS_UTILITY.FORMAT_CALL_STACK());\r\n&gt;     RAISE;\r\n&gt; END SET_KGL_TIME_TO_WAIT_FOR_LOCKS;\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.KUPW$WORKER.PACKAGE BODY.19.0.0.0_RU\">SYS.KUPW$WORKER &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">160a161,168\r\n&gt;   \r\n&gt;   C_DDL_MAX_RETRIES         CONSTANT NUMBER := 25;\r\n&gt;   C_DDL_RETRY_MIN_WAIT      CONSTANT NUMBER := 0.1;\r\n&gt;   C_DDL_RETRY_MAX_WAIT      CONSTANT NUMBER := 1.0;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n1023a1032,1033\r\n&gt;   \r\n&gt;   V_KGL_LOCK_TIMEOUT            NUMBER := 15;\r\n25349a25360\r\n&gt;   L_GRANTOR             KUPCC.T_ID;\r\n25933a25945,25958\r\n&gt;                   \r\n&gt;                   \r\n&gt;                   \r\n&gt;                   \r\n&gt;                   \r\n&gt;                   \r\n&gt;                   \r\n&gt;                   \r\n&gt;                   IF V_CURRENT_OBJECT_TYPE = 'TABLESPACE_QUOTA' THEN\r\n&gt;                     L_GRANTOR := NULL;   \r\n&gt;                   ELSE\r\n&gt;                     L_GRANTOR := NVL(L_OBJDDL(K).GRANTOR,A_GRANTOR(J));\r\n&gt;                   END IF ;\r\n&gt; \r\n25939c25964\r\n&lt;                             NVL(L_OBJDDL(K).GRANTOR,A_GRANTOR(J)),\r\n---\r\n&gt;                             L_GRANTOR,\r\n25956c25981\r\n&lt;                     PUT_SQL_FILE(NVL(L_OBJDDL(K).GRANTOR,A_GRANTOR(J)),\r\n---\r\n&gt;                     PUT_SQL_FILE(L_GRANTOR,\r\n27378c27403\r\n&lt; \r\n---\r\n&gt;   L_WAIT_TIME           NUMBER := 0;\r\n27523a27549,27569\r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n&gt;         IF SQLCODE NOT IN ( -54,\r\n&gt;                             -60,\r\n&gt;                             -4020,\r\n&gt;                             -4021\r\n&gt;                           ) OR\r\n&gt;            L_RETRY &gt; C_DDL_MAX_RETRIES THEN\r\n&gt; \r\n&gt;           IF V_KGL_LOCK_TIMEOUT = 1 AND\r\n&gt;              SQLCODE = -4021 THEN\r\n&gt;             \r\n&gt;             \r\n&gt;             \r\n&gt;             SEND_TRACE_MSG(NULL, '_kgl_time_to_wait_for_lock reset to 15 minutes');\r\n&gt;             SYS.KUPU$UTILITIES_INT.SET_KGL_TIME_TO_WAIT_FOR_LOCKS(15);\r\n&gt;             V_KGL_LOCK_TIMEOUT := 15;\r\n&gt;           END IF;\r\n27525d27570\r\n&lt;         IF SQLCODE NOT IN (-60,-4020) OR L_RETRY &gt; 10 THEN\r\n27529,27530c27574,27596\r\n&lt;           DBMS_LOCK.SLEEP(.5);\r\n&lt;           SEND_TRACE_MSG(NULL, 'Retrying... (' || L_RETRY || ')');\r\n---\r\n&gt; \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           L_WAIT_TIME := TRUNC(DBMS_RANDOM.VALUE(C_DDL_RETRY_MIN_WAIT,\r\n&gt;                                                  C_DDL_RETRY_MAX_WAIT), 2);\r\n&gt;           SEND_TRACE_MSG(NULL,  'Retrying... (' || L_RETRY || ' With wait time '\r\n&gt;                                                 || L_WAIT_TIME || ' seconds');\r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           \r\n&gt;           IF V_KGL_LOCK_TIMEOUT != 1 AND \r\n&gt;              SQLCODE = -4021 THEN\r\n&gt;             SEND_TRACE_MSG(NULL, '_kgl_time_to_wait_for_lock set to 1 minute');\r\n&gt;             SYS.KUPU$UTILITIES_INT.SET_KGL_TIME_TO_WAIT_FOR_LOCKS(1);\r\n&gt;             V_KGL_LOCK_TIMEOUT := 1;\r\n&gt;           END IF;\r\n&gt;           DBMS_LOCK.SLEEP(L_WAIT_TIME);\r\n34414c34480,34484\r\n&lt;   IF V_DEBUG_ENABLE AND V_DEBUG_MORE THEN\r\n---\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   IF V_DEBUG_ENABLE AND V_DEBUG_MORE AND\r\n&gt;      KUPP$PROC.WHAT_AM_I() = KUPP$PROC.VC_KUPP_PROC_TYPE_WORKER THEN\r\n<\/pre>\n<div id=\"SYS.PRVTEMX_PERF.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1063a1064,1187\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;  FUNCTION ACTION_CANCEL_SQL_XML(\r\n&gt;     P_SID              IN   NUMBER,\r\n&gt;     P_SERIAL_NUM       IN   NUMBER,\r\n&gt;     P_INST_ID          IN   NUMBER DEFAULT NULL,\r\n&gt;     P_SQL_ID           IN   VARCHAR2,\r\n&gt;     P_SHOW_SQL         IN   NUMBER DEFAULT 0)\r\n&gt;   RETURN XMLTYPE\r\n&gt;   IS\r\n&gt;     \r\n&gt;     V_SQL_EXEC                  CLOB           := '';\r\n&gt;     V_SQL_PARAMS                VARCHAR2(32767);   \r\n&gt;     \r\n&gt;     \r\n&gt;     V_REF_PARAMS \t        DBMS_REPORT.REF_STRING_IDSPEC;\r\n&gt;    \r\n&gt;     \r\n&gt;     V_REPORT_XML                XMLTYPE       := NULL;\r\n&gt; \r\n&gt;     \r\n&gt;     V_REPORT_BODY_XML           XMLTYPE       := NULL;\r\n&gt; \r\n&gt;     \r\n&gt;     V_REPORT_SQL                CLOB          := '';\r\n&gt; \r\n&gt;     \r\n&gt;     V_ELAPSED                   NUMBER;\r\n&gt;     V_CPU                       NUMBER;\r\n&gt; \r\n&gt;     \r\n&gt;     V_ORIG_ENV                  DBMS_REPORT.FORMAT_PARAM_VALUES;\r\n&gt;     V_SET_ENV                   BOOLEAN;\r\n&gt;     \r\n&gt;     \r\n&gt;     V_INST_ID                   NUMBER := NVL(P_INST_ID,\r\n&gt;                                               USERENV('INSTANCE'));\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;      \r\n&gt;      \r\n&gt;      V_ORIG_ENV       := DBMS_REPORT.FORMAT_PARAM_VALUES();\r\n&gt;      V_SET_ENV        := DBMS_REPORT.SETUP_REPORT_ENV(V_ORIG_ENV);\r\n&gt; \r\n&gt;      \r\n&gt;      DBMS_REPORT.GET_TIMING_INFO(0, V_ELAPSED, V_CPU);\r\n&gt;      \r\n&gt;      V_SQL_PARAMS := P_SID || ','  || P_SERIAL_NUM;\r\n&gt; \r\n&gt;      \r\n&gt;      IF (V_INST_ID IS NOT NULL) THEN\r\n&gt;        V_SQL_PARAMS := V_SQL_PARAMS || ',@' || V_INST_ID;\r\n&gt;      END IF;\r\n&gt; \r\n&gt;      \r\n&gt;      V_SQL_PARAMS := V_SQL_PARAMS || ',' || P_SQL_ID;\r\n&gt;      \r\n&gt;      \r\n&gt;      V_SQL_PARAMS := DBMS_ASSERT.ENQUOTE_LITERAL(V_SQL_PARAMS);\r\n&gt; \r\n&gt;      \r\n&gt;      V_SQL_EXEC := 'ALTER SYSTEM CANCEL SQL ' || V_SQL_PARAMS;\r\n&gt;                                                                                                               \r\n&gt;      \r\n&gt;      IF (P_SHOW_SQL IS NULL OR P_SHOW_SQL = 0) THEN\r\n&gt;       \r\n&gt;        \r\n&gt;        BEGIN\r\n&gt;          EXECUTE IMMEDIATE V_SQL_EXEC;\r\n&gt;          \r\n&gt;          EXCEPTION\r\n&gt;            WHEN OTHERS THEN\r\n&gt;          RAISE;\r\n&gt;        END;\r\n&gt; \r\n&gt;       END IF;\r\n&gt; \r\n&gt;       \r\n&gt;       DBMS_REPORT.GET_TIMING_INFO(1, V_ELAPSED, V_CPU);\r\n&gt;     \r\n&gt;       \r\n&gt;       \r\n&gt;       V_REPORT_XML :=\r\n&gt;         PRVT_REPORT_TAGS.BUILD_REPORT_TAG(\r\n&gt;                  DBMS_REPORT.BUILD_REPORT_REFERENCE_STRUCT(\r\n&gt;                    'session', 'cancel_sql', V_REF_PARAMS),\r\n&gt;                  V_ELAPSED, V_CPU);\r\n&gt;      \r\n&gt;       \r\n&gt;       SELECT XMLELEMENT(\"sql\", NULL, V_SQL_EXEC)\r\n&gt;       INTO V_REPORT_BODY_XML\r\n&gt;       FROM SYS.DUAL;\r\n&gt; \r\n&gt;       \r\n&gt;       V_REPORT_XML := V_REPORT_XML.APPENDCHILDXML('\/*', V_REPORT_BODY_XML);\r\n&gt; \r\n&gt;       \r\n&gt;       IF (V_SET_ENV) THEN\r\n&gt;       \r\n&gt;         DBMS_REPORT.RESTORE_REPORT_ENV(V_ORIG_ENV);\r\n&gt;         \r\n&gt;       END IF;\r\n&gt; \r\n&gt; \r\n&gt;       \r\n&gt;       RETURN  V_REPORT_XML;\r\n&gt;       \r\n&gt;   END ACTION_CANCEL_SQL_XML;\r\n<\/pre>\n<div id=\"SYS.PRVTEMX_RSRCMGR.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_RSRCMGR &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2530,2578d2529\r\n&lt;   PROCEDURE I_CREATE_AWR_CG_MAP(\r\n&lt;     P_CON_ID     IN     NUMBER,\r\n&lt;     P_AWR_PERIOD IN OUT NOCOPY PRVT_AWRV_METADATA,\r\n&lt;     P_CGRP_MAP   IN OUT NOCOPY PRVT_AWRV_INSTTAB)\r\n&lt;   IS\r\n&lt;     \r\n&lt;     SQLSTMT_MAP CONSTANT VARCHAR2(32767) := q'[\r\n&lt;       select sys.prvt_awrv_inst(id, name)\r\n&lt;         from (\r\n&lt;           select distinct \r\n&lt;                  consumer_group_id id, \r\n&lt;                  consumer_group_name name \r\n&lt;             from sys.awr_root_rsrc_consumer_group s\r\n&lt;            where s.dbid             = :m_dbid\r\n&lt;              and s.snap_id          &gt; :m_begin_snap\r\n&lt;              and s.snap_id         &lt;= :m_end_snap\r\n&lt;              and s.con_dbid         = :m_con_dbid\r\n&lt;              and ]' || P_AWR_PERIOD.GET_INST_CLAUSE('s') ||')';\r\n&lt;          \r\n&lt;   BEGIN\r\n&lt;     IF (P_CON_ID = 0 OR P_CON_ID &gt; 2) THEN\r\n&lt;       EXECUTE IMMEDIATE SQLSTMT_MAP\r\n&lt;         BULK COLLECT INTO P_CGRP_MAP\r\n&lt;         USING P_AWR_PERIOD.M_DBID,\r\n&lt;               P_AWR_PERIOD.M_BEGIN_SNAP, P_AWR_PERIOD.M_END_SNAP,\r\n&lt;               SYS.DBMS_SQLTUNE_UTIL0.CDBCON_ID_TO_DBID(P_CON_ID),\r\n&lt;               P_AWR_PERIOD.M_INST_ID_LOW, P_AWR_PERIOD.M_INST_ID_HIGH,\r\n&lt;               P_AWR_PERIOD.M_INST_ID_LIST;\r\n&lt;     ELSE\r\n&lt;       \r\n&lt;       P_CGRP_MAP := PRVT_AWRV_INSTTAB();\r\n&lt;     END IF;\r\n&lt;   END I_CREATE_AWR_CG_MAP;\r\n&lt; \r\n&lt; \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n2883c2834,2835\r\n&lt;         I_CREATE_AWR_CG_MAP(L_CON_ID, AWR_PERIOD, L_DIM_MAP);  \r\n---\r\n&gt;         PRVT_AWR_VIEWER.CREATE_CONSUMER_GROUP_MAP(\r\n&gt;           L_CON_ID, AWR_PERIOD, L_DIM_MAP);  \r\n<\/pre>\n<div id=\"SYS.PRVT_ASH_OMX.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVT_ASH_OMX &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">42,44d41\r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n56d52\r\n&lt;     FILTERED        IN NUMBER   := NULL,\r\n69c65\r\n&lt;     IF (FILTERED = 1) THEN\r\n---\r\n&gt;     IF (FILTER_LIST IS NOT NULL) THEN\r\n188,190d183\r\n&lt;   \r\n&lt;   \r\n&lt;   \r\n203d195\r\n&lt;     FILTERED        IN NUMBER   := NULL,\r\n<\/pre>\n<div id=\"SYS.PRVT_AWR_VIEWER.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVT_AWR_VIEWER &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1183a1184,1265\r\n&gt;   \r\n&gt;   \r\n&gt;   ADW_RMMETRICS_COMMON CONSTANT VARCHAR2(32767) := q'[\r\n&gt;       with rmmetrics_data as (-- ADW workload main query\r\n&gt;         select bucket_id, \r\n&gt;                new_id consumer_group_id,\r\n&gt;                case \r\n&gt;                  when rn = 1 and :is_awr = 1\r\n&gt;                    then (select \/*+ cardinality(t 1) *\/ instance_name\r\n&gt;                            from table(cast(:p_contTab \r\n&gt;                                       as sys.prvt_awrv_instTab)) t\r\n&gt;                           where t.inst_id = consumer_group_id)\r\n&gt;                  when rn = 1 \r\n&gt;                    then consumer_group_name \r\n&gt;                  else null \r\n&gt;                end consumer_group_name,\r\n&gt;                avg_cpu_utilization,\r\n&gt;                avg_active_parallel_stmts,\r\n&gt;                avg_queued_parallel_stmts\r\n&gt;           from ( -- generate an id since default ids can be high numbers\r\n&gt;             select bucket_id,\r\n&gt;                    consumer_group_id,\r\n&gt;                    consumer_group_name,\r\n&gt;                    avg_cpu_utilization, \r\n&gt;                    avg_active_parallel_stmts,\r\n&gt;                    avg_queued_parallel_stmts,\r\n&gt;                    row_number() over (partition by consumer_group_id, \r\n&gt;                                                consumer_group_name\r\n&gt;                                       order by bucket_id, \r\n&gt;                                                consumer_group_id, \r\n&gt;                                                consumer_group_name) rn,\r\n&gt;                    -- generate an id\r\n&gt;                    dense_rank() over (order by consumer_group_id, \r\n&gt;                                                consumer_group_name) new_id\r\n&gt;               from (#GENERATE_METRICS_BUCKETID#) rsrc\r\n&gt;               where avg_cpu_utilization +\r\n&gt;                     avg_active_parallel_stmts + \r\n&gt;                     avg_queued_parallel_stmts &gt; 0) \r\n&gt;        )\r\n&gt; \r\n&gt;       -- construct xml\r\n&gt;       select xmlagg(\r\n&gt;                nvl2(buckets,\r\n&gt;                     xmlelement(\"stattype\",\r\n&gt;                      xmlattributes('rsrcmgrmetric' as \"name\"),\r\n&gt;                      xmlelement(\"stat_info\",\r\n&gt;                        nvl(stat_id, \r\n&gt;                            xmlelement(\"stat\", \r\n&gt;                              xmlattributes(\r\n&gt;                                consumer_group_id as \"id\", \r\n&gt;                                consumer_group_id as \"name\")))),\r\n&gt;                      #GENERATE_BUCKETS_TAG#),\r\n&gt;                     null))\r\n&gt;         from ( -- aggregate buckets\r\n&gt;           select #GENERATE_BUCKETID_TAG#,\r\n&gt;                  xmlagg(stat_id)  stat_id, \r\n&gt;                  max(consumer_group_id) consumer_group_id\r\n&gt;             from ( -- aggregate stats in each bucket\r\n&gt;               select bucket_id, \r\n&gt;                      max(consumer_group_id) consumer_group_id,\r\n&gt;                      xmlagg(stat_id order by consumer_group_id) stat_id,\r\n&gt;                      xmlagg(xmlelement(\"stat\",\r\n&gt;                       xmlattributes(consumer_group_id as \"id\",\r\n&gt;                             round(avg_cpu_utilization, 2)         as \"cpu\",\r\n&gt;                             round(avg_active_parallel_stmts, 2)   as \"apst\",\r\n&gt;                             round(avg_queued_parallel_stmts, 2)   as \"qpst\"\r\n&gt;                         )\r\n&gt;                       )\r\n&gt;                       order by consumer_group_id)  stats\r\n&gt;                 from ( -- generate id name map\r\n&gt;                   select bucket_id, consumer_group_id,\r\n&gt;                          nvl2(consumer_group_name,\r\n&gt;                               xmlelement(\"stat\",\r\n&gt;                                xmlattributes(consumer_group_id as \"id\",\r\n&gt;                                  consumer_group_name as \"name\")),\r\n&gt;                               null)      stat_id,\r\n&gt;                          avg_cpu_utilization,\r\n&gt;                          avg_active_parallel_stmts,\r\n&gt;                          avg_queued_parallel_stmts\r\n&gt;                    from rmmetrics_data)\r\n&gt;                group by bucket_id))]';\r\n&gt; \r\n1311a1394,1451\r\n&gt;   PROCEDURE CREATE_CONSUMER_GROUP_MAP(\r\n&gt;     P_CON_ID     IN     NUMBER,\r\n&gt;     P_AWR_PERIOD IN OUT NOCOPY PRVT_AWRV_METADATA,\r\n&gt;     P_CGRP_MAP   IN OUT NOCOPY PRVT_AWRV_INSTTAB)\r\n&gt;   IS\r\n&gt; \r\n&gt;     L_QRY VARCHAR2(32767) := NULL;\r\n&gt; \r\n&gt;     \r\n&gt;     SQLSTMT_MAP CONSTANT VARCHAR2(32767) := q'[\r\n&gt;       select sys.prvt_awrv_inst(id, name)\r\n&gt;         from (\r\n&gt;           select distinct \r\n&gt;                  consumer_group_id id, \r\n&gt;                  consumer_group_name name \r\n&gt;             from sys.awr_root_rsrc_consumer_group s\r\n&gt;            where s.dbid             = :m_dbid\r\n&gt;              and s.snap_id          &gt; :m_begin_snap\r\n&gt;              and s.snap_id         &lt;= :m_end_snap\r\n&gt;              and s.con_dbid         = :m_con_dbid\r\n&gt;              and ]' || P_AWR_PERIOD.GET_INST_CLAUSE('s') ||')';\r\n&gt; \r\n&gt;   BEGIN\r\n&gt; \r\n&gt;     L_QRY := SQLSTMT_MAP;\r\n&gt; \r\n&gt;     DBMS_SQLTUNE_UTIL1.REPLACE_AWR_VIEW_PREFIX(\r\n&gt;       L_QRY, P_AWR_PERIOD.M_AWR_VIEW_PREFIX);\r\n&gt; \r\n&gt;     IF (P_CON_ID = 0 OR P_CON_ID &gt; 2) THEN\r\n&gt;       EXECUTE IMMEDIATE L_QRY\r\n&gt;         BULK COLLECT INTO P_CGRP_MAP\r\n&gt;         USING P_AWR_PERIOD.M_DBID,\r\n&gt;               P_AWR_PERIOD.M_BEGIN_SNAP, P_AWR_PERIOD.M_END_SNAP,\r\n&gt;               SYS.DBMS_SQLTUNE_UTIL0.CDBCON_ID_TO_DBID(P_CON_ID),\r\n&gt;               P_AWR_PERIOD.M_INST_ID_LOW, P_AWR_PERIOD.M_INST_ID_HIGH,\r\n&gt;               P_AWR_PERIOD.M_INST_ID_LIST;\r\n&gt;     ELSE\r\n&gt;       \r\n&gt;       P_CGRP_MAP := PRVT_AWRV_INSTTAB();\r\n&gt;     END IF;\r\n&gt; \r\n&gt;   END CREATE_CONSUMER_GROUP_MAP;\r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n16408a16549,16550\r\n&gt;   \r\n&gt;   \r\n16420a16563\r\n&gt;     INCLUDE_SQLS      IN NUMBER         DEFAULT NULL,\r\n16606c16749\r\n&lt;     IF (L_DIM_STAT IS NULL AND L_DIM_NAME IS NULL) THEN \r\n---\r\n&gt;     IF (INCLUDE_SQLS = 0) THEN\r\n16607a16751,16753\r\n&gt;       L_TOPSQL_XML := NULL;\r\n&gt;     \r\n&gt;     ELSE\r\n16609,16631c16755\r\n&lt;       IF (IS_REALTIME IS NULL OR IS_REALTIME = G_TIMEPICKER_HISTORICAL) THEN\r\n&lt;         \r\n&lt;       IF (L_START_TIME IS NOT NULL AND L_END_TIME IS NOT NULL AND\r\n&lt;           (L_END_TIME - L_START_TIME)*24*60 &lt; L_SNAPINT_MINS) \r\n&lt;       THEN\r\n&lt;         L_USEASH := TRUE;\r\n&lt;       END IF;\r\n&lt;       \r\n&lt;       \r\n&lt;       ELSE\r\n&lt;         L_USEASH := TRUE;\r\n&lt;       END IF;\r\n&lt; \r\n&lt; \r\n&lt;     IF (L_USEASH) THEN\r\n&lt;       SELECT XMLELEMENT(\"region_data\",\r\n&lt;               XMLAGG(\r\n&lt;                 XMLELEMENT(\"stattype\",\r\n&lt;                  XMLATTRIBUTES('topsql' AS \"name\",\r\n&lt;                                 '10' AS \"topn\",\r\n&lt;                                 'ash'   AS \"source\"))))\r\n&lt;         INTO L_TOPSQL_XML\r\n&lt;         FROM SYS.DUAL;\r\n---\r\n&gt;       IF (L_DIM_STAT IS NULL AND L_DIM_NAME IS NULL) THEN \r\n16634,16635c16758,16768\r\n&lt;         IF (L_END_TIME IS NULL) THEN\r\n&lt;           L_END_TIME := SYSDATE;\r\n---\r\n&gt;         IF (IS_REALTIME IS NULL OR IS_REALTIME = G_TIMEPICKER_HISTORICAL) THEN\r\n&gt;           \r\n&gt;           IF (L_START_TIME IS NOT NULL AND L_END_TIME IS NOT NULL AND\r\n&gt;              (L_END_TIME - L_START_TIME)*24*60 &lt; L_SNAPINT_MINS) \r\n&gt;           THEN\r\n&gt;             L_USEASH := TRUE;\r\n&gt;           END IF;\r\n&gt;           \r\n&gt;           \r\n&gt;         ELSE\r\n&gt;           L_USEASH := TRUE;\r\n16638,16640d16770\r\n&lt;         IF (L_START_TIME IS NULL) THEN\r\n&lt;           L_START_TIME := L_END_TIME - 1\/24;\r\n&lt;         END IF;\r\n16642,16651c16772,16800\r\n&lt;         L_TOPSQL_XML := L_TOPSQL_XML.APPENDCHILDXML('\/*\/stattype',\r\n&lt;                         SYS.DBMS_ASH_INTERNAL.REPORT_ASHVIEWER_XML(\r\n&lt;                            DBID       =&gt; L_DBID,\r\n&lt;                            INST_ID    =&gt; L_INST_ID,\r\n&lt;                            BEGIN_TIME =&gt; \r\n&lt;                              TO_CHAR(L_START_TIME,'hh24:mi:ss mm\/dd\/yyyy'),\r\n&lt;                            END_TIME   =&gt; \r\n&lt;                              TO_CHAR(L_END_TIME,'hh24:mi:ss mm\/dd\/yyyy'),\r\n&lt;                            REPORT_LEVEL=&gt;'&lt;sqlid,wait_class&gt;{treemap}', \r\n&lt;                            PARENT_REPORT =&gt; 'topsql'));\r\n---\r\n&gt;         IF (L_USEASH) THEN\r\n&gt;           SELECT XMLELEMENT(\"region_data\",\r\n&gt;                    XMLAGG(\r\n&gt;                      XMLELEMENT(\"stattype\",\r\n&gt;                        XMLATTRIBUTES('topsql' AS \"name\",\r\n&gt;                                      '10' AS \"topn\",\r\n&gt;                                      'ash'   AS \"source\"))))\r\n&gt;             INTO L_TOPSQL_XML\r\n&gt;             FROM SYS.DUAL;\r\n&gt; \r\n&gt;             \r\n&gt;             IF (L_END_TIME IS NULL) THEN\r\n&gt;               L_END_TIME := SYSDATE;\r\n&gt;             END IF;\r\n&gt; \r\n&gt;             IF (L_START_TIME IS NULL) THEN\r\n&gt;               L_START_TIME := L_END_TIME - 1\/24;\r\n&gt;             END IF;\r\n&gt; \r\n&gt;             L_TOPSQL_XML := L_TOPSQL_XML.APPENDCHILDXML('\/*\/stattype',\r\n&gt;                               SYS.DBMS_ASH_INTERNAL.REPORT_ASHVIEWER_XML(\r\n&gt;                                 DBID          =&gt; L_DBID,\r\n&gt;                                 INST_ID       =&gt; L_INST_ID,\r\n&gt;                                 BEGIN_TIME    =&gt; \r\n&gt;                                   TO_CHAR(L_START_TIME,'hh24:mi:ss mm\/dd\/yyyy'),\r\n&gt;                                 END_TIME      =&gt; \r\n&gt;                                   TO_CHAR(L_END_TIME,'hh24:mi:ss mm\/dd\/yyyy'),\r\n&gt;                                 REPORT_LEVEL  =&gt;'&lt;sqlid,wait_class&gt;{treemap}', \r\n&gt;                                 PARENT_REPORT =&gt; 'topsql'));\r\n16653c16802\r\n&lt;     ELSE\r\n---\r\n&gt;         ELSE\r\n16655,16678c16804,16829\r\n&lt;       \r\n&lt;       L_TOPSQL_XML := I_REP_AWRDATA_XML(\r\n&lt;                         START_TIME       =&gt; L_START_TIME,\r\n&lt;                         END_TIME         =&gt; L_END_TIME,\r\n&lt;                         TIMEPICKER_START =&gt; NULL,\r\n&lt;                         TIMEPICKER_END   =&gt; NULL,\r\n&lt;                         INSTANCE_LIST    =&gt; L_INSTANCE_LIST,\r\n&lt;                         DBID             =&gt; L_DBID,\r\n&lt;                         BUCKET_MAX_COUNT =&gt; 1,  \r\n&lt;                         TIME_MODEL       =&gt; 'no',\r\n&lt;                         WAIT_CLASS       =&gt; 'no',\r\n&lt;                         WAIT_EVENT       =&gt; 'no',\r\n&lt;                         EVENT_CLASS      =&gt; 'no',\r\n&lt;                         SYSSTAT          =&gt; 'no',\r\n&lt;                         SQLSTAT          =&gt; 'EM_TOP_SQL',\r\n&lt;                         OSSTAT           =&gt; 'no',\r\n&lt;                         IOSTAT           =&gt; 'no',\r\n&lt;                         MEMORY           =&gt; 'no',\r\n&lt;                         SPACE            =&gt; 'no',\r\n&lt;                         KEY_STATISTICS   =&gt; 'no',\r\n&lt;                         INST_DETAIL      =&gt; L_SHOW_INST_DETAIL,\r\n&lt;                         MEMBERS          =&gt; 'no',\r\n&lt;                         SUMMARY          =&gt; 'no',\r\n&lt;                         SHOW_SQL         =&gt; SHOW_SQL);\r\n---\r\n&gt;           \r\n&gt;           L_TOPSQL_XML := I_REP_AWRDATA_XML(\r\n&gt;                             START_TIME       =&gt; L_START_TIME,\r\n&gt;                             END_TIME         =&gt; L_END_TIME,\r\n&gt;                             TIMEPICKER_START =&gt; NULL,\r\n&gt;                             TIMEPICKER_END   =&gt; NULL,\r\n&gt;                             INSTANCE_LIST    =&gt; L_INSTANCE_LIST,\r\n&gt;                             DBID             =&gt; L_DBID,\r\n&gt;                             BUCKET_MAX_COUNT =&gt; 1,  \r\n&gt;                             TIME_MODEL       =&gt; 'no',\r\n&gt;                             WAIT_CLASS       =&gt; 'no',\r\n&gt;                             WAIT_EVENT       =&gt; 'no',\r\n&gt;                             EVENT_CLASS      =&gt; 'no',\r\n&gt;                             SYSSTAT          =&gt; 'no',\r\n&gt;                             SQLSTAT          =&gt; 'EM_TOP_SQL',\r\n&gt;                             OSSTAT           =&gt; 'no',\r\n&gt;                             IOSTAT           =&gt; 'no',\r\n&gt;                             MEMORY           =&gt; 'no',\r\n&gt;                             SPACE            =&gt; 'no',\r\n&gt;                             KEY_STATISTICS   =&gt; 'no',\r\n&gt;                             INST_DETAIL      =&gt; L_SHOW_INST_DETAIL,\r\n&gt;                             MEMBERS          =&gt; 'no',\r\n&gt;                             SUMMARY          =&gt; 'no',\r\n&gt;                             SHOW_SQL         =&gt; SHOW_SQL);\r\n&gt;         END IF;\r\n&gt;       END IF;\r\n16680d16830\r\n&lt;   END IF;\r\n18093a18244,18921\r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION REPORT_ADW_WORKLOAD_REALTIME(\r\n&gt;     START_TIME        IN DATE           DEFAULT NULL,\r\n&gt;     END_TIME          IN DATE           DEFAULT NULL,\r\n&gt;     INST_ID_LOW       IN NUMBER         DEFAULT NULL,\r\n&gt;     INST_ID_HIGH      IN NUMBER         DEFAULT NULL,\r\n&gt;     SHOW_SQL          IN NUMBER         DEFAULT 0)\r\n&gt;   RETURN XMLTYPE\r\n&gt;   IS\r\n&gt;     \r\n&gt;     L_ELAPSED        NUMBER;\r\n&gt;     L_CPU            NUMBER;\r\n&gt; \r\n&gt;     \r\n&gt;     L_REF_PARAMS     DBMS_REPORT.REF_STRING_IDSPEC;\r\n&gt; \r\n&gt;     \r\n&gt;     L_ORIG_ENV       DBMS_REPORT.FORMAT_PARAM_VALUES;\r\n&gt;     L_SET_ENV        BOOLEAN;\r\n&gt; \r\n&gt;     \r\n&gt;     L_QUERY          VARCHAR2(32767) := NULL;\r\n&gt;     L_REPORT_SQL     CLOB;\r\n&gt; \r\n&gt;     \r\n&gt;     L_REPORT_XML     XMLTYPE := NULL;\r\n&gt;     L_RMMETRICS_XML  XMLTYPE := NULL;\r\n&gt; \r\n&gt; \r\n&gt;     \r\n&gt;     L_START_TIME     DATE := START_TIME;\r\n&gt;     L_END_TIME       DATE := END_TIME;\r\n&gt;     L_INST_ID_LOW    NUMBER := INST_ID_LOW;\r\n&gt;     L_INST_ID_HIGH   NUMBER := INST_ID_HIGH;\r\n&gt; \r\n&gt;     \r\n&gt;     L_BUCKET_COUNT    NUMBER;\r\n&gt;     L_BUCKET_INTERVAL NUMBER;\r\n&gt; \r\n&gt;     \r\n&gt;     L_CG_MAP PRVT_AWRV_INSTTAB := NULL;\r\n&gt; \r\n&gt;     ADW_RMMETRICS_REALTIME  CONSTANT VARCHAR2(32767) := q'[\r\n&gt;     select bucket_id,\r\n&gt;            consumer_group_id, consumer_group_name,\r\n&gt;            avg(avg_cpu_utilization)  avg_cpu_utilization,\r\n&gt;            sum(avg_active_parallel_stmts) \r\n&gt;                                      avg_active_parallel_stmts,\r\n&gt;            sum(avg_queued_parallel_stmts) \r\n&gt;                                      avg_queued_parallel_stmts\r\n&gt;       from table(sys.gv$(cursor(\r\n&gt;            select trunc(\r\n&gt;                   ((extract(day from \r\n&gt;                       (cast(trunc(end_time,'mi') as timestamp) -\r\n&gt;                        cast(trunc(to_date(:b_start_time, :date_fmt),'mi') \r\n&gt;                          as timestamp))) \r\n&gt;                     * 86400 +\r\n&gt;                     extract(hour from \r\n&gt;                       (cast(trunc(end_time,'mi') as timestamp) -\r\n&gt;                        cast(trunc(to_date(:b_start_time, :date_fmt),'mi') \r\n&gt;                          as timestamp))) \r\n&gt;                     * 3600 + \r\n&gt;                     extract(minute from\r\n&gt;                       (cast(trunc(end_time,'mi') as timestamp) -\r\n&gt;                        cast(trunc(to_date(:b_start_time, :date_fmt),'mi') \r\n&gt;                          as timestamp))) \r\n&gt;                     * 60 + \r\n&gt;                     extract(second from\r\n&gt;                       (cast(trunc(end_time,'mi') as timestamp) -\r\n&gt;                        cast(trunc(to_date(:b_start_time, :date_fmt),'mi') \r\n&gt;                          as timestamp))) \r\n&gt;                    )\r\n&gt;                    \/ :p_bucket_interval)) + 1 bucket_id,\r\n&gt;                   consumer_group_name,\r\n&gt;                   consumer_group_id,\r\n&gt;                   case \r\n&gt;                     when running_sessions_limit is null or\r\n&gt;                          running_sessions_limit = 0 then\r\n&gt;                       avg_cpu_utilization\r\n&gt;                     else\r\n&gt;                       (avg_running_sessions\/running_sessions_limit)*100 \r\n&gt;                   end avg_cpu_utilization,\r\n&gt;                   avg_active_parallel_stmts,\r\n&gt;                   avg_queued_parallel_stmts\r\n&gt;              from v$rsrcmgrmetric_history\r\n&gt;             where end_time &gt;= to_date(:b_start_time,:date_fmt)\r\n&gt;               and end_time &lt;  to_date(:b_end_time,:date_fmt)\r\n&gt;               and userenv('INSTANCE') between :p_inst_id_low\r\n&gt;                                           and :p_inst_id_high)))\r\n&gt;          group by bucket_id, consumer_group_id, consumer_group_name]';\r\n&gt; \r\n&gt;   \r\n&gt;   ADW_RMMETRICS_RT_HEADER   CONSTANT VARCHAR2(32767) := q'[\r\n&gt;       var is_awr            number;\r\n&gt;       var p_contTab         prvt_awrv_instTab;\r\n&gt;       var b_start_time      varchar2(4000);\r\n&gt;       var b_end_time        varchar2(4000);\r\n&gt;       var p_bucket_interval number;\r\n&gt;       var p_bucket_count    number;\r\n&gt;       var p_inst_id_low     number;\r\n&gt;       var p_inst_id_high    number;\r\n&gt;       var b_min_time        varchar2(4000);\r\n&gt;       var b_max_time        varchar2(4000);\r\n&gt;       var b_duration        number;\r\n&gt;       var date_fmt          varchar2(4000);\r\n&gt;       begin\r\n&gt;         :is_awr            := #is_awr#;\r\n&gt;         :p_contTab         := #p_contTab#;\r\n&gt;         :b_start_time      := '#b_start_time#';\r\n&gt;         :b_end_time        := '#b_end_time#';\r\n&gt;         :p_bucket_interval := #p_bucket_interval#;\r\n&gt;         :p_bucket_count    := #p_bucket_count#;\r\n&gt;         :p_inst_id_low     := #p_inst_id_low#;\r\n&gt;         :p_inst_id_high    := #p_inst_id_high#;\r\n&gt;         :b_min_time        := '#b_min_time#';\r\n&gt;         :b_max_time        := '#b_max_time#';\r\n&gt;         :b_duration        := #b_duration#;\r\n&gt;         :date_fmt          := '#date_fmt#';\r\n&gt;       end;\r\n&gt;       \/]';\r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     \r\n&gt;     L_ORIG_ENV := DBMS_REPORT.FORMAT_PARAM_VALUES();\r\n&gt;     L_SET_ENV  := DBMS_REPORT.SETUP_REPORT_ENV(L_ORIG_ENV);\r\n&gt; \r\n&gt;     \r\n&gt;     DBMS_REPORT.GET_TIMING_INFO(0, L_ELAPSED, L_CPU);\r\n&gt; \r\n&gt;     \r\n&gt; \r\n&gt;     \r\n&gt;     IF (START_TIME IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('start_time') :=\r\n&gt;         TO_CHAR(START_TIME,DBMS_REPORT.DATE_FMT_MOD);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (END_TIME IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('end_time') :=\r\n&gt;         TO_CHAR(END_TIME,DBMS_REPORT.DATE_FMT_MOD);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (INST_ID_LOW IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('inst_id_low') := TO_CHAR(INST_ID_LOW);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (INST_ID_HIGH IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('inst_id_high') := TO_CHAR(INST_ID_HIGH);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     L_REF_PARAMS('is_realtime') := 1;\r\n&gt; \r\n&gt;     IF (SHOW_SQL IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('show_sql') := SHOW_SQL; \r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     IF (L_INST_ID_LOW IS NULL) THEN\r\n&gt;       L_INST_ID_LOW := 0;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (L_INST_ID_HIGH IS NULL) THEN\r\n&gt;       L_INST_ID_HIGH := INST_ID_MAX;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     IF (END_TIME IS NULL) THEN\r\n&gt;       L_END_TIME := SYSDATE;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     IF (START_TIME IS NULL) THEN\r\n&gt;       L_START_TIME := L_END_TIME - 1\/24;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     CALCULATE_BUCKETS(L_BUCKET_COUNT, L_BUCKET_INTERVAL, \r\n&gt;                       (L_END_TIME - L_START_TIME)*DTOS,\r\n&gt;                       NULL);\r\n&gt; \r\n&gt;     \r\n&gt;     L_QUERY := ADW_RMMETRICS_COMMON;\r\n&gt;    \r\n&gt;     \r\n&gt;     L_QUERY := REPLACE(L_QUERY,'#GENERATE_BUCKETS_TAG#', GENERATE_BUCKETS_TAG2);\r\n&gt;     L_QUERY := REPLACE(L_QUERY,'#GENERATE_BUCKETID_TAG#', \r\n&gt;                                 GENERATE_BUCKETID_TAG);\r\n&gt;     L_QUERY := REPLACE(L_QUERY,'#GENERATE_METRICS_BUCKETID#', \r\n&gt;                                 ADW_RMMETRICS_REALTIME);\r\n&gt; \r\n&gt;     IF (SHOW_SQL = 1) THEN\r\n&gt;       \r\n&gt;       L_REPORT_SQL := ADW_RMMETRICS_RT_HEADER;\r\n&gt; \r\n&gt;       \r\n&gt;       L_REPORT_SQL := L_REPORT_SQL || L_QUERY;\r\n&gt; \r\n&gt;       \r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#is_awr#', 0);\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_contTab#', 'null');\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_start_time#',\r\n&gt;                                             TO_CHAR(L_START_TIME, DATE_FMT));\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_end_time#',\r\n&gt;                                             TO_CHAR(L_END_TIME, DATE_FMT));\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_bucket_count#', L_BUCKET_COUNT);\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_bucket_interval#', \r\n&gt;                                             L_BUCKET_INTERVAL);\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_inst_id_low#', L_INST_ID_LOW);\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_inst_id_high#', L_INST_ID_HIGH);\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_min_time#', \r\n&gt;                                             TO_CHAR(L_START_TIME, DATE_FMT));\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_max_time#', \r\n&gt;                                             TO_CHAR(L_END_TIME, DATE_FMT));\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_duration#',\r\n&gt;                               ROUND((L_END_TIME - L_START_TIME)*DTOS));\r\n&gt;       L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#date_fmt#', DATE_FMT);\r\n&gt; \r\n&gt;       L_RMMETRICS_XML := I_SHOW_SQL_XML('rsrcmgrmetric', L_REPORT_SQL);\r\n&gt; \r\n&gt;     ELSE\r\n&gt;       \r\n&gt;       EXECUTE IMMEDIATE L_QUERY\r\n&gt;          INTO L_RMMETRICS_XML\r\n&gt;         USING 0, L_CG_MAP,\r\n&gt;               TO_CHAR(L_START_TIME, DATE_FMT), DATE_FMT, \r\n&gt;               TO_CHAR(L_START_TIME, DATE_FMT), DATE_FMT, \r\n&gt;               TO_CHAR(L_START_TIME, DATE_FMT), DATE_FMT, \r\n&gt;               TO_CHAR(L_START_TIME, DATE_FMT), DATE_FMT, \r\n&gt;               L_BUCKET_INTERVAL,\r\n&gt;               TO_CHAR(L_START_TIME, DATE_FMT), DATE_FMT,\r\n&gt;               TO_CHAR(L_END_TIME, DATE_FMT), DATE_FMT,\r\n&gt;               L_INST_ID_LOW, L_INST_ID_HIGH,\r\n&gt;               \r\n&gt;               L_BUCKET_INTERVAL, L_BUCKET_COUNT,\r\n&gt;               TO_CHAR(L_START_TIME,DATE_FMT), TO_CHAR(L_END_TIME,DATE_FMT),\r\n&gt;               (L_END_TIME - L_START_TIME)*DTOS;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     DBMS_REPORT.GET_TIMING_INFO(1, L_ELAPSED, L_CPU);\r\n&gt; \r\n&gt;     \r\n&gt;     \r\n&gt;     L_REPORT_XML :=\r\n&gt;       PRVT_REPORT_TAGS.BUILD_REPORT_TAG(\r\n&gt;                          DBMS_REPORT.BUILD_REPORT_REFERENCE_STRUCT(\r\n&gt;                            'awrv','topsql', L_REF_PARAMS),\r\n&gt;                          L_ELAPSED, L_CPU);\r\n&gt; \r\n&gt;     \r\n&gt;     \r\n&gt;     IF (L_RMMETRICS_XML IS NOT NULL) THEN\r\n&gt;       L_REPORT_XML := L_REPORT_XML.APPENDCHILDXML(XML_ROOT, L_RMMETRICS_XML);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     &lt;&lt;DONE&gt;&gt;\r\n&gt;     \r\n&gt;     \r\n&gt;     IF (L_REPORT_XML IS NULL) THEN\r\n&gt;       \r\n&gt;       L_REPORT_XML :=\r\n&gt;         PRVT_REPORT_TAGS.BUILD_REPORT_TAG(\r\n&gt;           DBMS_REPORT.BUILD_REPORT_REFERENCE_STRUCT(\r\n&gt;             'awrv','topsql',L_REF_PARAMS),\r\n&gt;           NULL, NULL);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (L_SET_ENV) THEN\r\n&gt;       \r\n&gt;       DBMS_REPORT.RESTORE_REPORT_ENV(L_ORIG_ENV);\r\n&gt;     END IF;\r\n&gt;  \r\n&gt;     \r\n&gt;     RETURN L_REPORT_XML;\r\n&gt; \r\n&gt;   END REPORT_ADW_WORKLOAD_REALTIME;\r\n&gt; \r\n&gt; \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   \r\n&gt;   FUNCTION REPORT_ADW_WORKLOAD_HISTORICAL(\r\n&gt;     START_TIME        IN DATE           DEFAULT NULL,\r\n&gt;     END_TIME          IN DATE           DEFAULT NULL,\r\n&gt;     DBID              IN NUMBER         DEFAULT NULL,\r\n&gt;     INST_ID           IN NUMBER         DEFAULT NULL,\r\n&gt;     SHOW_SQL          IN NUMBER         DEFAULT 0)\r\n&gt;   RETURN XMLTYPE\r\n&gt;   IS\r\n&gt;     \r\n&gt;     L_ELAPSED        NUMBER;\r\n&gt;     L_CPU            NUMBER;\r\n&gt; \r\n&gt;     \r\n&gt;     L_REF_PARAMS     DBMS_REPORT.REF_STRING_IDSPEC;\r\n&gt; \r\n&gt;     \r\n&gt;     L_ORIG_ENV       DBMS_REPORT.FORMAT_PARAM_VALUES;\r\n&gt;     L_SET_ENV        BOOLEAN;\r\n&gt; \r\n&gt;     \r\n&gt;     L_QUERY          VARCHAR2(32767) := NULL;\r\n&gt;     L_REPORT_SQL     CLOB;\r\n&gt; \r\n&gt;     \r\n&gt;     L_REPORT_XML     XMLTYPE := NULL;\r\n&gt;     L_RMMETRICS_XML  XMLTYPE := NULL;\r\n&gt; \r\n&gt; \r\n&gt;     \r\n&gt;     L_START_TIME     DATE := START_TIME;\r\n&gt;     L_END_TIME       DATE := END_TIME;\r\n&gt;     L_DBID           NUMBER := DBID;\r\n&gt;     L_INST_ID        NUMBER := INST_ID;\r\n&gt;     L_CON_ID         NUMBER;\r\n&gt;     L_CON_DBID       NUMBER;\r\n&gt; \r\n&gt;     \r\n&gt;     L_BUCKET_CALC_INTERVAL   NUMBER;\r\n&gt;     L_BUCKET_CALC_MAX_COUNT  NUMBER;\r\n&gt;     L_BUCKET_MAP             PRVT_AWRV_MAPTAB;\r\n&gt;     L_AWR_PERIOD             PRVT_AWRV_METADATA;\r\n&gt; \r\n&gt;     \r\n&gt;     L_CG_MAP PRVT_AWRV_INSTTAB := NULL;\r\n&gt; \r\n&gt;     L_CPU_COUNT NUMBER := NULL;\r\n&gt; \r\n&gt;     \r\n&gt;     L_ERRMSG                           VARCHAR2(32767);\r\n&gt;     L_ERROR_XML                        XMLTYPE := NULL;\r\n&gt; \r\n&gt;     ADW_RMMETRICS_AWR CONSTANT VARCHAR2(32767) := q'[\r\n&gt;     select bucket_id,\r\n&gt;            consumer_group_id,\r\n&gt;            consumer_group_name,\r\n&gt;            sum(avg_cpu_utilization) \r\n&gt;                   avg_cpu_utilization,\r\n&gt;            sum(avg_active_parallel_stmts) \r\n&gt;                   avg_active_parallel_stmts,\r\n&gt;            sum(avg_queued_parallel_stmts) \r\n&gt;                   avg_queued_parallel_stmts\r\n&gt;      from (\r\n&gt;         select bucket_id,\r\n&gt;                consumer_group_name,  \r\n&gt;                consumer_group_id,\r\n&gt;                -- avg\r\n&gt;                avg(avg_cpu_utilization) \r\n&gt;                   avg_cpu_utilization,\r\n&gt;                avg(avg_active_parallel_stmts) \r\n&gt;                   avg_active_parallel_stmts,\r\n&gt;                avg(avg_queued_parallel_stmts) \r\n&gt;                   avg_queued_parallel_stmts\r\n&gt;           from table(\r\n&gt;                  cast(:bucket_map as \r\n&gt;                       sys.prvt_awrv_mapTab)) m,\r\n&gt;                (select \/*+ no_merge *\/ snap_id,\r\n&gt;                        instance_number,\r\n&gt;                        consumer_group_id,\r\n&gt;                        null consumer_group_name,\r\n&gt;                        case \r\n&gt;                          when :cpu_count is null or\r\n&gt;                               :cpu_count = 0 then\r\n&gt;                            avg_cpu_utilization\r\n&gt;                          else\r\n&gt;                            (avg_running_sessions\/:cpu_count)*100\r\n&gt;                          end avg_cpu_utilization,\r\n&gt;                        avg_active_parallel_stmts,\r\n&gt;                        avg_queued_parallel_stmts\r\n&gt;                   from awr_pdb_rsrc_metric\r\n&gt;                  where dbid = :m_dbid \r\n&gt;                    and snap_id between :m_begin_snap \r\n&gt;                                    and :m_end_snap\r\n&gt;                    and con_dbid = :l_con_dbid) y\r\n&gt;          where m.snap_id         = y.snap_id\r\n&gt;            and m.instance_number = y.instance_number\r\n&gt;            and y.snap_id         &gt; :m_begin_snap\r\n&gt;          group by bucket_id, \r\n&gt;                y.instance_number, \r\n&gt;                y.consumer_group_id, \r\n&gt;                y.consumer_group_name)\r\n&gt;       group by bucket_id, \r\n&gt;                consumer_group_id,\r\n&gt;                consumer_group_name]'; \r\n&gt; \r\n&gt;   \r\n&gt;   ADW_RMMETRICS_AWR_SQL_HEADER   CONSTANT VARCHAR2(32767) := q'[\r\n&gt;       var is_awr            number;\r\n&gt;       var p_contTab         prvt_awrv_instTab;\r\n&gt;       var bucket_map        prvt_awrv_mapTab;\r\n&gt;       var cpu_count         number;\r\n&gt;       var m_dbid            number;\r\n&gt;       var m_begin_snap      number;\r\n&gt;       var m_end_snap        number;\r\n&gt;       var l_con_dbid        number;\r\n&gt;       var p_bucket_interval number;\r\n&gt;       var p_bucket_count    number;\r\n&gt;       var b_min_time        varchar2(4000);\r\n&gt;       var b_max_time        varchar2(4000);\r\n&gt;       var b_duration        number;\r\n&gt;       begin\r\n&gt;         :is_awr            := #is_awr#;\r\n&gt;         :p_contTab         := #p_contTab#;\r\n&gt;         :bucket_map        := #bucket_map#;\r\n&gt;         :cpu_count         := #cpu_count#;\r\n&gt;         :m_dbid            := #m_dbid#;\r\n&gt;         :m_begin_snap      := #m_begin_snap#;\r\n&gt;         :m_end_snap        := #m_end_snap#;\r\n&gt;         :l_con_dbid        := #l_con_dbid#;\r\n&gt;         :p_bucket_interval := #p_bucket_interval#;\r\n&gt;         :p_bucket_count    := #p_bucket_count#;\r\n&gt;         :b_min_time        := '#b_min_time#';\r\n&gt;         :b_max_time        := '#b_max_time#';\r\n&gt;         :b_duration        := #b_duration#;\r\n&gt;       end;\r\n&gt;       \/]';\r\n&gt; \r\n&gt; \r\n&gt;   BEGIN\r\n&gt;     \r\n&gt;     \r\n&gt;     L_ORIG_ENV := DBMS_REPORT.FORMAT_PARAM_VALUES();\r\n&gt;     L_SET_ENV  := DBMS_REPORT.SETUP_REPORT_ENV(L_ORIG_ENV);\r\n&gt; \r\n&gt;     \r\n&gt;     DBMS_REPORT.GET_TIMING_INFO(0, L_ELAPSED, L_CPU);\r\n&gt; \r\n&gt;     \r\n&gt; \r\n&gt;     \r\n&gt;     IF (START_TIME IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('start_time') :=\r\n&gt;         TO_CHAR(START_TIME,DBMS_REPORT.DATE_FMT_MOD);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (END_TIME IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('end_time') :=\r\n&gt;         TO_CHAR(END_TIME,DBMS_REPORT.DATE_FMT_MOD);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (DBID IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('dbid') := TO_CHAR(DBID);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (INST_ID IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('inst_id') := TO_CHAR(INST_ID);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     L_REF_PARAMS('is_realtime') := 0;\r\n&gt; \r\n&gt;     IF (SHOW_SQL IS NOT NULL) THEN\r\n&gt;       L_REF_PARAMS('show_sql') := SHOW_SQL; \r\n&gt;     END IF;\r\n&gt; \r\n&gt;     L_CON_DBID := SYS_CONTEXT('USERENV','CON_DBID');\r\n&gt; \r\n&gt;     \r\n&gt;     IF (L_DBID IS NULL) THEN\r\n&gt;       L_DBID := L_CON_DBID;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     IF (END_TIME IS NULL) THEN\r\n&gt;       L_END_TIME := SYSDATE;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     IF (START_TIME IS NULL) THEN\r\n&gt;       L_START_TIME := L_END_TIME - 1;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     \r\n&gt;     L_AWR_PERIOD := PRVT_AWRV_METADATA(\r\n&gt;                         P_START_TIME =&gt; L_START_TIME, \r\n&gt;                         P_END_TIME =&gt; L_END_TIME,\r\n&gt;                         P_DBID =&gt; L_DBID);\r\n&gt; \r\n&gt;     \r\n&gt;     IF (L_AWR_PERIOD.M_BEGIN_SNAP IS NULL OR\r\n&gt;         L_AWR_PERIOD.M_BEGIN_SNAP = L_AWR_PERIOD.M_END_SNAP) \r\n&gt;     THEN\r\n&gt; \r\n&gt;       L_ERRMSG := '[' || L_AWR_PERIOD.M_DBID || ']' ||\r\n&gt;                   '[' || L_AWR_PERIOD.M_INST_ID_LOW || '.' ||\r\n&gt;                          L_AWR_PERIOD.M_INST_ID_HIGH || ']' ||\r\n&gt;                   '[' || L_AWR_PERIOD.M_BEGIN_SNAP || '.' || \r\n&gt;                          L_AWR_PERIOD.M_END_SNAP || ']' ||\r\n&gt;                   '[' || TO_CHAR(L_AWR_PERIOD.M_MIN_TIME, \r\n&gt;                                  DBMS_REPORT.DATE_FMT) || '-' ||\r\n&gt;                          TO_CHAR(L_AWR_PERIOD.M_MAX_TIME, \r\n&gt;                                  DBMS_REPORT.DATE_FMT) || ']';\r\n&gt; \r\n&gt;       \r\n&gt;       L_AWR_PERIOD := NULL;\r\n&gt; \r\n&gt;       \r\n&gt;       L_ERROR_XML := ERROR_XML('report_adw_workload_historical',\r\n&gt;                                -20800,\r\n&gt;                                'Insufficient awr data', \r\n&gt;                                L_ERRMSG);\r\n&gt; \r\n&gt;     ELSE\r\n&gt; \r\n&gt;       \r\n&gt;       L_BUCKET_CALC_MAX_COUNT := 128;\r\n&gt;       CREATE_BUCKET_SNAP_MAP(L_AWR_PERIOD, L_BUCKET_MAP, \r\n&gt;                              L_BUCKET_CALC_MAX_COUNT, L_BUCKET_CALC_INTERVAL);\r\n&gt; \r\n&gt;       L_CON_ID := SYS_CONTEXT('USERENV','CON_ID');\r\n&gt; \r\n&gt;       CREATE_CONSUMER_GROUP_MAP(L_CON_ID, L_AWR_PERIOD, L_CG_MAP);\r\n&gt; \r\n&gt;       \r\n&gt;       BEGIN\r\n&gt;         SELECT VALUE\r\n&gt;           INTO L_CPU_COUNT   \r\n&gt;           FROM V$SYSTEM_PARAMETER2                 \r\n&gt;          WHERE NAME = 'cpu_count';\r\n&gt;       EXCEPTION\r\n&gt;         WHEN OTHERS THEN\r\n&gt;           L_CPU_COUNT := NULL;\r\n&gt;       END;\r\n&gt; \r\n&gt;       \r\n&gt;       L_QUERY := ADW_RMMETRICS_COMMON;\r\n&gt;    \r\n&gt;       \r\n&gt;       L_QUERY := REPLACE(L_QUERY,'#GENERATE_BUCKETS_TAG#', \r\n&gt;                                   GENERATE_BUCKETS_TAG2);\r\n&gt;       L_QUERY := REPLACE(L_QUERY,'#GENERATE_BUCKETID_TAG#', \r\n&gt;                                   GENERATE_BUCKETID_TAG);\r\n&gt;       L_QUERY := REPLACE(L_QUERY,'#GENERATE_METRICS_BUCKETID#', \r\n&gt;                                   ADW_RMMETRICS_AWR);\r\n&gt; \r\n&gt;       IF (SHOW_SQL = 1) THEN\r\n&gt;         \r\n&gt;         L_REPORT_SQL := ADW_RMMETRICS_AWR_SQL_HEADER;\r\n&gt; \r\n&gt;         \r\n&gt;         L_REPORT_SQL := L_REPORT_SQL || L_QUERY;\r\n&gt; \r\n&gt;         \r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#is_awr#', 1);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_contTab#', '');\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#bucket_map#', '');\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#cpu_count#', L_CPU_COUNT);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#m_dbid#', L_AWR_PERIOD.M_DBID);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#m_begin_snap#', \r\n&gt;                                               L_AWR_PERIOD.M_BEGIN_SNAP);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#m_end_snap#', \r\n&gt;                                               L_AWR_PERIOD.M_END_SNAP);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#l_con_dbid#', L_CON_DBID);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_bucket_count#', \r\n&gt;                                               L_BUCKET_CALC_MAX_COUNT);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#p_bucket_interval#', \r\n&gt;                                               L_BUCKET_CALC_INTERVAL);\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_min_time#', \r\n&gt;                                 TO_CHAR(L_AWR_PERIOD.M_MIN_TIME, DATE_FMT));\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_max_time#', \r\n&gt;                                 TO_CHAR(L_AWR_PERIOD.M_MAX_TIME, DATE_FMT));\r\n&gt;         L_REPORT_SQL := REPLACE(L_REPORT_SQL, '#b_duration#',\r\n&gt;                                 ROUND(INTERVAL_TO_SECOND(\r\n&gt;                                   L_AWR_PERIOD.M_MAX_TIME, \r\n&gt;                                   L_AWR_PERIOD.M_MIN_TIME)));\r\n&gt; \r\n&gt;         L_RMMETRICS_XML := I_SHOW_SQL_XML('rsrcmgrmetric', L_REPORT_SQL);\r\n&gt; \r\n&gt;       ELSE\r\n&gt; \r\n&gt;         EXECUTE IMMEDIATE L_QUERY\r\n&gt;          INTO L_RMMETRICS_XML\r\n&gt;         USING 1, \r\n&gt;               L_CG_MAP, \r\n&gt;               L_BUCKET_MAP,\r\n&gt;               L_CPU_COUNT, L_CPU_COUNT, L_CPU_COUNT,\r\n&gt;               L_AWR_PERIOD.M_DBID,\r\n&gt;               L_AWR_PERIOD.M_BEGIN_SNAP,\r\n&gt;               L_AWR_PERIOD.M_END_SNAP,\r\n&gt;               L_CON_DBID,\r\n&gt;               L_AWR_PERIOD.M_BEGIN_SNAP,\r\n&gt;               L_BUCKET_CALC_INTERVAL,\r\n&gt;               L_BUCKET_CALC_MAX_COUNT,\r\n&gt;               TO_CHAR(L_AWR_PERIOD.M_MIN_TIME, DATE_FMT),\r\n&gt;               TO_CHAR(L_AWR_PERIOD.M_MAX_TIME, DATE_FMT),\r\n&gt;               ROUND(\r\n&gt;                 INTERVAL_TO_SECOND(\r\n&gt;                   L_AWR_PERIOD.M_MAX_TIME, L_AWR_PERIOD.M_MIN_TIME));\r\n&gt; \r\n&gt;       END IF;\r\n&gt; \r\n&gt;     END IF;\r\n&gt; \r\n&gt;     \r\n&gt;     DBMS_REPORT.GET_TIMING_INFO(1, L_ELAPSED, L_CPU);\r\n&gt; \r\n&gt;     \r\n&gt;     \r\n&gt;     L_REPORT_XML :=\r\n&gt;       PRVT_REPORT_TAGS.BUILD_REPORT_TAG(\r\n&gt;                          DBMS_REPORT.BUILD_REPORT_REFERENCE_STRUCT(\r\n&gt;                            'awrv','topsql', L_REF_PARAMS),\r\n&gt;                          L_ELAPSED, L_CPU);\r\n&gt; \r\n&gt;     \r\n&gt;     IF (L_ERROR_XML IS NOT NULL) THEN\r\n&gt;       L_REPORT_XML := L_REPORT_XML.APPENDCHILDXML(XML_ROOT, L_ERROR_XML);\r\n&gt;     \r\n&gt;     ELSE\r\n&gt;       \r\n&gt;       IF (L_RMMETRICS_XML IS NOT NULL) THEN\r\n&gt;         L_REPORT_XML := L_REPORT_XML.APPENDCHILDXML(XML_ROOT, L_RMMETRICS_XML);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     &lt;&lt;DONE&gt;&gt;    \r\n&gt; \r\n&gt;     \r\n&gt;     IF (L_REPORT_XML IS NULL) THEN\r\n&gt;       \r\n&gt;       L_REPORT_XML :=\r\n&gt;         PRVT_REPORT_TAGS.BUILD_REPORT_TAG(\r\n&gt;           DBMS_REPORT.BUILD_REPORT_REFERENCE_STRUCT(\r\n&gt;             'awrv','topsql',L_REF_PARAMS),\r\n&gt;           NULL, NULL);\r\n&gt;     END IF;\r\n&gt; \r\n&gt;     IF (L_SET_ENV) THEN\r\n&gt;       \r\n&gt;       DBMS_REPORT.RESTORE_REPORT_ENV(L_ORIG_ENV);\r\n&gt;     END IF;\r\n&gt;  \r\n&gt;     \r\n&gt;     RETURN L_REPORT_XML;\r\n&gt; \r\n&gt;   END REPORT_ADW_WORKLOAD_HISTORICAL;\r\n&gt; \r\n<\/pre>\n<div id=\"SYS.PRVT_EMX.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVT_EMX &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">2015a2016,2021\r\n&gt;     DBMS_REPORT.REGISTER_REPORT('session', 'cancel_sql',\r\n&gt;                                 'Cancel SQL Action',\r\n&gt;                                  XSD_FILE_ID);\r\n&gt; \r\n&gt; \r\n&gt;     \r\n<\/pre>\n<div id=\"SYS.XS_DATA_SECURITY.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DATA_SECURITY &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">627c627\r\n&lt; \r\n---\r\n&gt; CUR_USER  VARCHAR2(128);\r\n631a632\r\n&gt;   CUR_USER := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n634c635\r\n&lt;                                            STATEMENT_TYPES, ACLMV);\r\n---\r\n&gt;                                            STATEMENT_TYPES, ACLMV, CUR_USER);\r\n642a644\r\n&gt; CUR_USER VARCHAR2(128);\r\n648c650,652\r\n&lt;   XS_DATA_SECURITY_INT.ENABLE_DISABLE_OBJECT_POLICY(POLICY, SCHEMA, OBJECT, TRUE);\r\n---\r\n&gt;   CUR_USER := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   XS_DATA_SECURITY_INT.ENABLE_DISABLE_OBJECT_POLICY(POLICY, SCHEMA, OBJECT, \r\n&gt;                                                     TRUE, CUR_USER);\r\n658c662\r\n&lt; \r\n---\r\n&gt; CUR_USER VARCHAR2(128);\r\n665c669,671\r\n&lt;   XS_DATA_SECURITY_INT.ENABLE_DISABLE_OBJECT_POLICY(POLICY, SCHEMA, OBJECT, FALSE);\r\n---\r\n&gt;   CUR_USER := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   XS_DATA_SECURITY_INT.ENABLE_DISABLE_OBJECT_POLICY(POLICY, SCHEMA, OBJECT, \r\n&gt;                                                     FALSE, CUR_USER);\r\n675c681\r\n&lt; \r\n---\r\n&gt; CUR_USER  VARCHAR2(128);\r\n682c688,689\r\n&lt;   XS_DATA_SECURITY_INT.REMOVE_OBJECT_POLICY(POLICY, SCHEMA, OBJECT);\r\n---\r\n&gt;   CUR_USER := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;   XS_DATA_SECURITY_INT.REMOVE_OBJECT_POLICY(POLICY, SCHEMA, OBJECT, CUR_USER);\r\n<\/pre>\n<div id=\"SYS.XS_DATA_SECURITY_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DATA_SECURITY_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">640c640,641\r\n&lt;           ACLMV           IN VARCHAR2 := NULL\r\n---\r\n&gt;           ACLMV           IN VARCHAR2 := NULL,\r\n&gt;           INVOKER         IN VARCHAR2 := NULL\r\n643c644\r\n&lt;     NAME \"kzraxdsa\"\r\n---\r\n&gt;     NAME \"kzraxdsa1\"\r\n654c655,656\r\n&lt;                ACLMV           OCISTRING, ACLMV INDICATOR SB2) ;\r\n---\r\n&gt;                ACLMV           OCISTRING, ACLMV INDICATOR SB2,\r\n&gt;                INVOKER         OCISTRING, INVOKER INDICATOR SB2) ;\r\n658,661c660,664\r\n&lt;           POLICY IN VARCHAR2,\r\n&lt;           SCHEMA IN VARCHAR2,\r\n&lt;           OBJECT IN VARCHAR2,\r\n&lt;           ENABLE IN BOOLEAN\r\n---\r\n&gt;           POLICY IN  VARCHAR2,\r\n&gt;           SCHEMA IN  VARCHAR2,\r\n&gt;           OBJECT IN  VARCHAR2,\r\n&gt;           ENABLE IN  BOOLEAN,\r\n&gt;           INVOKER IN VARCHAR2\r\n664c667\r\n&lt;     NAME \"kzraxdse\"\r\n---\r\n&gt;     NAME \"kzraxdse1\"\r\n671c674,675\r\n&lt;                ENABLE UB1);\r\n---\r\n&gt;                ENABLE UB1,\r\n&gt;                INVOKER OCISTRING, INVOKER INDICATOR SB2);\r\n675,677c679,682\r\n&lt;           POLICY IN VARCHAR2,\r\n&lt;           SCHEMA IN VARCHAR2,\r\n&lt;           OBJECT IN VARCHAR2\r\n---\r\n&gt;           POLICY  IN VARCHAR2,\r\n&gt;           SCHEMA  IN VARCHAR2,\r\n&gt;           OBJECT  IN VARCHAR2,\r\n&gt;           INVOKER IN VARCHAR2\r\n680c685\r\n&lt;     NAME \"kzraxdsr\"\r\n---\r\n&gt;     NAME \"kzraxdsr1\"\r\n686c691,692\r\n&lt;                OBJECT OCISTRING);\r\n---\r\n&gt;                OBJECT OCISTRING,\r\n&gt;                INVOKER OCISTRING, INVOKER INDICATOR SB2);\r\n<\/pre>\n<div id=\"SYS.XS_DIAG.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DIAG &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">19a20\r\n&gt;     L_CURUSER       VARCHAR2(128);\r\n33a35\r\n&gt;     L_CURUSER := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n37c39,40\r\n&lt;                                          L_SCHEMA, L_TABLE, NULL, NULL, NULL);\r\n---\r\n&gt;                                          L_CURUSER, L_SCHEMA, L_TABLE, NULL, \r\n&gt;                                          NULL, NULL);\r\n46c49,50\r\n&lt;                                            I_OBJ_TYPE, L_SCHEMA, L_TABLE, NULL,\r\n---\r\n&gt;                                            I_OBJ_TYPE, L_CURUSER, L_SCHEMA, \r\n&gt;                                            L_TABLE, NULL,\r\n139a144\r\n&gt;   CUR_USER  VARCHAR2(128);\r\n143c148,149\r\n&lt;     RETURN SYS.XS_DIAG_INT.VALIDATE_WORKSPACE(ERROR_LIMIT);\r\n---\r\n&gt;     CUR_USER := SYS_CONTEXT('USERENV', 'CURRENT_USER');\r\n&gt;     RETURN SYS.XS_DIAG_INT.VALIDATE_WORKSPACE(ERROR_LIMIT, CUR_USER);\r\n<\/pre>\n<div id=\"SYS.XS_DIAG_INT.PACKAGE BODY.19.0.0.0_RU\">SYS.XS_DIAG_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1175a1176\r\n&gt;                                 INVOKER         IN VARCHAR2 := NULL,\r\n1180c1181\r\n&lt;     IS EXTERNAL NAME \"kzraxdsa_int\"\r\n---\r\n&gt;     IS EXTERNAL NAME \"kzraxdsa_int1\"\r\n1193c1194,1196\r\n&lt;    ACLMV INDICATOR SB2)\r\n---\r\n&gt;    ACLMV INDICATOR SB2,\r\n&gt;    INVOKER         OCISTRING,\r\n&gt;    INVOKER         INDICATOR SB2)\r\n1200,1201c1203,1205\r\n&lt;                                  OBJECT IN VARCHAR2\r\n&lt;     ) IS EXTERNAL NAME \"kzraxdsr_int\"\r\n---\r\n&gt;                                  OBJECT IN VARCHAR2,\r\n&gt;                                  INVOKER IN VARCHAR2 := NULL\r\n&gt;     ) IS EXTERNAL NAME \"kzraxdsr_int1\"\r\n1208c1212,1214\r\n&lt;    OBJECT OCISTRING)\r\n---\r\n&gt;    OBJECT OCISTRING,\r\n&gt;    INVOKER OCISTRING,\r\n&gt;    INVOKER INDICATOR SB2)\r\n1220c1226,1227\r\n&lt;                                      := FLAG_CHECK_OBJECT)\r\n---\r\n&gt;                                      := FLAG_CHECK_OBJECT,\r\n&gt;                                      I_INVOKER   IN VARCHAR2)\r\n1422c1429,1430\r\n&lt;                           L_TAB_NAME);\r\n---\r\n&gt;                           L_TAB_NAME,\r\n&gt;                           I_INVOKER);\r\n1460c1468,1469\r\n&lt;                              L_TAB_NAME);\r\n---\r\n&gt;                              L_TAB_NAME,\r\n&gt;                              I_INVOKER);\r\n1478c1487,1488\r\n&lt;                               L_TAB_NAME);\r\n---\r\n&gt;                               L_TAB_NAME,\r\n&gt;                               I_INVOKER);\r\n1753a1764\r\n&gt;                                   I_INVOKER IN VARCHAR2,\r\n1891c1902\r\n&lt;                                         L_UIDS, I_VALIDATION_FLAG\r\n---\r\n&gt;                                         L_UIDS, I_VALIDATION_FLAG, I_INVOKER\r\n1999c2010,2011\r\n&lt;   FUNCTION VALIDATE_TABLE(I_SCHEMA IN VARCHAR2, I_TABLE  IN VARCHAR2)\r\n---\r\n&gt;   FUNCTION VALIDATE_TABLE(I_SCHEMA IN VARCHAR2, I_TABLE  IN VARCHAR2,\r\n&gt;                           I_INVOKER IN VARCHAR2)\r\n2054c2066,2067\r\n&lt;       IF VALIDATE_DATA_SECURITY(L_OBJ_IDS(M), L_OBJ_PATH, I_SCHEMA, I_TABLE)\r\n---\r\n&gt;       IF VALIDATE_DATA_SECURITY(L_OBJ_IDS(M), L_OBJ_PATH, I_INVOKER, I_SCHEMA, \r\n&gt;                                 I_TABLE)\r\n2170a2184\r\n&gt;                            I_INVOKER    IN VARCHAR2,\r\n2221c2235\r\n&lt;         L_TMP := VALIDATE_DATA_SECURITY(I_OBJ_ID, L_OBJ_PATH, \r\n---\r\n&gt;         L_TMP := VALIDATE_DATA_SECURITY(I_OBJ_ID, L_OBJ_PATH, I_INVOKER,\r\n2224c2238\r\n&lt;         L_TMP := VALIDATE_TABLE(I_SCHEMA, I_TABLE);\r\n---\r\n&gt;         L_TMP := VALIDATE_TABLE(I_SCHEMA, I_TABLE, I_INVOKER);\r\n2356c2370,2371\r\n&lt;   FUNCTION VALIDATE_WORKSPACE(MSG_MAX  IN PLS_INTEGER := 1)\r\n---\r\n&gt;   FUNCTION VALIDATE_WORKSPACE(MSG_MAX  IN PLS_INTEGER := 1,\r\n&gt;                               INVOKER  IN VARCHAR2)\r\n2519c2534,2535\r\n&lt;                                             NULL, NULL, FLAG_CHECK_WORKSPACE);\r\n---\r\n&gt;                                             INVOKER, NULL, NULL, \r\n&gt;                                             FLAG_CHECK_WORKSPACE);\r\n<\/pre>\n<div id=\"SYS.XOQ_VALIDATE.PROCEDURE.19.0.0.0_RU\">SYS.XOQ_VALIDATE &#8211; PROCEDURE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">11c11\r\n&lt;   SELECT value INTO compat FROM v$parameter WHERE name='compatible';\r\n---\r\n&gt;   SELECT ltrim(value) INTO compat FROM v$parameter WHERE name='compatible';\r\n17,32d16\r\n&lt;     -- check that dependent component XDB is loaded\r\n&lt;     IF sys.dbms_registry.is_loaded('XDB')\r\n&lt;         != 1 THEN\r\n&lt;       ok := FALSE;\r\n&lt;     END IF;\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   IF ok THEN\r\n&lt;    -- check that expected XDB resources are there\r\n&lt;     IF NOT (dbms_xdb.existsresource('\/olap_data_security\/public\/acls') AND\r\n&lt;             dbms_xdb.existsresource('\/xds\/dsd')) THEN\r\n&lt;       ok := FALSE;\r\n&lt;     END IF;\r\n&lt;   END IF;\r\n&lt; \r\n&lt;   IF ok THEN\r\n103c87\r\n&lt;   IF ok THEN\r\n---\r\n&gt;   IF ok and sys.dbms_registry.is_loaded('XDB') = 1 THEN\r\n<\/pre>\n<div id=\"SYS.WRI$_REPT_ASH_OMX.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_ASH_OMX &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">26d25\r\n&lt;     L_FILTERED          NUMBER          := NULL;\r\n83,85d81\r\n&lt;       L_FILTERED := TO_NUMBER(DBMS_REPORT.GET_PARAM(L_PARAMS, 'filtered', \r\n&lt;                                                     NULLABLE=&gt;TRUE));\r\n&lt; \r\n102d97\r\n&lt;                         FILTERED        =&gt; L_FILTERED,\r\n173d167\r\n&lt;                         FILTERED        =&gt; L_FILTERED,\r\n<\/pre>\n<div id=\"SYS.WRI$_REPT_AWRV.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_AWRV &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">62a63\r\n&gt;     P_INCLUDE_SQLS     NUMBER := 1;\r\n548,553d548\r\n&lt;       P_LAST_REFRESH_TIME := TO_DATE(\r\n&lt;                                DBMS_REPORT.GET_PARAM(PARAMS,\r\n&lt;                                                       'last_refresh_time',\r\n&lt;                                                       NULLABLE=&gt;TRUE),\r\n&lt;                                DBMS_REPORT.DATE_FMT_MOD);\r\n&lt; \r\n566a562,566\r\n&gt;       P_INCLUDE_SQLS := TO_NUMBER(\r\n&gt;                           DBMS_REPORT.GET_PARAM(PARAMS,'include_sqls', \r\n&gt;                                                 NULLABLE=&gt;TRUE));\r\n&gt; \r\n&gt;       \r\n570d569\r\n&lt; \r\n572,574d570\r\n&lt;       P_TOP_N_DETAIL := TO_NUMBER(DBMS_REPORT.GET_PARAM(PARAMS,'top_n_detail',\r\n&lt;                                                    NULLABLE=&gt;TRUE));\r\n&lt; \r\n576,579c572,588\r\n&lt;       P_OUTER_START_TIME := TO_DATE(\r\n&lt;                               DBMS_REPORT.GET_PARAM(PARAMS,'outer_start_time',\r\n&lt;                                                     NULLABLE=&gt;TRUE),\r\n&lt;                               DBMS_REPORT.DATE_FMT_MOD);\r\n---\r\n&gt;       IF (DBMS_SQLTUNE_UTIL2.IS_ADW() AND SYS_CONTEXT('USERENV', 'CON_ID') &gt; 2) \r\n&gt;       THEN\r\n&gt;         IF (P_IS_REALTIME = 0) THEN\r\n&gt;           REPORT_XML := PRVT_AWR_VIEWER.REPORT_ADW_WORKLOAD_HISTORICAL(\r\n&gt;                           START_TIME        =&gt; P_START_TIME,\r\n&gt;                           END_TIME          =&gt; P_END_TIME,\r\n&gt;                           DBID              =&gt; P_DBID,\r\n&gt;                           INST_ID           =&gt; P_INST_ID,\r\n&gt;                           SHOW_SQL          =&gt; P_SHOW_SQL);\r\n&gt;         ELSE\r\n&gt;           REPORT_XML := PRVT_AWR_VIEWER.REPORT_ADW_WORKLOAD_REALTIME(\r\n&gt;                           START_TIME        =&gt; P_START_TIME,\r\n&gt;                           END_TIME          =&gt; P_END_TIME,\r\n&gt;                           INST_ID_LOW       =&gt; P_INST_ID,\r\n&gt;                           INST_ID_HIGH      =&gt; P_INST_ID,\r\n&gt;                           SHOW_SQL          =&gt; P_SHOW_SQL);\r\n&gt;         END IF;\r\n582,585c591,594\r\n&lt;       P_OUTER_END_TIME := TO_DATE(\r\n&lt;                       DBMS_REPORT.GET_PARAM(PARAMS,'outer_end_time',\r\n&lt;                                                     NULLABLE=&gt;TRUE),\r\n&lt;                             DBMS_REPORT.DATE_FMT_MOD);\r\n---\r\n&gt;       ELSE\r\n&gt;         \r\n&gt;         \r\n&gt;         \r\n587,589c596,600\r\n&lt;       \r\n&lt;       P_DIM_NAME := DBMS_REPORT.GET_PARAM(PARAMS,'dim_name',NULLABLE=&gt;TRUE);\r\n&lt;       P_DIM_STAT := DBMS_REPORT.GET_PARAM(PARAMS,'dim_stat',NULLABLE=&gt;TRUE);\r\n---\r\n&gt;         P_LAST_REFRESH_TIME := TO_DATE(\r\n&gt;                                  DBMS_REPORT.GET_PARAM(PARAMS,\r\n&gt;                                                         'last_refresh_time',\r\n&gt;                                                         NULLABLE=&gt;TRUE),\r\n&gt;                                  DBMS_REPORT.DATE_FMT_MOD);\r\n591,603c602,610\r\n&lt;       REPORT_XML := PRVT_AWR_VIEWER.REPORT_TOPSQL_XML(\r\n&lt;                       START_TIME        =&gt; P_START_TIME,\r\n&lt;                       END_TIME          =&gt; P_END_TIME,\r\n&lt;                       LAST_REFRESH_TIME =&gt; P_LAST_REFRESH_TIME,\r\n&lt;                       INST_ID           =&gt; P_INST_ID,\r\n&lt;                       DBID              =&gt; P_DBID,\r\n&lt;                       IS_REALTIME       =&gt; P_IS_REALTIME,\r\n&lt;                       TOP_N_DETAIL      =&gt; P_TOP_N_DETAIL,\r\n&lt;                       OUTER_START_TIME  =&gt; P_OUTER_START_TIME,\r\n&lt;                       OUTER_END_TIME    =&gt; P_OUTER_END_TIME,\r\n&lt;                       DIM_NAME          =&gt; P_DIM_NAME,\r\n&lt;                       DIM_STAT          =&gt; P_DIM_STAT,\r\n&lt;                       SHOW_SQL          =&gt; P_SHOW_SQL);\r\n---\r\n&gt;         \r\n&gt;         P_TOP_N_DETAIL := TO_NUMBER(DBMS_REPORT.GET_PARAM(PARAMS,'top_n_detail',\r\n&gt;                                                      NULLABLE=&gt;TRUE));\r\n&gt; \r\n&gt;         \r\n&gt;         P_OUTER_START_TIME := TO_DATE(\r\n&gt;                                 DBMS_REPORT.GET_PARAM(PARAMS,'outer_start_time',\r\n&gt;                                                       NULLABLE=&gt;TRUE),\r\n&gt;                                 DBMS_REPORT.DATE_FMT_MOD);\r\n604a612,636\r\n&gt;         \r\n&gt;         P_OUTER_END_TIME := TO_DATE(\r\n&gt;                               DBMS_REPORT.GET_PARAM(PARAMS,'outer_end_time',\r\n&gt;                                                     NULLABLE=&gt;TRUE),\r\n&gt;                               DBMS_REPORT.DATE_FMT_MOD);\r\n&gt; \r\n&gt;         \r\n&gt;         P_DIM_NAME := DBMS_REPORT.GET_PARAM(PARAMS,'dim_name',NULLABLE=&gt;TRUE);\r\n&gt;         P_DIM_STAT := DBMS_REPORT.GET_PARAM(PARAMS,'dim_stat',NULLABLE=&gt;TRUE);\r\n&gt; \r\n&gt;         REPORT_XML := PRVT_AWR_VIEWER.REPORT_TOPSQL_XML(\r\n&gt;                         START_TIME        =&gt; P_START_TIME,\r\n&gt;                         END_TIME          =&gt; P_END_TIME,\r\n&gt;                         LAST_REFRESH_TIME =&gt; P_LAST_REFRESH_TIME,\r\n&gt;                         INST_ID           =&gt; P_INST_ID,\r\n&gt;                         DBID              =&gt; P_DBID,\r\n&gt;                         IS_REALTIME       =&gt; P_IS_REALTIME,\r\n&gt;                         TOP_N_DETAIL      =&gt; P_TOP_N_DETAIL,\r\n&gt;                         OUTER_START_TIME  =&gt; P_OUTER_START_TIME,\r\n&gt;                         OUTER_END_TIME    =&gt; P_OUTER_END_TIME,\r\n&gt;                         DIM_NAME          =&gt; P_DIM_NAME,\r\n&gt;                         DIM_STAT          =&gt; P_DIM_STAT,\r\n&gt;                         INCLUDE_SQLS      =&gt; P_INCLUDE_SQLS,\r\n&gt;                         SHOW_SQL          =&gt; P_SHOW_SQL);\r\n&gt;       END IF;\r\n<\/pre>\n<div id=\"SYS.WRI$_REPT_SESSION.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_SESSION &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">21a22\r\n&gt;     V_SQL_ID                  VARCHAR2(32767);\r\n118a120,150\r\n&gt;                         \r\n&gt;       \r\n&gt;       \r\n&gt;       \r\n&gt;       \r\n&gt;       \r\n&gt;       WHEN V_REPORT_NAME = 'cancel_sql' THEN\r\n&gt; \r\n&gt;         \r\n&gt;         V_SID := TO_NUMBER(DBMS_REPORT.GET_PARAM(V_PARAMS, 'session_id', TRUE));\r\n&gt; \r\n&gt;         \r\n&gt;         V_SERIAL_NUM := TO_NUMBER(DBMS_REPORT.GET_PARAM(V_PARAMS,\r\n&gt;                                                        'session_serial', TRUE));\r\n&gt; \r\n&gt;         \r\n&gt;         V_SQL_ID := DBMS_REPORT.GET_PARAM(V_PARAMS, 'sql_id', TRUE);\r\n&gt;  \r\n&gt;         \r\n&gt;         V_INST_ID := TO_NUMBER(DBMS_REPORT.GET_PARAM(V_PARAMS, 'inst_id'));\r\n&gt;         \r\n&gt;         \r\n&gt;         V_SHOW_SQL := TO_NUMBER(DBMS_REPORT.GET_PARAM(V_PARAMS, 'show_sql'));\r\n&gt; \r\n&gt;        \r\n&gt;        V_REPORT_XML := \r\n&gt;             PRVTEMX_PERF.ACTION_CANCEL_SQL_XML(P_SID=&gt;V_SID,\r\n&gt;                                                    P_SERIAL_NUM=&gt;V_SERIAL_NUM,\r\n&gt; \t\t\t\t\t\t   P_INST_ID=&gt;V_INST_ID,\r\n&gt;                                                    P_SQL_ID=&gt;V_SQL_ID,\r\n&gt;                                                    P_SHOW_SQL=&gt;V_SHOW_SQL);\r\n124c156\r\n&lt;                                           LOWER(PRVT_EMX.COMPONENT_STRING));\r\n---\r\n&gt;                                           LOWER(PRVT_EMX.COMPONENT_STRING));                                         \r\n<\/pre>\n<div id=\"SYS.CDB_WORKLOAD_CAPTURES.VIEW.19.0.0.0_RU\">SYS.CDB_WORKLOAD_CAPTURES &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; SELECT k.\"ID\",k.\"NAME\",k.\"DBID\",k.\"DBNAME\",k.\"DBVERSION\",k.\"PARALLEL\",k.\"DIRECTORY\",k.\"STATUS\",k.\"START_TIME\",k.\"END_TIME\",k.\"DURATION_SECS\",k.\"START_SCN\",k.\"END_SCN\",k.\"DEFAULT_ACTION\",k.\"FILTERS_USED\",k.\"CAPTURE_SIZE\",k.\"DBTIME\",k.\"DBTIME_TOTAL\",k.\"USER_CALLS\",k.\"USER_CALLS_TOTAL\",k.\"USER_CALLS_UNREPLAYABLE\",k.\"PLSQL_SUBCALL_SIZE\",k.\"PLSQL_CALLS\",k.\"PLSQL_SUBCALLS\",k.\"PLSQL_DBTIME\",k.\"TRANSACTIONS\",k.\"TRANSACTIONS_TOTAL\",k.\"CONNECTS\",k.\"CONNECTS_TOTAL\",k.\"ERRORS\",k.\"AWR_DBID\",k.\"AWR_BEGIN_SNAP\",k.\"AWR_END_SNAP\",k.\"AWR_EXPORTED\",k.\"ERROR_CODE\",k.\"ERROR_MESSAGE\",k.\"DIR_PATH\",k.\"DIR_PATH_SHARED\",k.\"LAST_PROCESSED_VERSION\",k.\"SQLSET_OWNER\",k.\"SQLSET_NAME\",k.\"PLSQL_MODE\",k.\"ENCRYPTION\",k.\"CON_ID\", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS(\"SYS\".\"DBA_WORKLOAD_CAPTURES\") k\r\n---\r\n&gt; SELECT k.\"ID\",k.\"NAME\",k.\"DBID\",k.\"DBNAME\",k.\"DBVERSION\",k.\"PARALLEL\",k.\"DIRECTORY\",k.\"STATUS\",k.\"START_TIME\",k.\"END_TIME\",k.\"DURATION_SECS\",k.\"START_SCN\",k.\"END_SCN\",k.\"DEFAULT_ACTION\",k.\"FILTERS_USED\",k.\"CAPTURE_SIZE\",k.\"DBTIME\",k.\"DBTIME_TOTAL\",k.\"USER_CALLS\",k.\"USER_CALLS_TOTAL\",k.\"USER_CALLS_UNREPLAYABLE\",k.\"PLSQL_SUBCALL_SIZE\",k.\"PLSQL_CALLS\",k.\"PLSQL_SUBCALLS\",k.\"PLSQL_DBTIME\",k.\"TRANSACTIONS\",k.\"TRANSACTIONS_TOTAL\",k.\"CONNECTS\",k.\"CONNECTS_TOTAL\",k.\"ERRORS\",k.\"AWR_DBID\",k.\"AWR_BEGIN_SNAP\",k.\"AWR_END_SNAP\",k.\"AWR_EXPORTED\",k.\"ERROR_CODE\",k.\"ERROR_MESSAGE\",k.\"DIR_PATH\",k.\"DIR_PATH_SHARED\",k.\"LAST_PROCESSED_VERSION\",k.\"SQLSET_OWNER\",k.\"SQLSET_NAME\",k.\"PLSQL_MODE\",k.\"ENCRYPTION\",k.\"ENCRYPTION_VERIFIER\",k.\"CON_ID\", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS(\"SYS\".\"DBA_WORKLOAD_CAPTURES\") k\r\n<\/pre>\n<div id=\"SYS.DBA_APP_VERSIONS.VIEW.19.0.0.0_RU\">SYS.DBA_APP_VERSIONS &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1,2\r\n&lt; select a.app_name, v.tgtver, v.cmnt, v.spare1\r\n---\r\n&gt; select a.app_name, v.tgtver, v.cmnt, v.spare1,\r\n&gt;        con_id_to_con_name(con_uid_to_id(v.root_clone_con_uid#))\r\n<\/pre>\n<div id=\"SYS.DBA_WORKLOAD_CAPTURES.VIEW.19.0.0.0_RU\">SYS.DBA_WORKLOAD_CAPTURES &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">30c30,31\r\n&lt;  , decode(nvl(r.plsql_mode, 0), 0, 'TOP_LEVEL', 1, 'EXTENDED', 2, 'EXTENDED_SYS', 'INVALID')\r\n---\r\n&gt;  , decode( nvl(r.plsql_mode, 0), 0,'TOP_LEVEL', 1,'EXTENDED', 2,'EXTENDED_SYS',\r\n&gt;                                  'INVALID' )\r\n31a33\r\n&gt;  , encryption_verifier\r\n<\/pre>\n<div id=\"SYS.DBA_WORKLOAD_REPLAYS.VIEW.19.0.0.0_RU\">SYS.DBA_WORKLOAD_REPLAYS &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">14c14\r\n&lt;  , decode(r.synchronization, 1, 'SCN', 2, 'OBJECT_ID', 'FALSE')\r\n---\r\n&gt;  , decode(nvl(r.synchronization, 0), 1, 'SCN', 2, 'OBJECT_ID', 'FALSE')\r\n17c17\r\n&lt;  , decode(r.think_time_auto_correct, 1, 'TRUE', 'FALSE')\r\n---\r\n&gt;  , decode(nvl(r.think_time_auto_correct, 0), 1, 'TRUE', 'FALSE')\r\n26c26\r\n&lt;  , decode(r.awr_exported, 1, 'YES', 0, 'NO', 'NOT POSSIBLE')\r\n---\r\n&gt;  , decode(nvl(r.awr_exported, -1), 1, 'YES', 0, 'NO', 'NOT POSSIBLE')\r\n35,37c35,37\r\n&lt;  , decode(r.connect_time_auto_correct, 1, 'YES', 0, 'NO', 'NOT POSSIBLE')\r\n&lt;  , decode(r.rac_mode, 0, 'GLOBAL_SYNC', 1, 'PER_INSTANCE_CLIENT', 2, 'PER_INSTANCE_SYNC','INVALID')\r\n&lt;  , decode(bitand(r.flags, 1), 0, 'N','Y') as QUERY_ONLY\r\n---\r\n&gt;  , decode(nvl(r.connect_time_auto_correct, -1), 1, 'YES', 0, 'NO', 'NOT POSSIBLE')\r\n&gt;  , decode(nvl(r.rac_mode, -1), 0, 'GLOBAL_SYNC', 1, 'PER_INSTANCE_CLIENT', 2, 'PER_INSTANCE_SYNC','INVALID')\r\n&gt;  , decode(bitand(nvl(r.flags, 0), 1), 0, 'N','Y') as QUERY_ONLY\r\n41,52c41,52\r\n&lt;            sum(decode(parallel,'YES',1,0)) as parallel,\r\n&lt;            sum(user_calls) as user_calls,\r\n&lt;            sum(dbtime) as dbtime,\r\n&lt;            sum(network_time) as network_time,\r\n&lt;            sum(think_time) as think_time,\r\n&lt;            sum(time_gain) as time_gain,\r\n&lt;            sum(time_loss) as time_loss,\r\n&lt;            sum(time_paused) as time_paused,\r\n&lt;            sum(plsql_calls) as plsql_calls,\r\n&lt;            sum(plsql_subcalls) as plsql_subcalls,\r\n&lt;            sum(plsql_dbtime) as plsql_dbtime,\r\n&lt;            sum(replay_deadlocks) AS replay_deadlocks\r\n---\r\n&gt;            sum(decode(nvl(parallel, 'NO'),'YES',1,0)) as parallel,\r\n&gt;            sum(nvl(user_calls, 0)) as user_calls,\r\n&gt;            sum(nvl(dbtime, 0)) as dbtime,\r\n&gt;            sum(nvl(network_time, 0)) as network_time,\r\n&gt;            sum(nvl(think_time, 0)) as think_time,\r\n&gt;            sum(nvl(time_gain, 0)) as time_gain,\r\n&gt;            sum(nvl(time_loss, 0)) as time_loss,\r\n&gt;            sum(nvl(time_paused, 0)) as time_paused,\r\n&gt;            sum(nvl(plsql_calls, 0)) as plsql_calls,\r\n&gt;            sum(nvl(plsql_subcalls, 0)) as plsql_subcalls,\r\n&gt;            sum(nvl(plsql_dbtime, 0)) as plsql_dbtime,\r\n&gt;            sum(nvl(replay_deadlocks, 0)) AS replay_deadlocks\r\n<\/pre>\n<div id=\"XDB.DBMS_JSON.PACKAGE.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">108a109,111\r\n&gt; --  materialize\r\n&gt; --     The materialize argument will be a boolean that will tell us whether the\r\n&gt; --     view will be materialized or not.\r\n114c117,118\r\n&lt;                       resourcePath VARCHAR2 DEFAULT NULL);\r\n---\r\n&gt;                       resourcePath VARCHAR2 DEFAULT NULL,\r\n&gt;                       materialize BOOLEAN DEFAULT FALSE);\r\n<\/pre>\n<div id=\"XDB.DBMS_JSON.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">349,350d348\r\n&lt;   OWN     VARCHAR2(130) := OWNER;\r\n&lt;   TBN     VARCHAR2(130) := TABLENAME;\r\n352c350\r\n&lt;   OPEN RELC_CUR(OWN, TBN);\r\n---\r\n&gt;   OPEN RELC_CUR(OWNER, TABLENAME);\r\n533,535c531,533\r\n&lt;                           VIEWNAME VARCHAR2,\r\n&lt;                           TABLENAME VARCHAR2,\r\n&lt;                           COLNAME VARCHAR2,\r\n---\r\n&gt;                           VNAME VARCHAR2,\r\n&gt;                           TNAME VARCHAR2,\r\n&gt;                           CNAME VARCHAR2,\r\n540c538,539\r\n&lt;                           RESOURCEPATH VARCHAR2)\r\n---\r\n&gt;                           RESOURCEPATH VARCHAR2,\r\n&gt;                           MATERIALIZE BOOLEAN)\r\n543,545c542\r\n&lt; VNAME VARCHAR2(130) := VIEWNAME;\r\n&lt; TNAME VARCHAR2(130) := TABLENAME;\r\n&lt; CNAME VARCHAR2(130) := COLNAME;\r\n---\r\n&gt; HASPK  BOOLEAN := FALSE;\r\n561c558\r\n&lt;   BUILDRCOLS(OWNER, TABLENAME, RELDDL, RCSTK, COLCNT);\r\n---\r\n&gt;   BUILDRCOLS(OWNER, TNAME, RELDDL, RCSTK, COLCNT);\r\n574c571,578\r\n&lt;   DDL := 'CREATE OR REPLACE VIEW ';\r\n---\r\n&gt;   IF (MATERIALIZE) THEN\r\n&gt;     DDL := 'CREATE MATERIALIZED VIEW ';\r\n&gt;     IF (SYS.DBMS_JSON0.CHECKPK(OWNER, TNAME)) THEN\r\n&gt;       HASPK := TRUE;\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     DDL := 'CREATE OR REPLACE VIEW ';\r\n&gt;   END IF;\r\n576c580,595\r\n&lt;   DDL := DDL||DBMS_ASSERT.ENQUOTE_NAME(VNAME,FALSE)||' AS SELECT ';\r\n---\r\n&gt;   DDL := DDL||DBMS_ASSERT.ENQUOTE_NAME(VNAME,FALSE);\r\n&gt;   \r\n&gt;   IF (MATERIALIZE) THEN\r\n&gt;     DDL := DDL||'BUILD IMMEDIATE REFRESH FAST ON STATEMENT WITH ';\r\n&gt;     IF (HASPK) THEN\r\n&gt;       DDL := DDL||'PRIMARY KEY ';\r\n&gt;     ELSE\r\n&gt;       DDL := DDL||'ROWID ';\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt;   DDL := DDL||' AS SELECT ';\r\n&gt;   \r\n&gt;   IF (MATERIALIZE = TRUE AND HASPK = FALSE) THEN\r\n&gt;     DDL := DDL||'RT.\"ROWID\" ROW_ID, ';\r\n&gt;   END IF;\r\n&gt; \r\n1039c1058,1059\r\n&lt;                       RESOURCEPATH VARCHAR2 DEFAULT NULL)\r\n---\r\n&gt;                       RESOURCEPATH VARCHAR2 DEFAULT NULL,\r\n&gt;                       MATERIALIZE BOOLEAN DEFAULT FALSE)\r\n1070c1090\r\n&lt;                   ERRSTR, COLCNT, RESOURCEPATH);\r\n---\r\n&gt;                   ERRSTR, COLCNT, RESOURCEPATH, MATERIALIZE);\r\n<\/pre>\n<hr \/>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-4568 jlk' href='javascript:void(0)' data-task='like' data-post_id='4568' data-nonce='de4404f630' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.dbarj.com.br\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-4568 lc'>0<\/span><\/a><\/div><\/div> <div class='status-4568 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Oracle April 2020 Critical Patch Advisory changed objects performed by each database patch. For more details and the catalog, check the main post: Dissecting 200414 BP, PSU, RU and RUR What exactly changed for each? (click to see detailed line changes) 12.1.0.2 DVSYS.DBMS_MACADM &#8211; PACKAGE 12cR1 (BP) DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR1 (BP) DVSYS.DBA_DV_PREPROCESSOR_AUTH &#8211; &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-4568","post","type-post","status-publish","format-standard","hentry","category-database-en","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle April 2020 Critical Patch Advisory - PL\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"description\" content=\"Oracle April 2020 Critical Patch Advisory changed objects performed by each database patch.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DBA RJ\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"293 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Oracle April 2020 Critical Patch Advisory &#8211; PL\\\/SQL detailed changes\",\"datePublished\":\"2020-04-18T00:05:38+00:00\",\"dateModified\":\"2020-04-18T00:25:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/\"},\"wordCount\":1908,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"articleSection\":[\"Oracle Database General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/\",\"name\":\"Oracle April 2020 Critical Patch Advisory - PL\\\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\"},\"datePublished\":\"2020-04-18T00:05:38+00:00\",\"dateModified\":\"2020-04-18T00:25:41+00:00\",\"description\":\"Oracle April 2020 Critical Patch Advisory changed objects performed by each database patch.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2020\\\/04\\\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle April 2020 Critical Patch Advisory - PL\\\/SQL detailed changes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"width\":712,\"height\":712,\"caption\":\"DBA RJ\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle April 2020 Critical Patch Advisory - PL\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Oracle April 2020 Critical Patch Advisory changed objects performed by each database patch.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/","twitter_misc":{"Written by":"DBA RJ","Est. reading time":"293 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Oracle April 2020 Critical Patch Advisory &#8211; PL\/SQL detailed changes","datePublished":"2020-04-18T00:05:38+00:00","dateModified":"2020-04-18T00:25:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/"},"wordCount":1908,"commentCount":1,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"articleSection":["Oracle Database General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/","url":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/","name":"Oracle April 2020 Critical Patch Advisory - PL\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/#website"},"datePublished":"2020-04-18T00:05:38+00:00","dateModified":"2020-04-18T00:25:41+00:00","description":"Oracle April 2020 Critical Patch Advisory changed objects performed by each database patch.","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/en\/2020\/04\/oracle-april-2020-critical-patch-advisory-pl-sql-changes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Oracle April 2020 Critical Patch Advisory - PL\/SQL detailed changes"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/en\/#website","url":"https:\/\/www.dbarj.com.br\/en\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","width":712,"height":712,"caption":"DBA RJ"},"logo":{"@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png"}}]}},"_links":{"self":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/4568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/comments?post=4568"}],"version-history":[{"count":4,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/4568\/revisions"}],"predecessor-version":[{"id":4578,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/4568\/revisions\/4578"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/media?parent=4568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/categories?post=4568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/tags?post=4568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}