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.
To check previous changes, follow the links below:
- Dissecting 190115 BP, PSU, RU and RUR
- Dissecting 181016 BP, PSU, RU and RUR
- Dissecting 180717 BP, PSU, RU and RUR
- Dissecting 180417 BP, PSU, RU and RUR
- Dissecting 180116 BP, PSU, RU and RUR
- Dissecting 171017 BP, PSU, RU and RUR
So what oracle internal objects were changed in April 2019 - 190416?
VERSION PATCH OWNER TYPE TOTAL ---------- ---------- ------------------------------ --------------- ---------- 11.2.0.4 BP SYS PACKAGE BODY 1 11.2.0.4 PSU SYS PACKAGE BODY 1 12.1.0.2 BP SYS PACKAGE 1 12.1.0.2 BP SYS PACKAGE BODY 3 12.2.0.1 JAN2019RUR SYS PACKAGE 2 12.2.0.1 JAN2019RUR SYS PACKAGE BODY 3 12.2.0.1 OCT2018RUR SYS PACKAGE 2 12.2.0.1 OCT2018RUR SYS PACKAGE BODY 3 12.2.0.1 RU SYS PACKAGE 5 12.2.0.1 RU SYS PACKAGE BODY 12 18.0.0.0 18.4RUR SYS PACKAGE 3 18.0.0.0 18.4RUR SYS PACKAGE BODY 3 18.0.0.0 18.5RUR SYS PACKAGE 3 18.0.0.0 18.5RUR SYS PACKAGE BODY 3 18.0.0.0 RU CTXSYS PACKAGE 1 18.0.0.0 RU CTXSYS PACKAGE BODY 2 18.0.0.0 RU SYS PACKAGE 4 18.0.0.0 RU SYS PACKAGE BODY 6 18.0.0.0 RU SYS PROCEDURE 2 18.0.0.0 RU SYS VIEW 24
And created?
VERSION PATCH OWNER TYPE TOTAL ---------- ---------- ------------------------------ --------------- ---------- 12.2.0.1 JAN2019RUR SYS FUNCTION 1 12.2.0.1 OCT2018RUR SYS FUNCTION 1 12.2.0.1 RU SYS FUNCTION 1 12.2.0.1 RU SYS VIEW 2 18.0.0.0 RU SYS VIEW 2
P.S: Nothing was added for 11.2 / 12.1 in Oracle objects.
So which are exactly the objects modified by 190416?
VERSION PATCH OWNER TYPE NAME ACTION ---------- --------------- ------------------------------ --------------- ------------------------------ ------ 11.2.0.4 PSU & BP SYS PACKAGE BODY DBMS_RCVMAN MOD 12.1.0.2 BP SYS PACKAGE DBMS_RCVMAN MOD 12.1.0.2 BP SYS PACKAGE BODY DBMS_RCVMAN MOD 12.1.0.2 BP SYS PACKAGE BODY DBMS_SQLPATCH MOD 12.1.0.2 BP SYS PACKAGE BODY DBMS_STATS MOD 12.2.0.1 RU SYS VIEW CDB_REGISTRY_BACKPORTS NEW 12.2.0.1 RU SYS VIEW DBA_REGISTRY_BACKPORTS NEW 12.2.0.1 RU & OCT2018RUR SYS FUNCTION DBMS_PDB_IS_VALID_PATH NEW & JAN2019RUR 12.2.0.1 RU SYS PACKAGE DBMS_RCVMAN MOD 12.2.0.1 RU SYS PACKAGE DBMS_XSTREAM_ADM_INTERNAL MOD 12.2.0.1 RU SYS PACKAGE UTL_RECOMP MOD 12.2.0.1 RU SYS PACKAGE BODY CDBVIEW_INTERNAL MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_AQ MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_PARALLEL_EXECUTE_INTERNAL MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_RCVMAN MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_SQLPATCH MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_STATS MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_XSTREAM_ADM_INTERNAL MOD 12.2.0.1 RU SYS PACKAGE BODY DBMS_XSTREAM_AUTH_IVK MOD 12.2.0.1 RU SYS PACKAGE BODY UTL_RECOMP MOD 12.2.0.1 RU & OCT2018RUR SYS PACKAGE DBMS_DBFS_SFS_ADMIN MOD & JAN2019RUR 12.2.0.1 RU & OCT2018RUR SYS PACKAGE DBMS_PDB MOD & JAN2019RUR 12.2.0.1 RU & OCT2018RUR SYS PACKAGE BODY DBMS_DBFS_SFS MOD & JAN2019RUR 12.2.0.1 RU & OCT2018RUR SYS PACKAGE BODY DBMS_DBFS_SFS_ADMIN MOD & JAN2019RUR 12.2.0.1 RU & OCT2018RUR SYS PACKAGE BODY DBMS_PDB MOD & JAN2019RUR 18.0.0.0 RU SYS VIEW CDB_REGISTRY_BACKPORTS NEW 18.0.0.0 RU SYS VIEW DBA_REGISTRY_BACKPORTS NEW 18.0.0.0 RU CTXSYS PACKAGE DRIXMD MOD 18.0.0.0 RU CTXSYS PACKAGE BODY DRIXMD MOD 18.0.0.0 RU CTXSYS PACKAGE BODY DRVDDL MOD 18.0.0.0 RU SYS PACKAGE UTL_RECOMP MOD 18.0.0.0 RU SYS PACKAGE BODY DBMS_AQ MOD 18.0.0.0 RU SYS PACKAGE BODY DBMS_PARALLEL_EXECUTE_INTERNAL MOD 18.0.0.0 RU SYS PACKAGE BODY UTL_RECOMP MOD 18.0.0.0 RU SYS PROCEDURE APS_VALIDATE MOD 18.0.0.0 RU SYS PROCEDURE DBMS_FEATURE_REGISTER_ALLFEAT MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_RU_UNSUPPORT_TAB_12_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_RU_UNSUPPORT_TAB_12_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_RU_UN_TAB_12_2_0_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_10_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_10_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_11_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_11_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_11_2B MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_12_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_12_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_SUPPORT_TAB_12_2_0_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_10_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_10_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_11_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_11_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_11_2B MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_12_1 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPPORT_TAB_12_2 MOD 18.0.0.0 RU SYS VIEW LOGSTDBY_UNSUPP_TAB_12_2_0_2 MOD 18.0.0.0 RU SYS VIEW OGG_SUPPORT_TAB_11_2 MOD 18.0.0.0 RU SYS VIEW OGG_SUPPORT_TAB_11_2B MOD 18.0.0.0 RU SYS VIEW OGG_SUPPORT_TAB_12_1 MOD 18.0.0.0 RU SYS VIEW OGG_SUPPORT_TAB_12_2 MOD 18.0.0.0 RU SYS VIEW OGG_SUPPORT_TAB_12_2_0_2 MOD 18.0.0.0 RU & 18.5RUR & SYS PACKAGE DBMS_BACKUP_RESTORE MOD 18.4RUR 18.0.0.0 RU & 18.5RUR & SYS PACKAGE DBMS_DBFS_SFS_ADMIN MOD 18.4RUR 18.0.0.0 RU & 18.5RUR & SYS PACKAGE DBMS_REGISTRY MOD 18.4RUR 18.0.0.0 RU & 18.5RUR & SYS PACKAGE BODY DBMS_DBFS_SFS MOD 18.4RUR 18.0.0.0 RU & 18.5RUR & SYS PACKAGE BODY DBMS_DBFS_SFS_ADMIN MOD 18.4RUR 18.0.0.0 RU & 18.5RUR & SYS PACKAGE BODY DBMS_RCVMAN MOD 18.4RUR
What changed for each? (click to see the changes)
- 11.2.0.4
- 12.1.0.2
- 12.2.0.1
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE 12cR2 (OCT2018RUR & JAN2019RUR)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE 12cR2 (RU)
- SYS.DBMS_PDB - PACKAGE 12cR2 (RU & OCT2018RUR & JAN2019RUR)
- SYS.DBMS_RCVMAN - PACKAGE 12cR2 (RU)
- SYS.DBMS_XSTREAM_ADM_INTERNAL - PACKAGE 12cR2 (RU)
- SYS.UTL_RECOMP - PACKAGE 12cR2 (RU)
- SYS.CDBVIEW_INTERNAL - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_AQ - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_DBFS_SFS - PACKAGE BODY 12cR2 (JAN2019RUR)
- SYS.DBMS_DBFS_SFS - PACKAGE BODY 12cR2 (OCT2018RUR)
- SYS.DBMS_DBFS_SFS - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE BODY 12cR2 (OCT2018RUR & JAN2019RUR)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_PARALLEL_EXECUTE_INTERNAL - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_PDB - PACKAGE BODY 12cR2 (RU & OCT2018RUR & JAN2019RUR)
- SYS.DBMS_RCVMAN - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_SQLPATCH - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_STATS - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_XSTREAM_ADM_INTERNAL - PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_XSTREAM_AUTH_IVK - PACKAGE BODY 12cR2 (RU)
- SYS.UTL_RECOMP - PACKAGE BODY 12cR2 (RU)
- 18.0.0.0
- CTXSYS.DRIXMD - PACKAGE 18c (RU)
- CTXSYS.DRIXMD - PACKAGE BODY 18c (RU)
- CTXSYS.DRVDDL - PACKAGE BODY 18c (RU)
- SYS.DBMS_BACKUP_RESTORE - PACKAGE 18c (RU)
- SYS.DBMS_BACKUP_RESTORE - PACKAGE 18c (18.5RUR)
- SYS.DBMS_BACKUP_RESTORE - PACKAGE 18c (18.4RUR)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE 18c (18.5RUR & 18.4RUR)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE 18c (RU)
- SYS.DBMS_REGISTRY - PACKAGE 18c (RU)
- SYS.DBMS_REGISTRY - PACKAGE 18c (18.4RUR)
- SYS.DBMS_REGISTRY - PACKAGE 18c (18.5RUR)
- SYS.UTL_RECOMP - PACKAGE 18c (RU)
- SYS.DBMS_AQ - PACKAGE BODY 18c (RU)
- SYS.DBMS_DBFS_SFS - PACKAGE BODY 18c (18.5RUR)
- SYS.DBMS_DBFS_SFS - PACKAGE BODY 18c (RU)
- SYS.DBMS_DBFS_SFS - PACKAGE BODY 18c (18.4RUR)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE BODY 18c (RU)
- SYS.DBMS_DBFS_SFS_ADMIN - PACKAGE BODY 18c (18.5RUR & 18.4RUR)
- SYS.DBMS_PARALLEL_EXECUTE_INTERNAL - PACKAGE BODY 18c (RU)
- SYS.DBMS_RCVMAN - PACKAGE BODY 18c (18.5RUR)
- SYS.DBMS_RCVMAN - PACKAGE BODY 18c (RU)
- SYS.DBMS_RCVMAN - PACKAGE BODY 18c (18.4RUR)
- SYS.UTL_RECOMP - PACKAGE BODY 18c (RU)
- SYS.APS_VALIDATE - PROCEDURE 18c (RU)
- SYS.DBMS_FEATURE_REGISTER_ALLFEAT - PROCEDURE 18c (RU)
- SYS.LOGSTDBY_RU_UNSUPPORT_TAB_12_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_RU_UNSUPPORT_TAB_12_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_RU_UN_TAB_12_2_0_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_10_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_10_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_11_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_11_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_11_2B - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_12_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_12_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_SUPPORT_TAB_12_2_0_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_10_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_10_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_11_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_11_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_11_2B - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_12_1 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPPORT_TAB_12_2 - VIEW 18c (RU)
- SYS.LOGSTDBY_UNSUPP_TAB_12_2_0_2 - VIEW 18c (RU)
- SYS.OGG_SUPPORT_TAB_11_2 - VIEW 18c (RU)
- SYS.OGG_SUPPORT_TAB_11_2B - VIEW 18c (RU)
- SYS.OGG_SUPPORT_TAB_12_1 - VIEW 18c (RU)
- SYS.OGG_SUPPORT_TAB_12_2 - VIEW 18c (RU)
- SYS.OGG_SUPPORT_TAB_12_2_0_2 - VIEW 18c (RU)
Changed Objects
P.S:
> = Added Lines
< = Removed Lines
11.2.0.4
21896a21897 > END IF; 21898,21921c21899,21919 < < < < < < < < IF (AVAILABLE_FROMSCN_ACT IS NULL OR < (USABLE_INCR.DFNUMBER_OBJ = LOCAL.DFNUMBER_OBJ AND < USABLE_INCR.DFCREATIONSCN_OBJ = LOCAL.DFCREATIONSCN_OBJ AND < LOCAL.TOSCN_ACT < AVAILABLE_FROMSCN_ACT)) THEN < IF (AVAILABLE_FROMSCN_ACT IS NULL) THEN < DEB(DEB_PRINT, 'available_fromSCN_act set to ' || < AVAILABLE_FROMSCN_ACT || ' for file# ' || < LOCAL.DFNUMBER_OBJ || ', creation_scn '|| < LOCAL.DFCREATIONSCN_OBJ); < ELSE < DEB(DEB_PRINT, 'broken chain, available_fromSCN_act set to ' || < AVAILABLE_FROMSCN_ACT || ' for file ' || < LOCAL.DFNUMBER_OBJ || ', creation_scn '|| < LOCAL.DFCREATIONSCN_OBJ); < END IF; < USABLE_INCR := LOCAL; < AVAILABLE_FROMSCN_ACT := LOCAL.FROMSCN_ACT; --- > > > > > > > > IF (AVAILABLE_FROMSCN_ACT IS NULL OR > (USABLE_INCR.DFNUMBER_OBJ = LOCAL.DFNUMBER_OBJ AND > USABLE_INCR.DFCREATIONSCN_OBJ = LOCAL.DFCREATIONSCN_OBJ AND > LOCAL.TOSCN_ACT < AVAILABLE_FROMSCN_ACT)) THEN > IF (AVAILABLE_FROMSCN_ACT IS NULL) THEN > DEB(DEB_PRINT, 'available_fromSCN_act set to ' || > AVAILABLE_FROMSCN_ACT || ' for file# ' || > LOCAL.DFNUMBER_OBJ || ', creation_scn '|| > LOCAL.DFCREATIONSCN_OBJ); > ELSE > DEB(DEB_PRINT, 'broken chain, available_fromSCN_act set to ' || > AVAILABLE_FROMSCN_ACT || ' for file ' || > LOCAL.DFNUMBER_OBJ || ', creation_scn '|| > LOCAL.DFCREATIONSCN_OBJ); 21922a21921,21922 > USABLE_INCR := LOCAL; > AVAILABLE_FROMSCN_ACT := LOCAL.FROMSCN_ACT;
21898a21899 > END IF; 21900,21923c21901,21921 < < < < < < < < IF (AVAILABLE_FROMSCN_ACT IS NULL OR < (USABLE_INCR.DFNUMBER_OBJ = LOCAL.DFNUMBER_OBJ AND < USABLE_INCR.DFCREATIONSCN_OBJ = LOCAL.DFCREATIONSCN_OBJ AND < LOCAL.TOSCN_ACT < AVAILABLE_FROMSCN_ACT)) THEN < IF (AVAILABLE_FROMSCN_ACT IS NULL) THEN < DEB(DEB_PRINT, 'available_fromSCN_act set to ' || < AVAILABLE_FROMSCN_ACT || ' for file# ' || < LOCAL.DFNUMBER_OBJ || ', creation_scn '|| < LOCAL.DFCREATIONSCN_OBJ); < ELSE < DEB(DEB_PRINT, 'broken chain, available_fromSCN_act set to ' || < AVAILABLE_FROMSCN_ACT || ' for file ' || < LOCAL.DFNUMBER_OBJ || ', creation_scn '|| < LOCAL.DFCREATIONSCN_OBJ); < END IF; < USABLE_INCR := LOCAL; < AVAILABLE_FROMSCN_ACT := LOCAL.FROMSCN_ACT; --- > > > > > > > > IF (AVAILABLE_FROMSCN_ACT IS NULL OR > (USABLE_INCR.DFNUMBER_OBJ = LOCAL.DFNUMBER_OBJ AND > USABLE_INCR.DFCREATIONSCN_OBJ = LOCAL.DFCREATIONSCN_OBJ AND > LOCAL.TOSCN_ACT < AVAILABLE_FROMSCN_ACT)) THEN > IF (AVAILABLE_FROMSCN_ACT IS NULL) THEN > DEB(DEB_PRINT, 'available_fromSCN_act set to ' || > AVAILABLE_FROMSCN_ACT || ' for file# ' || > LOCAL.DFNUMBER_OBJ || ', creation_scn '|| > LOCAL.DFCREATIONSCN_OBJ); > ELSE > DEB(DEB_PRINT, 'broken chain, available_fromSCN_act set to ' || > AVAILABLE_FROMSCN_ACT || ' for file ' || > LOCAL.DFNUMBER_OBJ || ', creation_scn '|| > LOCAL.DFCREATIONSCN_OBJ); 21924a21923,21924 > USABLE_INCR := LOCAL; > AVAILABLE_FROMSCN_ACT := LOCAL.FROMSCN_ACT;
12.1.0.2
3109c3109,3110 < ,toDest4 IN varchar2 DEFAULT NULL); --- > ,toDest4 IN varchar2 DEFAULT NULL > ,atAnyScn IN boolean DEFAULT FALSE);
7281,7287c7281,7288 < DEVICE_TYPE IN VARCHAR2 < ,CMD IN VARCHAR2 < ,KTAG IN VARCHAR2 < ,PATTERN1 IN VARCHAR2 < ,PATTERN2 IN VARCHAR2 < ,PATTERN3 IN VARCHAR2 < ,PATTERN4 IN VARCHAR2) --- > DEVICE_TYPE IN VARCHAR2 > ,CMD IN VARCHAR2 > ,KTAG IN VARCHAR2 > ,PATTERN1 IN VARCHAR2 > ,PATTERN2 IN VARCHAR2 > ,PATTERN3 IN VARCHAR2 > ,PATTERN4 IN VARCHAR2 > ,BACKEDUPANYSCN IN NUMBER) 7288a7290,7303 > WITH > MY_DBINC AS > (SELECT RESETLOGS_TIME, > RESETLOGS_CHANGE#, > PRIOR RESETLOGS_CHANGE# NEXT_RESETLOGS_CHANGE# > FROM V$DATABASE_INCARNATION > START WITH RESETLOGS_CHANGE# = THIS_RESET_SCN > AND RESETLOGS_TIME = THIS_RESET_TIME > CONNECT BY PRIOR PRIOR_INCARNATION# = INCARNATION# > UNION ALL > SELECT THIS_RESET_TIME RESETLOGS_TIME, > THIS_RESET_SCN RESETLOGS_CHANGE#, > NULL NEXT_RESETLOGS_CHANGE# > FROM DUAL) 7324,7328c7339,7350 < FILE#, CREATION_CHANGE#, PLUGIN_CHANGE#, < PLUGGED_READONLY, CHECKPOINT_CHANGE#, CHECKPOINT_TIME, < RESETLOGS_CHANGE#, RESETLOGS_TIME < FROM V$DATAFILE_COPY < WHERE STATUS = 'A') CDF, --- > CDF.FILE#, CDF.CREATION_CHANGE#, CDF.PLUGIN_CHANGE#, > CDF.PLUGGED_READONLY, CDF.CHECKPOINT_CHANGE#, > CDF.CHECKPOINT_TIME, CDF.RESETLOGS_CHANGE#, > CDF.RESETLOGS_TIME, CDF.ABSOLUTE_FUZZY_CHANGE# > FROM V$DATAFILE_COPY CDF, MY_DBINC > WHERE CDF.STATUS = 'A' > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = FALSE# OR > (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# AND > CDF.FILE# > 0 AND > (MY_DBINC.NEXT_RESETLOGS_CHANGE# IS NULL OR > CDF.ABSOLUTE_FUZZY_CHANGE# <= > MY_DBINC.NEXT_RESETLOGS_CHANGE#)))) CDF, 7361,7362c7383,7385 < AND BDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# < AND BDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME --- > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# OR > (BDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# AND > BDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME)) 7462,7466c7485,7496 < FILE#, CREATION_CHANGE#, PLUGIN_CHANGE#, < PLUGGED_READONLY, CHECKPOINT_CHANGE#, CHECKPOINT_TIME, < RESETLOGS_CHANGE#, RESETLOGS_TIME < FROM V$DATAFILE_COPY < WHERE STATUS = 'A') CDF --- > CDF.FILE#, CDF.CREATION_CHANGE#, CDF.PLUGIN_CHANGE#, > CDF.PLUGGED_READONLY, CDF.CHECKPOINT_CHANGE#, > CDF.CHECKPOINT_TIME, CDF.RESETLOGS_CHANGE#, CDF.RESETLOGS_TIME, > CDF.ABSOLUTE_FUZZY_CHANGE# > FROM V$DATAFILE_COPY CDF, MY_DBINC > WHERE CDF.STATUS = 'A' > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = FALSE# OR > (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# AND > CDF.FILE# > 0 AND > (MY_DBINC.NEXT_RESETLOGS_CHANGE# IS NULL OR > CDF.ABSOLUTE_FUZZY_CHANGE# <= > MY_DBINC.NEXT_RESETLOGS_CHANGE#)))) CDF 7471,7473c7501,7504 < AND XDF.CREATION_CHANGE# = CDF.CREATION_CHANGE# < AND XDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# < AND XDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME --- > AND XDF.CREATION_CHANGE# = CDF.CREATION_CHANGE# > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# OR > (XDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# AND > XDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME)) 26998c27029,27030 < ,TODEST4 IN VARCHAR2 DEFAULT NULL) --- > ,TODEST4 IN VARCHAR2 DEFAULT NULL > ,ATANYSCN IN BOOLEAN DEFAULT FALSE) 27000,27010c27032,27043 < EOF BOOLEAN := FALSE; < LOCAL BHISTORYREC_T; < ICOUNT NUMBER := 0; < LOCCRESCN NUMBER; < LASTCRESCN NUMBER; < LOCRLGSCN NUMBER; < LASTRLGSCN NUMBER; < LOCRLGTIME DATE; < LASTRLGTIME DATE; < LOCCKPSCN NUMBER; < LASTCKPSCN NUMBER; --- > EOF BOOLEAN := FALSE; > LOCAL BHISTORYREC_T; > ICOUNT NUMBER := 0; > LOCCRESCN NUMBER; > LASTCRESCN NUMBER; > LOCRLGSCN NUMBER; > LASTRLGSCN NUMBER; > LOCRLGTIME DATE; > LASTRLGTIME DATE; > LOCCKPSCN NUMBER; > LASTCKPSCN NUMBER; > BACKEDUPANYSCN NUMBER; 27013a27047,27056 > > > > > IF (ATANYSCN) THEN > BACKEDUPANYSCN := TRUE#; > ELSE > BACKEDUPANYSCN := FALSE#; > END IF; > 27018a27062 > 27020,27026c27064,27071 < OPEN DCBACKUPHISTORY_C(DEVICE_TYPE => BACKEDUPDEV, < CMD => DOINGCMD, < KTAG => KEEPTAG, < PATTERN1 => STARTWITHPATTERN(TODEST1), < PATTERN2 => STARTWITHPATTERN(TODEST2), < PATTERN3 => STARTWITHPATTERN(TODEST3), < PATTERN4 => STARTWITHPATTERN(TODEST4)); --- > OPEN DCBACKUPHISTORY_C(DEVICE_TYPE => BACKEDUPDEV, > CMD => DOINGCMD, > KTAG => KEEPTAG, > PATTERN1 => STARTWITHPATTERN(TODEST1), > PATTERN2 => STARTWITHPATTERN(TODEST2), > PATTERN3 => STARTWITHPATTERN(TODEST3), > PATTERN4 => STARTWITHPATTERN(TODEST4), > BACKEDUPANYSCN => BACKEDUPANYSCN);
12.2.0.1
454a455,459 > function get_param( > name in varchar2) > return boolean; > >
454a455,457 > function get_param( > name in varchar2) > return boolean;
410a411,420 > > function is_valid_path(path_name IN varchar2) > return boolean; > -- NAME: > -- is_valid_path > -- > -- DESCRIPTION: > -- check whether given path_name is corresponding to the path_prefix > -- property >
3154c3154,3155 < ,toDest4 IN varchar2 DEFAULT NULL); --- > ,toDest4 IN varchar2 DEFAULT NULL > ,atAnyScn IN boolean DEFAULT FALSE);
27a28 > PROCREP OUT BOOLEAN,
28a29,32 > * ORACLE_MAINTAINED - Only recompile PUBLIC synonyms and objects > * belonging to Oracle_maintained schemas. This mode is > * used by datapatch to automatically revalidate any OM > * objects invalidated by patch apply/rollback processing. 36a41 > ORACLE_MAINTAINED CONSTANT PLS_INTEGER := 256;
184c184 < when no_data_found then return FALSE; --- > when no_data_found then return false; 195c195 < when no_data_found then return FALSE; --- > when no_data_found then return false;
1378,1380c1378,1380 < AND Q.NAME = QUEUE_NAME < AND T.NAME = TABLE_NAME < AND T.SCHEMA = SCHEMA; --- > AND Q.NAME = AQ$_BACKGROUND_OPER.QUEUE_NAME > AND T.NAME = AQ$_BACKGROUND_OPER.TABLE_NAME > AND T.SCHEMA = AQ$_BACKGROUND_OPER.SCHEMA;
11145a11146 > GOODLINK BOOLEAN; 11164a11166,11174 > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > LINK := ''; > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11399a11410 > GOODLINK BOOLEAN; 11400a11412,11422 > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > > 11446a11469 > GOODLINK BOOLEAN; 11447a11471,11483 > > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > >
11145a11146 > GOODLINK BOOLEAN; 11164a11166,11174 > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > LINK := ''; > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11399a11410 > GOODLINK BOOLEAN; 11400a11412,11422 > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > > 11446a11469 > GOODLINK BOOLEAN; 11447a11471,11483 > > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > >
11145a11146 > GOODLINK BOOLEAN; 11164a11166,11174 > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM > ('_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > LINK := ''; > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11399a11410 > GOODLINK BOOLEAN; 11400a11412,11422 > > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11446a11469 > GOODLINK BOOLEAN; 11447a11471,11479 > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; >
645a646,675 > FUNCTION GET_PARAM(NAME IN VARCHAR2) > RETURN BOOLEAN > IS > VAL VARCHAR2(4000) := NULL; > BEGIN > BEGIN > VAL := NULL; > SELECT Y.KSPPSTVL > INTO VAL > FROM SYS.X$KSPPI X > , SYS.X$KSPPCV Y > WHERE X.INDX = Y.INDX > AND X.KSPPINM = NAME > ; > EXCEPTION > WHEN OTHERS THEN > BEGIN > TRACE(1, 'parameter=' || NAME || > ' err:' || SQLERRM); > VAL := NULL; > END; > END; > > > IF LOWER(VAL) = 'true' THEN > RETURN TRUE; > END IF; > > RETURN FALSE; > END;
645a646,677 > FUNCTION GET_PARAM(NAME IN VARCHAR2) > RETURN BOOLEAN > IS > VAL VARCHAR2(4000) := NULL; > BEGIN > BEGIN > VAL := NULL; > SELECT Y.KSPPSTVL > INTO VAL > FROM SYS.X$KSPPI X > , SYS.X$KSPPCV Y > WHERE X.INDX = Y.INDX > AND X.KSPPINM = NAME > ; > EXCEPTION > WHEN OTHERS THEN > BEGIN > TRACE(1, 'parameter=' || NAME || > ' err:' || SQLERRM); > VAL := NULL; > END; > END; > > > IF LOWER(VAL) = 'true' THEN > RETURN TRUE; > END IF; > > RETURN FALSE; > END; > >
701a702,706 > > IF C.CUR_SIZE = 0 THEN > GOTO DONE; > END IF; > 705a711,713 > <<DONE>> > > 707c715 < IF (BUFFERED_CHUNK# = 0) THEN --- > IF (BUFFERED_CHUNKS.COUNT = 0) THEN
471a472,494 > > > > > > > > > > > > > > > > FUNCTION KPDBISVALIDPATH(PATH_NAME VARCHAR2) RETURN BOOLEAN; > PRAGMA INTERFACE(C, KPDBISVALIDPATH); > > FUNCTION IS_VALID_PATH (PATH_NAME VARCHAR2) RETURN BOOLEAN IS > BEGIN > RETURN KPDBISVALIDPATH(PATH_NAME); > END; >
7668c7668,7669 < ,PATTERN4 IN VARCHAR2) --- > ,PATTERN4 IN VARCHAR2 > ,BACKEDUPANYSCN IN NUMBER) 7669a7671,7684 > WITH > MY_DBINC AS > (SELECT RESETLOGS_TIME, > RESETLOGS_CHANGE#, > PRIOR RESETLOGS_CHANGE# NEXT_RESETLOGS_CHANGE# > FROM V$DATABASE_INCARNATION > START WITH RESETLOGS_CHANGE# = THIS_RESET_SCN > AND RESETLOGS_TIME = THIS_RESET_TIME > CONNECT BY PRIOR PRIOR_INCARNATION# = INCARNATION# > UNION ALL > SELECT THIS_RESET_TIME RESETLOGS_TIME, > THIS_RESET_SCN RESETLOGS_CHANGE#, > NULL NEXT_RESETLOGS_CHANGE# > FROM DUAL) 7705,7709c7720,7731 < FILE#, CREATION_CHANGE#, PLUGIN_CHANGE#, < PLUGGED_READONLY, CHECKPOINT_CHANGE#, CHECKPOINT_TIME, < RESETLOGS_CHANGE#, RESETLOGS_TIME < FROM V$DATAFILE_COPY < WHERE STATUS = 'A') CDF, --- > CDF.FILE#, CDF.CREATION_CHANGE#, CDF.PLUGIN_CHANGE#, > CDF.PLUGGED_READONLY, CDF.CHECKPOINT_CHANGE#, > CDF.CHECKPOINT_TIME, CDF.RESETLOGS_CHANGE#, > CDF.RESETLOGS_TIME, CDF.ABSOLUTE_FUZZY_CHANGE# > FROM V$DATAFILE_COPY CDF, MY_DBINC > WHERE CDF.STATUS = 'A' > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = FALSE# OR > (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# AND > CDF.FILE# > 0 AND > (MY_DBINC.NEXT_RESETLOGS_CHANGE# IS NULL OR > CDF.ABSOLUTE_FUZZY_CHANGE# <= > MY_DBINC.NEXT_RESETLOGS_CHANGE#)))) CDF, 7742,7743c7764,7766 < AND BDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# < AND BDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME --- > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# OR > (BDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# AND > BDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME)) 7843,7847c7866,7877 < FILE#, CREATION_CHANGE#, PLUGIN_CHANGE#, < PLUGGED_READONLY, CHECKPOINT_CHANGE#, CHECKPOINT_TIME, < RESETLOGS_CHANGE#, RESETLOGS_TIME < FROM V$DATAFILE_COPY < WHERE STATUS = 'A') CDF --- > CDF.FILE#, CDF.CREATION_CHANGE#, CDF.PLUGIN_CHANGE#, > CDF.PLUGGED_READONLY, CDF.CHECKPOINT_CHANGE#, > CDF.CHECKPOINT_TIME, CDF.RESETLOGS_CHANGE#, CDF.RESETLOGS_TIME, > CDF.ABSOLUTE_FUZZY_CHANGE# > FROM V$DATAFILE_COPY CDF, MY_DBINC > WHERE CDF.STATUS = 'A' > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = FALSE# OR > (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# AND > CDF.FILE# > 0 AND > (MY_DBINC.NEXT_RESETLOGS_CHANGE# IS NULL OR > CDF.ABSOLUTE_FUZZY_CHANGE# <= > MY_DBINC.NEXT_RESETLOGS_CHANGE#)))) CDF 7853,7854c7883,7885 < AND XDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# < AND XDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME --- > AND (DCBACKUPHISTORY_C.BACKEDUPANYSCN = TRUE# OR > (XDF.CHECKPOINT_CHANGE# = CDF.CHECKPOINT_CHANGE# AND > XDF.CHECKPOINT_TIME = CDF.CHECKPOINT_TIME)) 27694c27725,27726 < ,TODEST4 IN VARCHAR2 DEFAULT NULL) --- > ,TODEST4 IN VARCHAR2 DEFAULT NULL > ,ATANYSCN IN BOOLEAN DEFAULT FALSE) 27706a27739 > BACKEDUPANYSCN NUMBER; 27709a27743,27752 > > > > > IF (ATANYSCN) THEN > BACKEDUPANYSCN := TRUE#; > ELSE > BACKEDUPANYSCN := FALSE#; > END IF; > 27714a27758 > 27722c27766,27767 < PATTERN4 => STARTWITHPATTERN(TODEST4)); --- > PATTERN4 => STARTWITHPATTERN(TODEST4), > BACKEDUPANYSCN => BACKEDUPANYSCN);
322c322 < RETURN '$Header: rdbms/src/server/dict/plsicds/prvtsqlpatch.sql /st_rdbms_12.2.0.1.0dbbp/4 2018/10/09 03:33:10 sanagara Exp $'; --- > RETURN '$Header: rdbms/src/server/dict/plsicds/prvtsqlpatch.sql /st_rdbms_12.2.0.1.0dbbp/5 2018/12/18 08:17:21 sanagara Exp $'; 430a431,434 > > > > EXECUTE IMMEDIATE 'ALTER SESSION SET "_kolfuseslf" = TRUE';
9804a9805,9809 > > > CSTATS(SAMECOLITR).RPCNT := > CSTATS(SAMECOLITR).RPCNT/SCALING_FACTOR; >
152c152,153 < SELECT_PRIVILEGES IN BOOLEAN) IS --- > SELECT_PRIVILEGES IN BOOLEAN, > PROCREP IN BOOLEAN) IS 2688a2690 > PROCREP OUT BOOLEAN, 2702a2705 > PROCREP := FALSE; 2726c2729 < PROCREP_PACKAGES, PROCREP_ALLOWED, TRUE); --- > PROCREP_PACKAGES, PROCREP, PROCREP_ALLOWED, TRUE); 3092a3096,3097 > PROCREP BOOLEAN := FALSE; > 3099,3100d3103 < POPULATE_QUEUE_SCRIPT(IS_GRANT, SCRIPT, CANON_GRANTEE, < CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES); 3104d3106 < 3111c3113,3116 < CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES, OPTIONAL_PRIVILEGES); --- > CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES, PROCREP, OPTIONAL_PRIVILEGES); > > POPULATE_QUEUE_SCRIPT(IS_GRANT, SCRIPT, CANON_GRANTEE, > CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES, PROCREP); 3300a3306 > PROCREP OUT BOOLEAN, 3332a3339 > PROCREP := FALSE; 3343a3351 > PROCREP := INC_INTERNAL_PKGS; 3375a3384 > PROCREP := INC_INTERNAL_PKGS; 3407a3417,3423 > > > NUM_OPTIONAL := NUM_OPTIONAL + 1; > PRIVILEGE_TABLE(NUM_OPTIONAL) := 'ALL ON SYS.AQ$_EVENT_MESSAGE'; > NUM_OPTIONAL := NUM_OPTIONAL + 1; > PRIVILEGE_TABLE(NUM_OPTIONAL) := 'ALL ON SYS.AQ$_SRVNTFN_MESSAGE'; >
353c353,354 < SELECT_PRIVILEGES IN BOOLEAN) IS --- > SELECT_PRIVILEGES IN BOOLEAN, > PROCREP IN BOOLEAN) IS 398c399 < IF (SELECT_PRIVILEGES = TRUE) THEN --- > IF ((SELECT_PRIVILEGES = TRUE) OR (PROCREP = TRUE)) THEN 3044a3046 > PROCREP OUT BOOLEAN, 3056a3059 > PROCREP := FALSE; 3074c3077,3078 < OPTIONAL_PRIVILEGES, PRIVILEGE_TABLE, UNUSED_TABLE); --- > OPTIONAL_PRIVILEGES, PRIVILEGE_TABLE, UNUSED_TABLE, > PROCREP); 3209a3214 > 3222a3228 > PROCREP BOOLEAN := FALSE; 3228,3229d3233 < POPULATE_QUEUE_SCRIPT(IS_GRANT, SCRIPT, CANON_GRANTEE, < CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES); 3238c3242 < CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES, --- > CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES, PROCREP, 3240a3245,3247 > POPULATE_QUEUE_SCRIPT(IS_GRANT, SCRIPT, CANON_GRANTEE, > CANON_PRIVILEGE_TYPE, SELECT_PRIVILEGES, PROCREP); >
323a324,335 > > > IF (BITAND(FLAGS, ORACLE_MAINTAINED) != 0) THEN > WHERE_CLAUSE := WHERE_CLAUSE || 'AND ' || > '(owner in (select name > from user$ where type# = 1 and bitand(spare1,256)=256) > OR (owner = ''PUBLIC'' and obj# IN > (select obj# from obj$ where name=objname > and type#=5 > and bitand(flags, 4194304)=4194304)))'; > END IF; > 511a524,535 > > > IF (BITAND(FLAGS, ORACLE_MAINTAINED) != 0) THEN > WHERE_CLAUSE := WHERE_CLAUSE || 'AND ' || > '(owner in (select name > from user$ where type# = 1 and bitand(spare1,256)=256) > OR (owner = ''PUBLIC'' and obj# IN > (select obj# from obj$ where name=objname > and type#=5 > and bitand(flags, 4194304)=4194304)))'; > END IF; >
18.0.0.0
790a791,799 > /*---------------------------- RemoveJob ----------------------------------*/ > /*remove job name from dr$index or dr$index_partition */ > > procedure RemoveJob ( > idxid in number, > ixpid in number default null, > jobname in varchar2 > ); >
4210a4211,4236 > PROCEDURE REMOVEJOB ( > IDXID IN NUMBER, > IXPID IN NUMBER DEFAULT NULL, > JOBNAME IN VARCHAR2 > ) > IS > BEGIN > IF (IXPID IS NULL) THEN > UPDATE DR$INDEX SET IDX_SYNC_JOBNAME = NULL > WHERE IDX_ID = IDXID; > ELSE > UPDATE DR$INDEX_PARTITION SET IXP_SYNC_JOBNAME = NULL > WHERE IXP_IDX_ID = IDXID AND IXP_ID = IXPID; > END IF; > > EXCEPTION > WHEN DR_DEF.TEXTILE_ERROR THEN > DRIUTL.DRUEBRK; > RAISE DR_DEF.TEXTILE_ERROR; > WHEN OTHERS THEN > DRUE.TEXT_ON_STACK(SQLERRM, 'drixmd.RemoveJob'); > RAISE DR_DEF.TEXTILE_ERROR; > END REMOVEJOB; > > >
340,344c340,345 < L_PART_NAME DRVUTL.DR_QLID2 := LTRIM(RTRIM(PART_NAME,'"'),'"'); < WHAT DRVUTL.DR_STRING; < SESS_STATE DR$SESSION_STATE_T; < PFX DRVUTL.DR_QLID2; < JOBNAME DRVUTL.DR_QLID2; --- > L_PART_NAME DRVUTL.DR_QLID2 := LTRIM(RTRIM(PART_NAME,'"'),'"'); > WHAT DRVUTL.DR_STRING; > SESS_STATE DR$SESSION_STATE_T; > PFX DRVUTL.DR_QLID2; > L_JOBNAME DRVUTL.DR_QLID2; > L_JOBNAME_ENQ DRVUTL.DR_QLID2; 347d347 < 382,385c382,383 < JOBNAME := PFX||'J'; < DRIXMD.RECORDJOB(IDXID, IXPID, JOBNAME); < < JOBNAME := DBMS_ASSERT.ENQUOTE_NAME(JOBNAME, FALSE); --- > L_JOBNAME := PFX||'J'; > L_JOBNAME_ENQ := DBMS_ASSERT.ENQUOTE_NAME(L_JOBNAME, FALSE); 387,399c385,405 < DBMS_SCHEDULER.CREATE_JOB( < JOB_NAME => JOBNAME, < JOB_TYPE => 'PLSQL_BLOCK', < JOB_ACTION => WHAT, < REPEAT_INTERVAL => SYNC_INTERVAL, < COMMENTS => 'automatic sync job' < ); < < DBMS_SCHEDULER.SET_ATTRIBUTE( < NAME => JOBNAME, < ATTRIBUTE => 'FOLLOW_DEFAULT_TIMEZONE', < VALUE => TRUE < ); --- > > BEGIN > DBMS_SCHEDULER.CREATE_JOB( > JOB_NAME => L_JOBNAME_ENQ, > JOB_TYPE => 'PLSQL_BLOCK', > JOB_ACTION => WHAT, > REPEAT_INTERVAL => SYNC_INTERVAL, > COMMENTS => 'automatic sync job' > ); > > DBMS_SCHEDULER.SET_ATTRIBUTE( > NAME => L_JOBNAME_ENQ, > ATTRIBUTE => 'FOLLOW_DEFAULT_TIMEZONE', > VALUE => TRUE > ); > > DBMS_SCHEDULER.SET_ATTRIBUTE( > NAME => L_JOBNAME_ENQ, > ATTRIBUTE => 'DATABASE_ROLE', > VALUE => 'ALL' > ); 401,405c407,409 < DBMS_SCHEDULER.SET_ATTRIBUTE( < NAME => JOBNAME, < ATTRIBUTE => 'DATABASE_ROLE', < VALUE => 'ALL' < ); --- > DBMS_SCHEDULER.ENABLE(L_JOBNAME_ENQ); > DRIXMD.RECORDJOB(IDXID, IXPID, L_JOBNAME); > COMMIT; 407,409c411,421 < DBMS_SCHEDULER.ENABLE(JOBNAME); < < COMMIT; --- > EXCEPTION > WHEN DR_DEF.TEXTILE_ERROR THEN > DRIUTL.DRUEBRK; > GOTO CLEANUP; > WHEN OTHERS THEN > DRUE.TEXT_ON_STACK(SQLERRM, 'drvddl.submit_job'); > GOTO CLEANUP; > <<CLEANUP>> > DRIXMD.REMOVEJOB(IDXID, IXPID, L_JOBNAME); > RAISE DR_DEF.TEXTILE_ERROR; > END;
12c12 < bannerVersion CONSTANT VARCHAR2(15) := '18.05.00.00'; --- > bannerVersion CONSTANT VARCHAR2(15) := '18.06.00.00'; 24,26c24,26 < fsn CONSTANT NUMBER := instr('18.05.00.00', '.'); < msn CONSTANT NUMBER := instr('18.05.00.00', '.', fsn + 1); < psn CONSTANT NUMBER := instr('18.05.00.00', '.', msn + 1); --- > fsn CONSTANT NUMBER := instr('18.06.00.00', '.'); > msn CONSTANT NUMBER := instr('18.06.00.00', '.', fsn + 1); > psn CONSTANT NUMBER := instr('18.06.00.00', '.', msn + 1); 29c29 < to_number(substr('18.05.00.00', 1, fsn - 1)); --- > to_number(substr('18.06.00.00', 1, fsn - 1)); 31c31 < to_number(substr('18.05.00.00', fsn + 1, msn - fsn - 1)); --- > to_number(substr('18.06.00.00', fsn + 1, msn - fsn - 1)); 33c33 < to_number(substr('18.05.00.00', msn + 1, psn - msn - 1)); --- > to_number(substr('18.06.00.00', msn + 1, psn - msn - 1)); 35c35 < to_number(substr('18.05.00.00', psn + 1)); --- > to_number(substr('18.06.00.00', psn + 1));
12c12 < bannerVersion CONSTANT VARCHAR2(15) := '18.05.00.00'; --- > bannerVersion CONSTANT VARCHAR2(15) := '18.05.01.00'; 24,26c24,26 < fsn CONSTANT NUMBER := instr('18.05.00.00', '.'); < msn CONSTANT NUMBER := instr('18.05.00.00', '.', fsn + 1); < psn CONSTANT NUMBER := instr('18.05.00.00', '.', msn + 1); --- > fsn CONSTANT NUMBER := instr('18.05.01.00', '.'); > msn CONSTANT NUMBER := instr('18.05.01.00', '.', fsn + 1); > psn CONSTANT NUMBER := instr('18.05.01.00', '.', msn + 1); 29c29 < to_number(substr('18.05.00.00', 1, fsn - 1)); --- > to_number(substr('18.05.01.00', 1, fsn - 1)); 31c31 < to_number(substr('18.05.00.00', fsn + 1, msn - fsn - 1)); --- > to_number(substr('18.05.01.00', fsn + 1, msn - fsn - 1)); 33c33 < to_number(substr('18.05.00.00', msn + 1, psn - msn - 1)); --- > to_number(substr('18.05.01.00', msn + 1, psn - msn - 1)); 35c35 < to_number(substr('18.05.00.00', psn + 1)); --- > to_number(substr('18.05.01.00', psn + 1));
12c12 < bannerVersion CONSTANT VARCHAR2(15) := '18.05.00.00'; --- > bannerVersion CONSTANT VARCHAR2(15) := '18.04.02.00'; 24,26c24,26 < fsn CONSTANT NUMBER := instr('18.05.00.00', '.'); < msn CONSTANT NUMBER := instr('18.05.00.00', '.', fsn + 1); < psn CONSTANT NUMBER := instr('18.05.00.00', '.', msn + 1); --- > fsn CONSTANT NUMBER := instr('18.04.02.00', '.'); > msn CONSTANT NUMBER := instr('18.04.02.00', '.', fsn + 1); > psn CONSTANT NUMBER := instr('18.04.02.00', '.', msn + 1); 29c29 < to_number(substr('18.05.00.00', 1, fsn - 1)); --- > to_number(substr('18.04.02.00', 1, fsn - 1)); 31c31 < to_number(substr('18.05.00.00', fsn + 1, msn - fsn - 1)); --- > to_number(substr('18.04.02.00', fsn + 1, msn - fsn - 1)); 33c33 < to_number(substr('18.05.00.00', msn + 1, psn - msn - 1)); --- > to_number(substr('18.04.02.00', msn + 1, psn - msn - 1)); 35c35 < to_number(substr('18.05.00.00', psn + 1)); --- > to_number(substr('18.04.02.00', psn + 1));
454a455,459 > function get_param( > name in varchar2) > return boolean; > >
456a457,459 > function get_param( > name in varchar2) > return boolean;
13c13 < '18.5.0.0.0'; --- > '18.6.0.0.0';
13c13 < '18.5.0.0.0'; --- > '18.4.2.0.0';
13c13 < '18.5.0.0.0'; --- > '18.5.1.0.0';
28a29,32 > * ORACLE_MAINTAINED - Only recompile PUBLIC synonyms and objects > * belonging to Oracle_maintained schemas. This mode is > * used by datapatch to automatically revalidate any OM > * objects invalidated by patch apply/rollback processing. 36a41 > ORACLE_MAINTAINED CONSTANT PLS_INTEGER := 256;
1378,1380c1378,1380 < AND Q.NAME = QUEUE_NAME < AND T.NAME = TABLE_NAME < AND T.SCHEMA = SCHEMA; --- > AND Q.NAME = AQ$_BACKGROUND_OPER.QUEUE_NAME > AND T.NAME = AQ$_BACKGROUND_OPER.TABLE_NAME > AND T.SCHEMA = AQ$_BACKGROUND_OPER.SCHEMA;
11145a11146 > GOODLINK BOOLEAN; 11164a11166,11174 > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > LINK := ''; > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11399a11410 > GOODLINK BOOLEAN; 11400a11412,11422 > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > > 11446a11469 > GOODLINK BOOLEAN; 11447a11471,11483 > > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > >
11145a11146 > GOODLINK BOOLEAN; 11164a11166,11174 > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > LINK := ''; > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11399a11410 > GOODLINK BOOLEAN; 11400a11412,11422 > > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11446a11469 > GOODLINK BOOLEAN; 11447a11471,11479 > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; >
11145a11146 > GOODLINK BOOLEAN; 11164a11166,11174 > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > LINK := ''; > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > 11399a11410 > GOODLINK BOOLEAN; 11400a11412,11422 > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > > 11446a11469 > GOODLINK BOOLEAN; 11447a11471,11483 > > > > IF DBMS_DBFS_SFS_ADMIN.GET_PARAM( > '_bug28742555_dbfs_symlink_path_prefix') THEN > > GOODLINK := DBMS_PDB_IS_VALID_PATH(LINK); > IF NOT GOODLINK THEN > RAISE DBMS_DBFS_CONTENT.UNSUPPORTED_OPERATION; > END IF; > END IF; > >
645a646,676 > FUNCTION GET_PARAM(NAME IN VARCHAR2) > RETURN BOOLEAN > IS > VAL VARCHAR2(4000) := NULL; > BEGIN > BEGIN > VAL := NULL; > SELECT Y.KSPPSTVL > INTO VAL > FROM SYS.X$KSPPI X > , SYS.X$KSPPCV Y > WHERE X.INDX = Y.INDX > AND X.KSPPINM = NAME > ; > EXCEPTION > WHEN OTHERS THEN > BEGIN > TRACE(1, 'parameter=' || NAME || > ' err:' || SQLERRM); > VAL := NULL; > END; > END; > > > IF LOWER(VAL) = 'true' THEN > RETURN TRUE; > END IF; > > RETURN FALSE; > END; >
645a646,675 > FUNCTION GET_PARAM(NAME IN VARCHAR2) > RETURN BOOLEAN > IS > VAL VARCHAR2(4000) := NULL; > BEGIN > BEGIN > VAL := NULL; > SELECT Y.KSPPSTVL > INTO VAL > FROM SYS.X$KSPPI X > , SYS.X$KSPPCV Y > WHERE X.INDX = Y.INDX > AND X.KSPPINM = NAME > ; > EXCEPTION > WHEN OTHERS THEN > BEGIN > TRACE(1, 'parameter=' || NAME || > ' err:' || SQLERRM); > VAL := NULL; > END; > END; > > > IF LOWER(VAL) = 'true' THEN > RETURN TRUE; > END IF; > > RETURN FALSE; > END;
701a702,706 > > IF C.CUR_SIZE = 0 THEN > GOTO DONE; > END IF; > 705a711,713 > <<DONE>> > > 707c715 < IF (BUFFERED_CHUNK# = 0) THEN --- > IF (BUFFERED_CHUNKS.COUNT = 0) THEN
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '18.05.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '18.05.01.00';
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '18.05.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '18.06.00.00';
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '18.05.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '18.04.02.00'; 25510,25512c25510,25512 < IF ((UNTILTIME IS NULL AND UNTILSCN IS NULL) OR < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN) THEN --- > IF (LBREC.DF_CKP_MOD_TIME < UNTILTIME OR > (UNTILTIME IS NULL AND > LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) THEN
323a324,335 > > > IF (BITAND(FLAGS, ORACLE_MAINTAINED) != 0) THEN > WHERE_CLAUSE := WHERE_CLAUSE || 'AND ' || > '(owner in (select name > from user$ where type# = 1 and bitand(spare1,256)=256) > OR (owner = ''PUBLIC'' and obj# IN > (select obj# from obj$ where name=objname > and type#=5 > and bitand(flags, 4194304)=4194304)))'; > END IF; > 511a524,535 > > > IF (BITAND(FLAGS, ORACLE_MAINTAINED) != 0) THEN > WHERE_CLAUSE := WHERE_CLAUSE || 'AND ' || > '(owner in (select name > from user$ where type# = 1 and bitand(spare1,256)=256) > OR (owner = ''PUBLIC'' and obj# IN > (select obj# from obj$ where name=objname > and type#=5 > and bitand(flags, 4194304)=4194304)))'; > END IF; >
16c16 < EXECUTE IMMEDIATE 'alter session set events=''37396 trace name context forever, level '||to_char(new_e_level)||''''; --- > EXECUTE IMMEDIATE 'alter session set events=''37396 trace name context forever, level '||to_char(new_e_level,'9999999999')||''''; 31d30 < 47d45 < 65c63 < execute immediate 'ALTER SESSION SET EVENTS ''37396 trace name context level to_char(e_level)'''; --- > execute immediate 'ALTER SESSION SET EVENTS ''37396 trace name context level ' || to_char(e_level,'9999999999') || '''';
4118a4119,4135 > /********************************************** > * Scrollable Cursors > **********************************************/ > > declare > DBFUS_SCC_STR CONSTANT VARCHAR2(1000) := > 'select max(ksuzsal2), NULL, NULL from x$ksuzsa where ksuzsal2 != 0'; > > begin > dbms_feature_usage.register_db_feature > ('Scrollable Cursor', > dbms_feature_usage.DBU_INST_ALWAYS_INSTALLED, > NULL, > dbms_feature_usage.DBU_DETECT_BY_SQL, > DBFUS_SCC_STR, > 'Scrollable Cursor has been used'); > end;
105a106,109 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
93a94,97 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
95a96,99 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
63a64,67 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
60a61,64 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
59a60,63 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
54a55,58 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
59a60,63 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
100a101,104 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
103a104,107 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
106a107,110 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
74a75,78 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
62a63,66 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
79a80,83 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
72a73,76 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
77a78,81 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
107a108,111 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
111a112,115 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
113a114,117 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
81a82,85 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
82a83,86 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
119a120,123 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
120a121,124 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
122a123,126 > or (bitand(t.property, 1024) = 1024 /* Sorted hash cluster table */ > and exists (select 1 from clu$ cl > where cl.obj#=t.bobj# > and bitand(cl.spare1, 8388608) != 0))
Useful Links:
- Download Assistant: MOS Note: 2118136.2
- 2019 April CPU: https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html