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




