{"id":3273,"date":"2018-05-10T01:08:11","date_gmt":"2018-05-10T04:08:11","guid":{"rendered":"http:\/\/www.dbarj.com.br\/?p=3273"},"modified":"2018-05-10T01:16:37","modified_gmt":"2018-05-10T04:16:37","slug":"dissecting-180417-bp-psu-ru-and-rur","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/","title":{"rendered":"Dissecting 180417 BP, PSU, RU and RUR"},"content":{"rendered":"<p>Since Oct-2017 I am quarterly writing a post dissecting the changes implemented by Oracle CPUs so we can understand better the modifications implemented by Oracle in our Databases.<\/p>\n<p>So what oracle internal objects were changed in 180417?<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">VERSION              PATCH      OWNER                          TYPE                                TOTAL\r\n-------------------- ---------- ------------------------------ ------------------------------ ----------\r\n12.1.0.2             BP         SYS                            PACKAGE                                 1\r\n12.1.0.2             BP         SYS                            PACKAGE BODY                            2\r\n12.1.0.2             PSU        SYS                            PACKAGE BODY                            1\r\n12.2.0.1             RU         CTXSYS                         PACKAGE BODY                            1\r\n12.2.0.1             RU         DVSYS                          TYPE                                   12\r\n12.2.0.1             RU         DVSYS                          VIEW                                    3\r\n12.2.0.1             RU         SYS                            PACKAGE                                 1\r\n12.2.0.1             RU         SYS                            PACKAGE BODY                            4\r\n12.2.0.1             RU         SYS                            PROCEDURE                               1\r\n12.2.0.1             JAN2018RUR SYS                            PACKAGE BODY                            2<\/pre>\n<p>And created?<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">VERSION              PATCH      OWNER                          TYPE                                TOTAL\r\n-------------------- ---------- ------------------------------ ------------------------------ ----------\r\n12.1.0.2             BP         SYS                            PACKAGE                                 1\r\n12.1.0.2             BP         SYS                            PACKAGE BODY                            2\r\n12.1.0.2             PSU &amp; BP   SYS                            PACKAGE                                 1<\/pre>\n<p><span style=\"font-size: 12pt; color: #800000;\"><strong>P.S: Nothing was added or changed for 11.2.0.4 in Oracle objects, that&#8217;s why its not included here.<\/strong><\/span><\/p>\n<p>So which are exactly the objects modified by 180417?<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">VERSION              PATCH      OWNER                          TYPE                           NAME\r\n-------------------- ---------- ------------------------------ ------------------------------ ------------------------------\r\n12.1.0.2             BP         SYS                            PACKAGE                        DBMS_HADOOP\r\n12.1.0.2             BP         SYS                            PACKAGE BODY                   DBMS_HADOOP\r\n12.1.0.2             BP         SYS                            PACKAGE BODY                   DBMS_QOPATCH\r\n12.1.0.2             PSU        SYS                            PACKAGE BODY                   DBMS_QOPATCH\r\n12.2.0.1             RU         CTXSYS                         PACKAGE BODY                   DRIPARSE\r\n12.2.0.1             RU         DVSYS                          TYPE                           KU$_DV_COMM_RULE_ALTS_T\r\n12.2.0.1             RU         DVSYS                          TYPE                           KU$_DV_POLICY_OBJ_C_ALTS_T\r\n12.2.0.1             RU         DVSYS                          TYPE                           KU$_DV_POLICY_OBJ_C_T\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072667$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072667$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072694$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072694$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072697$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072697$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072873$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072900$\r\n12.2.0.1             RU         DVSYS                          TYPE                           SYS_YOID0000072903$\r\n12.2.0.1             RU         DVSYS                          VIEW                           KU$_DV_COMM_RULE_ALTS_V\r\n12.2.0.1             RU         DVSYS                          VIEW                           KU$_DV_POLICY_OBJ_C_ALTS_V\r\n12.2.0.1             RU         DVSYS                          VIEW                           KU$_DV_POLICY_OBJ_C_V\r\n12.2.0.1             RU         SYS                            PACKAGE                        DBMS_SQLPATCH\r\n12.2.0.1             RU         SYS                            PACKAGE BODY                   DBMS_LOCK\r\n12.2.0.1             RU         SYS                            PACKAGE BODY                   DBMS_QOPATCH\r\n12.2.0.1             RU         SYS                            PACKAGE BODY                   DBMS_SQLPATCH\r\n12.2.0.1             RU         SYS                            PACKAGE BODY                   PRVTEMX_CELL\r\n12.2.0.1             RU         SYS                            PROCEDURE                      DBMS_FEATURE_ADV_IDXCMP\r\n12.2.0.1             JAN2018RUR SYS                            PACKAGE BODY                   DBMS_QOPATCH\r\n12.2.0.1             JAN2018RUR SYS                            PACKAGE BODY                   DBMS_SQLPATCH<\/pre>\n<h2><strong>What changed for each (link to changes)?<\/strong><\/h2>\n<ul>\n<li>12.1.0.2\n<ul>\n<li><a href=\"#SYS.DBMS_HADOOP.PACKAGE.BP\">SYS.DBMS_HADOOP &#8211; PACKAGE (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_HADOOP.PACKAGE BODY.BP\">SYS.DBMS_HADOOP &#8211; PACKAGE BODY (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_QOPATCH.PACKAGE BODY.BP\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_QOPATCH.PACKAGE BODY.PSU\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (PSU)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>12.2.0.1\n<ul>\n<li><a href=\"#CTXSYS.DRIPARSE.PACKAGE BODY.RU\">CTXSYS.DRIPARSE &#8211; PACKAGE BODY (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.KU$_DV_COMM_RULE_ALTS_T.TYPE.RU\">DVSYS.KU$_DV_COMM_RULE_ALTS_T &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_T.TYPE.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_T &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.KU$_DV_POLICY_OBJ_C_T.TYPE.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_T &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072667$.TYPE.RU\">DVSYS.SYS_YOID0000072667$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072667$.TYPE.RU\">DVSYS.SYS_YOID0000072667$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072694$.TYPE.RU\">DVSYS.SYS_YOID0000072694$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072694$.TYPE.RU\">DVSYS.SYS_YOID0000072694$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072697$.TYPE.RU\">DVSYS.SYS_YOID0000072697$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072697$.TYPE.RU\">DVSYS.SYS_YOID0000072697$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072873$.TYPE.RU\">DVSYS.SYS_YOID0000072873$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072900$.TYPE.RU\">DVSYS.SYS_YOID0000072900$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.SYS_YOID0000072903$.TYPE.RU\">DVSYS.SYS_YOID0000072903$ &#8211; TYPE (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.KU$_DV_COMM_RULE_ALTS_V.VIEW.RU\">DVSYS.KU$_DV_COMM_RULE_ALTS_V &#8211; VIEW (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_V.VIEW.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_V &#8211; VIEW (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.KU$_DV_POLICY_OBJ_C_V.VIEW.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_V &#8211; VIEW (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLPATCH.PACKAGE.RU\">SYS.DBMS_SQLPATCH &#8211; PACKAGE (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_LOCK.PACKAGE BODY.RU\">SYS.DBMS_LOCK &#8211; PACKAGE BODY (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_QOPATCH.PACKAGE BODY.RU\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLPATCH.PACKAGE BODY.RU\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_CELL.PACKAGE BODY.RU\">SYS.PRVTEMX_CELL &#8211; PACKAGE BODY (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_FEATURE_ADV_IDXCMP.PROCEDURE.RU\">SYS.DBMS_FEATURE_ADV_IDXCMP &#8211; PROCEDURE (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_QOPATCH.PACKAGE BODY.JAN2018RUR\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (JAN2018RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLPATCH.PACKAGE BODY.JAN2018RUR\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY (JAN2018RUR)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-size: 12pt;\"><strong>P.S:\u00a0<\/strong><\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><strong>&lt;\u00a0 = Added Lines<\/strong><\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><strong>&gt;\u00a0 = Removed Lines<\/strong><\/span><\/p>\n<h2 id=\"12.1.0.2\">Changed Objects<\/h2>\n<p>&nbsp;<\/p>\n<div id=\"SYS.DBMS_HADOOP.PACKAGE.BP\">SYS.DBMS_HADOOP &#8211; PACKAGE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">55,59d54\r\n&lt; FUNCTION GET_USER_MAP(cluster_name  IN VARCHAR2 DEFAULT '[DEFAULT]',\r\n&lt;                       current_database_user IN VARCHAR2)  -- NOT NULL\r\n&lt;                  RETURN VARCHAR2;\r\n&lt; \r\n&lt; \r\n<\/pre>\n<div id=\"SYS.DBMS_HADOOP.PACKAGE BODY.BP\">SYS.DBMS_HADOOP &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">114,152c114\r\n&lt;  \r\n&lt;  \r\n&lt;  \r\n&lt;  \r\n&lt;  \r\n&lt;  FUNCTION GET_USER_MAP(CLUSTER_NAME   IN VARCHAR2 DEFAULT '[DEFAULT]',\r\n&lt;                            CURRENT_DATABASE_USER  IN VARCHAR2)\r\n&lt;                  RETURN VARCHAR2\r\n&lt;   IS\r\n&lt;      HDFS_USER_OUT VARCHAR2(128);\r\n&lt;      DEFAULT_CLUSTER_NAME CONSTANT VARCHAR2(9) := '[DEFAULT]';\r\n&lt;      USE_THIS_CLUSTER_NAME VARCHAR2(128);\r\n&lt;      MAPPING VARCHAR2(128);\r\n&lt;      RC PLS_INTEGER;\r\n&lt;      TRUEORFALSE CHAR(5);\r\n&lt;   BEGIN\r\n&lt;      \r\n&lt;      SELECT SYS_CONTEXT('USERENV', 'ISDBA') INTO TRUEORFALSE FROM DUAL;\r\n&lt; \r\n&lt;      IF TRUEORFALSE != 'TRUE' AND\r\n&lt;         NOT DBMS_SESSION.IS_ROLE_ENABLED('BDSQL_USER') THEN\r\n&lt;         \r\n&lt;         RETURN NULL;           \r\n&lt;      END IF;\r\n&lt;      IF CLUSTER_NAME &lt;&gt; DEFAULT_CLUSTER_NAME  THEN\r\n&lt;         USE_THIS_CLUSTER_NAME := CLUSTER_NAME;\r\n&lt;      ELSE\r\n&lt;         USE_THIS_CLUSTER_NAME := DEFAULT_CLUSTER_NAME;\r\n&lt;      END IF;\r\n&lt;     \r\n&lt;      HDFS_USER_OUT := NULL;\r\n&lt;      \r\n&lt;      DBMS_BDSQL.SEL_USERMAP(USE_THIS_CLUSTER_NAME,  CURRENT_DATABASE_USER,\r\n&lt;                             HDFS_USER_OUT, RC);\r\n&lt;      RETURN HDFS_USER_OUT;\r\n&lt; \r\n&lt;   END GET_USER_MAP;\r\n&lt; \r\n&lt; END DBMS_HADOOP;\r\n---\r\n&gt; END;\r\n<\/pre>\n<div id=\"SYS.DBMS_QOPATCH.PACKAGE BODY.BP\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">398,405c398,401\r\n&lt; \r\n&lt; \tSELECT HOST_NAME INTO NNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \tSELECT INSTANCE_NAME INTO INAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \tIF DO_DEBUG THEN\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || INAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tEND IF;\r\n&lt; \r\n---\r\n&gt;           TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;           NNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;           TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;           INAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n1503,1509c1499,1502\r\n&lt; \r\n&lt;      SELECT HOST_NAME INTO NDNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;      SELECT INSTANCE_NAME INTO ISNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;      IF DO_DEBUG THEN\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NDNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || ISNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt;      END IF;\r\n---\r\n&gt;      TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;      NDNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;      TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;      ISNAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n1744,1750c1737,1740\r\n&lt; \r\n&lt;       SELECT HOST_NAME INTO NDNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;       SELECT INSTANCE_NAME INTO ISNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;       IF DO_DEBUG THEN\r\n&lt;  \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NDNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || ISNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt;       END IF;\r\n---\r\n&gt;       TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;       NDNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;       TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;       ISNAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n<\/pre>\n<div id=\"SYS.DBMS_QOPATCH.PACKAGE BODY.PSU\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">398,405c398,401\r\n&lt; \r\n&lt; \tSELECT HOST_NAME INTO NNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \tSELECT INSTANCE_NAME INTO INAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \tIF DO_DEBUG THEN\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || INAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tEND IF;\r\n&lt; \r\n---\r\n&gt;           TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;           NNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;           TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;           INAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n1504,1510c1500,1503\r\n&lt; \r\n&lt;      SELECT HOST_NAME INTO NDNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;      SELECT INSTANCE_NAME INTO ISNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;      IF DO_DEBUG THEN\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NDNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || ISNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt;      END IF;\r\n---\r\n&gt;      TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;      NDNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;      TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;      ISNAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n1744,1750c1737,1740\r\n&lt; \r\n&lt;       SELECT HOST_NAME INTO NDNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;       SELECT INSTANCE_NAME INTO ISNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;       IF DO_DEBUG THEN\r\n&lt;  \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NDNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || ISNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt;       END IF;\r\n---\r\n&gt;       TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;       NDNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;       TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;       ISNAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n<\/pre>\n<div id=\"CTXSYS.DRIPARSE.PACKAGE BODY.RU\">CTXSYS.DRIPARSE &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1283d1282\r\n&lt;     IF (OPTS.LEXER IS NULL) THEN\r\n1285,1286c1284\r\n&lt;       GETJSONLEXER(JSON_LANGUAGE, OPTS.LEXER);\r\n&lt;     END IF;\r\n---\r\n&gt;     GETJSONLEXER(JSON_LANGUAGE, OPTS.LEXER);\r\n<\/pre>\n<div id=\"DVSYS.KU$_DV_COMM_RULE_ALTS_T.TYPE.RU\">DVSYS.KU$_DV_COMM_RULE_ALTS_T &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">5d4\r\n&lt;   oidval          raw(16),                                     \/* unique id *\/\r\n<\/pre>\n<div id=\"DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_T.TYPE.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_T &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">5d4\r\n&lt;   oidval          raw(16),                                     \/* unique id *\/\r\n<\/pre>\n<div id=\"DVSYS.KU$_DV_POLICY_OBJ_C_T.TYPE.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_T &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">5d4\r\n&lt;   oidval          raw(16),                                     \/* unique id *\/\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072667$.TYPE.RU\">DVSYS.SYS_YOID0000072667$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,4\r\n&lt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(100 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" NUMBER)\r\n4,5c6,9\r\n&lt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(100 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" NUMBER)\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072667$.TYPE.RU\">DVSYS.SYS_YOID0000072667$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,4\r\n&lt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(100 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" NUMBER)\r\n4,5c6,9\r\n&lt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072667$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(100 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" NUMBER)\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072694$.TYPE.RU\">DVSYS.SYS_YOID0000072694$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,3\r\n&lt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE))\r\n4,5c5,7\r\n&lt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE))\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072694$.TYPE.RU\">DVSYS.SYS_YOID0000072694$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,3\r\n&lt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE))\r\n4,5c5,7\r\n&lt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072694$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE))\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072697$.TYPE.RU\">DVSYS.SYS_YOID0000072697$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,4\r\n&lt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(100 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" VARCHAR2(128 BYTE))\r\n4,5c6,9\r\n&lt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(100 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" VARCHAR2(128 BYTE))\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072697$.TYPE.RU\">DVSYS.SYS_YOID0000072697$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,4\r\n&lt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(100 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" VARCHAR2(128 BYTE))\r\n4,5c6,9\r\n&lt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072697$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(100 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" VARCHAR2(128 BYTE))\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072873$.TYPE.RU\">DVSYS.SYS_YOID0000072873$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,4\r\n&lt; type         \"SYS_YOID0000072873$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072873$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(100 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" NUMBER)\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072900$.TYPE.RU\">DVSYS.SYS_YOID0000072900$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,3\r\n&lt; type         \"SYS_YOID0000072900$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072900$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(128 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE))\r\n<\/pre>\n<div id=\"DVSYS.SYS_YOID0000072903$.TYPE.RU\">DVSYS.SYS_YOID0000072903$ &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1,2c1,4\r\n&lt; type         \"SYS_YOID0000072903$\"              as object( \"SYS_NC00001$\" RAW(16\r\n&lt; ))\r\n---\r\n&gt; type         \"SYS_YOID0000072903$\"              as object( \"SYS_NC00001$\" VARCHA\r\n&gt; R2(128 BYTE), \"SYS_NC00002$\" VARCHAR2(128 BYTE), \"SYS_NC00003$\" VARCHAR2(100 BYT\r\n&gt; E), \"SYS_NC00004$\" VARCHAR2(128 BYTE), \"SYS_NC00005$\" VARCHAR2(128 BYTE), \"SYS_N\r\n&gt; C00006$\" VARCHAR2(128 BYTE), \"SYS_NC00007$\" VARCHAR2(128 BYTE))\r\n<\/pre>\n<div id=\"DVSYS.KU$_DV_COMM_RULE_ALTS_V.VIEW.RU\">DVSYS.KU$_DV_COMM_RULE_ALTS_V &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; select '0','0',sys_guid(),\r\n---\r\n&gt; select '0','0',\r\n<\/pre>\n<div id=\"DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_V.VIEW.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_ALTS_V &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; select '0','0',sys_guid(),\r\n---\r\n&gt; select '0','0',\r\n<\/pre>\n<div id=\"DVSYS.KU$_DV_POLICY_OBJ_C_V.VIEW.RU\">DVSYS.KU$_DV_POLICY_OBJ_C_V &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">1c1\r\n&lt; select '0','0',sys_guid(),\r\n---\r\n&gt; select '0','0',\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLPATCH.PACKAGE.RU\">SYS.DBMS_SQLPATCH &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">66,67c66\r\n&lt;                                p_patch_directory IN BLOB := NULL,\r\n&lt;                                p_installing_bundle IN NUMBER := NULL);\r\n---\r\n&gt;                                p_patch_directory IN BLOB := NULL);\r\n<\/pre>\n<div id=\"SYS.DBMS_LOCK.PACKAGE BODY.RU\">SYS.DBMS_LOCK &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">17,26d16\r\n&lt;   CLEANUP_LOCK_NAME CONSTANT VARCHAR2(14) := 'PrVtLoCk035592';\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;  \r\n&lt;   DEBUG_LOCK INTEGER := 0; \r\n&lt; \r\n219,336d208\r\n&lt;   \r\n&lt;   PROCEDURE DBMSLOCK_DEBUG(L IN VARCHAR2) IS\r\n&lt;   BEGIN\r\n&lt;     IF DEBUG_LOCK = 2 THEN\r\n&lt;       DBMS_SYSTEM.KSDWRT(DBMS_SYSTEM.TRACE_FILE,\r\n&lt;                          'dbms_lock:' || L);\r\n&lt; \r\n&lt;     END IF;\r\n&lt;   END DBMSLOCK_DEBUG;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;   PROCEDURE INTERNAL_LOCK_CLEAN(CLEANUP IN BOOLEAN DEFAULT TRUE) IS\r\n&lt;     PRAGMA AUTONOMOUS_TRANSACTION;\r\n&lt; \r\n&lt;     L_STATUS  INTEGER := 0;\r\n&lt;     LOCK_ACQUIRED BOOLEAN := FALSE;\r\n&lt; \r\n&lt;   BEGIN\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_STATUS := DBMS_LOCK.REQUEST(DBMS_UTILITY.GET_HASH_VALUE(\r\n&lt;                        CLEANUP_LOCK_NAME, 2000003064, 3064),\r\n&lt;                        DBMS_LOCK.X_MODE, 0,\r\n&lt;                        FALSE);\r\n&lt; \r\n&lt;     IF L_STATUS = 0\r\n&lt;     THEN\r\n&lt;       LOCK_ACQUIRED := TRUE;\r\n&lt; \r\n&lt;       DBMSLOCK_DEBUG(\r\n&lt;           'Proceeding on lock cleanup l_status '|| L_STATUS);\r\n&lt;     ELSE\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;       IF L_STATUS IN (3,5)\r\n&lt;       THEN\r\n&lt;         DBMS_SYSTEM.KSDWRT(DBMS_SYSTEM.TRACE_FILE,\r\n&lt;           'dbms_lock: error acquiring cleanup lock ' || TO_CHAR(L_STATUS));\r\n&lt;       ELSE\r\n&lt;         DBMSLOCK_DEBUG(\r\n&lt;             'cleanup lock already held. Cleanup skipped '||\r\n&lt;                TO_CHAR(L_STATUS));\r\n&lt;       END IF;\r\n&lt;       LOCK_ACQUIRED := FALSE;\r\n&lt;     END IF;\r\n&lt;   \r\n&lt;     IF LOCK_ACQUIRED\r\n&lt;     THEN\r\n&lt;     \r\n&lt;     \r\n&lt;       DECLARE\r\n&lt;         TYPE INTEGER_VARRAY IS TABLE OF INTEGER;\r\n&lt;         L_LOCKID  INTEGER_VARRAY;\r\n&lt;       BEGIN\r\n&lt;         SELECT LOCKID BULK COLLECT INTO L_LOCKID\r\n&lt;         FROM DBMS_LOCK_ALLOCATED WHERE EXPIRATION &lt; SYSDATE\r\n&lt;         FOR UPDATE SKIP LOCKED;\r\n&lt; \r\n&lt;         FOR I IN 1..L_LOCKID.COUNT\r\n&lt;         LOOP\r\n&lt;           DELETE DBMS_LOCK_ALLOCATED\r\n&lt;           WHERE LOCKID = L_LOCKID(I);\r\n&lt;         END LOOP;\r\n&lt;         IF L_LOCKID.COUNT &gt; 0\r\n&lt;         THEN\r\n&lt;           DBMSLOCK_DEBUG('exp locks cleaned '|| L_LOCKID.COUNT);\r\n&lt;         ELSE\r\n&lt;           DBMSLOCK_DEBUG('exp locks nothing to clean');\r\n&lt;         END IF;\r\n&lt; \r\n&lt; \r\n&lt;         L_STATUS := DBMS_LOCK.RELEASE(DBMS_UTILITY.GET_HASH_VALUE(\r\n&lt;                        CLEANUP_LOCK_NAME, 2000003064, 3064));\r\n&lt;         IF L_STATUS = 0\r\n&lt;         THEN\r\n&lt;           DBMSLOCK_DEBUG('released cleanup lock');\r\n&lt;           LOCK_ACQUIRED := FALSE;\r\n&lt;         ELSE\r\n&lt;           DBMS_SYSTEM.KSDWRT(DBMS_SYSTEM.TRACE_FILE,\r\n&lt;             'error releasing cleanup lock ' || L_STATUS);\r\n&lt;         END IF;\r\n&lt; \r\n&lt;         COMMIT;\r\n&lt; \r\n&lt;       EXCEPTION\r\n&lt;         WHEN OTHERS THEN\r\n&lt;           DBMS_SYSTEM.KSDWRT(DBMS_SYSTEM.TRACE_FILE,\r\n&lt;             'error deleting expired locks: ' || SQLERRM);\r\n&lt;           ROLLBACK;\r\n&lt; \r\n&lt; \r\n&lt;           IF LOCK_ACQUIRED\r\n&lt;           THEN\r\n&lt;             L_STATUS := DBMS_LOCK.RELEASE(DBMS_UTILITY.GET_HASH_VALUE(\r\n&lt;                          CLEANUP_LOCK_NAME, 2000003064, 3064));\r\n&lt;             IF L_STATUS = 0\r\n&lt;             THEN\r\n&lt;               DBMSLOCK_DEBUG('released cleanup lock');\r\n&lt;             ELSE\r\n&lt;               DBMS_SYSTEM.KSDWRT(DBMS_SYSTEM.TRACE_FILE,\r\n&lt;                 'error releasing cleanup lock ' || L_STATUS);\r\n&lt;             END IF;\r\n&lt;           END IF;\r\n&lt;       END;\r\n&lt;     END IF;\r\n&lt; \r\n&lt;   END INTERNAL_LOCK_CLEAN;\r\n&lt; \r\n371,375d242\r\n&lt;     PTYP   BINARY_INTEGER;\r\n&lt;     INTVAL BINARY_INTEGER;\r\n&lt;     STRVAL VARCHAR2(256);\r\n&lt;     FORCE_CLEAN BOOLEAN := FALSE;\r\n&lt; \r\n382d248\r\n&lt; \r\n384,408d249\r\n&lt; \r\n&lt; \r\n&lt;     IF DEBUG_LOCK = 0\r\n&lt;     THEN \r\n&lt;         PTYP := DBMS_UTILITY.GET_PARAMETER_VALUE('_qa_lrg_type',\r\n&lt;                                        INTVAL, STRVAL);   \r\n&lt;         IF (BITAND(INTVAL, 32) = 32)\r\n&lt;         THEN\r\n&lt;            DEBUG_LOCK := 2;\r\n&lt;             DBMSLOCK_DEBUG('debug output enabled');\r\n&lt;         ELSE\r\n&lt;            DEBUG_LOCK := 1;\r\n&lt;         END IF;\r\n&lt;     END IF;\r\n&lt; \r\n&lt; \r\n&lt; \r\n&lt;    IF DEBUG_LOCK = 2\r\n&lt;    THEN\r\n&lt;      IF LOCKNAME LIKE 'bye%'\r\n&lt;      THEN\r\n&lt;        FORCE_CLEAN := TRUE;\r\n&lt;      END IF; \r\n&lt;    END IF;\r\n&lt; \r\n421c262\r\n&lt;           IF (FORCE_CLEAN = TRUE OR ((LOCKID MOD 100) = 0)  ) \r\n---\r\n&gt;           IF (LOCKID MOD 100) = 0 \r\n424d264\r\n&lt;             DBMSLOCK_DEBUG('time to clean: '|| LOCKID);\r\n451,452c291\r\n&lt;  \r\n&lt;     IF DO_CLEANUP = TRUE \r\n---\r\n&gt;     IF ( DO_CLEANUP = TRUE )\r\n454c293,294\r\n&lt;        INTERNAL_LOCK_CLEAN();\r\n---\r\n&gt;       DELETE DBMS_LOCK_ALLOCATED WHERE EXPIRATION &lt; SYSDATE;\r\n&gt;       COMMIT;\r\n<\/pre>\n<div id=\"SYS.DBMS_QOPATCH.PACKAGE BODY.RU\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">448,455c448,451\r\n&lt; \r\n&lt; \tSELECT HOST_NAME INTO NNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \tSELECT INSTANCE_NAME INTO INAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \tIF DO_DEBUG THEN\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || INAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tEND IF;\r\n&lt; \r\n---\r\n&gt;           TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;           NNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;           TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;           INAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n1622,1624c1618,1626\r\n&lt; \r\n&lt;      SELECT HOST_NAME INTO NDNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;      SELECT INSTANCE_NAME INTO ISNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n---\r\n&gt;      TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;      IF DO_DEBUG THEN\r\n&gt;       DBMS_OUTPUT.PUT_LINE('QPI: tname:' || TNAME||':');\r\n&gt;      END IF;     \r\n&gt;      NDNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;      IF DO_DEBUG THEN\r\n&gt;       DBMS_OUTPUT.PUT_LINE('QPI: ndame:' || NDNAME||':');\r\n&gt;      END IF;\r\n&gt;      TNAME := REPLACE(TNAME,CHR(0),'');\r\n1626,1627c1628,1633\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NDNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || ISNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n---\r\n&gt;       DBMS_OUTPUT.PUT_LINE('QPI: tname:' || TNAME||':');\r\n&gt;      END IF;\r\n&gt;      ISNAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n&gt;      IF DO_DEBUG THEN\r\n&gt;       DBMS_OUTPUT.PUT_LINE('QPI: isname:' || ISNAME||':');\r\n&gt;       DBMS_OUTPUT.PUT_LINE('QPI: inst-number:' || INST_TAB(I).INST_NUMBER||':');\r\n1841,1847c1847,1850\r\n&lt; \r\n&lt;       SELECT HOST_NAME INTO NDNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;       SELECT INSTANCE_NAME INTO ISNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt;       IF DO_DEBUG THEN\r\n&lt;  \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NDNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || ISNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt;       END IF;\r\n---\r\n&gt;       TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;       NDNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;       TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;       ISNAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n2834,2840c2837,2840\r\n&lt; \r\n&lt; \t  SELECT HOST_NAME INTO NNAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \t  SELECT INSTANCE_NAME INTO INAME FROM GV$INSTANCE WHERE INST_ID = INST_TAB(I).INST_NUMBER;\r\n&lt; \t  IF DO_DEBUG THEN\r\n&lt; \t \tDBMS_OUTPUT.PUT_LINE('QPI: fetching hostname from gv$instance :' || NNAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \t\tDBMS_OUTPUT.PUT_LINE('QPI: fetching instance_name from gv$instance :' || INAME || ' for inst_number : ' || INST_TAB(I).INST_NUMBER);\r\n&lt; \t  END IF;\r\n---\r\n&gt;            TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n&gt;            NNAME := SUBSTR(TNAME,1,INSTR(TNAME,':')-1);\r\n&gt;            TNAME := REPLACE(TNAME,CHR(0),'');\r\n&gt;            INAME := SUBSTR(TNAME,INSTR(TNAME,':')+1);\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLPATCH.PACKAGE BODY.RU\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">324,325c324\r\n&lt;              S_APPLICATION_PATCH, S_PATCH_DIRECTORY_ZIP,\r\n&lt;              S_INSTALLING_BUNDLE\r\n---\r\n&gt;              S_APPLICATION_PATCH, S_PATCH_DIRECTORY_ZIP\r\n327,328c326\r\n&lt;              L_APPLICATION_PATCH, PATCH_DIRECTORY_ZIP,\r\n&lt;              INSTALLING_BUNDLE\r\n---\r\n&gt;              L_APPLICATION_PATCH, PATCH_DIRECTORY_ZIP\r\n405a404\r\n&gt;       \r\n422c421\r\n&lt;           INSTALLED_BUNDLE := REGISTRY_ID;\r\n---\r\n&gt;           INSTALLED_BUNDLE := 0;\r\n474c473,478\r\n&lt;         DEBUG_PUT_LINE('  installing bundle: ' || INSTALLING_BUNDLE);\r\n---\r\n&gt;         \r\n&gt;         \r\n&gt;         SELECT NVL(MAX(EXTRACT(COLUMN_VALUE, '\/bundle\/@id').GETNUMBERVAL()), 0)\r\n&gt;           INTO INSTALLING_BUNDLE\r\n&gt;           FROM XMLTABLE('\/bundledata\/bundle'\r\n&gt;                         PASSING BUNDLEDATA);\r\n977,978c981\r\n&lt;                                P_PATCH_DIRECTORY IN BLOB := NULL,\r\n&lt;                                P_INSTALLING_BUNDLE IN NUMBER := NULL) IS\r\n---\r\n&gt;                                P_PATCH_DIRECTORY IN BLOB := NULL) IS\r\n989,990c992\r\n&lt;        S_PATCH_DIRECTORY_ZIP,\r\n&lt;        S_INSTALLING_BUNDLE)\r\n---\r\n&gt;        S_PATCH_DIRECTORY_ZIP)\r\n997,998c999\r\n&lt;        P_PATCH_DIRECTORY,\r\n&lt;        P_INSTALLING_BUNDLE);\r\n---\r\n&gt;        P_PATCH_DIRECTORY);\r\n<\/pre>\n<div id=\"SYS.PRVTEMX_CELL.PACKAGE BODY.RU\">SYS.PRVTEMX_CELL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">71,72d70\r\n&lt;   \r\n&lt;   \r\n75c73\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fco\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fco\" in_cat_sum=\"Y\"\/&gt;\r\n77c75\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fco\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fco\" in_cat_sum=\"Y\"\/&gt;\r\n79,81c77,79\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fcs\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"204\" name=\"fcsior\" type=\"reqs\"\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fcs\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fcs\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"204\" name=\"fcsior\" type=\"reqs\" \r\n&gt;       cat=\"1-ureads\" sub=\"fcs\" in_cat_sum=\"Y\"\/&gt;\r\n83c81\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fcc\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fcc\" in_cat_sum=\"Y\"\/&gt;\r\n85c83\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fcc\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fcc\" in_cat_sum=\"Y\"\/&gt;\r\n87c85\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fckp\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fckp\" in_cat_sum=\"Y\"\/&gt;\r\n89,100c87,96\r\n&lt;       cat=\"01-fc_ureads\" sub=\"fckp\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"201\" name=\"fcoiorqrm\" type=\"reqs\" cat=\"01-fc_ureads\" sub=\"fco\"\/&gt;\r\n&lt;     &lt;stat id=\"205\" name=\"fcsiobyra\" type=\"bytes\" cat=\"01-fc_ureads\" sub=\"fcs\"\/&gt;\r\n&lt;     &lt;stat id=\"302\" name=\"fcciobyelig\" type=\"bytes\" \r\n&lt;       cat=\"01-fc_ureads\" sub=\"fcc\"\/&gt;\r\n&lt;     &lt;stat id=\"303\" name=\"fcciobysave\" type=\"bytes\" \r\n&lt;       cat=\"01-fc_ureads\" sub=\"fcc\"\/&gt;\r\n&lt;     &lt;stat id=\"213\" name=\"fckpiorqrm\" type=\"reqs\" cat=\"01-fc_ureads\" sub=\"fckp\"\/&gt;\r\n&lt;     &lt;stat id=\"196\" name=\"fciorash\" type=\"bytes\" cat=\"01-fc_ureads\"\/&gt;\r\n&lt;     &lt;stat id=\"194\" name=\"fciorash\" type=\"reqs\" cat=\"01-fc_ureads\"\/&gt;\r\n&lt;     &lt;stat id=\"197\" name=\"fciorasm\" type=\"bytes\" cat=\"01-fc_ureads\"\/&gt;\r\n&lt;     &lt;stat id=\"195\" name=\"fciorasm\" type=\"reqs\" cat=\"01-fc_ureads\"\/&gt;\r\n---\r\n&gt;       cat=\"1-ureads\" sub=\"fckp\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"201\" name=\"fcoiorqrm\" type=\"reqs\" cat=\"1-ureads\" sub=\"fco\"\/&gt;\r\n&gt;     &lt;stat id=\"205\" name=\"fcsiobyra\" type=\"bytes\" cat=\"1-ureads\" sub=\"fcs\"\/&gt;\r\n&gt;     &lt;stat id=\"302\" name=\"fcciobyelig\" type=\"bytes\" cat=\"1-ureads\" sub=\"fcc\"\/&gt;\r\n&gt;     &lt;stat id=\"303\" name=\"fcciobysave\" type=\"bytes\" cat=\"1-ureads\" sub=\"fcc\"\/&gt;\r\n&gt;     &lt;stat id=\"213\" name=\"fckpiorqrm\" type=\"reqs\" cat=\"1-ureads\" sub=\"fckp\"\/&gt;\r\n&gt;     &lt;stat id=\"196\" name=\"fciorash\" type=\"bytes\" cat=\"1-ureads\"\/&gt;\r\n&gt;     &lt;stat id=\"194\" name=\"fciorash\" type=\"reqs\" cat=\"1-ureads\"\/&gt;\r\n&gt;     &lt;stat id=\"197\" name=\"fciorasm\" type=\"bytes\" cat=\"1-ureads\"\/&gt;\r\n&gt;     &lt;stat id=\"195\" name=\"fciorasm\" type=\"reqs\" cat=\"1-ureads\"\/&gt;\r\n102,117c98,111\r\n&lt;     &lt;stat id=\"181\" name=\"fciow\" type=\"bytes\" \r\n&lt;       cat=\"02-fc_uwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"188\" name=\"fciow\" type=\"reqs\" \r\n&lt;       cat=\"02-fc_uwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"185\" name=\"fciowf\" type=\"bytes\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"189\" name=\"fciowf\" type=\"reqs\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"186\" name=\"fciowow\" type=\"bytes\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"190\" name=\"fciowow\" type=\"reqs\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"216\" name=\"fckpiow\" type=\"bytes\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"215\" name=\"fckpiow\" type=\"reqs\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"373\" name=\"fclwmrw\" type=\"reqs\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"374\" name=\"fclwnrw\" type=\"reqs\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"375\" name=\"fclwrow\" type=\"reqs\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"376\" name=\"fclwmrw\" type=\"bytes\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"377\" name=\"fclwnrw\" type=\"bytes\" cat=\"02-fc_uwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"378\" name=\"fclwrow\" type=\"bytes\" cat=\"02-fc_uwrites\"\/&gt;\r\n---\r\n&gt;     &lt;stat id=\"181\" name=\"fciow\" type=\"bytes\" cat=\"2-uwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"188\" name=\"fciow\" type=\"reqs\" cat=\"2-uwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"185\" name=\"fciowf\" type=\"bytes\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"189\" name=\"fciowf\" type=\"reqs\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"186\" name=\"fciowow\" type=\"bytes\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"190\" name=\"fciowow\" type=\"reqs\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"216\" name=\"fckpiow\" type=\"bytes\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"215\" name=\"fckpiow\" type=\"reqs\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"373\" name=\"fclwmrw\" type=\"reqs\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"374\" name=\"fclwnrw\" type=\"reqs\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"375\" name=\"fclwrow\" type=\"reqs\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"376\" name=\"fclwmrw\" type=\"bytes\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"377\" name=\"fclwnrw\" type=\"bytes\" cat=\"2-uwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"378\" name=\"fclwrow\" type=\"bytes\" cat=\"2-uwrites\"\/&gt;\r\n119,126c113,118\r\n&lt;     &lt;stat id=\"192\" name=\"fciordw\" type=\"bytes\" \r\n&lt;       cat=\"03-fc_ireads\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"193\" name=\"fciordw\" type=\"reqs\" \r\n&lt;       cat=\"03-fc_ireads\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"314\" name=\"fciordkwr\" type=\"reqs\" cat=\"03-fc_ireads\"\/&gt;\r\n&lt;     &lt;stat id=\"315\" name=\"fciordkwr\" type=\"bytes\" cat=\"03-fc_ireads\"\/&gt;\r\n&lt;     &lt;stat id=\"316\" name=\"fciowdkwr\" type=\"reqs\" cat=\"03-fc_ireads\"\/&gt;\r\n&lt;     &lt;stat id=\"317\" name=\"fciowdkwr\" type=\"bytes\" cat=\"03-fc_ireads\"\/&gt;\r\n---\r\n&gt;     &lt;stat id=\"192\" name=\"fciordw\" type=\"bytes\" cat=\"3-ireads\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"193\" name=\"fciordw\" type=\"reqs\" cat=\"3-ireads\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"314\" name=\"fciordkwr\" type=\"reqs\" cat=\"3-ireads\"\/&gt;\r\n&gt;     &lt;stat id=\"315\" name=\"fciordkwr\" type=\"bytes\" cat=\"3-ireads\"\/&gt;\r\n&gt;     &lt;stat id=\"316\" name=\"fciowdkwr\" type=\"reqs\" cat=\"3-ireads\"\/&gt;\r\n&gt;     &lt;stat id=\"317\" name=\"fciowdkwr\" type=\"bytes\" cat=\"3-ireads\"\/&gt;\r\n129,135c121,126\r\n&lt;       cat=\"04-fc_iwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"191\" name=\"fciowpop\" type=\"reqs\"\r\n&lt;       cat=\"04-fc_iwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"218\" name=\"fckpiowpop\" type=\"bytes\" cat=\"04-fc_iwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"217\" name=\"fckpiowpop\" type=\"reqs\" cat=\"04-fc_iwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"307\" name=\"fcciowpop\" type=\"bytes\" cat=\"04-fc_iwrites\"\/&gt;\r\n&lt;     &lt;stat id=\"306\" name=\"fcciowpop\" type=\"reqs\" cat=\"04-fc_iwrites\"\/&gt;\r\n---\r\n&gt;       cat=\"4-iwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"191\" name=\"fciowpop\" type=\"reqs\" cat=\"4-iwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&gt;     &lt;stat id=\"218\" name=\"fckpiowpop\" type=\"bytes\" cat=\"4-iwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"217\" name=\"fckpiowpop\" type=\"reqs\" cat=\"4-iwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"307\" name=\"fcciowpop\" type=\"bytes\" cat=\"4-iwrites\"\/&gt;\r\n&gt;     &lt;stat id=\"306\" name=\"fcciowpop\" type=\"reqs\" cat=\"4-iwrites\"\/&gt;\r\n138c129\r\n&lt;       cat=\"05-fcs_pop\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"5-fcsrep\" in_cat_sum=\"Y\"\/&gt;\r\n140c131\r\n&lt;       cat=\"05-fcs_pop\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"5-fcsrep\" in_cat_sum=\"Y\"\/&gt;\r\n142c133\r\n&lt;       cat=\"05-fcs_pop\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"5-fcsrep\" in_cat_sum=\"Y\"\/&gt;\r\n144c135\r\n&lt;       cat=\"05-fcs_pop\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"5-fcsrep\" in_cat_sum=\"Y\"\/&gt;\r\n146c137\r\n&lt;       cat=\"05-fcs_pop\" in_cat_sum=\"Y\"\/&gt;\r\n---\r\n&gt;       cat=\"5-fcsrep\" in_cat_sum=\"Y\"\/&gt;\r\n148,166c139,141\r\n&lt;     &lt;stat id=\"184\" name=\"fciobykpow\" type=\"bytes\" cat=\"06-others\"\/&gt;\r\n&lt;     &lt;stat id=\"198\" name=\"fciorqspc\" type=\"reqs\" cat=\"06-others\"\/&gt;\r\n&lt;     &lt;stat id=\"199\" name=\"fciorqspcf\" type=\"reqs\" cat=\"06-others\"\/&gt;\r\n&lt;      &lt;!-- ram cache --&gt;\r\n&lt;     &lt;stat id=\"390\" name=\"rcior\" type=\"reqs\" \r\n&lt;        cat=\"07-rc_ureads\" sub=\"rco\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"391\" name=\"rcior\" type=\"bytes\" \r\n&lt;        cat=\"07-rc_ureads\" sub=\"rco\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"392\" name=\"rciorm\" type=\"reqs\" \r\n&lt;        cat=\"07-rc_ureads\" sub=\"rco\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"393\" name=\"rciorm\" type=\"bytes\" \r\n&lt;        cat=\"07-rc_ureads\" sub=\"rco\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"394\" name=\"rciowpop\"  type=\"reqs\" \r\n&lt;        cat=\"08-rc_iwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"395\" name=\"rciowpop\" type=\"bytes\" \r\n&lt;        cat=\"08-rc_iwrites\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"396\" name=\"rcby\" type=\"space\" \r\n&lt;        cat=\"09-rc_spc\" in_cat_sum=\"Y\"\/&gt;\r\n&lt;     &lt;stat id=\"397\" name=\"rcbyo\" type=\"space\" cat=\"09-rc_spc\"\/&gt;\r\n---\r\n&gt;     &lt;stat id=\"184\" name=\"fciobykpow\" type=\"bytes\" cat=\"6-others\"\/&gt;\r\n&gt;     &lt;stat id=\"198\" name=\"fciorqspc\" type=\"reqs\" cat=\"6-others\"\/&gt;\r\n&gt;     &lt;stat id=\"199\" name=\"fciorqspcf\" type=\"reqs\" cat=\"6-others\"\/&gt;\r\n6622d6596\r\n&lt;              nullif(cat_spc,0)\/#BTOMB#  cat_spcmb,\r\n6627d6600\r\n&lt;              nullif(spc,0)\/#BTOMB#  spcmb,\r\n6633d6605\r\n&lt;              100*spc\/decode(cat_spc,0,null,cat_spc)    spc_pct,\r\n6654c6626\r\n&lt;              case when stat_name in ('fcoior','rcior')\r\n---\r\n&gt;              case when stat_name = 'fcoior'\r\n6663,6664d6634\r\n&lt;                   when stat_name = 'rcbyo'\r\n&lt;                   then 100*(spc\/decode(eff_denom,0,null,eff_denom))\r\n6671d6640\r\n&lt;              nullif(cat_spc_s,0)\/#BTOMB#  cat_spcmb_s,\r\n6675d6643\r\n&lt;              nullif(spc_s,0)\/#BTOMB#   spcmb_s,\r\n6681d6648\r\n&lt;              100*spc_s\/decode(cat_spc_s,0,null,cat_spc_s)  spc_pct_s,\r\n6702c6669\r\n&lt;              case when stat_name in ('fcoior','rcior')\r\n---\r\n&gt;              case when stat_name = 'fcoior'\r\n6712,6713d6678\r\n&lt;                   when stat_name = 'rcbyo'\r\n&lt;                   then 100*(spc_s\/decode(eff_denom_s,0,null,eff_denom_s))\r\n6716,6726c6681,6684\r\n&lt;               case when stat_category != '09-rc_spc' \r\n&lt;                    then dense_rank() over (partition by stat_category\r\n&lt;                                                order by cat_rqps desc,\r\n&lt;                                                         cat_byps desc,\r\n&lt;                                                         cn.cell_name) \r\n&lt;                    else dense_rank() over (partition by stat_category\r\n&lt;                                                order by cat_spc desc,\r\n&lt;                                                         cat_rqps desc,\r\n&lt;                                                         cat_byps desc,\r\n&lt;                                                         cn.cell_name)\r\n&lt;                end rn,\r\n---\r\n&gt;               dense_rank() over (partition by stat_category\r\n&gt;                                      order by cat_rqps desc,\r\n&gt;                                               cat_byps desc,\r\n&gt;                                               cn.cell_name) rn,\r\n6731d6688\r\n&lt;                                               cat_spc  desc,\r\n6735c6692\r\n&lt;                  rq, rqps, bytes, byps, spc,\r\n---\r\n&gt;                  rq, rqps, bytes, byps,\r\n6762,6763d6718\r\n&lt;                  sum(cat_spc)\r\n&lt;                    over (partition by cell_hash, stat_category) cat_spc,\r\n6769d6723\r\n&lt;                  sum(spc )  over (partition by stat_name) spc_s,\r\n6791,6792d6744\r\n&lt;                  sum(cat_spc) \r\n&lt;                    over (partition by stat_category) cat_spc_s,\r\n6804d6755\r\n&lt;                       sum(decode(stat_type,'space',current_value,0)) spc,\r\n6827d6777\r\n&lt;                       -- also denominator for space usage to calculate %\r\n6830,6831c6780\r\n&lt;                                                   'fcoiorqrm','fckpiorqrm',\r\n&lt;                                                   'rcior','rciorm')\r\n---\r\n&gt;                                                   'fcoiorqrm','fckpiorqrm')\r\n6836,6838d6784\r\n&lt;                                when stat_type = 'space'\r\n&lt;                                 and stat_name = 'rcby'\r\n&lt;                                then current_value\r\n6861,6865c6807\r\n&lt;                            end) cat_byps,\r\n&lt;                       sum(case when stat_type = 'space'\r\n&lt;                                 and in_cat_sum = 'Y'\r\n&lt;                                then current_value\r\n&lt;                            end) cat_spc\r\n---\r\n&gt;                            end) cat_byps\r\n6873,6874d6814\r\n&lt;                           -- current value\r\n&lt;                           e.metric_value current_value,\r\n6901,6902c6841\r\n&lt;                         or e.metric_id between 370 and 380\r\n&lt;                         or e.metric_id between 390 and 397)\r\n---\r\n&gt;                         or e.metric_id between 370 and 380)\r\n9626d9564\r\n&lt;                      or max(cat_spcmb_s) is not null\r\n9632c9570\r\n&lt;                           when category = '01-fc_ureads'\r\n---\r\n&gt;                           when category = '1-ureads'\r\n9644c9582\r\n&lt;                           case when category = '02-fc_uwrites'\r\n---\r\n&gt;                           case when category = '2-uwrites'\r\n9677d9614\r\n&lt;                        max(cat_spcmb_s)   cat_spcmb_s,\r\n9687,9688c9624\r\n&lt;                            or  mb_s is not null\r\n&lt;                            or  spcmb_s is not null)\r\n---\r\n&gt;                            or  mb_s is not null)\r\n9700d9635\r\n&lt;                                   round(spcmb_s,2) as \"spcmb\",\r\n9723,9725c9658\r\n&lt;                                                      'fccior',\r\n&lt;                                                      'rcior',\r\n&lt;                                                      'rcbyo')\r\n---\r\n&gt;                                                      'fccior')\r\n9729,9730c9662,9663\r\n&lt;                                     '02-fc_uwrites',round(rq_pct_s,2))\r\n&lt;                                                           as \"rqpct\",\r\n---\r\n&gt;                                     '2-uwrites',round(rq_pct_s,2))\r\n&gt;                                                        as \"rqpct\",\r\n9732,9733c9665,9666\r\n&lt;                                     '02-fc_uwrites',round(by_pct_s,2))\r\n&lt;                                                           as \"mbpct\"))\r\n---\r\n&gt;                                     '2-uwrites',round(by_pct_s,2))\r\n&gt;                                                        as \"mbpct\"))\r\n9739,9740c9672\r\n&lt;                          or max(cat_mb) is not null\r\n&lt;                          or max(cat_spcmb) is not null)\r\n---\r\n&gt;                          or max(cat_mb) is not null)\r\n9746c9678\r\n&lt;                               when category = '01-fc_ureads'\r\n---\r\n&gt;                               when category = '1-ureads'\r\n9759d9690\r\n&lt;                                   or spcmb is not null\r\n9771d9701\r\n&lt;                                          round(spcmb,2) as \"spcmb\",\r\n9793,9795c9723\r\n&lt;                                                             'fccior',\r\n&lt;                                                             'rcior',\r\n&lt;                                                             'rcbyo')\r\n---\r\n&gt;                                                             'fccior')\r\n9799c9727\r\n&lt;                                            '02-fc_uwrites',round(rq_pct,2))\r\n---\r\n&gt;                                            '2-uwrites',round(rq_pct,2))\r\n9802c9730\r\n&lt;                                            '02-fc_uwrites',round(by_pct,2))\r\n---\r\n&gt;                                            '2-uwrites',round(by_pct,2))\r\n9808c9736\r\n&lt;                                when category = '02-fc_uwrites'\r\n---\r\n&gt;                                when category = '2-uwrites'\r\n9833c9761,9766\r\n&lt;                             substr(category,4) cat_disp\r\n---\r\n&gt;                             decode(category,'1-ureads','fc_ureads',\r\n&gt;                                             '2-uwrites','fc_uwrites',\r\n&gt;                                             '3-ireads','fc_ireads',\r\n&gt;                                             '4-iwrites','fc_iwrites',\r\n&gt;                                             '5-fcsrep','fcs_pop',\r\n&gt;                                             substr(category,3)) cat_disp\r\n17771,17921d17703\r\n&lt;     SQLSTMT_FLASH_CACHE_BASE CONSTANT VARCHAR2(32767) := q'[\r\n&lt;                     select nvl(sp1.rn, sp2.rn) rn,\r\n&lt;                            nvl(sp1.stat_name, sp2.stat_name) stat_name,\r\n&lt;                            nvl(sp1.stat_category, sp2.stat_category) \r\n&lt;                                                             stat_category,\r\n&lt;                            substr(nvl(sp1.stat_category,\r\n&lt;                                       sp2.stat_category),4) disp_category,\r\n&lt;                            least(nvl(sp1.rn_stat,sp2.rn_stat),\r\n&lt;                                  nvl(sp2.rn_stat,sp1.rn_stat))  rn_stat,\r\n&lt;                            sp1.id sp1_id, sp2.id sp2_id,\r\n&lt;                            sp1.cell_name sp1_cell_name,\r\n&lt;                            sp2.cell_name sp2_cell_name,\r\n&lt;                            sp1.num_cells sp1_num_cells,\r\n&lt;                            sp2.num_cells sp2_num_cells,\r\n&lt;                            sp1.rq sp1_rq, sp2.rq sp2_rq,\r\n&lt;                            sp1.mb sp1_mb, sp2.mb sp2_mb,\r\n&lt;                            sp1.rqps sp1_rqps, sp2.rqps sp2_rqps,\r\n&lt;                            sp1.mbps sp1_mbps, sp2.mbps sp2_mbps,\r\n&lt;                            sp1.spcmb sp1_spcmb, sp2.spcmb sp2_spcmb,\r\n&lt;                            sp1.cat_rq sp1_cat_rq,\r\n&lt;                            sp2.cat_rq sp2_cat_rq,\r\n&lt;                            sp1.cat_rqps sp1_cat_rqps,\r\n&lt;                            sp2.cat_rqps sp2_cat_rqps,\r\n&lt;                            sp1.cat_mb sp1_cat_mb,\r\n&lt;                            sp2.cat_mb sp2_cat_mb,\r\n&lt;                            sp1.cat_mbps sp1_cat_mbps,\r\n&lt;                            sp2.cat_mbps sp2_cat_mbps,\r\n&lt;                            sp1.cat_spcmb sp1_cat_spcmb,\r\n&lt;                            sp2.cat_spcmb sp2_cat_spcmb,\r\n&lt;                            sp1.fciorqwp sp1_fciorqwp,\r\n&lt;                            sp2.fciorqwp sp2_fciorqwp,\r\n&lt;                            sp1.fciombwp sp1_fciombwp,\r\n&lt;                            sp2.fciombwp sp2_fciombwp,\r\n&lt;                            sp1.fciorqwp_ps sp1_fciorqwp_ps,\r\n&lt;                            sp2.fciorqwp_ps sp2_fciorqwp_ps,\r\n&lt;                            sp1.fciombwp_ps sp1_fciombwp_ps,\r\n&lt;                            sp2.fciombwp_ps sp2_fciombwp_ps,\r\n&lt;                            -- compute the values here\r\n&lt;                            case when sp1.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp1.eff_denom - sp1.rq\r\n&lt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp1.eff_denom\/#BTOMB# -- convert to mb\r\n&lt;                             end sp1_eff_denom,\r\n&lt;                            case when sp2.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp2.eff_denom - sp2.rq\r\n&lt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp2.eff_denom\/#BTOMB# -- convert to mb\r\n&lt;                             end sp2_eff_denom,\r\n&lt;                            sp1.fcciobysave\/#BTOMB# sp1_fcciombsave,\r\n&lt;                            sp2.fcciobysave\/#BTOMB# sp2_fcciombsave,\r\n&lt;                            -- also get per second values\r\n&lt;                            (case when sp1.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp1.eff_denom - sp1.rq\r\n&lt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp1.eff_denom\/#BTOMB# -- convert to mb\r\n&lt;                              end)\/:duration1 sp1_eff_denom_ps,\r\n&lt;                            (case when sp2.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp2.eff_denom - sp2.rq\r\n&lt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp2.eff_denom\/#BTOMB# -- convert to mb\r\n&lt;                              end)\/:duration2 sp2_eff_denom_ps,\r\n&lt;                            sp1.fcciobysave\/#BTOMB#\/:duration1 \r\n&lt;                                                          sp1_fcciombsave_ps,\r\n&lt;                            sp2.fcciobysave\/#BTOMB#\/:duration2 \r\n&lt;                                                          sp2_fcciombsave_ps,\r\n&lt;                            sp1.eff sp1_eff, sp2.eff sp2_eff,\r\n&lt;                            -- calculate % diff for per second values\r\n&lt;                            100*(sp2.cat_rqps - sp1.cat_rqps)\/\r\n&lt;                              decode(sp1.cat_rqps,0,null,sp1.cat_rqps) \r\n&lt;                                                                cat_rqps_diff,\r\n&lt;                            100*(sp2.cat_mbps - sp1.cat_mbps)\/\r\n&lt;                              decode(sp1.cat_mbps,0,null,sp1.cat_mbps) \r\n&lt;                                                                cat_mbps_diff,\r\n&lt;                            100*(sp2.rqps - sp1.rqps)\/\r\n&lt;                              decode(sp1.rqps,0,null,sp1.rqps)  rqps_diff,\r\n&lt;                            100*(sp2.mbps - sp1.mbps)\/\r\n&lt;                              decode(sp1.mbps,0,null,sp1.mbps)  mbps_diff,\r\n&lt;                            100*(sp2.spcmb - sp1.spcmb)\/\r\n&lt;                              decode(sp1.spcmb,0,null,sp1.spcmb) spcmb_diff,\r\n&lt;                            sp2.eff - sp1.eff                    eff_diff,\r\n&lt;                            -- get data for 'All' node\r\n&lt;                            sp1.rq_s sp1_rq_s, sp2.rq_s sp2_rq_s,\r\n&lt;                            sp1.mb_s sp1_mb_s, sp2.mb_s sp2_mb_s,\r\n&lt;                            sp1.rqps_s sp1_rqps_s, sp2.rqps_s sp2_rqps_s,\r\n&lt;                            sp1.mbps_s sp1_mbps_s, sp2.mbps_s sp2_mbps_s,\r\n&lt;                            sp1.spcmb_s sp1_spcmb_s, sp2.spcmb_s sp2_spcmb_s,\r\n&lt;                            sp1.cat_rq_s sp1_cat_rq_s,\r\n&lt;                            sp2.cat_rq_s sp2_cat_rq_s,\r\n&lt;                            sp1.cat_rqps_s sp1_cat_rqps_s,\r\n&lt;                            sp2.cat_rqps_s sp2_cat_rqps_s,\r\n&lt;                            sp1.cat_mb_s sp1_cat_mb_s,\r\n&lt;                            sp2.cat_mb_s sp2_cat_mb_s,\r\n&lt;                            sp1.cat_mbps_s sp1_cat_mbps_s,\r\n&lt;                            sp2.cat_mbps_s sp2_cat_mbps_s,\r\n&lt;                            sp1.cat_spcmb_s sp1_cat_spcmb_s,\r\n&lt;                            sp2.cat_spcmb_s sp2_cat_spcmb_s,\r\n&lt;                            sp1.fciorqwp_s sp1_fciorqwp_s,\r\n&lt;                            sp2.fciorqwp_s sp2_fciorqwp_s,\r\n&lt;                            sp1.fciombwp_s sp1_fciombwp_s,\r\n&lt;                            sp2.fciombwp_s sp2_fciombwp_s,\r\n&lt;                            sp1.fciorqwp_ps_s sp1_fciorqwp_ps_s,\r\n&lt;                            sp2.fciorqwp_ps_s sp2_fciorqwp_ps_s,\r\n&lt;                            sp1.fciombwp_ps_s sp1_fciombwp_ps_s,\r\n&lt;                            sp2.fciombwp_ps_s sp2_fciombwp_ps_s,\r\n&lt;                            -- compute values\r\n&lt;                            case when sp1.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp1.eff_denom_s - sp1.rq_s\r\n&lt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp1.eff_denom_s\/#BTOMB#\r\n&lt;                             end sp1_eff_denom_s,\r\n&lt;                            case when sp2.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp2.eff_denom_s - sp2.rq_s\r\n&lt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp2.eff_denom_s\/#BTOMB#\r\n&lt;                             end sp2_eff_denom_s,\r\n&lt;                            sp1.fcciobysave_s\/#BTOMB# sp1_fcciobysave_s,\r\n&lt;                            sp2.fcciobysave_s\/#BTOMB# sp2_fcciobysave_s,\r\n&lt;                            (case when sp1.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp1.eff_denom_s - sp1.rq_s\r\n&lt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp1.eff_denom_s\/#BTOMB#\r\n&lt;                              end)\/:duration1 sp1_eff_denom_ps_s,\r\n&lt;                            (case when sp2.stat_name in ('fcoior','fckpior')\r\n&lt;                                 then sp2.eff_denom_s - sp2.rq_s\r\n&lt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&lt;                                 then sp2.eff_denom_s\/#BTOMB#\r\n&lt;                              end)\/:duration2 sp2_eff_denom_ps_s,\r\n&lt;                            sp1.fcciobysave_s\/#BTOMB#\/:duration1 \r\n&lt;                                                          sp1_fcciombsave_ps_s,\r\n&lt;                            sp2.fcciobysave_s\/#BTOMB#\/:duration2 \r\n&lt;                                                          sp2_fcciombsave_ps_s,\r\n&lt;                            sp1.eff sp1_eff_s, sp2.eff_s sp2_eff_s,\r\n&lt;                            -- calculate % diff for per second values\r\n&lt;                            100*(sp2.cat_rqps_s - sp1.cat_rqps_s)\/\r\n&lt;                              decode(sp1.cat_rqps_s,0,null,sp1.cat_rqps_s) \r\n&lt;                                                                cat_rqps_s_diff,\r\n&lt;                            100*(sp2.cat_mbps_s - sp1.cat_mbps_s)\/\r\n&lt;                              decode(sp1.cat_mbps_s,0,null,sp1.cat_mbps_s) \r\n&lt;                                                                cat_mbps_s_diff,\r\n&lt;                            100*(sp2.rqps_s - sp1.rqps_s)\/\r\n&lt;                              decode(sp1.rqps_s,0,null,sp1.rqps_s)  rqps_s_diff,\r\n&lt;                            100*(sp2.mbps_s - sp1.mbps_s)\/\r\n&lt;                              decode(sp1.mbps_s,0,null,sp1.mbps_s)  mbps_s_diff,\r\n&lt;                            100*(sp2.spcmb_s - sp1.spcmb_s)\/\r\n&lt;                              decode(sp1.spcmb_s,0,null,sp1.spcmb_s) \r\n&lt;                                                                   spcmb_s_diff,\r\n&lt;                            sp2.eff_s - sp1.eff_s                  eff_s_diff\r\n&lt;                       from sp1 full outer join sp2\r\n&lt;                         on sp1.rn = sp2.rn\r\n&lt;                        and sp1.stat_category = sp2.stat_category\r\n&lt;                        and sp1.stat_name = sp2.stat_name]';\r\n17925,17926c17707\r\n&lt;          sp2 as ( #BASE_QUERY_SP2# ),\r\n&lt;          base_stats as (#BASE_STATS#)\r\n---\r\n&gt;          sp2 as ( #BASE_QUERY_SP2# )\r\n17932c17713\r\n&lt;                  xmlattributes('dd_' || max(disp_category) as \"type\"),\r\n---\r\n&gt;                  xmlattributes('dd_fc_' || max(disp_category) as \"type\"),\r\n17946,17948c17727\r\n&lt;                      or  max(sp2_cat_mb_s) is not null\r\n&lt;                      or  max(sp1_cat_spcmb_s) is not null\r\n&lt;                      or max(sp2_cat_spcmb_s) is not null)\r\n---\r\n&gt;                      or  max(sp2_cat_mb_s) is not null)\r\n17958,17960c17737\r\n&lt;                      or  max(sp2_cat_mb_s) is not null\r\n&lt;                      or  max(sp1_cat_spcmb_s) is not null\r\n&lt;                      or  max(sp2_cat_spcmb_s) is not null)\r\n---\r\n&gt;                      or  max(sp2_cat_mb_s) is not null)\r\n17979c17756\r\n&lt;                             when stat_category = '01-fc_ureads'\r\n---\r\n&gt;                             when stat_category = '1-ureads'\r\n18013,18022d17789\r\n&lt;                                     end,\r\n&lt;                                    case \r\n&lt;                                    when max(cat_rqps_s_diff) is not null\r\n&lt;                                      or max(cat_mbps_s_diff) is not null\r\n&lt;                                    then xmlelement(\"period\",\r\n&lt;                                           xmlattributes('diff' as \"id\",\r\n&lt;                                             round(max(cat_rqps_s_diff),2)\r\n&lt;                                                                     as \"rqps\",\r\n&lt;                                             round(max(cat_mbps_s_diff),2)\r\n&lt;                                                                     as \"mbps\"))\r\n18028c17795\r\n&lt;                             when stat_category = '02-fc_uwrites'\r\n---\r\n&gt;                             when stat_category = '2-uwrites'\r\n18070,18071d17836\r\n&lt;                      or max(sp1_cat_spcmb) is not null\r\n&lt;                      or max(sp2_cat_spcmb) is not null\r\n18088c17853\r\n&lt;                             when stat_category='01-fc_ureads'\r\n---\r\n&gt;                             when stat_category='1-ureads'\r\n18122,18131d17886\r\n&lt;                                     end,\r\n&lt;                                    case\r\n&lt;                                    when max(cat_rqps_diff) is not null\r\n&lt;                                      or max(cat_mbps_diff) is not null\r\n&lt;                                    then xmlelement(\"period\",\r\n&lt;                                           xmlattributes('diff' as \"id\",\r\n&lt;                                             round(max(cat_rqps_diff),2) \r\n&lt;                                                                     as \"rqps\",\r\n&lt;                                             round(max(cat_mbps_diff),2) \r\n&lt;                                                                     as \"mbps\"))\r\n18137c17892\r\n&lt;                             when stat_category='02-fc_uwrites'\r\n---\r\n&gt;                             when stat_category='2-uwrites'\r\n18186,18188d17940\r\n&lt;                        sp1_cat_spcmb_s, sp2_cat_spcmb_s,\r\n&lt;                        cat_rqps_s_diff, \r\n&lt;                        cat_mbps_s_diff, \r\n18199,18201c17951\r\n&lt;                          or sp2_mb_s is not null\r\n&lt;                          or sp1_spcmb_s is not null\r\n&lt;                          or sp2_spcmb_s is not null)\r\n---\r\n&gt;                          or sp2_mb_s is not null)\r\n18207d17956\r\n&lt;                                 or sp1_spcmb_s is not null\r\n18214d17962\r\n&lt;                                        round(sp1_spcmb_s,2) as \"spcmb\",\r\n18232,18234c17980\r\n&lt;                                                    'fckpior',sp1_eff_s,\r\n&lt;                                                    'rcior', sp1_eff_s,\r\n&lt;                                                    'rcbyo',sp1_eff_s),2)\r\n---\r\n&gt;                                                    'fckpior',sp1_eff_s),2)\r\n18240d17985\r\n&lt;                                 or sp2_spcmb_s is not null\r\n18247d17991\r\n&lt;                                        round(sp2_spcmb_s,2) as \"spcmb\",\r\n18265,18267c18009\r\n&lt;                                                    'fckpior',sp2_eff_s,\r\n&lt;                                                    'rcior',sp2_eff_s,\r\n&lt;                                                    'rcbyo',sp2_eff_s),2)\r\n---\r\n&gt;                                                    'fckpior',sp2_eff_s),2)\r\n18269,18286d18010\r\n&lt;                                end,\r\n&lt;                                case \r\n&lt;                                when rqps_s_diff is not null\r\n&lt;                                  or mbps_s_diff is not null\r\n&lt;                                  or spcmb_s_diff is not null\r\n&lt;                                 then xmlelement(\"period\",\r\n&lt;                                        xmlattributes('diff'    as \"id\",\r\n&lt;                                          round(rqps_s_diff,2)  as \"rqps\",\r\n&lt;                                          round(mbps_s_diff,2)  as \"mbps\",\r\n&lt;                                          round(spcmb_s_diff,2) as \"spcmb\",\r\n&lt;                                          round(decode(stat_name,\r\n&lt;                                                      'fcoior',eff_s_diff,\r\n&lt;                                                      'fcsior',eff_s_diff,\r\n&lt;                                                      'fccior',eff_s_diff,\r\n&lt;                                                      'fckpior',eff_s_diff,\r\n&lt;                                                      'rcior',eff_s_diff,\r\n&lt;                                                      'rcbyo',eff_s_diff),2)\r\n&lt;                                                                as \"eff\"))\r\n18294,18296d18017\r\n&lt;                        sp1_cat_spcmb, sp2_cat_spcmb,\r\n&lt;                        cat_rqps_diff, \r\n&lt;                        cat_mbps_diff, \r\n18307,18308d18027\r\n&lt;                          or sp1_spcmb is not null\r\n&lt;                          or sp2_spcmb is not null\r\n18314d18032\r\n&lt;                                 or sp1_spcmb is not null\r\n18321d18038\r\n&lt;                                        round(sp1_spcmb,2) as \"spcmb\",\r\n18339,18341c18056\r\n&lt;                                                    'fckpior',sp1_eff,\r\n&lt;                                                    'rcior',sp1_eff,\r\n&lt;                                                    'rcbyo',sp1_eff),2)\r\n---\r\n&gt;                                                    'fckpior',sp1_eff),2)\r\n18347d18061\r\n&lt;                                 or sp2_spcmb is not null\r\n18354,18355c18068\r\n&lt;                                        round(sp2_spcmb,2) as \"spcmb\",\r\n&lt;                                        -- additional efficiency\r\n---\r\n&gt;                                        -- additional efficienacy\r\n18372,18392c18085\r\n&lt;                                                    'fckpior',sp2_eff,\r\n&lt;                                                    'rcior',sp2_eff,\r\n&lt;                                                    'rcbyo',sp2_eff),2)\r\n&lt;                                                           as \"eff\"))\r\n&lt;                                end,\r\n&lt;                               case \r\n&lt;                               when rqps_diff is not null\r\n&lt;                                 or mbps_diff is not null\r\n&lt;                                 or spcmb_diff is not null\r\n&lt;                               then xmlelement(\"period\",\r\n&lt;                                      xmlattributes('diff' as \"id\",\r\n&lt;                                        round(rqps_diff,2) as \"rqps\",\r\n&lt;                                        round(mbps_diff,2) as \"mbps\",\r\n&lt;                                        round(spcmb_diff,2) as \"spcmb\",\r\n&lt;                                        round(decode(stat_name,\r\n&lt;                                                    'fcoior',eff_diff,\r\n&lt;                                                    'fcsior',eff_diff,\r\n&lt;                                                    'fccior',eff_diff,\r\n&lt;                                                    'fckpior',eff_diff,\r\n&lt;                                                    'rcior',eff_diff,\r\n&lt;                                                    'rcbyo',eff_diff),2)\r\n---\r\n&gt;                                                    'fckpior',sp2_eff),2)\r\n18396c18089,18205\r\n&lt;                   from base_stats )\r\n---\r\n&gt;                   from (\r\n&gt;                     select nvl(sp1.rn, sp2.rn) rn,\r\n&gt;                            nvl(sp1.stat_name, sp2.stat_name) stat_name,\r\n&gt;                            nvl(sp1.stat_category, sp2.stat_category) \r\n&gt;                                                             stat_category,\r\n&gt;                            substr(nvl(sp1.stat_category,\r\n&gt;                                       sp2.stat_category),3) disp_category,\r\n&gt;                            least(nvl(sp1.rn_stat,sp2.rn_stat),\r\n&gt;                                  nvl(sp2.rn_stat,sp1.rn_stat))  rn_stat,\r\n&gt;                            sp1.id sp1_id, sp2.id sp2_id,\r\n&gt;                            sp1.cell_name sp1_cell_name,\r\n&gt;                            sp2.cell_name sp2_cell_name,\r\n&gt;                            sp1.num_cells sp1_num_cells,\r\n&gt;                            sp2.num_cells sp2_num_cells,\r\n&gt;                            sp1.rq sp1_rq, sp2.rq sp2_rq,\r\n&gt;                            sp1.mb sp1_mb, sp2.mb sp2_mb,\r\n&gt;                            sp1.rqps sp1_rqps, sp2.rqps sp2_rqps,\r\n&gt;                            sp1.mbps sp1_mbps, sp2.mbps sp2_mbps,\r\n&gt;                            sp1.cat_rq sp1_cat_rq,\r\n&gt;                            sp2.cat_rq sp2_cat_rq,\r\n&gt;                            sp1.cat_rqps sp1_cat_rqps,\r\n&gt;                            sp2.cat_rqps sp2_cat_rqps,\r\n&gt;                            sp1.cat_mb sp1_cat_mb,\r\n&gt;                            sp2.cat_mb sp2_cat_mb,\r\n&gt;                            sp1.cat_mbps sp1_cat_mbps,\r\n&gt;                            sp2.cat_mbps sp2_cat_mbps,\r\n&gt;                            sp1.fciorqwp sp1_fciorqwp,\r\n&gt;                            sp2.fciorqwp sp2_fciorqwp,\r\n&gt;                            sp1.fciombwp sp1_fciombwp,\r\n&gt;                            sp2.fciombwp sp2_fciombwp,\r\n&gt;                            sp1.fciorqwp_ps sp1_fciorqwp_ps,\r\n&gt;                            sp2.fciorqwp_ps sp2_fciorqwp_ps,\r\n&gt;                            sp1.fciombwp_ps sp1_fciombwp_ps,\r\n&gt;                            sp2.fciombwp_ps sp2_fciombwp_ps,\r\n&gt;                            -- compute the values here\r\n&gt;                            case when sp1.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp1.eff_denom - sp1.rq\r\n&gt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp1.eff_denom\/#BTOMB# -- convert to mb\r\n&gt;                             end sp1_eff_denom,\r\n&gt;                            case when sp2.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp2.eff_denom - sp2.rq\r\n&gt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp2.eff_denom\/#BTOMB# -- convert to mb\r\n&gt;                             end sp2_eff_denom,\r\n&gt;                            sp1.fcciobysave\/#BTOMB# sp1_fcciombsave,\r\n&gt;                            sp2.fcciobysave\/#BTOMB# sp2_fcciombsave,\r\n&gt;                            -- also get per second values\r\n&gt;                            (case when sp1.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp1.eff_denom - sp1.rq\r\n&gt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp1.eff_denom\/#BTOMB# -- convert to mb\r\n&gt;                              end)\/:duration1 sp1_eff_denom_ps,\r\n&gt;                            (case when sp2.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp2.eff_denom - sp2.rq\r\n&gt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp2.eff_denom\/#BTOMB# -- convert to mb\r\n&gt;                              end)\/:duration2 sp2_eff_denom_ps,\r\n&gt;                            sp1.fcciobysave\/#BTOMB#\/:duration1 \r\n&gt;                                                          sp1_fcciombsave_ps,\r\n&gt;                            sp2.fcciobysave\/#BTOMB#\/:duration2 \r\n&gt;                                                          sp2_fcciombsave_ps,\r\n&gt;                            sp1.eff sp1_eff, sp2.eff sp2_eff,\r\n&gt;                            -- get data for 'All' node\r\n&gt;                            sp1.rq_s sp1_rq_s, sp2.rq_s sp2_rq_s,\r\n&gt;                            sp1.mb_s sp1_mb_s, sp2.mb_s sp2_mb_s,\r\n&gt;                            sp1.rqps_s sp1_rqps_s, sp2.rqps_s sp2_rqps_s,\r\n&gt;                            sp1.mbps_s sp1_mbps_s, sp2.mbps_s sp2_mbps_s,\r\n&gt;                            sp1.cat_rq_s sp1_cat_rq_s,\r\n&gt;                            sp2.cat_rq_s sp2_cat_rq_s,\r\n&gt;                            sp1.cat_rqps_s sp1_cat_rqps_s,\r\n&gt;                            sp2.cat_rqps_s sp2_cat_rqps_s,\r\n&gt;                            sp1.cat_mb_s sp1_cat_mb_s,\r\n&gt;                            sp2.cat_mb_s sp2_cat_mb_s,\r\n&gt;                            sp1.cat_mbps_s sp1_cat_mbps_s,\r\n&gt;                            sp2.cat_mbps_s sp2_cat_mbps_s,\r\n&gt;                            sp1.fciorqwp_s sp1_fciorqwp_s,\r\n&gt;                            sp2.fciorqwp_s sp2_fciorqwp_s,\r\n&gt;                            sp1.fciombwp_s sp1_fciombwp_s,\r\n&gt;                            sp2.fciombwp_s sp2_fciombwp_s,\r\n&gt;                            sp1.fciorqwp_ps_s sp1_fciorqwp_ps_s,\r\n&gt;                            sp2.fciorqwp_ps_s sp2_fciorqwp_ps_s,\r\n&gt;                            sp1.fciombwp_ps_s sp1_fciombwp_ps_s,\r\n&gt;                            sp2.fciombwp_ps_s sp2_fciombwp_ps_s,\r\n&gt;                            -- compute values\r\n&gt;                            case when sp1.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp1.eff_denom_s - sp1.rq_s\r\n&gt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp1.eff_denom_s\/#BTOMB#\r\n&gt;                             end sp1_eff_denom_s,\r\n&gt;                            case when sp2.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp2.eff_denom_s - sp2.rq_s\r\n&gt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp2.eff_denom_s\/#BTOMB#\r\n&gt;                             end sp2_eff_denom_s,\r\n&gt;                            sp1.fcciobysave_s\/#BTOMB# sp1_fcciobysave_s,\r\n&gt;                            sp2.fcciobysave_s\/#BTOMB# sp2_fcciobysave_s,\r\n&gt;                            (case when sp1.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp1.eff_denom_s - sp1.rq_s\r\n&gt;                                 when sp1.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp1.eff_denom_s\/#BTOMB#\r\n&gt;                              end)\/:duration1 sp1_eff_denom_ps_s,\r\n&gt;                            (case when sp2.stat_name in ('fcoior','fckpior')\r\n&gt;                                 then sp2.eff_denom_s - sp2.rq_s\r\n&gt;                                 when sp2.stat_name in ('fcsior','fccior')\r\n&gt;                                 then sp2.eff_denom_s\/#BTOMB#\r\n&gt;                              end)\/:duration2 sp2_eff_denom_ps_s,\r\n&gt;                            sp1.fcciobysave_s\/#BTOMB#\/:duration1 \r\n&gt;                                                          sp1_fcciombsave_ps_s,\r\n&gt;                            sp2.fcciobysave_s\/#BTOMB#\/:duration2 \r\n&gt;                                                          sp2_fcciombsave_ps_s,\r\n&gt;                            sp1.eff sp1_eff_s, sp2.eff_s sp2_eff_s\r\n&gt;                       from sp1 full outer join sp2\r\n&gt;                         on sp1.rn = sp2.rn\r\n&gt;                        and sp1.stat_category = sp2.stat_category\r\n&gt;                        and sp1.stat_name = sp2.stat_name\r\n&gt;                        ))\r\n18404d18212\r\n&lt;     L_QRY := REPLACE(L_QRY,'#BASE_STATS#',SQLSTMT_FLASH_CACHE_BASE);\r\n<\/pre>\n<div id=\"SYS.DBMS_FEATURE_ADV_IDXCMP.PROCEDURE.RU\">SYS.DBMS_FEATURE_ADV_IDXCMP &#8211; PROCEDURE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">57,58c57\r\n&lt;                 ' where ob.type# in (1,20) AND ob.owner# not in ' ||\r\n&lt;                      '(select user# from user$ ' ||\r\n---\r\n&gt;                 ' where ob.owner# not in (select user# from user$ ' ||\r\n93,94c92\r\n&lt;                 ' where ob.type# in (1,20) AND ob.owner# not in ' ||\r\n&lt;                       '(select user# from user$ ' ||\r\n---\r\n&gt;                 ' where ob.owner# not in (select user# from user$ ' ||\r\n<\/pre>\n<div id=\"SYS.DBMS_QOPATCH.PACKAGE BODY.JAN2018RUR\">SYS.DBMS_QOPATCH &#8211; PACKAGE BODY (JAN2018RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">448c448\r\n&lt;           TNAME := TRIM(BOTH ' ' FROM INST_TAB(I).INST_NAME);\r\n---\r\n&gt;           TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n1618c1618\r\n&lt;      TNAME := TRIM(BOTH ' ' FROM INST_TAB(I).INST_NAME);\r\n---\r\n&gt;      TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n1847c1847\r\n&lt;       TNAME := TRIM(BOTH ' ' FROM INST_TAB(I).INST_NAME);\r\n---\r\n&gt;       TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n2837c2837\r\n&lt;            TNAME := TRIM(BOTH ' ' FROM INST_TAB(I).INST_NAME);\r\n---\r\n&gt;            TNAME := SUBSTR(INST_TAB(I).INST_NAME,1,INSTR(INST_TAB(I).INST_NAME,' ')-1);\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLPATCH.PACKAGE BODY.JAN2018RUR\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY (JAN2018RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">403a404\r\n&gt;       \r\n420c421\r\n&lt;           INSTALLED_BUNDLE := REGISTRY_ID;\r\n---\r\n&gt;           INSTALLED_BUNDLE := 0;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>Useful Links:<\/p>\n<ul>\n<li>Download Assistant: <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2118136.2\" target=\"_blank\" rel=\"noopener\">MOS Note: 2118136.2<\/a><\/li>\n<li>2018 April CPU: <a href=\"http:\/\/www.oracle.com\/technetwork\/security-advisory\/cpuapr2018-3678067.html\" target=\"_blank\" rel=\"noopener\">http:\/\/www.oracle.com\/technetwork\/security-advisory\/cpuapr2018-3678067.html<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<b>Have you enjoyed? Please leave a comment or give a \ud83d\udc4d!<\/b>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<p><object id=\"__symantecPKIClientMessenger\" style=\"display: none;\" width=\"300\" height=\"150\" data-install-updates-user-configuration=\"true\" data-supports-flavor-configuration=\"true\" data-extension-version=\"0.5.0.161\"><\/object><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-3273 jlk' href='javascript:void(0)' data-task='like' data-post_id='3273' 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-3273 lc'>+1<\/span><\/a><\/div><\/div> <div class='status-3273 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Since Oct-2017 I am quarterly writing a post dissecting the changes implemented by Oracle CPUs so we can understand better the modifications implemented by Oracle in our Databases. So what oracle internal objects were changed in 180417? VERSION PATCH OWNER TYPE TOTAL &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;- 12.1.0.2 BP SYS PACKAGE 1 12.1.0.2 BP SYS &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/\">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":[20,15],"tags":[],"class_list":["post-3273","post","type-post","status-publish","format-standard","hentry","category-security-en","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>Dissecting 180417 BP, PSU, RU and RUR - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\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\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/\" \/>\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=\"45 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\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Dissecting 180417 BP, PSU, RU and RUR\",\"datePublished\":\"2018-05-10T04:08:11+00:00\",\"dateModified\":\"2018-05-10T04:16:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/\"},\"wordCount\":525,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"articleSection\":[\"Database Security\",\"Oracle Database General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/\",\"name\":\"Dissecting 180417 BP, PSU, RU and RUR - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\"},\"datePublished\":\"2018-05-10T04:08:11+00:00\",\"dateModified\":\"2018-05-10T04:16:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2018\\\/05\\\/dissecting-180417-bp-psu-ru-and-rur\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dissecting 180417 BP, PSU, RU and RUR\"}]},{\"@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":"Dissecting 180417 BP, PSU, RU and RUR - DBA - Rodrigo Jorge - Oracle Tips and Guides","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\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/","twitter_misc":{"Written by":"DBA RJ","Est. reading time":"45 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Dissecting 180417 BP, PSU, RU and RUR","datePublished":"2018-05-10T04:08:11+00:00","dateModified":"2018-05-10T04:16:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/"},"wordCount":525,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"articleSection":["Database Security","Oracle Database General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/","url":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/","name":"Dissecting 180417 BP, PSU, RU and RUR - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/#website"},"datePublished":"2018-05-10T04:08:11+00:00","dateModified":"2018-05-10T04:16:37+00:00","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/en\/2018\/05\/dissecting-180417-bp-psu-ru-and-rur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Dissecting 180417 BP, PSU, RU and RUR"}]},{"@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\/3273","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=3273"}],"version-history":[{"count":0,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/3273\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/media?parent=3273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/categories?post=3273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/tags?post=3273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}