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 190416 BP, PSU, RU and RUR
- 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 July 2019 – 190716?
VERSION PATCH OWNER TYPE TOTAL ---------- ---------- ------------------------------ --------------- ---------- 11.2.0.4 BP SYS PACKAGE 1 11.2.0.4 BP SYS PACKAGE BODY 1 11.2.0.4 PSU SYS PACKAGE 1 11.2.0.4 PSU SYS PACKAGE BODY 1 12.1.0.2 BP DVSYS PACKAGE 1 12.1.0.2 BP DVSYS PACKAGE BODY 2 12.1.0.2 BP LBACSYS PACKAGE BODY 1 12.1.0.2 BP SYS PACKAGE 2 12.1.0.2 BP SYS PACKAGE BODY 5 12.1.0.2 BP SYS TYPE 2 12.1.0.2 PSU SYS PACKAGE 2 12.1.0.2 PSU SYS PACKAGE BODY 2 12.2.0.1 RU DVSYS TYPE 9 12.2.0.1 RU DVSYS VIEW 1 12.2.0.1 RU SYS PACKAGE 2 12.2.0.1 RU SYS PACKAGE BODY 4 12.2.0.1 RU SYS TYPE 2 18.0.0.0 18.5RUR SYS PACKAGE 2 18.0.0.0 18.5RUR SYS PACKAGE BODY 1 18.0.0.0 18.6RUR SYS PACKAGE 2 18.0.0.0 18.6RUR SYS PACKAGE BODY 1 18.0.0.0 RU SYS PACKAGE 3 18.0.0.0 RU SYS PACKAGE BODY 3 18.0.0.0 RU SYS TYPE 2 18.0.0.0 RU SYS VIEW 1 19.0.0.0 19.3RUR SYS PACKAGE 2 19.0.0.0 19.3RUR SYS PACKAGE BODY 1 19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE 5 19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE BODY 3 19.0.0.0 RU MDSYS PACKAGE 1 19.0.0.0 RU MDSYS PACKAGE BODY 3 19.0.0.0 RU MDSYS TYPE 1 19.0.0.0 RU SYS PACKAGE 7 19.0.0.0 RU SYS PACKAGE BODY 13 19.0.0.0 RU SYS TYPE 2 19.0.0.0 RU SYS VIEW 1
And created?
VERSION PATCH OWNER TYPE TOTAL ---------- ---------- ------------------------------ --------------- ---------- 12.2.0.1 RU SYS PACKAGE 1 12.2.0.1 RU SYS PACKAGE BODY 1
P.S: Nothing was added for 11.2 / 12.1 / 18 / 19 in Oracle objects.
So which are exactly the objects modified by 190716?
VERSION PATCH OWNER TYPE NAME ACTION
---------- --------------- ------------------------------ --------------- ------------------------------ ------
11.2.0.4 PSU & BP SYS PACKAGE DBMS_RCVMAN MOD
11.2.0.4 PSU & BP SYS PACKAGE BODY DBMS_RCVMAN MOD
12.1.0.2 BP DVSYS PACKAGE DBMS_MACUTL MOD
12.1.0.2 BP DVSYS PACKAGE BODY DBMS_MACADM MOD
12.1.0.2 BP DVSYS PACKAGE BODY DBMS_MACUTL MOD
12.1.0.2 BP LBACSYS PACKAGE BODY OLS_ENFORCEMENT MOD
12.1.0.2 BP SYS PACKAGE DBMS_OPTIM_BUNDLE MOD
12.1.0.2 BP SYS PACKAGE DBMS_REDEFINITION_INTERNAL MOD
12.1.0.2 BP SYS PACKAGE BODY DBMS_OPTIM_BUNDLE MOD
12.1.0.2 BP SYS PACKAGE BODY DBMS_REDEFINITION MOD
12.1.0.2 BP SYS PACKAGE BODY DBMS_REDEFINITION_INTERNAL MOD
12.1.0.2 BP SYS PACKAGE BODY DBMS_STATS MOD
12.1.0.2 BP SYS TYPE DBMS_OPTIM_BUGVALOBTYPE MOD
12.1.0.2 BP SYS TYPE DBMS_OPTIM_FCTABTYPE MOD
12.1.0.2 PSU SYS PACKAGE DBMS_BACKUP_RESTORE MOD
12.1.0.2 PSU SYS PACKAGE DBMS_RCVMAN MOD
12.1.0.2 PSU SYS PACKAGE BODY DBMS_BACKUP_RESTORE MOD
12.1.0.2 PSU & BP SYS PACKAGE BODY DBMS_RCVMAN MOD
12.2.0.1 RU SYS PACKAGE DBMS_BDSQL NEW
12.2.0.1 RU SYS PACKAGE BODY DBMS_BDSQL NEW
12.2.0.1 RU DVSYS TYPE KU$_DV_COMMAND_RULE_T MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072649$ MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072661$ MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072664$ MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072667$ MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072694$ MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072697$ MOD
12.2.0.1 RU DVSYS TYPE SYS_YOID0000072870$ MOD
12.2.0.1 RU DVSYS VIEW KU$_DV_COMMAND_RULE_VIEW MOD
12.2.0.1 RU SYS PACKAGE DBMS_HADOOP MOD
12.2.0.1 RU SYS PACKAGE DBMS_OPTIM_BUNDLE MOD
12.2.0.1 RU SYS PACKAGE BODY CDBVIEW_INTERNAL MOD
12.2.0.1 RU SYS PACKAGE BODY DBMS_HADOOP MOD
12.2.0.1 RU SYS PACKAGE BODY DBMS_OPTIM_BUNDLE MOD
12.2.0.1 RU SYS PACKAGE BODY DBMS_RCVMAN MOD
12.2.0.1 RU SYS TYPE DBMS_OPTIM_BUGVALOBTYPE MOD
12.2.0.1 RU SYS TYPE DBMS_OPTIM_FCTABTYPE MOD
18.0.0.0 RU SYS PACKAGE DBMS_OPTIM_BUNDLE MOD
18.0.0.0 RU SYS PACKAGE BODY CDBVIEW_INTERNAL MOD
18.0.0.0 RU SYS PACKAGE BODY DBMS_OPTIM_BUNDLE MOD
18.0.0.0 RU SYS TYPE DBMS_OPTIM_BUGVALOBTYPE MOD
18.0.0.0 RU SYS TYPE DBMS_OPTIM_FCTABTYPE MOD
18.0.0.0 RU SYS VIEW DBA_APPLY_ERROR MOD
18.0.0.0 RU & 18.6RUR & SYS PACKAGE DBMS_BACKUP_RESTORE MOD
18.5RUR
18.0.0.0 RU & 18.6RUR & SYS PACKAGE DBMS_REGISTRY MOD
18.5RUR
18.0.0.0 RU & 18.6RUR & SYS PACKAGE BODY DBMS_RCVMAN MOD
18.5RUR
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE DBMS_GSM_COMMON MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE DBMS_GSM_DBADMIN MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE DBMS_GSM_POOLADMIN MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE DBMS_GSM_UTILITY MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE EXCHANGE MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE BODY DBMS_GSM_DBADMIN MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE BODY DBMS_GSM_POOLADMIN MOD
19.0.0.0 RU GSMADMIN_INTERNAL PACKAGE BODY EXCHANGE MOD
19.0.0.0 RU MDSYS PACKAGE SDO_GEORX MOD
19.0.0.0 RU MDSYS PACKAGE BODY SDO_CSWADM MOD
19.0.0.0 RU MDSYS PACKAGE BODY SDO_GEOR MOD
19.0.0.0 RU MDSYS PACKAGE BODY SDO_GEORX MOD
19.0.0.0 RU MDSYS TYPE SDO_RDF_TRIPLE_S MOD
19.0.0.0 RU SYS PACKAGE DBMS_ASH MOD
19.0.0.0 RU SYS PACKAGE DBMS_AWR_REPORT_LAYOUT MOD
19.0.0.0 RU SYS PACKAGE DBMS_OPTIM_BUNDLE MOD
19.0.0.0 RU SYS PACKAGE DBMS_RCVMAN MOD
19.0.0.0 RU SYS PACKAGE DBMS_RMIN_SYS MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_ASH MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_AUTO_INDEX_INTERNAL MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_AWR_REPORT_LAYOUT MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_BACKUP_RESTORE MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_DBFS_SFS MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_OPTIM_BUNDLE MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_RESOURCE_MANAGER MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_SPM MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_SPM_INTERNAL MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_STATS MOD
19.0.0.0 RU SYS PACKAGE BODY DBMS_SWRF_REPORT_INTERNAL MOD
19.0.0.0 RU SYS PACKAGE BODY KUPM$MCP MOD
19.0.0.0 RU SYS TYPE DBMS_OPTIM_BUGVALOBTYPE MOD
19.0.0.0 RU SYS TYPE DBMS_OPTIM_FCTABTYPE MOD
19.0.0.0 RU SYS VIEW CDB_TAB_COLS_V$ MOD
19.0.0.0 RU & 19.3RUR SYS PACKAGE DBMS_BACKUP_RESTORE MOD
19.0.0.0 RU & 19.3RUR SYS PACKAGE DBMS_REGISTRY MOD
19.0.0.0 RU & 19.3RUR SYS PACKAGE BODY DBMS_RCVMAN MOD
What changed for each? (click to see the changes)
- 11.2.0.4
- 12.1.0.2
- DVSYS.DBMS_MACUTL – PACKAGE 12cR1 (BP)
- DVSYS.DBMS_MACADM – PACKAGE BODY 12cR1 (BP)
- DVSYS.DBMS_MACUTL – PACKAGE BODY 12cR1 (BP)
- LBACSYS.OLS_ENFORCEMENT – PACKAGE BODY 12cR1 (BP)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE 12cR1 (PSU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE 12cR1 (BP)
- SYS.DBMS_RCVMAN – PACKAGE 12cR1 (PSU)
- SYS.DBMS_REDEFINITION_INTERNAL – PACKAGE 12cR1 (BP)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE BODY 12cR1 (PSU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE BODY 12cR1 (BP)
- SYS.DBMS_RCVMAN – PACKAGE BODY 12cR1 (BP)
- SYS.DBMS_RCVMAN – PACKAGE BODY 12cR1 (PSU)
- SYS.DBMS_REDEFINITION – PACKAGE BODY 12cR1 (BP)
- SYS.DBMS_REDEFINITION_INTERNAL – PACKAGE BODY 12cR1 (BP)
- SYS.DBMS_STATS – PACKAGE BODY 12cR1 (BP)
- SYS.DBMS_OPTIM_BUGVALOBTYPE – TYPE 12cR1 (BP)
- SYS.DBMS_OPTIM_FCTABTYPE – TYPE 12cR1 (BP)
- 12.2.0.1
- DVSYS.KU$_DV_COMMAND_RULE_T – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072649$ – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072661$ – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072664$ – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072667$ – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072694$ – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072697$ – TYPE 12cR2 (RU)
- DVSYS.SYS_YOID0000072870$ – TYPE 12cR2 (RU)
- DVSYS.KU$_DV_COMMAND_RULE_VIEW – VIEW 12cR2 (RU)
- SYS.DBMS_HADOOP – PACKAGE 12cR2 (RU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE 12cR2 (RU)
- SYS.CDBVIEW_INTERNAL – PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_HADOOP – PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_RCVMAN – PACKAGE BODY 12cR2 (RU)
- SYS.DBMS_OPTIM_BUGVALOBTYPE – TYPE 12cR2 (RU)
- SYS.DBMS_OPTIM_FCTABTYPE – TYPE 12cR2 (RU)
- 18.0.0.0
- SYS.DBMS_BACKUP_RESTORE – PACKAGE 18c (18.6RUR)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE 18c (18.5RUR)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE 18c (RU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE 18c (RU)
- SYS.DBMS_REGISTRY – PACKAGE 18c (18.5RUR)
- SYS.DBMS_REGISTRY – PACKAGE 18c (RU)
- SYS.DBMS_REGISTRY – PACKAGE 18c (18.6RUR)
- SYS.CDBVIEW_INTERNAL – PACKAGE BODY 18c (RU)
- SYS.DBMS_OPTIM_BUNDLE – 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.6RUR)
- SYS.DBMS_OPTIM_BUGVALOBTYPE – TYPE 18c (RU)
- SYS.DBMS_OPTIM_FCTABTYPE – TYPE 18c (RU)
- SYS.DBA_APPLY_ERROR – VIEW 18c (RU)
- 19.0.0.0
- GSMADMIN_INTERNAL.DBMS_GSM_COMMON – PACKAGE 19c (RU)
- GSMADMIN_INTERNAL.DBMS_GSM_DBADMIN – PACKAGE 19c (RU)
- GSMADMIN_INTERNAL.DBMS_GSM_POOLADMIN – PACKAGE 19c (RU)
- GSMADMIN_INTERNAL.DBMS_GSM_UTILITY – PACKAGE 19c (RU)
- GSMADMIN_INTERNAL.EXCHANGE – PACKAGE 19c (RU)
- GSMADMIN_INTERNAL.DBMS_GSM_DBADMIN – PACKAGE BODY 19c (RU)
- GSMADMIN_INTERNAL.DBMS_GSM_POOLADMIN – PACKAGE BODY 19c (RU)
- GSMADMIN_INTERNAL.EXCHANGE – PACKAGE BODY 19c (RU)
- MDSYS.SDO_GEORX – PACKAGE 19c (RU)
- MDSYS.SDO_CSWADM – PACKAGE BODY 19c (RU)
- MDSYS.SDO_GEOR – PACKAGE BODY 19c (RU)
- MDSYS.SDO_GEORX – PACKAGE BODY 19c (RU)
- MDSYS.SDO_RDF_TRIPLE_S – TYPE 19c (RU)
- SYS.DBMS_ASH – PACKAGE 19c (RU)
- SYS.DBMS_AWR_REPORT_LAYOUT – PACKAGE 19c (RU)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE 19c (19.3RUR)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE 19c (RU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE 19c (RU)
- SYS.DBMS_RCVMAN – PACKAGE 19c (RU)
- SYS.DBMS_REGISTRY – PACKAGE 19c (RU)
- SYS.DBMS_REGISTRY – PACKAGE 19c (19.3RUR)
- SYS.DBMS_RMIN_SYS – PACKAGE 19c (RU)
- SYS.DBMS_ASH – PACKAGE BODY 19c (RU)
- SYS.DBMS_AUTO_INDEX_INTERNAL – PACKAGE BODY 19c (RU)
- SYS.DBMS_AWR_REPORT_LAYOUT – PACKAGE BODY 19c (RU)
- SYS.DBMS_BACKUP_RESTORE – PACKAGE BODY 19c (RU)
- SYS.DBMS_DBFS_SFS – PACKAGE BODY 19c (RU)
- SYS.DBMS_OPTIM_BUNDLE – PACKAGE BODY 19c (RU)
- SYS.DBMS_RCVMAN – PACKAGE BODY 19c (RU)
- SYS.DBMS_RCVMAN – PACKAGE BODY 19c (19.3RUR)
- SYS.DBMS_RESOURCE_MANAGER – PACKAGE BODY 19c (RU)
- SYS.DBMS_SPM – PACKAGE BODY 19c (RU)
- SYS.DBMS_SPM_INTERNAL – PACKAGE BODY 19c (RU)
- SYS.DBMS_STATS – PACKAGE BODY 19c (RU)
- SYS.DBMS_SWRF_REPORT_INTERNAL – PACKAGE BODY 19c (RU)
- SYS.KUPM$MCP – PACKAGE BODY 19c (RU)
- SYS.DBMS_OPTIM_BUGVALOBTYPE – TYPE 19c (RU)
- SYS.DBMS_OPTIM_FCTABTYPE – TYPE 19c (RU)
- SYS.CDB_TAB_COLS_V$ – VIEW 19c (RU)
Changed Objects
P.S:
> = Added Lines
< = Removed Lines
11.2.0.4
2974c2974,2975 < ,toDest4 IN varchar2 DEFAULT NULL); --- > ,toDest4 IN varchar2 DEFAULT NULL > ,atAnyScn IN boolean DEFAULT FALSE);
2974c2974,2975 < ,toDest4 IN varchar2 DEFAULT NULL); --- > ,toDest4 IN varchar2 DEFAULT NULL > ,atAnyScn IN boolean DEFAULT FALSE); 3275c3276 < name IN varchar2); --- > name IN varchar2);
6262c6262,6263 < ,PATTERN4 IN VARCHAR2) --- > ,PATTERN4 IN VARCHAR2 > ,BACKEDUPANYSCN IN NUMBER) 6263a6265,6278 > 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) 6299,6303c6314,6325 < 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, 6336,6337c6358,6360 < 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)) 6437,6441c6460,6471 < 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 6447,6448c6477,6479 < 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)) 15317c15348,15349 < FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I --- > FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I, > V$DATABASE DB 15333a15366 > AND L.NEXT_CHANGE# >= DB.STANDBY_BECAME_PRIMARY_SCN 23672a23706,23711 > DEB(DEB_IN, 'lbRec.completion_time=' || LBREC.COMPLETION_TIME); > DEB(DEB_IN, 'lbRec.df_ckp_mod_time=' || LBREC.DF_CKP_MOD_TIME); > DEB(DEB_IN, 'lbRec.df_checkpoint_change#=' || > LBREC.DF_CHECKPOINT_CHANGE#); > DEB(DEB_IN, 'lbRec.df_creation_change#=' || > LBREC.DF_CREATION_CHANGE#); 23679,23681c23718,23724 < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < (UNTILTIME IS NULL AND < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)))) THEN --- > ((UNTILTIME IS NOT NULL) AND > (NVL(LBREC.COMPLETION_TIME, LBREC.DF_CKP_MOD_TIME) > < UNTILTIME)) OR > ((UNTILTIME IS NULL) AND > (LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) > ))) THEN > 24283c24326,24327 < ,TODEST4 IN VARCHAR2 DEFAULT NULL) --- > ,TODEST4 IN VARCHAR2 DEFAULT NULL > ,ATANYSCN IN BOOLEAN DEFAULT FALSE) 24295a24340 > BACKEDUPANYSCN NUMBER; 24298a24344,24353 > > > > > IF (ATANYSCN) THEN > BACKEDUPANYSCN := TRUE#; > ELSE > BACKEDUPANYSCN := FALSE#; > END IF; > 24303a24359 > 24311c24367,24368 < PATTERN4 => STARTWITHPATTERN(TODEST4)); --- > PATTERN4 => STARTWITHPATTERN(TODEST4), > BACKEDUPANYSCN => BACKEDUPANYSCN);
6256,6262c6256,6263 < 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) 6263a6265,6278 > 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) 6299,6303c6314,6325 < 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, 6336,6337c6358,6360 < 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)) 6437,6441c6460,6471 < 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 6446,6448c6476,6479 < 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)) 10049,10050c10080,10081 < DEB(DEB_PRINT, 'CheckRecAction:matches inc='||INC_IDX|| < ',fromscn='||FROMSCN || --- > DEB(DEB_PRINT, 'CheckRecAction:matches inc='||INC_IDX|| > ',fromscn='|| FROMSCN || 10052c10083 < RETURN SUCCESS; --- > RETURN SUCCESS; 15315c15346,15347 < FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I --- > FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I, > V$DATABASE DB 15331a15364 > AND L.NEXT_CHANGE# >= DB.STANDBY_BECAME_PRIMARY_SCN 17413,17414c17446,17447 < RAISE_APPLICATION_ERROR(-20514, < 'feature requires Availability Machine recovery catalog'); --- > RAISE_APPLICATION_ERROR(-20514, > 'feature requires Availability Machine recovery catalog'); 17721,17722c17754,17755 < DEB(DEB_OPEN, 'translateDatabase_c'); < OPEN TRANSLATEDATABASE_C(FROMSCN, TOSCN); --- > DEB(DEB_OPEN, 'translateDatabase_c'); > OPEN TRANSLATEDATABASE_C(FROMSCN, TOSCN); 17724,17725c17757,17758 < GETDATAFILECURSOR := 'translateDatabase'; < GETDATAFILENOROWS.ERROR := NULL; --- > GETDATAFILECURSOR := 'translateDatabase'; > GETDATAFILENOROWS.ERROR := NULL; 18487c18520 < MASK NUMBER := NVL(STATUSMASK, --- > MASK NUMBER := NVL(STATUSMASK, 18577c18610 < MASK NUMBER := NVL(STATUSMASK, --- > MASK NUMBER := NVL(STATUSMASK, 19783,19784c19816,19817 < CLOSE FINDBACKUPPIECE_C; < DEB(DEB_EXIT, 'with error 20261'); --- > CLOSE FINDBACKUPPIECE_C; > DEB(DEB_EXIT, 'with error 20261'); 19785a19819 > END IF; 19788d19821 < END IF; 21799,21806c21832,21839 < FNO => FILE#, < CRESCN => CREATE_SCN, < RESET_SCN => NVL(RESET_SCN, THIS_RESET_SCN), < RESET_TIME => NVL(RESET_TIME, THIS_RESET_TIME), < LEVEL => ILEVEL, < STATUSMASK => BSAVAILABLE, < TAG => TAG, < ONLYTC => TRUE#, --- > FNO => FILE#, > CRESCN => CREATE_SCN, > RESET_SCN => NVL(RESET_SCN, THIS_RESET_SCN), > RESET_TIME => NVL(RESET_TIME, THIS_RESET_TIME), > LEVEL => ILEVEL, > STATUSMASK => BSAVAILABLE, > TAG => TAG, > ONLYTC => TRUE#, 22446,22447c22479,22481 < DEB(DEB_PRINT, 'getConfig: using primary configurations'); < OPEN FINDCONFIG_C(NAME, VALUE, PRIMARY_DB_UNIQUE_NAME); --- > DEB(DEB_PRINT, 'getConfig: using primary configurations'); > OPEN FINDCONFIG_C(NAME, VALUE, PRIMARY_DB_UNIQUE_NAME); > END IF; 22449d22482 < END IF; 22637,22638c22670,22671 < RETURN FALSE; < END IF; --- > RETURN FALSE; > END IF; 23155,23161c23188,23194 < < < < < < < --- > > > > > > > 23186c23219 < RCVRECPOP(RCVREC); --- > RCVRECPOP(RCVREC); 23670a23704,23709 > DEB(DEB_IN, 'lbRec.completion_time=' || LBREC.COMPLETION_TIME); > DEB(DEB_IN, 'lbRec.df_ckp_mod_time=' || LBREC.DF_CKP_MOD_TIME); > DEB(DEB_IN, 'lbRec.df_checkpoint_change#=' || > LBREC.DF_CHECKPOINT_CHANGE#); > DEB(DEB_IN, 'lbRec.df_creation_change#=' || > LBREC.DF_CREATION_CHANGE#); 23677,23679c23716,23722 < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < (UNTILTIME IS NULL AND < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)))) THEN --- > ((UNTILTIME IS NOT NULL) AND > (NVL(LBREC.COMPLETION_TIME, LBREC.DF_CKP_MOD_TIME) > < UNTILTIME)) OR > ((UNTILTIME IS NULL) AND > (LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) > ))) THEN > 24281c24324,24325 < ,TODEST4 IN VARCHAR2 DEFAULT NULL) --- > ,TODEST4 IN VARCHAR2 DEFAULT NULL > ,ATANYSCN IN BOOLEAN DEFAULT FALSE) 24293a24338 > BACKEDUPANYSCN NUMBER; 24296a24342,24351 > > > > > IF (ATANYSCN) THEN > BACKEDUPANYSCN := TRUE#; > ELSE > BACKEDUPANYSCN := FALSE#; > END IF; > 24301a24357 > 24309c24365,24366 < PATTERN4 => STARTWITHPATTERN(TODEST4)); --- > PATTERN4 => STARTWITHPATTERN(TODEST4), > BACKEDUPANYSCN => BACKEDUPANYSCN); 24915a24973 > END IF; 24917d24974 < END IF; 25753,25754c25810,25811 < OPEN TRANSLATETEMPFILE_C; < GETTEMPFILECURSOR := 'translateTempfile_c'; --- > OPEN TRANSLATETEMPFILE_C; > GETTEMPFILECURSOR := 'translateTempfile_c'; 25924c25981 < NAME IN VARCHAR2 --- > NAME IN VARCHAR2 25930c25987 < RSP RESTORE_POINT_C%ROWTYPE; --- > RSP RESTORE_POINT_C%ROWTYPE; 25941,25943c25998,26000 < RLGSCN := NULL; < RLGTIME := NULL; < SCN := NULL; --- > RLGSCN := NULL; > RLGTIME := NULL; > SCN := NULL; 25946,25948c26003,26005 < RLGSCN := RSP.RESET_SCN; < RLGTIME := RSP.RESET_TIME; < SCN := RSP.SCN; --- > RLGSCN := RSP.RESET_SCN; > RLGTIME := RSP.RESET_TIME; > SCN := RSP.SCN;
12.1.0.2
463a464,472 > /** > * Checks whether the given role is enabled in the current session. > * > * @param p_role Role to check > * @return TRUE if the role is enabled in the current session > */ > FUNCTION session_enabled_role(p_role IN VARCHAR2) > RETURN BOOLEAN; > 499a509,517 > * Checks whether the given role is enabled in the current session. > * > * @param p_role Role to check > * @return Y if the role is enabled in the current session, N otherwise > */ > FUNCTION session_enabled_role_varchar(p_role IN VARCHAR2) > RETURN VARCHAR2; > > /**
3400c3400,3401
< IF DVSYS.DBMS_MACUTL.USER_HAS_ROLE_VARCHAR('DV_ACCTMGR', LOGIN_USER) = 'N' THEN
---
> IF DVSYS.DBMS_MACUTL.USER_HAS_ROLE_VARCHAR('DV_ACCTMGR', LOGIN_USER) = 'N' AND
> DVSYS.DBMS_MACUTL.SESSION_ENABLED_ROLE_VARCHAR('DV_ACCTMGR') = 'N' THEN
603a604,620 > FUNCTION SESSION_ENABLED_ROLE(P_ROLE IN VARCHAR2) > RETURN BOOLEAN > IS EXTERNAL > LANGUAGE C > NAME "kzvIsRoleEnabled" > LIBRARY DVSYS.KZV$UTL_LIBT > WITH CONTEXT > PARAMETERS > (CONTEXT, > P_ROLE STRING, > P_ROLE INDICATOR SB4, > P_ROLE LENGTH SB4, > > RETURN INDICATOR SB4, > RETURN SB2 > ); > 776a794,805 > FUNCTION SESSION_ENABLED_ROLE_VARCHAR(P_ROLE IN VARCHAR2) > RETURN VARCHAR2 IS > IS_ENABLED BOOLEAN ; > BEGIN > IS_ENABLED := DBMS_MACUTL.SESSION_ENABLED_ROLE(P_ROLE); > > IF ( IS_ENABLED ) THEN > RETURN G_YES; > ELSE > RETURN G_NO; > END IF; > END;
7a8,24
> FUNCTION SESSION_ENABLED_ROLE(P_ROLE IN VARCHAR2)
> RETURN BOOLEAN
> IS EXTERNAL
> LANGUAGE C
> NAME "kzvIsRoleEnabled"
> LIBRARY LBACSYS.LBAC$EVENT_LIBT
> WITH CONTEXT
> PARAMETERS
> (CONTEXT,
> P_ROLE STRING,
> P_ROLE INDICATOR SB4,
> P_ROLE LENGTH SB4,
>
> RETURN INDICATOR SB4,
> RETURN SB2
> );
>
15a33,40
>
>
> IF (LBACDBA_ROLE_COUNT + DVOWNER_ROLE_COUNT) < 1 THEN
> IF (SESSION_ENABLED_ROLE('DV_OWNER')) THEN
> DVOWNER_ROLE_COUNT := 1;
> END IF;
> END IF;
>
8189a8190,8195 > > FUNCTION createTempXmlFile > RETURN varchar2; > -- This procedure returns a temporary filename. > -- The temporary filename is derived from ?/dbs location. >
1c1 < PACKAGE dbms_optim_bundle AS --- > PACKAGE dbms_optim_bundle AUTHID CURRENT_USER AS 15a16,20 > > > ---------------------------- > -- PROCEDURES AND FUNCTIONS > ---------------------------- 99a105,122 > -- USAGE: > -- User can invoke below procedure to display bundle-ids and bundle-names > -- which have fixes with _fix_controls i.e. fixes which may cause plan change. > -- > -- listBundlesWithFCFixes > -- > -- Input arguments: None > -- > -- USAGE EXAMPLE: > -- 1. exec dbms_optim_bundle.listBundlesWithFCFixes; > -- This will display all bundle-ids and names which have > -- fixes with _fix_controls. > -- > -- ERRORS: > -- Application errors used are: > -- -20001 user-supplied value error > -- -20002 internal/other errors > PROCEDURE listBundlesWithFCFixes;
3089c3089,3090 < ,toDest4 IN varchar2 DEFAULT NULL); --- > ,toDest4 IN varchar2 DEFAULT NULL > ,atAnyScn IN boolean DEFAULT FALSE);
306a307,333 > > > FUNCTION GET_IDX_NAME(CONS_NAME IN VARCHAR2, > CONS_OWNER IN VARCHAR2) > RETURN VARCHAR2; > > > > > > > > > > > FUNCTION GET_INT_OBJ_NAME(RID IN PLS_INTEGER, > OTYP IN PLS_INTEGER, > O_OBJ_OWNER IN VARCHAR2, > O_OBJ_NAME IN VARCHAR2) > RETURN VARCHAR2; > > > > > > >
8987a8988,9006 > > > FUNCTION KRBI_CREATE_XML RETURN VARCHAR2; > PRAGMA INTERFACE (C, KRBI_CREATE_XML); > > FUNCTION CREATETEMPXMLFILE RETURN VARCHAR2 IS > FNAME VARCHAR2(1024); > BEGIN > ICDSTART(214); > FNAME := KRBI_CREATE_XML; > ICDFINISH; > RETURN FNAME; > EXCEPTION > WHEN OTHERS THEN > ICDFINISH; > RAISE; > END; > >
12,43d11
< PROCEDURE CREATE_DIRS IS
< L_HOME VARCHAR2(255);
< DIR VARCHAR2(30);
< BEGIN
<
< SYS.DBMS_SYSTEM.GET_ENV('ORACLE_HOME', L_HOME);
<
<
< DIR := ADMINDIR;
< EXECUTE IMMEDIATE 'create directory ' || ADMINDIR || ' as '''||L_HOME||'/rdbms/admin''';
<
< DIR := LOGDIR;
< EXECUTE IMMEDIATE 'create directory ' || LOGDIR || ' as '''||L_HOME||'/cfgtoollogs''';
<
< EXCEPTION
< WHEN OTHERS THEN
<
< IF DIR = LOGDIR THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', directory creation failed for ' || DIR);
< END CREATE_DIRS;
<
<
< PROCEDURE CLEANUP IS
< DIR VARCHAR2(30);
< OBJID NUMBER;
< CURSOR C1(NAME VARCHAR2) IS SELECT OBJECT_ID FROM ALL_OBJECTS
< WHERE OBJECT_TYPE ='DIRECTORY' AND OBJECT_NAME=NAME;
< BEGIN
<
< DIR := ADMINDIR;
45,62d12
< OPEN C1(ADMINDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< CLOSE C1;
<
< DIR := LOGDIR;
< OPEN C1(LOGDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || LOGDIR;
< END IF;
<
< EXCEPTION
< WHEN OTHERS THEN
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', cleanup failed for ' || DIR);
< END CLEANUP;
67,71c17
<
<
<
<
< FUNCTION GET_LOGFILE_NAME RETURN SYS.V$SYSTEM_PARAMETER.VALUE%TYPE
---
> FUNCTION GET_LOGFILE_NAME RETURN "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE
74,75c20
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
<
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
103a49
> RETURN NULL;
160,161d105
<
< CLEANUP;
180,181d123
<
< CLEANUP;
201c143
< FUNCTION PARSE_INPUT_FILE RETURN NUMBER_ARRAY IS
---
> FUNCTION PARSE_INPUT_FILE RETURN FIX_CONTROL_DATA IS
207a150
> FCDATA FIX_CONTROL_DATA;
217c160,161
< OPTIMBUGS := NUMBER_ARRAY();
---
> FCDATA.FIXES := NUMBER_ARRAY();
> FCDATA.VALS := NUMBER_ARRAY();
229,232c173,181
< OPTIMBUGS.EXTEND();
< OPTIMBUGS(OPTIMBUGS.COUNT) := XML.EXTRACT('/bundlefcp/bundle[' ||
< P_COUNT || ']/fcbuglist/bug[' ||
< C_COUNT || ']/fix_control[' || GC_COUNT || ']/text()').GETSTRINGVAL();
---
> FCDATA.FIXES.EXTEND();
> FCDATA.FIXES(FCDATA.FIXES.COUNT) := XML.EXTRACT('/bundlefcp/bundle[' ||
> P_COUNT || ']/fcbuglist/bug[' ||
> C_COUNT || ']/fix_control[' || GC_COUNT || ']/text()').GETSTRINGVAL();
> FCDATA.VALS.EXTEND();
> FCDATA.VALS(FCDATA.VALS.COUNT) := XML.EXTRACT('/bundlefcp/bundle[' ||
> P_COUNT || ']/fcbuglist/bug[' ||
> C_COUNT || ']/fix_control[' || GC_COUNT || ']/@default_value').GETSTRINGVAL();
>
242c191
< RETURN OPTIMBUGS;
---
> RETURN FCDATA;
246,247d194
<
< CLEANUP;
249c196
< RETURN OPTIMBUGS;
---
> RETURN FCDATA;
268c215
< VALUE VARCHAR2(10);
---
> STRVALUE VARCHAR2(10);
322c269
< VALUE := SUBSTR(FIXSTRING, POS+1, LENGTH(FIXSTRING));
---
> STRVALUE := SUBSTR(FIXSTRING, POS+1, LENGTH(FIXSTRING));
325,327c272,274
< IF IS_NUMBER(VALUE) = 'Y' THEN
< SPVALS(SPVALS.COUNT) := TO_NUMBER(VALUE);
< ELSIF UPPER(VALUE)='OFF' THEN
---
> IF IS_NUMBER(STRVALUE) = 'Y' THEN
> SPVALS(SPVALS.COUNT) := TO_NUMBER(STRVALUE);
> ELSIF UPPER(STRVALUE)='OFF' THEN
329c276
< ELSIF UPPER(VALUE)='ON' THEN
---
> ELSIF UPPER(STRVALUE)='ON' THEN
351,352d297
<
< CLEANUP;
426,427d370
<
< CLEANUP;
445c388
< SELECT VALUE FROM SYS.V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
---
> SELECT VALUE FROM "PUBLIC".V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
464c407
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in PUBLIC.v$system_fix_control');
469c412
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in PUBLIC.v$system_fix_control');
485,486d427
<
< CLEANUP;
497,499c438,439
< PROCEDURE DISPLAY_ALTER_CMD(BUGSARRAY IN NUMBER_ARRAY,
< ACTION IN VARCHAR2,
< SCOPE IN VARCHAR2)
---
> PROCEDURE DISPLAY_ALTER_CMD(BUNDDATA IN FIX_CONTROL_DATA,
> SCOPE IN VARCHAR2)
503c443,445
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
> BUGSARRAY NUMBER_ARRAY := BUNDDATA.FIXES;
> VALSARRAY NUMBER_ARRAY := BUNDDATA.VALS;
518c460
< SQLCMD := SQLCMD || '''' || BUGSARRAY(I) ||':'|| ACTION || ''',';
---
> SQLCMD := SQLCMD || '''' || BUGSARRAY(I) ||':'|| VALSARRAY(I) || ''',';
520c462
< SQLCMD := SQLCMD || '''' || BUGSARRAY(I) ||':'|| ACTION || '''';
---
> SQLCMD := SQLCMD || '''' || BUGSARRAY(I) ||':'|| VALSARRAY(I) || '''';
538,539d479
<
< CLEANUP;
555c495
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
607,608d546
<
< CLEANUP;
615c553
< CURSOR C1 IS SELECT COUNT(*) FROM GV$INSTANCE WHERE STATUS='OPEN';
---
> CURSOR C1 IS SELECT COUNT(*) FROM SYS.GV$INSTANCE WHERE STATUS='OPEN';
618c556
< CURSOR C2 IS SELECT VALUE FROM V$PARAMETER WHERE NAME='cluster_database_instances';
---
> CURSOR C2 IS SELECT VALUE FROM "PUBLIC".V$PARAMETER WHERE NAME='cluster_database_instances';
620c558
< TOTAL_VAL SYS.V$PARAMETER.VALUE%TYPE;
---
> TOTAL_VAL "PUBLIC".V$PARAMETER.VALUE%TYPE;
652,653d589
<
< CLEANUP;
661c597
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
748c684
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
867c803
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
981,983d916
<
< CLEANUP;
<
994d926
< CLEANUP;
1004c936
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1040c972
< 'gv$system_fix_control where inst_id= ' || INSTID;
---
> 'sys.gv$system_fix_control where inst_id= ' || INSTID;
1102,1104d1033
<
< CLEANUP;
<
1115d1043
< CLEANUP;
1142c1070
< SELECT OPEN_MODE INTO OPENMODE FROM V$PDBS;
---
> SELECT OPEN_MODE INTO OPENMODE FROM "PUBLIC".V$PDBS;
1165d1092
< CLEANUP;
1178d1104
< BUNDARRAY NUMBER_ARRAY;
1203c1129
< CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1216d1141
< INSTNAMEBIND VARCHAR2(20);
1218c1143,1146
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
>
> SPFILE_ERROR EXCEPTION;
> PRAGMA EXCEPTION_INIT( SPFILE_ERROR, -32010 );
1229a1158
>
1233,1234c1162,1164
<
< CREATE_DIRS;
---
>
>
> BUNDDATA := PARSE_INPUT_FILE;
1237c1167,1172
< BUNDARRAY := PARSE_INPUT_FILE();
---
>
> IF UPPER(ACTION)='OFF' THEN
> FOR I IN 1..BUNDDATA.FIXES.COUNT LOOP
> BUNDDATA.VALS(I) := 0;
> END LOOP;
> END IF;
1239,1242c1174,1175
< IF (BUNDARRAY.COUNT = 0) THEN
< DBMS_OUTPUT.PUT_LINE(' No fixes with fix_controls applied as part of this bundle.');
<
< CLEANUP;
---
> IF (BUNDDATA.FIXES.COUNT = 0) THEN
> DBMS_OUTPUT.PUT_LINE(' No fixes with fix_controls applied as part of bundles.');
1249,1251c1182
< DISPLAY_ALTER_CMD(BUNDARRAY, ACTION, SCOPE);
<
< CLEANUP;
---
> DISPLAY_ALTER_CMD(BUNDDATA, SCOPE);
1256,1273d1186
< BUNDDATA.FIXES := BUNDARRAY;
<
<
< BUNDDATA.VALS := NUMBER_ARRAY();
<
< FOR I IN 1..BUNDARRAY.COUNT LOOP
<
< BUNDDATA.VALS.EXTEND();
<
< IF UPPER(ACTION)='OFF' THEN
< BUNDDATA.VALS(I) := 0;
< ELSIF UPPER(ACTION)='ON' THEN
< BUNDDATA.VALS(I) := 1;
< END IF;
<
< END LOOP;
<
<
1293c1206
< SELECT INSTANCE_NAME INTO INSTNAME FROM V$INSTANCE;
---
> SELECT INSTANCE_NAME INTO INSTNAME FROM "PUBLIC".V$INSTANCE;
1365c1278
< MEMVALARRAY := GET_BUNDLE_FIXES_INMEMORY_VAL(BUNDARRAY,CON_ID);
---
> MEMVALARRAY := GET_BUNDLE_FIXES_INMEMORY_VAL(BUNDDATA.FIXES, CON_ID);
1369c1282
< FINALMEMDATA.FIXES := BUNDARRAY;
---
> FINALMEMDATA.FIXES := BUNDDATA.FIXES;
1374c1287
< FINALMEMDATA.FIXES := BUNDARRAY;
---
> FINALMEMDATA.FIXES := BUNDDATA.FIXES;
1380,1381c1293,1294
< FOR I IN 1..BUNDARRAY.COUNT LOOP
< FIXCONTROL := FIXCONTROL || BUNDARRAY(I) || ':' || MEMVALARRAY(I) || ' ';
---
> FOR I IN 1..BUNDDATA.FIXES.COUNT LOOP
> FIXCONTROL := FIXCONTROL || BUNDDATA.FIXES(I) || ':' || MEMVALARRAY(I) || ' ';
1393,1394c1306,1307
< FOR I IN 1..BUNDARRAY.COUNT LOOP
< FIXCONTROL := FIXCONTROL || BUNDARRAY(I) || ':' || FINALMEMDATA.VALS(I) || ' ';
---
> FOR I IN 1..BUNDDATA.FIXES.COUNT LOOP
> FIXCONTROL := FIXCONTROL || BUNDDATA.FIXES(I) || ':' || FINALMEMDATA.VALS(I) || ' ';
1479,1480c1392,1394
< INSTNAMEBIND := '''' || INSTNAME || '''';
< SQL_STMT := 'alter system reset "_fix_control" SID=' || INSTNAMEBIND || 'scope=spfile';
---
> SQL_STMT := 'alter system reset "_fix_control" SID=' ||
> SYS.DBMS_ASSERT.ENQUOTE_LITERAL(INSTNAME) ||
> ' scope=spfile';
1484,1492c1398,1406
< WHEN OTHERS THEN
<
< IF (SQLCODE NOT IN (-32010)) THEN
< UTL_FILE.FCLOSE(LOGF);
< CLEANUP;
< CLOSE C1;
< RAISE;
< END IF;
< END;
---
>
>
> WHEN SPFILE_ERROR THEN
> NULL;
> WHEN OTHERS THEN
> UTL_FILE.FCLOSE(LOGF);
> CLOSE C1;
> RAISE;
> END;
1509,1511d1422
<
< CLEANUP;
<
1517,1518d1427
<
< CLEANUP;
1542,1544d1450
< CREATE_DIRS;
<
<
1558a1465,1469
> IF P_COUNT = 1 THEN
> DBMS_OUTPUT.PUT_LINE( CHR(10) || 'Bundles with fixes which can cause plan changes not applied yet');
> RETURN;
> END IF;
>
1570,1572c1481,1483
< DBMS_OUTPUT.PUT_LINE(CHR(10) || 'Either invalid bundle-id or no fixes '
< || 'with fix_controls added in corresponding bundle');
< CLEANUP;
---
> DBMS_OUTPUT.PUT_LINE(CHR(10) || 'Invalid input value, please execute '
> || 'dbms_optim_bundle.listBundlesWithFCFixes '
> || 'to get list of valid bundleId values');
1652,1654d1562
<
< CLEANUP;
<
1657,1658d1564
<
< CLEANUP;
1661a1568,1601
>
>
> PROCEDURE LISTBUNDLESWITHFCFIXES
> IS
> XCLOB CLOB;
> XML XMLTYPE;
> BUNDLEID NUMBER;
> P_COUNT NUMBER := 1;
> BUNDLENAME VARCHAR2(100);
> BEGIN
>
>
> XCLOB := GETDOCUMENT(INPUTFILE);
>
>
> XML := XMLTYPE.CREATEXML(XCLOB);
>
>
> WHILE XML.EXISTSNODE('/bundlefcp/bundle[' || P_COUNT || ']') = 1 LOOP
> BUNDLEID := TO_NUMBER(XML.EXTRACT('/bundlefcp/bundle[' || P_COUNT || ']/@id').GETSTRINGVAL());
> BUNDLENAME := XML.EXTRACT('/bundlefcp/bundle[' || P_COUNT || ']/@description').GETSTRINGVAL();
> DBMS_OUTPUT.PUT_LINE('bundleId: ' || BUNDLEID || ', bundleName: ' || BUNDLENAME);
> P_COUNT := P_COUNT + 1;
> END LOOP;
>
> IF P_COUNT = 1 THEN
> DBMS_OUTPUT.PUT_LINE(CHR(10) || 'Bundles with fixes which can cause plan changes not applied yet');
> END IF;
>
> EXCEPTION
> WHEN OTHERS THEN
> RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', listBundles Error ');
> END LISTBUNDLESWITHFCFIXES;
>
16711c16711,16712 < FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I --- > FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I, > V$DATABASE DB 16727a16729 > AND L.NEXT_CHANGE# >= DB.STANDBY_BECAME_PRIMARY_SCN 25871a25874,25881 > DEB(DEB_IN, 'lbRec.completion_time=' || LBREC.COMPLETION_TIME); > DEB(DEB_IN, 'lbRec.df_ckp_mod_time=' || LBREC.DF_CKP_MOD_TIME); > DEB(DEB_IN, 'lbRec.df_checkpoint_change#=' || > LBREC.DF_CHECKPOINT_CHANGE#); > DEB(DEB_IN, 'lbRec.df_plugin_change#=' || > LBREC.DF_PLUGIN_CHANGE#); > DEB(DEB_IN, 'lbRec.df_creation_change#=' || > LBREC.DF_CREATION_CHANGE#); 25878,25880c25888,25896 < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < (UNTILTIME IS NULL AND < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)))) THEN --- > ((LBREC.DF_PLUGIN_CHANGE# > LBREC.DF_CREATION_CHANGE#) AND > (LBREC.DF_PLUGIN_CHANGE# <= UNTILSCN)) OR > ((UNTILTIME IS NOT NULL) AND > (NVL(LBREC.COMPLETION_TIME, LBREC.DF_CKP_MOD_TIME) > < UNTILTIME)) OR > ((UNTILTIME IS NULL) AND > (LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) > ))) THEN >
7209c7209,7210 < ,PATTERN4 IN VARCHAR2) --- > ,PATTERN4 IN VARCHAR2 > ,BACKEDUPANYSCN IN NUMBER) 7210a7212,7225 > 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) 7246,7250c7261,7272 < 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, 7283,7284c7305,7307 < 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)) 7384,7388c7407,7418 < 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 7394,7395c7424,7426 < 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)) 16593c16624,16625 < FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I --- > FROM V$ARCHIVED_LOG L, V$ARCHIVE_DEST D, V$DATABASE_INCARNATION I, > V$DATABASE DB 16609a16642 > AND L.NEXT_CHANGE# >= DB.STANDBY_BECAME_PRIMARY_SCN 25542a25576,25581 > DEB(DEB_IN, 'lbRec.completion_time=' || LBREC.COMPLETION_TIME); > DEB(DEB_IN, 'lbRec.df_ckp_mod_time=' || LBREC.DF_CKP_MOD_TIME); > DEB(DEB_IN, 'lbRec.df_checkpoint_change#=' || > LBREC.DF_CHECKPOINT_CHANGE#); > DEB(DEB_IN, 'lbRec.df_creation_change#=' || > LBREC.DF_CREATION_CHANGE#); 25549,25551c25588,25594 < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < (UNTILTIME IS NULL AND < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)))) THEN --- > ((UNTILTIME IS NOT NULL) AND > (NVL(LBREC.COMPLETION_TIME, LBREC.DF_CKP_MOD_TIME) > < UNTILTIME)) OR > ((UNTILTIME IS NULL) AND > (LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) > ))) THEN > 26694c26737,26738 < ,TODEST4 IN VARCHAR2 DEFAULT NULL) --- > ,TODEST4 IN VARCHAR2 DEFAULT NULL > ,ATANYSCN IN BOOLEAN DEFAULT FALSE) 26706a26751 > BACKEDUPANYSCN NUMBER; 26709a26755,26764 > > > > > IF (ATANYSCN) THEN > BACKEDUPANYSCN := TRUE#; > ELSE > BACKEDUPANYSCN := FALSE#; > END IF; > 26714a26770 > 26722c26778,26779 < PATTERN4 => STARTWITHPATTERN(TODEST4)); --- > PATTERN4 => STARTWITHPATTERN(TODEST4), > BACKEDUPANYSCN => BACKEDUPANYSCN);
123a124,144 > > > > > > > > PROCEDURE IS_USER_CREATED(TABOWNER IN VARCHAR2, > TABNM IN VARCHAR2, > INDEX_NAME IN VARCHAR2, > IS_USER_CRTD OUT PLS_INTEGER) IS > EXTERNAL > NAME "kkziIsUserCreatedIdx" > LIBRARY DBMS_SNAPSHOT_LIB > WITH CONTEXT > PARAMETERS(CONTEXT, > TABOWNER STRING, TABOWNER LENGTH SB2, > TABNM STRING, TABNM LENGTH SB2, > INDEX_NAME STRING, INDEX_NAME LENGTH SB2, > IS_USER_CRTD UB1) > LANGUAGE C; 1012a1034,1037 > IDX_NAME VARCHAR(128); > IDX_INT_NAME VARCHAR(2000); > IS_INDEX_USER_CRTD PLS_INTEGER := 0; > USING_INDEX BOOLEAN :=FALSE; 1129a1155,1177 > > > > IF (OBJ_TYPE = DBMS_REDEFINITION.CONS_CONSTRAINT) THEN > IDX_NAME := DBMS_REDEFINITION_INTERNAL.GET_IDX_NAME(O_OBJ_NAME, O_OBJ_OWNER); > IF (IDX_NAME IS NOT NULL) THEN > > IS_USER_CREATED( O_OBJ_OWNER, O_BT_NAME, IDX_NAME, IS_INDEX_USER_CRTD); > IF (IS_INDEX_USER_CRTD = 1) THEN > IDX_INT_NAME := DBMS_REDEFINITION_INTERNAL.GET_INT_OBJ_NAME(RID, > DBMS_REDEFINITION.CONS_INDEX,O_OBJ_OWNER,IDX_NAME); > > IF ( IDX_INT_NAME IS NOT NULL) THEN > T_HANDLE:= DBMS_METADATA.ADD_TRANSFORM(HANDLE, 'MODIFY'); > DBMS_METADATA.SET_REMAP_PARAM(T_HANDLE,'REMAP_NAME',IDX_NAME, > IDX_INT_NAME); > USING_INDEX := TRUE; > END IF; > END IF; > END IF; > END IF; > > 1137c1185,1189 < DBMS_METADATA.SET_TRANSFORM_PARAM(DHANDLE,'INDEX_BY_NAME',FALSE); --- > IF ( USING_INDEX ) THEN > DBMS_METADATA.SET_TRANSFORM_PARAM(DHANDLE,'INDEX_BY_NAME',TRUE); > ELSE > DBMS_METADATA.SET_TRANSFORM_PARAM(DHANDLE,'INDEX_BY_NAME',FALSE); > END IF; 1144c1196,1202 < DBMS_METADATA.SET_TRANSFORM_PARAM(DHANDLE,'ONLINE_REDEF',TRUE); --- > IF (NOT USING_INDEX) THEN > DBMS_METADATA.SET_TRANSFORM_PARAM(DHANDLE,'ONLINE_REDEF',TRUE); > END IF; > > > >
46a47,69 > > > > > > > > > FUNCTION GET_IDX_NAME(CONS_NAME IN VARCHAR2, > CONS_OWNER IN VARCHAR2) RETURN VARCHAR2 IS > IDX_NAME VARCHAR2(128); > BEGIN > SELECT INDEX_NAME INTO IDX_NAME > FROM DBA_CONSTRAINTS > WHERE CONSTRAINT_NAME=CONS_NAME AND OWNER=CONS_OWNER; > RETURN IDX_NAME; > EXCEPTION > WHEN NO_DATA_FOUND THEN > RETURN NULL; > WHEN OTHERS THEN > RETURN NULL; > END; > 53a77,105 > > > FUNCTION GET_INT_OBJ_NAME(RID IN PLS_INTEGER, > OTYP IN PLS_INTEGER, > O_OBJ_OWNER IN VARCHAR2, > O_OBJ_NAME IN VARCHAR2) > RETURN VARCHAR2 IS > INT_OBJ_NAME VARCHAR2(2000); > BEGIN > SELECT INT_OBJ_NAME INTO INT_OBJ_NAME > FROM SYS.REDEF_OBJECT$ > WHERE REDEF_ID = RID > AND OBJ_TYPE = OTYP > AND OBJ_OWNER = O_OBJ_OWNER > AND OBJ_NAME = O_OBJ_NAME; > RETURN INT_OBJ_NAME; > EXCEPTION > WHEN NO_DATA_FOUND THEN > RETURN NULL; > WHEN OTHERS THEN > RETURN NULL; > END; > > > > > > >
32494c32494,32498 < MULTI_COMPART := TRUE; --- > > > IF (PNAME IS NULL) THEN > MULTI_COMPART := TRUE; > END IF;
1c1,3 < TYPE dbms_optim_bugValObType as object(fix number, val number) --- > TYPE > dbms_optim_bugValObType FORCE as object(fix number, val number); >
1c1,3 < TYPE dbms_optim_fcTabType as table of dbms_optim_bugValObType --- > TYPE > dbms_optim_fcTabType as table of dbms_optim_bugValObType; >
12.2.0.1
4a5 > oidval raw(16), /* unique id */
2c2 < type "SYS_YOID0000072649$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE), "SYS_NC00003$" VARCHAR2(128 BYTE)) --- > type "SYS_YOID0000072649$" as object( "SYS_NC00001$" RAW(16))
2c2 < type "SYS_YOID0000072661$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE)) --- > type "SYS_YOID0000072661$" as object( "SYS_NC00001$" RAW(16))
1,2c1,2 < type "SYS_YOID0000072664$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE), "SYS_NC00003$" VARCHAR2(128 BYTE), "SYS_NC00004$" NUMBER) < type "SYS_YOID0000072664$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE), "SYS_NC00003$" VARCHAR2(128 BYTE), "SYS_NC00004$" NUMBER) --- > type "SYS_YOID0000072664$" as object( "SYS_NC00001$" RAW(16)) > type "SYS_YOID0000072664$" as object( "SYS_NC00001$" RAW(16))
2c2 < type "SYS_YOID0000072667$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(100 BYTE), "SYS_NC00003$" VARCHAR2(128 BYTE), "SYS_NC00004$" VARCHAR2(128 BYTE), "SYS_NC00005$" VARCHAR2(128 BYTE), "SYS_NC00006$" VARCHAR2(128 BYTE), "SYS_NC00007$" NUMBER) --- > type "SYS_YOID0000072667$" as object( "SYS_NC00001$" RAW(16))
2c2 < type "SYS_YOID0000072694$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE), "SYS_NC00003$" VARCHAR2(128 BYTE), "SYS_NC00004$" VARCHAR2(128 BYTE)) --- > type "SYS_YOID0000072694$" as object( "SYS_NC00001$" RAW(16))
2c2 < type "SYS_YOID0000072697$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE), "SYS_NC00003$" VARCHAR2(100 BYTE), "SYS_NC00004$" VARCHAR2(128 BYTE), "SYS_NC00005$" VARCHAR2(128 BYTE), "SYS_NC00006$" VARCHAR2(128 BYTE), "SYS_NC00007$" VARCHAR2(128 BYTE)) --- > type "SYS_YOID0000072697$" as object( "SYS_NC00001$" RAW(16))
1c1 < type "SYS_YOID0000072870$" as object( "SYS_NC00001$" VARCHAR2(128 BYTE), "SYS_NC00002$" VARCHAR2(128 BYTE), "SYS_NC00003$" VARCHAR2(128 BYTE), "SYS_NC00004$" NUMBER) --- > type "SYS_YOID0000072870$" as object( "SYS_NC00001$" RAW(16))
1c1 < select '0','0', --- > select '0','0', sys_guid(),
60a61,65 > FUNCTION GET_USER_MAP(cluster_name IN VARCHAR2 DEFAULT '[DEFAULT]', > current_database_user IN VARCHAR2) -- NOT NULL > RETURN VARCHAR2; > >
15a16,20 > > > ---------------------------- > -- PROCEDURES AND FUNCTIONS > ----------------------------
189a190,191 > -- Bug 29339155: Check for remoteowner being null to avoid ORA-1422 error > -- if there were remote PL/SQL objects depending on oldview. 192c194,195 < ' AND TYPE# in (2, 4) and owner# = :2' --- > ' AND TYPE# in (2, 4) and owner# = :2' || > ' AND REMOTEOWNER is null'
198c198,251
< END;
---
>
>
>
>
>
> FUNCTION GET_USER_MAP(CLUSTER_NAME IN VARCHAR2 DEFAULT '[DEFAULT]',
> CURRENT_DATABASE_USER IN VARCHAR2)
> RETURN VARCHAR2
> IS
> TABLE_DOES_NOT_EXIST EXCEPTION;
> PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST, -942);
> HDFS_USER_OUT VARCHAR2(128);
> NAMESPACE VARCHAR2(128);
> PARM_HADOOP VARCHAR2(128);
> CURRENT_DATABASE_USER_U VARCHAR2(128) := CURRENT_DATABASE_USER;
> DEFAULT_CLUSTER_NAME CONSTANT VARCHAR2(9) := '[DEFAULT]';
> STOPPER_AT CONSTANT CHAR := '@';
> STOPPER_SLASH CONSTANT CHAR := '/';
> AT_LOC PLS_INTEGER;
> SLASH_LOC PLS_INTEGER;
> FOUND BOOLEAN;
> CNT PLS_INTEGER;
> USE_LEN PLS_INTEGER;
> USE_THIS_CLUSTER_NAME VARCHAR2(128);
> MAPPING VARCHAR2(128);
> MAP_OUT VARCHAR2(128);
> RC PLS_INTEGER;
> TRUEORFALSE CHAR(5);
> BEGIN
>
> SELECT SYS_CONTEXT('USERENV', 'ISDBA') INTO TRUEORFALSE FROM DUAL;
>
> IF TRUEORFALSE != 'TRUE' AND
> NOT DBMS_SESSION.IS_ROLE_ENABLED('BDSQL_USER') THEN
>
> RETURN NULL;
> END IF;
> IF CLUSTER_NAME <> DEFAULT_CLUSTER_NAME THEN
> USE_THIS_CLUSTER_NAME := CLUSTER_NAME;
> ELSE
> USE_THIS_CLUSTER_NAME := DEFAULT_CLUSTER_NAME;
> END IF;
>
> HDFS_USER_OUT := NULL;
> DBMS_BDSQL.SEL_USERMAP(USE_THIS_CLUSTER_NAME, CURRENT_DATABASE_USER,
> MAPPING, RC);
> HDFS_USER_OUT := MAPPING;
> IF (MAPPING IS NULL) THEN MAP_OUT := '<<NULL>>';
> ELSE MAP_OUT := MAPPING; END IF;
> RETURN MAPPING;
>
> END GET_USER_MAP;
>
> END DBMS_HADOOP;
12,21d11
< PROCEDURE CREATE_DIRS IS
< L_HOME VARCHAR2(255);
< DIR VARCHAR2(30);
< BEGIN
<
< SYS.DBMS_SYSTEM.GET_ENV('ORACLE_HOME', L_HOME);
<
<
< DIR := ADMINDIR;
< EXECUTE IMMEDIATE 'create directory ' || ADMINDIR || ' as '''||L_HOME||'/rdbms/admin''';
23,33d12
< DIR := LOGDIR;
< EXECUTE IMMEDIATE 'create directory ' || LOGDIR || ' as '''||L_HOME||'/cfgtoollogs''';
<
< EXCEPTION
< WHEN OTHERS THEN
<
< IF DIR = LOGDIR THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', directory creation failed for ' || DIR);
< END CREATE_DIRS;
36,43d14
< PROCEDURE CLEANUP IS
< DIR VARCHAR2(30);
< OBJID NUMBER;
< CURSOR C1(OBJNAME VARCHAR2) IS SELECT OBJECT_ID FROM ALL_OBJECTS
< WHERE OBJECT_TYPE ='DIRECTORY' AND OBJECT_NAME=OBJNAME;
< BEGIN
<
< DIR := ADMINDIR;
45,57d15
< OPEN C1(ADMINDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< CLOSE C1;
<
< DIR := LOGDIR;
< OPEN C1(LOGDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || LOGDIR;
< END IF;
59,71c17
< EXCEPTION
< WHEN OTHERS THEN
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', cleanup failed for ' || DIR);
< END CLEANUP;
<
<
<
<
<
<
<
<
< FUNCTION GET_LOGFILE_NAME RETURN SYS.V$SYSTEM_PARAMETER.VALUE%TYPE
---
> FUNCTION GET_LOGFILE_NAME RETURN "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE
74,75c20
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
<
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
161,162d105
<
< CLEANUP;
181,182d123
<
< CLEANUP;
254,255d194
<
< CLEANUP;
359,360d297
<
< CLEANUP;
434,435d370
<
< CLEANUP;
453c388
< SELECT VALUE FROM SYS.V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
---
> SELECT VALUE FROM "PUBLIC".V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
472c407
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in PUBLIC.v$system_fix_control');
477c412
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in PUBLIC.v$system_fix_control');
493,494d427
<
< CLEANUP;
510c443
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
547,548d479
<
< CLEANUP;
564c495
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
616,617d546
<
< CLEANUP;
624c553
< CURSOR C1 IS SELECT COUNT(*) FROM GV$INSTANCE WHERE STATUS='OPEN';
---
> CURSOR C1 IS SELECT COUNT(*) FROM SYS.GV$INSTANCE WHERE STATUS='OPEN';
627c556
< CURSOR C2 IS SELECT VALUE FROM V$PARAMETER WHERE NAME='cluster_database_instances';
---
> CURSOR C2 IS SELECT VALUE FROM "PUBLIC".V$PARAMETER WHERE NAME='cluster_database_instances';
629c558
< TOTAL_VAL SYS.V$PARAMETER.VALUE%TYPE;
---
> TOTAL_VAL "PUBLIC".V$PARAMETER.VALUE%TYPE;
661,662d589
<
< CLEANUP;
670c597
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
757c684
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
876c803
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
990,992d916
<
< CLEANUP;
<
1003d926
< CLEANUP;
1013c936
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1049c972
< 'gv$system_fix_control where inst_id= ' || INSTID;
---
> 'sys.gv$system_fix_control where inst_id= ' || INSTID;
1111,1113d1033
<
< CLEANUP;
<
1124d1043
< CLEANUP;
1151c1070
< SELECT OPEN_MODE INTO OPENMODE FROM V$PDBS;
---
> SELECT OPEN_MODE INTO OPENMODE FROM "PUBLIC".V$PDBS;
1174d1092
< CLEANUP;
1211c1129
< CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1224d1141
< INSTNAMEBIND VARCHAR2(20);
1226c1143
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
1245,1247d1161
<
< CREATE_DIRS;
<
1262,1263d1175
<
< CLEANUP;
1271,1272d1182
<
< CLEANUP;
1296c1206
< SELECT INSTANCE_NAME INTO INSTNAME FROM V$INSTANCE;
---
> SELECT INSTANCE_NAME INTO INSTNAME FROM "PUBLIC".V$INSTANCE;
1482,1483c1392,1394
< INSTNAMEBIND := '''' || INSTNAME || '''';
< SQL_STMT := 'alter system reset "_fix_control" SID=' || INSTNAMEBIND || 'scope=spfile';
---
> SQL_STMT := 'alter system reset "_fix_control" SID=' ||
> SYS.DBMS_ASSERT.ENQUOTE_LITERAL(INSTNAME) ||
> ' scope=spfile';
1493d1403
< CLEANUP;
1513,1515d1422
<
< CLEANUP;
<
1521,1522d1427
<
< CLEANUP;
1546,1548d1450
< CREATE_DIRS;
<
<
1565d1466
< CLEANUP;
1583d1483
< CLEANUP;
1663,1665d1562
<
< CLEANUP;
<
1668,1669d1564
<
< CLEANUP;
1683,1684d1577
<
< CREATE_DIRS;
1704,1705d1596
<
< CLEANUP;
1708,1709d1598
<
< CLEANUP;
26504a26505,26512 > DEB(DEB_IN, 'lbRec.completion_time=' || LBREC.COMPLETION_TIME); > DEB(DEB_IN, 'lbRec.df_ckp_mod_time=' || LBREC.DF_CKP_MOD_TIME); > DEB(DEB_IN, 'lbRec.df_checkpoint_change#=' || > LBREC.DF_CHECKPOINT_CHANGE#); > DEB(DEB_IN, 'lbRec.df_plugin_change#=' || > LBREC.DF_PLUGIN_CHANGE#); > DEB(DEB_IN, 'lbRec.df_creation_change#=' || > LBREC.DF_CREATION_CHANGE#); 26511,26513c26519,26527 < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < (UNTILTIME IS NULL AND < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)))) THEN --- > ((LBREC.DF_PLUGIN_CHANGE# > LBREC.DF_CREATION_CHANGE#) AND > (LBREC.DF_PLUGIN_CHANGE# <= UNTILSCN)) OR > ((UNTILTIME IS NOT NULL) AND > (NVL(LBREC.COMPLETION_TIME, LBREC.DF_CKP_MOD_TIME) > < UNTILTIME)) OR > ((UNTILTIME IS NULL) AND > (LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) > ))) THEN >
1c1,3 < TYPE dbms_optim_bugValObType FORCE as object(fix number, val number); --- > TYPE > dbms_optim_bugValObType FORCE as object(fix number, val number); >
1c1,3 < TYPE dbms_optim_fcTabType as table of dbms_optim_bugValObType; --- > TYPE > dbms_optim_fcTabType as table of dbms_optim_bugValObType; >
18.0.0.0
12c12
< bannerVersion CONSTANT VARCHAR2(15) := '18.06.00.00';
---
> bannerVersion CONSTANT VARCHAR2(15) := '18.06.01.00';
24,26c24,26
< 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);
---
> fsn CONSTANT NUMBER := instr('18.06.01.00', '.');
> msn CONSTANT NUMBER := instr('18.06.01.00', '.', fsn + 1);
> psn CONSTANT NUMBER := instr('18.06.01.00', '.', msn + 1);
29c29
< to_number(substr('18.06.00.00', 1, fsn - 1));
---
> to_number(substr('18.06.01.00', 1, fsn - 1));
31c31
< to_number(substr('18.06.00.00', fsn + 1, msn - fsn - 1));
---
> to_number(substr('18.06.01.00', fsn + 1, msn - fsn - 1));
33c33
< to_number(substr('18.06.00.00', msn + 1, psn - msn - 1));
---
> to_number(substr('18.06.01.00', msn + 1, psn - msn - 1));
35c35
< to_number(substr('18.06.00.00', psn + 1));
---
> to_number(substr('18.06.01.00', psn + 1));
12c12
< bannerVersion CONSTANT VARCHAR2(15) := '18.06.00.00';
---
> bannerVersion CONSTANT VARCHAR2(15) := '18.05.02.00';
24,26c24,26
< 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);
---
> fsn CONSTANT NUMBER := instr('18.05.02.00', '.');
> msn CONSTANT NUMBER := instr('18.05.02.00', '.', fsn + 1);
> psn CONSTANT NUMBER := instr('18.05.02.00', '.', msn + 1);
29c29
< to_number(substr('18.06.00.00', 1, fsn - 1));
---
> to_number(substr('18.05.02.00', 1, fsn - 1));
31c31
< to_number(substr('18.06.00.00', fsn + 1, msn - fsn - 1));
---
> to_number(substr('18.05.02.00', fsn + 1, msn - fsn - 1));
33c33
< to_number(substr('18.06.00.00', msn + 1, psn - msn - 1));
---
> to_number(substr('18.05.02.00', msn + 1, psn - msn - 1));
35c35
< to_number(substr('18.06.00.00', psn + 1));
---
> to_number(substr('18.05.02.00', psn + 1));
12c12
< bannerVersion CONSTANT VARCHAR2(15) := '18.06.00.00';
---
> bannerVersion CONSTANT VARCHAR2(15) := '18.07.00.00';
24,26c24,26
< 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);
---
> fsn CONSTANT NUMBER := instr('18.07.00.00', '.');
> msn CONSTANT NUMBER := instr('18.07.00.00', '.', fsn + 1);
> psn CONSTANT NUMBER := instr('18.07.00.00', '.', msn + 1);
29c29
< to_number(substr('18.06.00.00', 1, fsn - 1));
---
> to_number(substr('18.07.00.00', 1, fsn - 1));
31c31
< to_number(substr('18.06.00.00', fsn + 1, msn - fsn - 1));
---
> to_number(substr('18.07.00.00', fsn + 1, msn - fsn - 1));
33c33
< to_number(substr('18.06.00.00', msn + 1, psn - msn - 1));
---
> to_number(substr('18.07.00.00', msn + 1, psn - msn - 1));
35c35
< to_number(substr('18.06.00.00', psn + 1));
---
> to_number(substr('18.07.00.00', psn + 1));
15a16,20 > > > ---------------------------- > -- PROCEDURES AND FUNCTIONS > ----------------------------
13c13 < '18.6.0.0.0'; --- > '18.5.2.0.0';
13c13 < '18.6.0.0.0'; --- > '18.7.0.0.0';
13c13 < '18.6.0.0.0'; --- > '18.6.1.0.0';
197a198,199 > -- Bug 29339155: Check for remoteowner being null to avoid ORA-1422 error > -- if there were remote PL/SQL objects depending on oldview. 200c202,203 < ' AND TYPE# in (2, 4) and owner# = :2' --- > ' AND TYPE# in (2, 4) and owner# = :2' || > ' AND REMOTEOWNER is null'
12,21d11
< PROCEDURE CREATE_DIRS IS
< L_HOME VARCHAR2(255);
< DIR VARCHAR2(30);
< BEGIN
<
< SYS.DBMS_SYSTEM.GET_ENV('ORACLE_HOME', L_HOME);
<
<
< DIR := ADMINDIR;
< EXECUTE IMMEDIATE 'create directory ' || ADMINDIR || ' as '''||L_HOME||'/rdbms/admin''';
23,33d12
< DIR := LOGDIR;
< EXECUTE IMMEDIATE 'create directory ' || LOGDIR || ' as '''||L_HOME||'/cfgtoollogs''';
<
< EXCEPTION
< WHEN OTHERS THEN
<
< IF DIR = LOGDIR THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', directory creation failed for ' || DIR);
< END CREATE_DIRS;
36,43d14
< PROCEDURE CLEANUP IS
< DIR VARCHAR2(30);
< OBJID NUMBER;
< CURSOR C1(OBJNAME VARCHAR2) IS SELECT OBJECT_ID FROM ALL_OBJECTS
< WHERE OBJECT_TYPE ='DIRECTORY' AND OBJECT_NAME=OBJNAME;
< BEGIN
<
< DIR := ADMINDIR;
45,57d15
< OPEN C1(ADMINDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< CLOSE C1;
<
< DIR := LOGDIR;
< OPEN C1(LOGDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || LOGDIR;
< END IF;
59,71c17
< EXCEPTION
< WHEN OTHERS THEN
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', cleanup failed for ' || DIR);
< END CLEANUP;
<
<
<
<
<
<
<
<
< FUNCTION GET_LOGFILE_NAME RETURN SYS.V$SYSTEM_PARAMETER.VALUE%TYPE
---
> FUNCTION GET_LOGFILE_NAME RETURN "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE
74,75c20
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
<
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
161,162d105
<
< CLEANUP;
181,182d123
<
< CLEANUP;
254,255d194
<
< CLEANUP;
362,363d300
<
< CLEANUP;
437,438d373
<
< CLEANUP;
456c391
< SELECT VALUE FROM SYS.V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
---
> SELECT VALUE FROM "PUBLIC".V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
475c410
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in PUBLIC.v$system_fix_control');
480c415
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in PUBLIC.v$system_fix_control');
496,497d430
<
< CLEANUP;
513c446
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
550,551d482
<
< CLEANUP;
567c498
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
619,620d549
<
< CLEANUP;
627c556
< CURSOR C1 IS SELECT COUNT(*) FROM GV$INSTANCE WHERE STATUS='OPEN';
---
> CURSOR C1 IS SELECT COUNT(*) FROM SYS.GV$INSTANCE WHERE STATUS='OPEN';
630c559
< CURSOR C2 IS SELECT VALUE FROM V$PARAMETER WHERE NAME='cluster_database_instances';
---
> CURSOR C2 IS SELECT VALUE FROM "PUBLIC".V$PARAMETER WHERE NAME='cluster_database_instances';
632c561
< TOTAL_VAL SYS.V$PARAMETER.VALUE%TYPE;
---
> TOTAL_VAL "PUBLIC".V$PARAMETER.VALUE%TYPE;
664,665d592
<
< CLEANUP;
673c600
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
760c687
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
882c809
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1002,1004d928
<
< CLEANUP;
<
1015d938
< CLEANUP;
1025c948
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1061c984
< 'gv$system_fix_control where inst_id= ' || INSTID;
---
> 'sys.gv$system_fix_control where inst_id= ' || INSTID;
1123,1125d1045
<
< CLEANUP;
<
1136d1055
< CLEANUP;
1163c1082
< SELECT OPEN_MODE INTO OPENMODE FROM V$PDBS;
---
> SELECT OPEN_MODE INTO OPENMODE FROM "PUBLIC".V$PDBS;
1186d1104
< CLEANUP;
1223c1141
< CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1236d1153
< INSTNAMEBIND VARCHAR2(20);
1238c1155
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
1257,1259d1173
<
< CREATE_DIRS;
<
1274,1275d1187
<
< CLEANUP;
1283,1284d1194
<
< CLEANUP;
1308c1218
< SELECT INSTANCE_NAME INTO INSTNAME FROM V$INSTANCE;
---
> SELECT INSTANCE_NAME INTO INSTNAME FROM "PUBLIC".V$INSTANCE;
1494,1495c1404,1406
< INSTNAMEBIND := '''' || INSTNAME || '''';
< SQL_STMT := 'alter system reset "_fix_control" SID=' || INSTNAMEBIND || 'scope=spfile';
---
> SQL_STMT := 'alter system reset "_fix_control" SID=' ||
> SYS.DBMS_ASSERT.ENQUOTE_LITERAL(INSTNAME) ||
> ' scope=spfile';
1505d1415
< CLEANUP;
1525,1527d1434
<
< CLEANUP;
<
1533,1534d1439
<
< CLEANUP;
1558,1560d1462
< CREATE_DIRS;
<
<
1577d1478
< CLEANUP;
1595d1495
< CLEANUP;
1675,1677d1574
<
< CLEANUP;
<
1680,1681d1576
<
< CLEANUP;
1695,1696d1589
<
< CREATE_DIRS;
1716,1717d1608
<
< CLEANUP;
1720,1721d1610
<
< CLEANUP;
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '18.06.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '18.05.02.00';
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '18.06.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '18.07.00.00'; 26660a26661,26668 > DEB(DEB_IN, 'lbRec.completion_time=' || LBREC.COMPLETION_TIME); > DEB(DEB_IN, 'lbRec.df_ckp_mod_time=' || LBREC.DF_CKP_MOD_TIME); > DEB(DEB_IN, 'lbRec.df_checkpoint_change#=' || > LBREC.DF_CHECKPOINT_CHANGE#); > DEB(DEB_IN, 'lbRec.df_plugin_change#=' || > LBREC.DF_PLUGIN_CHANGE#); > DEB(DEB_IN, 'lbRec.df_creation_change#=' || > LBREC.DF_CREATION_CHANGE#); 26667,26669c26675,26683 < LBREC.DF_CKP_MOD_TIME < UNTILTIME OR < (UNTILTIME IS NULL AND < LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)))) THEN --- > ((LBREC.DF_PLUGIN_CHANGE# > LBREC.DF_CREATION_CHANGE#) AND > (LBREC.DF_PLUGIN_CHANGE# <= UNTILSCN)) OR > ((UNTILTIME IS NOT NULL) AND > (NVL(LBREC.COMPLETION_TIME, LBREC.DF_CKP_MOD_TIME) > < UNTILTIME)) OR > ((UNTILTIME IS NULL) AND > (LBREC.DF_CHECKPOINT_CHANGE# <= UNTILSCN)) > ))) THEN >
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '18.06.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '18.06.01.00';
1c1,3 < TYPE dbms_optim_bugValObType as object(fix number, val number) --- > TYPE > dbms_optim_bugValObType FORCE as object(fix number, val number) NOT PERSISTABLE; >
1c1,3 < TYPE dbms_optim_fcTabType as table of dbms_optim_bugValObType --- > TYPE > dbms_optim_fcTabType as table of (dbms_optim_bugValObType) NOT PERSISTABLE; >
6a7 > when e.flags > 255 then 'UNDEFINED' 8c9,10 < when (bitand(e.flags, 132) = 132) then 'PROCEDURE ERROR WITH LCRS' --- > when (bitand(e.flags, 32) = 32) then 'REPLICAT RETRIED' > when (bitand(e.flags, 130) = 130) then 'PROCEDURE ERROR WITH LCRS' 11,14c13,22 < when (bitand(e.flags, 66) = 66) then 'CONFLICT INFO, RECORD LCR' < when (bitand(e.flags, 2) = 2) then 'RECORD LCR' < when (bitand(e.flags, 16) = 16) then 'RECORD TXN NO LCRS' < else 'RECORD TXN WITH LCRS' --- > when (bitand(e.flags, 66) = 66) then 'CONFLICT INFO, RECORD LCR' > when (bitand(e.flags, 2) = 2) then 'RECORD LCR' > when (bitand(e.flags, 128) = 128) then 'PROCEDURE ERROR NO LCRS' > when (bitand(e.flags, 16) = 16) then 'RECORD TXN NO LCRS' > else 'RECORD TXN WITH LCRS' > end) > when (bitand(e.flags, 16) = 16) then > (case > when (bitand(e.flags, 128) = 128) then 'PROCEDURE ERROR NO LCRS' > else 'UNHANDLED ERROR NO LCRS' 16d23 < when (bitand(e.flags, 16) = 16) then 'UNHANDLED ERROR NO LCRS' 18c25 < else NULL --- > else 'UNHANDLED ERROR WITH LCRS'
19.0.0.0
180a181 > chunk_predown constant number :=3; 184a186 > ctrlchunk_predown constant number := chunk_predown;
833c833,834 < removeLink IN BOOLEAN default TRUE); --- > removeLink IN BOOLEAN default TRUE, > fastPath IN BOOLEAN default FALSE ); 834a836,838 > PROCEDURE updateMetadataDistrib ( chunk_id IN BINARY_INTEGER, > isOGG IN BOOLEAN, > sh_method IN NUMBER); 883c887 < PROCEDURE importData2( chunk_id NUMBER); --- > PROCEDURE importData2( chunk_id NUMBER, fastpath NUMBER default 0);
1733a1734,1737 > > > PROCEDURE updateChunkLocationRemote ( chunk_id NUMBER); >
1712c1712 < --- > msg_move_dn constant number := 3877;
35c35,36 < NEW_DATAFILES IN D_TYPE DEFAULT NULL); --- > NEW_DATAFILES IN D_TYPE DEFAULT NULL, > CHUNK_ID IN NUMBER DEFAULT 0);
5482c5482
<
---
> CHECKCATALOGLINK;
5775a5776
> FINISHMOVE (CHUNK_ID, FASTPATH => TRUE);
5998c5999
< PROCEDURE IMPORTDATA2(CHUNK_ID NUMBER)
---
> PROCEDURE IMPORTDATA2(CHUNK_ID NUMBER, FASTPATH NUMBER DEFAULT 0)
6001a6003
> CID NUMBER :=0;
6003c6005,6010
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('Start Data import of Chunk');
---
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('Start Data import of Chunk '||CHUNK_ID||
> ' fastPath: '||FASTPATH );
>
> IF (FASTPATH = 1) THEN
> CID := CHUNK_ID;
> END IF;
6010c6017,6018
< GSMADMIN_INTERNAL.EXCHANGE.EXCHANGE_IN (TBL_FILTER,DBL_NAME);
---
> GSMADMIN_INTERNAL.EXCHANGE.EXCHANGE_IN (TBL_FILTER,DBL_NAME,
> CHUNK_ID => CID);
6241c6249,6288
<
---
> PROCEDURE UPDATEMETADATADISTRIB ( CHUNK_ID IN BINARY_INTEGER,
> ISOGG IN BOOLEAN,
> SH_METHOD IN NUMBER)
> IS
> PRAGMA AUTONOMOUS_TRANSACTION;
> DBL_NAME VARCHAR2(20);
> BEGIN
> DBL_NAME := GETDBLINKNAME('C'||TO_CHAR(CHUNK_ID));
>
> EXECUTE IMMEDIATE 'ALTER SESSION SET GLOBAL_NAMES=FALSE';
> IF NOT ISOGG THEN
> UPDATE CHUNKS
> SET STATE = DBMS_GSM_COMMON.CHUNK_UP
> WHERE CHUNK_NUMBER = UPDATEMETADATADISTRIB.CHUNK_ID;
> END IF;
>
>
> IF SH_METHOD = DBMS_GSM_UTILITY.SH_USERDEF THEN
> UPDATE GSMADMIN_INTERNAL.SHARD_SPACE A SET CHUNKS =
> (SELECT COUNT(*) FROM GSMADMIN_INTERNAL.CHUNKS B
> WHERE A.SHARDSPACE_ID = B.SHARDSPACE_ID
> GROUP BY B.SHARDSPACE_ID);
> END IF;
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('Update of source chunk metadata');
> EXECUTE IMMEDIATE 'UPDATE GSMADMIN_INTERNAL.CHUNKS@'||
> DBMS_ASSERT.NOOP(DBL_NAME)||
> ' set STATE='||TO_CHAR(DBMS_GSM_COMMON.CHUNK_PREDOWN)||
> ' WHERE CHUNK_NUMBER = :1'
> USING UPDATEMETADATADISTRIB.CHUNK_ID;
>
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('Update of catalog chunk metadata');
> EXECUTE IMMEDIATE
> ' begin gsmadmin_internal.dbms_gsm_pooladmin.updateChunkLocationRemote'||
> '@GDS$CATALOG.LINK(:1); end;' USING UPDATEMETADATADISTRIB.CHUNK_ID;
>
> IF NOT ISOGG THEN
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove send FAN');
> CONTROLCHUNK(CHUNK_ID, DBMS_GSM_COMMON.CTRLCHUNK_UP, 0);
> END IF;
> END UPDATEMETADATADISTRIB;
6249c6296,6297
< REMOVELINK IN BOOLEAN DEFAULT TRUE)
---
> REMOVELINK IN BOOLEAN DEFAULT TRUE,
> FASTPATH IN BOOLEAN DEFAULT FALSE)
6396a6445,6446
> C_STAT NUMBER:=0;
> SKIPSTEPS BOOLEAN := FALSE;
6563,6564c6613,6657
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove optype: '||OPTYPE||
< ' chunk:'|| CHUNK_ID);
---
> BEGIN
> SELECT STATE INTO C_STAT FROM CHUNKS
> WHERE CHUNK_NUMBER = FINISHMOVE.CHUNK_ID;
> EXCEPTION
> WHEN NO_DATA_FOUND THEN C_STAT := NULL;
> END;
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove optype: ' || OPTYPE ||
> ' chunk:'|| CHUNK_ID ||
> ' state:'|| C_STAT);
>
> IF (DB_ROLE = DBMS_GSM_COMMON.MOVECHUNK_TARGET AND
> C_STAT = DBMS_GSM_COMMON.CHUNK_UP ) THEN
> IF (OPTYPE=1) THEN
> DBMS_GSM_COMMON.WRITETOGWMTRACING (
> 'finishMove immediate return after fast path ') ;
> RETURN;
> ELSE
>
>
>
> DBMS_GSM_COMMON.WRITETOGWMTRACING (
> 'finishMove changing rollback to commit due to the fact that
> fastpath advanced to no-return point ') ;
> OPTYPE := 1;
> SKIPSTEPS := TRUE;
> END IF;
> ELSIF (DB_ROLE = DBMS_GSM_COMMON.MOVECHUNK_SOURCE AND
> C_STAT = DBMS_GSM_COMMON.CHUNK_PREDOWN ) THEN
>
>
>
> IF (OPTYPE = 2) THEN
> DBMS_GSM_COMMON.WRITETOGWMTRACING (
> 'finishMove changing rollback to commit due to the fact that
> fastpath advanced to no-return point ') ;
> OPTYPE := 0;
> END IF;
> ELSIF (DB_ROLE = DBMS_GSM_COMMON.MOVECHUNK_SOURCE AND C_STAT IS NULL AND NOT FASTPATH )
> THEN
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove on source is skipped.
> Slow path after full cleanup');
> RETURN;
>
> END IF;
>
6858,6878c6951
<
< OPEN TS_CURSOR FOR TS_C_STR USING FINISHMOVE.CHUNK_ID;
< LOOP
< FETCH TS_CURSOR INTO TS_NAME, READ_FL;
< EXIT WHEN TS_CURSOR%NOTFOUND;
< BEGIN
< IF (OPTYPE =1 OR READ_FL=1) THEN
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove TS online: '||
< TS_NAME);
<
< UPDATE SHARD_TS SET MOVE_FLAG = 0 WHERE TABLESPACE_NAME = TS_NAME;
< EXECUTE IMMEDIATE ' alter tablespace '|| ENQ_NAME(TS_NAME) ||
< ' read write';
< END IF;
< EXCEPTION
< WHEN NOT_READONLY THEN
< NULL;
< END;
< END LOOP;
< CLOSE TS_CURSOR;
< IF (OPTYPE = 1) THEN
---
> IF (NOT SKIPSTEPS) THEN
6880c6953
< OPEN TAB_CURSOR FOR SPART_C2_STR USING FINISHMOVE.CHUNK_ID;
---
> OPEN TS_CURSOR FOR TS_C_STR USING FINISHMOVE.CHUNK_ID;
6882,6891c6955,6969
< FETCH TAB_CURSOR INTO OWN_NAME, TAB_NAME, PART_NAME, TS_NAME;
< EXIT WHEN TAB_CURSOR%NOTFOUND;
<
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove part default ts: '
< || ENQ_NAME(TAB_NAME) || ' owner:' || ENQ_NAME(OWN_NAME) ||
< 'partition:' || ENQ_NAME(PART_NAME) || 'ts:' || ENQ_NAME(TS_NAME));
<
< ALTERFRAGMENT(OWN_NAME, TAB_NAME, NULL,
< PART_NAME, TS_NAME, GSM_FRAG_COMPOSITE);
< MODINDEXPARTTS(OWN_NAME, TAB_NAME, NULL);
---
> FETCH TS_CURSOR INTO TS_NAME, READ_FL;
> EXIT WHEN TS_CURSOR%NOTFOUND;
> BEGIN
> IF (OPTYPE =1 OR READ_FL=1) THEN
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove TS online: '||
> TS_NAME);
>
> UPDATE SHARD_TS SET MOVE_FLAG = 0 WHERE TABLESPACE_NAME = TS_NAME;
> EXECUTE IMMEDIATE ' alter tablespace '|| ENQ_NAME(TS_NAME) ||
> ' read write';
> END IF;
> EXCEPTION
> WHEN NOT_READONLY THEN
> NULL;
> END;
6893,6898c6971,6977
< CLOSE TAB_CURSOR;
<
< OPEN TAB_CURSOR FOR PART_C2_STR USING FINISHMOVE.CHUNK_ID;
< LOOP
< FETCH TAB_CURSOR INTO OWN_NAME, TAB_NAME, PART_NAME;
< EXIT WHEN TAB_CURSOR%NOTFOUND;
---
> CLOSE TS_CURSOR;
> IF (OPTYPE = 1) THEN
>
> OPEN TAB_CURSOR FOR SPART_C2_STR USING FINISHMOVE.CHUNK_ID;
> LOOP
> FETCH TAB_CURSOR INTO OWN_NAME, TAB_NAME, PART_NAME, TS_NAME;
> EXIT WHEN TAB_CURSOR%NOTFOUND;
6900,6902c6979,6981
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove part RW: '
< || ENQ_NAME(TAB_NAME) || ' owner:' || ENQ_NAME(OWN_NAME) ||
< 'partition:' || ENQ_NAME(PART_NAME));
---
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove part default ts: '
> || ENQ_NAME(TAB_NAME) || ' owner:' || ENQ_NAME(OWN_NAME) ||
> 'partition:' || ENQ_NAME(PART_NAME) || 'ts:' || ENQ_NAME(TS_NAME));
6904,6910c6983,6992
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove table partition RW');
< EXECUTE IMMEDIATE ' ALTER TABLE ' || ENQ_QNAME(OWN_NAME, TAB_NAME) ||
< ' MODIFY PARTITION '|| ENQ_NAME(PART_NAME) ||
< ' READ WRITE';
< END LOOP;
< CLOSE TAB_CURSOR;
< END IF;
---
> ALTERFRAGMENT(OWN_NAME, TAB_NAME, NULL,
> PART_NAME, TS_NAME, GSM_FRAG_COMPOSITE);
> MODINDEXPARTTS(OWN_NAME, TAB_NAME, NULL);
> END LOOP;
> CLOSE TAB_CURSOR;
>
> OPEN TAB_CURSOR FOR PART_C2_STR USING FINISHMOVE.CHUNK_ID;
> LOOP
> FETCH TAB_CURSOR INTO OWN_NAME, TAB_NAME, PART_NAME;
> EXIT WHEN TAB_CURSOR%NOTFOUND;
6912,6921c6994,7004
<
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove chunks metadata');
< IF NOT ISOGG THEN
< UPDATE CHUNKS
< SET STATE = DBMS_GSM_COMMON.CHUNK_UP
< WHERE CHUNK_NUMBER = FINISHMOVE.CHUNK_ID;
< COMMIT;
< DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove send FAN');
< CONTROLCHUNK(CHUNK_ID, DBMS_GSM_COMMON.CTRLCHUNK_UP, 0);
< END IF;
---
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove part RW: '
> || ENQ_NAME(TAB_NAME) || ' owner:' || ENQ_NAME(OWN_NAME) ||
> 'partition:' || ENQ_NAME(PART_NAME));
>
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove table partition RW');
> EXECUTE IMMEDIATE ' ALTER TABLE ' || ENQ_QNAME(OWN_NAME, TAB_NAME) ||
> ' MODIFY PARTITION '|| ENQ_NAME(PART_NAME) ||
> ' READ WRITE';
> END LOOP;
> CLOSE TAB_CURSOR;
> END IF;
6923,6930c7006,7018
<
<
< IF SH_METHOD = DBMS_GSM_UTILITY.SH_USERDEF THEN
< UPDATE GSMADMIN_INTERNAL.SHARD_SPACE A SET CHUNKS =
< (SELECT COUNT(*) FROM GSMADMIN_INTERNAL.CHUNKS B
< WHERE A.SHARDSPACE_ID = B.SHARDSPACE_ID
< GROUP BY B.SHARDSPACE_ID);
< END IF;
---
>
> IF (FASTPATH) THEN
> UPDATEMETADATADISTRIB(CHUNK_ID, ISOGG, SH_METHOD);
> ELSE
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove chunks metadata');
> IF NOT ISOGG THEN
> UPDATE CHUNKS
> SET STATE = DBMS_GSM_COMMON.CHUNK_UP
> WHERE CHUNK_NUMBER = FINISHMOVE.CHUNK_ID;
> COMMIT;
> DBMS_GSM_COMMON.WRITETOGWMTRACING ('finishMove send FAN');
> CONTROLCHUNK(CHUNK_ID, DBMS_GSM_COMMON.CTRLCHUNK_UP, 0);
> END IF;
6931a7020,7029
>
>
> IF SH_METHOD = DBMS_GSM_UTILITY.SH_USERDEF THEN
> UPDATE GSMADMIN_INTERNAL.SHARD_SPACE A SET CHUNKS =
> (SELECT COUNT(*) FROM GSMADMIN_INTERNAL.CHUNKS B
> WHERE A.SHARDSPACE_ID = B.SHARDSPACE_ID
> GROUP BY B.SHARDSPACE_ID);
> END IF;
>
> END IF;
6932a7031
> END IF;
11486a11487,11511
>
> PROCEDURE UPDATECHUNKLOCATIONREMOTE ( CHUNK_ID NUMBER)
> IS
> SDBNUM NUMBER := 0;
> TDBNUM NUMBER := 0;
> GCTL_ID NUMBER :=0;
> MESSAGE VARCHAR2(1024);
> BEGIN
> SELECT SOURCE_DB,TARGET_DB,GDSCTL_ID
> INTO SDBNUM,TDBNUM,GCTL_ID
> FROM CATALOG_REQUESTS
> WHERE
> STATUS = DBMS_GSM_UTILITY.MOVE_ST_INIT AND
> OBJ_ID = UPDATECHUNKLOCATIONREMOTE.CHUNK_ID;
> UPDATECHUNKLOCATION( SDBNUM, TDBNUM, CHUNK_ID);
>
> COMMIT;
> IF ( GCTL_ID > 0 )
> THEN
> DBMS_GSM_COMMON.GETMSG(DBMS_GSM_UTILITY.MSG_MOVE_DN, MESSAGE, MESSAGE_PARAM_LIST());
> DBMS_GSM_UTILITY.SEND_GDSCTL_MSG(MESSAGE, GCTL_ID);
> END IF;
>
> END UPDATECHUNKLOCATIONREMOTE;
>
11515a11541
> AFTERFP NUMBER;
11541,11542c11567,11574
< IF (STATE = DBMS_GSM_UTILITY.MOVE_ST_MFNT) THEN
< UPDATECHUNKLOCATION(SDBNUM, TDBNUM, CHUNK);
---
> IF (STATE = DBMS_GSM_UTILITY.MOVE_ST_MFNT) THEN
> SELECT COUNT(1) INTO AFTERFP FROM CHUNK_LOC
> WHERE CHUNK_NUMBER = CHUNK AND DATABASE_NUM = SDBNUM;
> IF AFTERFP>0 THEN
> UPDATECHUNKLOCATION(SDBNUM, TDBNUM, CHUNK);
> ELSE
> DBMS_GSM_COMMON.WRITETOGWMTRACING('updateMoveState: after Fast PAth');
> END IF;
32a33,37
> P_W_HANDLE NUMBER :=NULL;
> P_TR_HANDLE NUMBER :=NULL;
> P_OBJ_TYPE VARCHAR2(100) :=NULL;
> P_OP_NAME VARCHAR2(256) :=NULL;
>
305d309
<
333,340c337,357
< W_HANDLE := DBMS_METADATA.OPENW(OBJ_TYPE);
< TR_HANDLE := DBMS_METADATA.ADD_TRANSFORM(W_HANDLE,'DDL');
< IF OBJ_TYPE NOT LIKE '%PLUGTS%' THEN
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'EXPORT',TRUE);
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'TRANSPORTABLE',1);
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'UNIQUE_NAME',GUID);
< IF OBJ_TYPE IN ('PARTITION','SUBPARTITION') THEN
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'CONSTRAINTS_AS_ALTER',TRUE);
---
> IF (P_W_HANDLE IS NOT NULL AND P_OBJ_TYPE=OBJ_TYPE AND
> (P_OP_NAME = OPERATION OR (P_OP_NAME='CREATE' AND OPERATION IS NULL))) THEN
> W_HANDLE := P_W_HANDLE;
> ELSE
> PUT_LINE('do_ddl new handle obj_type '||OBJ_TYPE||' operation '|| OPERATION);
> IF (P_W_HANDLE IS NOT NULL) THEN DBMS_METADATA.CLOSE(P_W_HANDLE); END IF;
> W_HANDLE := DBMS_METADATA.OPENW(OBJ_TYPE);
> P_W_HANDLE := W_HANDLE;
> P_OBJ_TYPE := OBJ_TYPE;
> TR_HANDLE := DBMS_METADATA.ADD_TRANSFORM(W_HANDLE,'DDL');
> P_TR_HANDLE :=TR_HANDLE;
> IF OBJ_TYPE NOT LIKE '%PLUGTS%' THEN
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'EXPORT',TRUE);
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'TRANSPORTABLE',1);
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'UNIQUE_NAME',GUID);
> IF OBJ_TYPE IN ('PARTITION','SUBPARTITION') THEN
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'CONSTRAINTS_AS_ALTER',TRUE);
> IF EXCHANGE_OPERATION = 'OUT' THEN
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'EXCHANGE_OUT',TRUE);
> END IF;
> END IF;
342c359
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'EXCHANGE_OUT',TRUE);
---
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'STORAGE',FALSE);
343a361,367
> IF OPERATION IS NOT NULL THEN
> DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'OPERATION_TYPE',OPERATION);
> OPERATION_NAME := OPERATION;
> ELSE
> OPERATION_NAME := 'CREATE';
> END IF;
> P_OP_NAME := OPERATION_NAME;
345,354c369,373
< IF EXCHANGE_OPERATION = 'OUT' THEN
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'SHARD_TABLESPACE',NEW_TBS);
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'STORAGE',FALSE);
< END IF;
< IF OPERATION IS NOT NULL THEN
< DBMS_METADATA.SET_TRANSFORM_PARAM(TR_HANDLE,'OPERATION_TYPE',OPERATION);
< OPERATION_NAME := OPERATION;
< ELSE
< OPERATION_NAME := 'CREATE';
< END IF;
---
> DBMS_METADATA.SET_PARSE_ITEM(W_HANDLE,'VERB');
> DBMS_METADATA.SET_PARSE_ITEM(W_HANDLE,'BIND_PATTERN');
> END IF;
> IF EXCHANGE_OPERATION = 'OUT' THEN
> DBMS_METADATA.SET_TRANSFORM_PARAM(P_TR_HANDLE,'SHARD_TABLESPACE',NEW_TBS);
356,357c375,376
< DBMS_METADATA.SET_PARSE_ITEM(W_HANDLE,'VERB');
< DBMS_METADATA.SET_PARSE_ITEM(W_HANDLE,'BIND_PATTERN');
---
>
> PUT_LINE('Convert ddls ');
359c378
< DBMS_METADATA.CLOSE(W_HANDLE);
---
>
382,383c401,402
< IF DOEXEC THEN BEGIN
< PUT_LINE('do_ddl: operation '||OPERATION_NAME||' - "'||VERB||
---
> IF DOEXEC THEN BEGIN
> PUT_LINE('do_ddl: operation '||P_OP_NAME||' - "'||VERB||
414c433
< PUT_LINE('>>>>ignoring exception for '||OPERATION_NAME||
---
> PUT_LINE('>>>>ignoring exception for '||P_OP_NAME||
417c436
< PUT_LINE('>>>>exception for operation '||OPERATION_NAME||
---
> PUT_LINE('>>>>exception for operation '||P_OP_NAME||
450c469
< PUT_LINE('>>>>exception during operation '||OPERATION_NAME);
---
> PUT_LINE('>>>>exception during operation '||P_OP_NAME);
652c671,672
< NEW_DATAFILES IN D_TYPE DEFAULT NULL) IS
---
> NEW_DATAFILES IN D_TYPE DEFAULT NULL,
> CHUNK_ID IN NUMBER DEFAULT 0) IS
762a783,787
> IF (CHUNK_ID !=0 ) THEN
> GSMADMIN_INTERNAL.DBMS_GSM_DBADMIN.FINISHMOVE(
> CHUNK_ID, DBMS_GSM_COMMON.MOVECHUNK_TARGET, FASTPATH=> TRUE);
> END IF;
>
765a791
> IF (P_W_HANDLE IS NOT NULL) THEN DBMS_METADATA.CLOSE(P_W_HANDLE); END IF;
7c7,12 < FUNCTION SCHEMAVALIDATE(METADATA IN XMLTYPE) --- > FUNCTION SCHEMAVALIDATE > ( > XML IN XMLTYPE, > URI IN VARCHAR2, > XMLSCHEMA IN XMLTYPE > )
19a20,21 > NULL; > /* 41a44 > */ 137a141,142 > NULL; > /* 148a154 > */
4344a4345
> XSCHEMA XMLTYPE;
4351d4351
<
4353,4355c4353,4366
< XDOC := GEORASTER.METADATA.CREATESCHEMABASEDXML(URL);
< XDOC.SCHEMAVALIDATE();
< RESULT := 'TRUE';
---
> SELECT XMLTYPE(XMLSCHEMA) INTO XSCHEMA FROM MDSYS.SDO_GEOR_XMLSCHEMA_TABLE
> WHERE ID = 1;
> IF XSCHEMA IS NULL THEN
> MDERR.RAISE_MD_ERROR('MD', 'SDO', -13454);
> RETURN 'NULL';
> END IF;
>
> XDOC := GEORASTER.METADATA;
> RESULT := MDSYS.SDO_GEORX.SCHEMAVALIDATE(XDOC, URL, XSCHEMA);
>
>
>
>
>
3c3,8 < FUNCTION SCHEMAVALIDATE(METADATA IN XMLTYPE) --- > FUNCTION SCHEMAVALIDATE > ( > XML IN XMLTYPE, > URI IN VARCHAR2, > XMLSCHEMA IN XMLTYPE > ) 11,12c16,21 < METADATA, < METADATA INDICATOR, --- > XML, > XML INDICATOR, > URI OCISTRING, > URI INDICATOR, > XMLSCHEMA, > XMLSCHEMA INDICATOR,
284a285,322 > ALTER TYPE sdo_rdf_triple_s > ADD MEMBER FUNCTION get_obj_value RETURN VARCHAR2 > DETERMINISTIC CASCADE > ALTER TYPE sdo_rdf_triple_s > ADD MEMBER FUNCTION is_object_clob RETURN VARCHAR2 > DETERMINISTIC CASCADE > ALTER TYPE sdo_rdf_triple_s > ADD MEMBER FUNCTION get_model RETURN VARCHAR2 > DETERMINISTIC CASCADE > > ALTER TYPE sdo_rdf_triple_s > DROP MEMBER FUNCTION get_model RETURN VARCHAR2 > DETERMINISTIC CASCADE > > ALTER TYPE sdo_rdf_triple_s > DROP MEMBER FUNCTION get_obj_value RETURN VARCHAR2 > DETERMINISTIC CASCADE > > ALTER TYPE sdo_rdf_triple_s > DROP MEMBER FUNCTION is_object_clob RETURN VARCHAR2 > DETERMINISTIC CASCADE > ALTER TYPE sdo_rdf_triple_s > ADD CONSTRUCTOR FUNCTION sdo_rdf_triple_s(model_name VARCHAR2, > reif_subject VARCHAR2, > reif_property VARCHAR2, > subject VARCHAR2, > property VARCHAR2, > object CLOB) > RETURN SELF AS RESULT DETERMINISTIC CASCADE > ALTER TYPE sdo_rdf_triple_s > DROP CONSTRUCTOR FUNCTION sdo_rdf_triple_s( > model_name VARCHAR2, > reif_subject VARCHAR2, > reif_property VARCHAR2, > subject VARCHAR2, > property VARCHAR2, > object CLOB) > RETURN SELF AS RESULT DETERMINISTIC CASCADE
62a63,66 > , SYSTZ NUMBER > , MINAVAILTIMEUTC DATE > , MAXAVAILTIMEUTC DATE > 114c118 < REPORT_INTERNAL_VERSION CONSTANT VARCHAR2(64) := '40'; --- > REPORT_INTERNAL_VERSION CONSTANT VARCHAR2(64) := '41';
276a277 > TOP_NONDB_WAIT_TIME CONSTANT BINARY_INTEGER := 9200;
12c12
< bannerVersion CONSTANT VARCHAR2(15) := '19.03.00.00';
---
> bannerVersion CONSTANT VARCHAR2(15) := '19.03.01.00';
24,26c24,26
< fsn CONSTANT NUMBER := instr('19.03.00.00', '.');
< msn CONSTANT NUMBER := instr('19.03.00.00', '.', fsn + 1);
< psn CONSTANT NUMBER := instr('19.03.00.00', '.', msn + 1);
---
> fsn CONSTANT NUMBER := instr('19.03.01.00', '.');
> msn CONSTANT NUMBER := instr('19.03.01.00', '.', fsn + 1);
> psn CONSTANT NUMBER := instr('19.03.01.00', '.', msn + 1);
29c29
< to_number(substr('19.03.00.00', 1, fsn - 1));
---
> to_number(substr('19.03.01.00', 1, fsn - 1));
31c31
< to_number(substr('19.03.00.00', fsn + 1, msn - fsn - 1));
---
> to_number(substr('19.03.01.00', fsn + 1, msn - fsn - 1));
33c33
< to_number(substr('19.03.00.00', msn + 1, psn - msn - 1));
---
> to_number(substr('19.03.01.00', msn + 1, psn - msn - 1));
35c35
< to_number(substr('19.03.00.00', psn + 1));
---
> to_number(substr('19.03.01.00', psn + 1));
12c12
< bannerVersion CONSTANT VARCHAR2(15) := '19.03.00.00';
---
> bannerVersion CONSTANT VARCHAR2(15) := '19.04.00.00';
24,26c24,26
< fsn CONSTANT NUMBER := instr('19.03.00.00', '.');
< msn CONSTANT NUMBER := instr('19.03.00.00', '.', fsn + 1);
< psn CONSTANT NUMBER := instr('19.03.00.00', '.', msn + 1);
---
> fsn CONSTANT NUMBER := instr('19.04.00.00', '.');
> msn CONSTANT NUMBER := instr('19.04.00.00', '.', fsn + 1);
> psn CONSTANT NUMBER := instr('19.04.00.00', '.', msn + 1);
29c29
< to_number(substr('19.03.00.00', 1, fsn - 1));
---
> to_number(substr('19.04.00.00', 1, fsn - 1));
31c31
< to_number(substr('19.03.00.00', fsn + 1, msn - fsn - 1));
---
> to_number(substr('19.04.00.00', fsn + 1, msn - fsn - 1));
33c33
< to_number(substr('19.03.00.00', msn + 1, psn - msn - 1));
---
> to_number(substr('19.04.00.00', msn + 1, psn - msn - 1));
35c35
< to_number(substr('19.03.00.00', psn + 1));
---
> to_number(substr('19.04.00.00', psn + 1));
9339a9340,9347
>
> PROCEDURE restoreSetXttfile( pltfrmfr IN binary_integer
> ,xttincr IN boolean
> ,pdbid IN number);
> -- Additional input parameters:
> -- pdbid
> -- PDB id to which this cross platform restore is performed.
> --
15a16,20 > > > ---------------------------- > -- PROCEDURES AND FUNCTIONS > ----------------------------
1269c1269,1271 < -- by the find functions. --- > -- by the find functions. This tag is also used by report/delete obsolete > -- functions to restrict what backups to consider and what backups to filter > -- for backup optimization. 1273c1275 < -- tag of the datafile copies to be translated --- > -- tag of the datafile copies/backup sets to be translated 1274a1277,1278 > -- use_like > -- input tag parameter to be used similar to LIKE semantics in SQL 1276c1280 < PROCEDURE setTag(tag IN varchar2 DEFAULT NULL); --- > PROCEDURE setTag(tag IN varchar2 DEFAULT NULL, use_like IN number DEFAULT 0);
13c13 < '19.3.0.0.0'; --- > '19.4.0.0.0';
13c13 < '19.3.0.0.0'; --- > '19.3.1.0.0';
376a377,379 > > PROCEDURE RM$_VERIFY_PENDING_AREA_ACT; >
135a136,140
> DBMS_OUTPUT.PUT_LINE('sysTZ = ' || CONTEXT.SYSTZ);
> DBMS_OUTPUT.PUT_LINE('minAvailTimeUTC = ' ||
> TO_CHAR(CONTEXT.MINAVAILTIMEUTC, OMC_TIME_FORMAT));
> DBMS_OUTPUT.PUT_LINE('maxAvailTimeUTC = ' ||
> TO_CHAR(CONTEXT.MAXAVAILTIMEUTC, OMC_TIME_FORMAT));
405a411,413
> , CONTEXT.SYSTZ AS "sysTZ"
> , TO_CHAR(CONTEXT.MINAVAILTIMEUTC,OMC_TIME_FORMAT) AS "minAvailTimeUTC"
> , TO_CHAR(CONTEXT.MAXAVAILTIMEUTC,OMC_TIME_FORMAT) AS "maxAvailTimeUTC"
448a457,471
> FUNCTION GETSYSINFOXML(CONTEXT IN OUT NOCOPY CONTEXTTYPE)
> RETURN XMLTYPE
> IS
> L_RESULT XMLTYPE;
> BEGIN
> SELECT XMLELEMENT("sys_info",XMLATTRIBUTES(
> CONTEXT.SYSTZ AS "sys_tz"
> ,TO_CHAR(CONTEXT.MINAVAILTIMEUTC,OMC_TIME_FORMAT) AS "min_time"
> ,TO_CHAR(CONTEXT.MAXAVAILTIMEUTC,OMC_TIME_FORMAT) AS "max_time"
> ))
> INTO L_RESULT
> FROM SYS.DUAL;
> RETURN L_RESULT;
> END GETSYSINFOXML;
>
579a603,606
>
> CONTEXT.SYSTZ := CAST(SYSTIMESTAMP AS DATE) - CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE);
> CONTEXT.SYSTZ := ROUND(CONTEXT.SYSTZ*96,0)/4;
>
2185a2213
> L_SYS_INFO XMLTYPE := NULL;
2275a2304
> L_SYS_INFO := GETSYSINFOXML(CONTEXT);
2282a2312
> ,L_SYS_INFO
4649a4680
> L_SYS_INFO XMLTYPE;
4708a4740
> L_SYS_INFO := GETSYSINFOXML(CONTEXT);
4720c4752,4753
< L_TIMING, P_INPUT,L_CPU, CONTEXT.ACTIVITYLINEXML, RETXML)
---
> L_SYS_INFO,L_TIMING, P_INPUT,
> L_CPU, CONTEXT.ACTIVITYLINEXML, RETXML)
1003a1004,1042
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> PROCEDURE SET_INTERRUPT_MODE(
> TASK_ID IN NUMBER,
> CAN_CANCEL IN INTEGER,
> CAN_INTERRUPT IN INTEGER
> ) IS
> EXTERNAL NAME "kapiSetInterruptMode" WITH CONTEXT
> PARAMETERS(CONTEXT,
> TASK_ID OCINUMBER, TASK_ID INDICATOR SB4,
> CAN_CANCEL OCINUMBER, CAN_CANCEL INDICATOR SB4,
> CAN_INTERRUPT OCINUMBER, CAN_INTERRUPT INDICATOR SB4
> )
> LIBRARY DBMS_AUTO_INDEX_LIB;
>
4904a4944,4984
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> PROCEDURE INTERRUPT_TASK(
> TASK_NAME VARCHAR2)
> IS
> BEGIN
> DBMS_ADVISOR.INTERRUPT_TASK(TASK_NAME);
> EXCEPTION
> WHEN OTHERS THEN
> IF SQLCODE = -13643 THEN
>
>
>
> DUMP_TRACE('interrupt of ' || TASK_NAME ||
> ' failed, trying to resume anyway');
> ELSE
> RAISE;
> END IF;
> END INTERRUPT_TASK;
>
4980c5060
< DBMS_ADVISOR.INTERRUPT_TASK(P_TASK_NAME);
---
> INTERRUPT_TASK(P_TASK_NAME);
5750c5830
< /*+dynamic_sampling(11)
---
> /*+dynamic_sampling(11) NO_XML_QUERY_REWRITE
6351a6432
> and sql_text not like '%/*+%dbms_stats%'
6949c7030
< /*+dynamic_sampling(11) */
---
> /*+dynamic_sampling(11) NO_XML_QUERY_REWRITE */
6989a7071
> AND SQL_TEXT NOT LIKE '%/*+%dbms_stats%'
7021a7104,7106
> SET_INTERRUPT_MODE(AI_CTX.TASK_ID, 1, 1);
>
>
7315c7400
< DBMS_ADVISOR.INTERRUPT_TASK(AI_TASK_NAME);
---
> INTERRUPT_TASK(AI_TASK_NAME);
19365,19366c19365,19445
<
< IF (INCLUDE_ASH) THEN
---
>
>
>
>
>
> SEC := TOP_NONDB_WAIT_TIME;
> COL := 1;
> MH := 1;
> RPT_SECS(SEC).TITLE := 'Top Non-DB Wait Time';
> RPT_SECS(SEC).OPTIONS := OPT_NO_FOOTER + OPT_THIN_HEADING + OPT_FIXED_TABLE;
> RPT_SECS(SEC).BINDS(1) := BIND_SNAP_RANGE + BIND_DBTIME;
> RPT_SECS(SEC).BINDS(3) := BIND_CONDBID_LIST;
>
> RPT_SECS(SEC).SUMMARY :=
> 'This table displays top non-db wait time events by total wait time';
> RPT_SECS(SEC).SQLSTR :=
> 'with agg_nondb_event as (' || DT_SRC_SYSEVT_1 || ')
> select event
> , wtfg waits
> , tmfg/1000000 time
> , decode(wtfg, 0, to_number(null), tmfg/wtfg)/1000 avwait
> , decode(:dbtime, 0, to_number(null), tmfg/:dbtime)*100 pctwtt
> , wcls
> from (
> select event, wtfg, tmfg, wcls
> from (
> select e.event_name event
> , e.total_waits - nvl(b.total_waits,0) wtfg
> , e.time_waited_micro - nvl(b.time_waited_micro,0) tmfg
> , e.wait_class wcls
> from agg_nondb_event b
> , agg_nondb_event e
> where b.snap_id (+) = :bid
> and e.snap_id = :eid
> and e.dbid = :dbid
> and e.instance_number = :inst_num
> and e.dbid = b.dbid (+)
> and e.instance_number = b.instance_number (+)
> and e.event_id = b.event_id (+)
> and ((e.total_waits > nvl(b.total_waits,0)) or
> (e.time_waited_micro > nvl(b.time_waited_micro,0)))
> and e.event_name in (''Network Retrans by Server'',
> ''Network Retrans by Client'')
> )
> order by tmfg desc, wtfg desc, event)';
>
> RPT_SECS(SEC).ROW_DESC(COL).TYPE := VARCHAR2_TYPE;
> RPT_SECS(SEC).ROW_DESC(COL).SUBTYPE := SUBTYPE_ROWHEAD;
> RPT_SECS(SEC).ROW_DESC(COL).FORMAT := 'a30';
> RPT_SECS(SEC).ROW_DESC(COL).HEADING := 'Event';
> COL := COL + 1;
>
> RPT_SECS(SEC).ROW_DESC(COL).TYPE := NUMBER_TYPE;
> RPT_SECS(SEC).ROW_DESC(COL).FORMAT := '99,999,990|blanknull';
> RPT_SECS(SEC).ROW_DESC(COL).HEADING := 'Waits';
> COL := COL + 1;
>
> RPT_SECS(SEC).ROW_DESC(COL).TYPE := NUMBER_TYPE;
> RPT_SECS(SEC).ROW_DESC(COL).FORMAT := 'm10';
> RPT_SECS(SEC).ROW_DESC(COL).HEADING := 'Total Wait|Time (sec)';
> COL := COL + 1;
>
> RPT_SECS(SEC).ROW_DESC(COL).TYPE := NUMBER_TYPE;
> RPT_SECS(SEC).ROW_DESC(COL).FORMAT := 's9|blanknull';
> RPT_SECS(SEC).ROW_DESC(COL).HEADING := 'Avg|Wait';
> COL := COL + 1;
>
> RPT_SECS(SEC).ROW_DESC(COL).TYPE := NUMBER_TYPE;
> RPT_SECS(SEC).ROW_DESC(COL).FORMAT := '999.9|blanknull';
> RPT_SECS(SEC).ROW_DESC(COL).HEADING := '% DB|time';
> COL := COL + 1;
>
> RPT_SECS(SEC).ROW_DESC(COL).TYPE := VARCHAR2_TYPE;
> RPT_SECS(SEC).ROW_DESC(COL).FORMAT := 'a8';
> RPT_SECS(SEC).ROW_DESC(COL).HEADING := 'Wait|Class';
> COL := COL + 1;
>
> DBMS_SWRF_REPORT_INTERNAL.BUILD_HEADING_INFO(SEC);
>
>
> IF (INCLUDE_ASH) THEN
2781c2781,2782 < ,FOREIGNAL IN BOOLEAN DEFAULT FALSE); --- > ,FOREIGNAL IN BOOLEAN DEFAULT FALSE > ,PDBID IN NUMBER DEFAULT NULL); 9603a9605,9613 > BEGIN > RESTORESETXTTFILE(PLTFRMFR => PLTFRMFR, > XTTINCR => XTTINCR, > PDBID => NULL); > END RESTORESETXTTFILE; > > PROCEDURE RESTORESETXTTFILE( PLTFRMFR IN BINARY_INTEGER > ,XTTINCR IN BOOLEAN > ,PDBID IN NUMBER) IS 9619c9629,9630 < ,PREPLUGIN => FALSE); --- > ,PREPLUGIN => FALSE > ,PDBID => PDBID); 9626c9637 < END; --- > END RESTORESETXTTFILE;
11493a11494
> GOODLINK BOOLEAN;
11511a11513,11520
>
> IF DBMS_DBFS_SFS_ADMIN.GET_PARAM('_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;
12,21d11
< PROCEDURE CREATE_DIRS IS
< L_HOME VARCHAR2(255);
< DIR VARCHAR2(30);
< BEGIN
<
< SYS.DBMS_SYSTEM.GET_ENV('ORACLE_HOME', L_HOME);
<
<
< DIR := ADMINDIR;
< EXECUTE IMMEDIATE 'create directory ' || ADMINDIR || ' as '''||L_HOME||'/rdbms/admin''';
23,33d12
< DIR := LOGDIR;
< EXECUTE IMMEDIATE 'create directory ' || LOGDIR || ' as '''||L_HOME||'/cfgtoollogs''';
<
< EXCEPTION
< WHEN OTHERS THEN
<
< IF DIR = LOGDIR THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', directory creation failed for ' || DIR);
< END CREATE_DIRS;
36,43d14
< PROCEDURE CLEANUP IS
< DIR VARCHAR2(30);
< OBJID NUMBER;
< CURSOR C1(OBJNAME VARCHAR2) IS SELECT OBJECT_ID FROM ALL_OBJECTS
< WHERE OBJECT_TYPE ='DIRECTORY' AND OBJECT_NAME=OBJNAME;
< BEGIN
<
< DIR := ADMINDIR;
45,57d15
< OPEN C1(ADMINDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || ADMINDIR;
< END IF;
< CLOSE C1;
<
< DIR := LOGDIR;
< OPEN C1(LOGDIR);
< FETCH C1 INTO OBJID;
< IF C1%FOUND THEN
< EXECUTE IMMEDIATE 'drop directory ' || LOGDIR;
< END IF;
59,71c17
< EXCEPTION
< WHEN OTHERS THEN
< RAISE_APPLICATION_ERROR(-20002, SQLERRM || ', cleanup failed for ' || DIR);
< END CLEANUP;
<
<
<
<
<
<
<
<
< FUNCTION GET_LOGFILE_NAME RETURN SYS.V$SYSTEM_PARAMETER.VALUE%TYPE
---
> FUNCTION GET_LOGFILE_NAME RETURN "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE
74,75c20
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
<
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
161,162d105
<
< CLEANUP;
181,182d123
<
< CLEANUP;
254,255d194
<
< CLEANUP;
362,363d300
<
< CLEANUP;
437,438d373
<
< CLEANUP;
456c391
< SELECT VALUE FROM SYS.V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
---
> SELECT VALUE FROM "PUBLIC".V$SYSTEM_FIX_CONTROL WHERE BUGNO=BUGNUM;
475c410
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: bundle bug ' || BUGSARRAY(I) || ' not present in PUBLIC.v$system_fix_control');
480c415
< RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in v$system_fix_control');
---
> RAISE_APPLICATION_ERROR(-20002, 'get_bundle_fixes_inmemory_val: multiple occurences of ' || BUGSARRAY(I) || ' in PUBLIC.v$system_fix_control');
496,497d430
<
< CLEANUP;
513c446
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
550,551d482
<
< CLEANUP;
567c498
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
619,620d549
<
< CLEANUP;
627c556
< CURSOR C1 IS SELECT COUNT(*) FROM GV$INSTANCE WHERE STATUS='OPEN';
---
> CURSOR C1 IS SELECT COUNT(*) FROM SYS.GV$INSTANCE WHERE STATUS='OPEN';
630c559
< CURSOR C2 IS SELECT VALUE FROM V$PARAMETER WHERE NAME='cluster_database_instances';
---
> CURSOR C2 IS SELECT VALUE FROM "PUBLIC".V$PARAMETER WHERE NAME='cluster_database_instances';
632c561
< TOTAL_VAL SYS.V$PARAMETER.VALUE%TYPE;
---
> TOTAL_VAL "PUBLIC".V$PARAMETER.VALUE%TYPE;
664,665d592
<
< CLEANUP;
673c600
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
760c687
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
882c809
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1002,1004d928
<
< CLEANUP;
<
1015d938
< CLEANUP;
1025c948
< SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1061c984
< 'gv$system_fix_control where inst_id= ' || INSTID;
---
> 'sys.gv$system_fix_control where inst_id= ' || INSTID;
1123,1125d1045
<
< CLEANUP;
<
1136d1055
< CLEANUP;
1163c1082
< SELECT OPEN_MODE INTO OPENMODE FROM V$PDBS;
---
> SELECT OPEN_MODE INTO OPENMODE FROM "PUBLIC".V$PDBS;
1186d1104
< CLEANUP;
1223c1141
< CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM GV$INSTANCE
---
> CURSOR C1 IS SELECT INST_ID, INSTANCE_NAME FROM SYS.GV$INSTANCE
1236d1153
< INSTNAMEBIND VARCHAR2(20);
1238c1155
< LOGFILE SYS.V$SYSTEM_PARAMETER.VALUE%TYPE;
---
> LOGFILE "PUBLIC".V$SYSTEM_PARAMETER.VALUE%TYPE;
1257,1259d1173
<
< CREATE_DIRS;
<
1274,1275d1187
<
< CLEANUP;
1283,1284d1194
<
< CLEANUP;
1308c1218
< SELECT INSTANCE_NAME INTO INSTNAME FROM V$INSTANCE;
---
> SELECT INSTANCE_NAME INTO INSTNAME FROM "PUBLIC".V$INSTANCE;
1494,1495c1404,1406
< INSTNAMEBIND := '''' || INSTNAME || '''';
< SQL_STMT := 'alter system reset "_fix_control" SID=' || INSTNAMEBIND || 'scope=spfile';
---
> SQL_STMT := 'alter system reset "_fix_control" SID=' ||
> SYS.DBMS_ASSERT.ENQUOTE_LITERAL(INSTNAME) ||
> ' scope=spfile';
1505d1415
< CLEANUP;
1525,1527d1434
<
< CLEANUP;
<
1533,1534d1439
<
< CLEANUP;
1558,1560d1462
< CREATE_DIRS;
<
<
1577d1478
< CLEANUP;
1595d1495
< CLEANUP;
1675,1677d1574
<
< CLEANUP;
<
1680,1681d1576
<
< CLEANUP;
1695,1696d1589
<
< CREATE_DIRS;
1716,1717d1608
<
< CLEANUP;
1720,1721d1610
<
< CLEANUP;
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '19.03.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '19.04.00.00'; 211a212 > TAG_LIKE NUMBER := 0; 665a667,669 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 947a952,954 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1056a1064 > AND RESTORETAG IS NULL 1128a1137,1139 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1199a1211,1213 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1333a1348,1350 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1441a1459,1461 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1760a1781,1783 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1884a1908,1910 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 1982a2009,2011 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 2111a2141,2143 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 2167a2200,2202 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 2304a2340,2342 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 2830a2869,2871 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 2919a2961,2963 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3015a3060,3062 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3098a3146,3148 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3225a3276 > AND RESTORETAG IS NULL 3446a3498,3500 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3665a3720,3722 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3778a3836,3838 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3825a3886,3888 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3847a3911,3913 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3873a3940,3942 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3908a3978,3980 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 3968a4041,4043 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 4016a4092,4094 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 4066a4145,4147 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 4105a4187,4189 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7282a7367,7369 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7297a7385,7387 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7431a7522,7524 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7478a7572,7574 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7518a7615,7617 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7602a7702,7704 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7682a7785,7787 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7750a7856,7858 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7825a7934,7936 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7856a7968,7970 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 7927a8042,8044 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8004a8122,8124 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8064a8185,8187 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8117a8241,8243 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8203a8330,8332 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8277a8407,8409 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8339a8472,8474 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8392a8528,8530 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8484a8623,8625 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8501a8643,8645 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8524c8668,8671 < WHERE (STATUS = 'A' OR STATUS = 'X')) DC --- > WHERE (STATUS = 'A' OR STATUS = 'X') > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG)))) DC 8554a8702,8704 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND XDF.TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND XDF.TAG = RESTORETAG))) 8580a8731,8733 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8623a8777,8779 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND XAL.TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND XAL.TAG = RESTORETAG))) 8692a8849,8851 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8722a8882,8884 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8791a8954,8956 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8908a9074,9076 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 8951a9120,9122 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 9201a9373,9375 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 9445a9620,9622 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 9571a9749,9751 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 9795c9975,9976 < C1REC.TAG_CON = RESTORETAG OR --- > ((TAG_LIKE = 1 AND C1REC.TAG_CON LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND C1REC.TAG_CON = RESTORETAG)) OR 9911a10093 > 10009c10191,10192 < C1REC.TAG_CON = RESTORETAG OR --- > ((TAG_LIKE = 1 AND C1REC.TAG_CON LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND C1REC.TAG_CON = RESTORETAG)) OR 11173c11356 < IF (TAG IS NOT NULL AND NOT TAGMATCHREQUIRED) THEN --- > IF (TAG IS NOT NULL AND TAGMATCHREQUIRED) THEN 11178c11361,11362 < IF (TAG = LOCAL.TAG) THEN --- > IF ((TAG_LIKE = 1 AND LOCAL.TAG LIKE TAG) OR > (TAG_LIKE <> 1 AND LOCAL.TAG = TAG)) THEN 11194c11378,11379 < DEB(DEB_IN, 'tag does not match, continuing search'); --- > DEB(DEB_IN, 'tag does not match, continuing search:' || > LOCAL.TAG); 11899,11900c12084,12088 < (ACTION.TAG_CON <> RESTORETAG OR ACTION.TAG_CON IS NULL)) THEN < DEB(DEB_PRINT, 'isValidAction: tag mismatch - skipped:'); --- > (((TAG_LIKE = 1 AND ACTION.TAG_CON NOT LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND ACTION.TAG_CON <> RESTORETAG)) OR > ACTION.TAG_CON IS NULL)) THEN > DEB(DEB_PRINT, 'isValidAction: tag mismatch - skipped:' || > NVL(ACTION.TAG_CON, '<NUL>')); 12908c13096,13099 < IF (NVL(TAG, ' ') != NVL(CACHEBSRECTABLE.TAG, NVL(TAG, ' '))) THEN --- > IF ((TAG_LIKE = 1 AND > NVL(TAG, ' ') NOT LIKE NVL(CACHEBSRECTABLE.TAG, NVL(TAG, ' '))) OR > (TAG_LIKE <> 1 AND > NVL(TAG, ' ') != NVL(CACHEBSRECTABLE.TAG, NVL(TAG, ' ')))) THEN 13876a14068,14071 > > > > 14115,14116c14310,14311 < < IF (RMANCMD != OBSOLETECMD_T) THEN --- > IF (RMANCMD != OBSOLETECMD_T OR > (RESTORETAG IS NOT NULL AND RMANCMD = OBSOLETECMD_T)) THEN 14264d14458 < 14266,14267c14460 < ACTION.TYPE_CON = BACKUPSET_CON_T AND < RMANCMD != OBSOLETECMD_T ) THEN --- > ACTION.TYPE_CON = BACKUPSET_CON_T) THEN 14276c14469,14470 < IF (VALIDATIONREC.TAG = RESTORETAG OR --- > IF (((TAG_LIKE = 1 AND VALIDATIONREC.TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND VALIDATIONREC.TAG = RESTORETAG)) OR 14336,14341d14529 < < IF (RMANCMD = OBSOLETECMD_T AND NOT ISVALIDACTION(ACTION)) THEN < DEB(DEB_EXIT, 'with action_SKIP'); < RETURN ACTION_SKIP; < END IF; < 17797c17985,17988 < IF (NVL(TAG, ' ') != NVL(CACHEBSRECTABLE.TAG, NVL(TAG, ' '))) THEN --- > IF ((TAG_LIKE = 1 AND > NVL(TAG, ' ') NOT LIKE NVL(CACHEBSRECTABLE.TAG, NVL(TAG, ' '))) OR > (TAG_LIKE <> 1 AND > NVL(TAG, ' ') != NVL(CACHEBSRECTABLE.TAG, NVL(TAG, ' ')))) THEN 18093a18285,18287 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 18375a18570,18572 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 18467a18665 > AND RESTORETAG IS NULL 18540a18739,18741 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 18611a18813,18815 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 19180c19384,19385 < AL.FIRST_CHANGE# < D2.NEXT_RESETLOGS_CHANGE#)); --- > AL.FIRST_CHANGE# < D2.NEXT_RESETLOGS_CHANGE#)) > AND RESTORETAG IS NULL; 19222c19427,19430 < XAL.FIRST_CHANGE# < D2.NEXT_RESETLOGS_CHANGE#)); --- > XAL.FIRST_CHANGE# < D2.NEXT_RESETLOGS_CHANGE#)) > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))); 19269a19478 > AND RESTORETAG IS NULL 19320a19530,19532 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND XAL.TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND XAL.TAG = RESTORETAG))) 19386a19599 > AND RESTORETAG IS NULL 19421a19635,19637 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 19450a19667,19669 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 19508c19727 < --- > AND RESTORETAG IS NULL 19539a19759,19761 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 19564a19787,19789 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 19639a19865 > AND RESTORETAG IS NULL 19678a19905,19907 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 19710a19940,19942 > AND (RESTORETAG IS NULL OR > ((TAG_LIKE = 1 AND TAG LIKE RESTORETAG) OR > (TAG_LIKE <> 1 AND TAG = RESTORETAG))) 20298c20530,20531 < TAG IN VARCHAR2 DEFAULT NULL) --- > TAG IN VARCHAR2 DEFAULT NULL, > USE_LIKE IN NUMBER DEFAULT 0) 20300a20534,20539 > > > IF (NVL(TAG, ' ') <> NVL(RESTORETAG, ' ') AND RCVRECCURSOR1_C%ISOPEN) THEN > DEB(DEB_PRINT, 'closing cursor rcRecCursor_c'); > CLOSE RCVRECCURSOR1_C; > END IF; 20301a20541,20542 > TAG_LIKE := USE_LIKE; > DEB(DEB_PRINT, 'restoreTag='|| RESTORETAG || ',tag_like='|| TAG_LIKE); 25918a26160,26162 > > VALIDATIONREC VALIDBACKUPSETREC_T; > BS_RCVREC RCVREC_T; 26576a26821,26822 > <<NEXTROW>> > 26803a27050,27085 > END IF; > > > IF (LBREC.BACKUP_TYPE = BACKUPSET_TXT AND RESTORETAG IS NOT NULL) THEN > BS_RCVREC.BSKEY_CON := LBREC.BS_KEY; > BS_RCVREC.SETCOUNT_CON := LBREC.BS_COUNT; > BS_RCVREC.SETSTAMP_CON := LBREC.BS_STAMP; > BS_RCVREC.PIECECOUNT_CON := LBREC.BS_PIECES; > IF (LBREC.FILE_TYPE = ARCHIVEDLOG_TXT) THEN > BS_RCVREC.LOGLOWSCN_OBJ := LBREC.RL_FIRST_CHANGE#; > BS_RCVREC.LOGTHREAD_OBJ := LBREC.RL_THREAD#; > BS_RCVREC.LOGSEQUENCE_OBJ := LBREC.RL_SEQUENCE#; > ELSIF (LBREC.FILE_TYPE IN (SPFILE_TXT, CONTROLFILE_TXT)) THEN > BS_RCVREC.DFNUMBER_OBJ := 0; > BS_RCVREC.FROMSCN_ACT := 0; > ELSIF (LBREC.FILE_TYPE = DATAFILE_TXT) THEN > BS_RCVREC.DFNUMBER_OBJ := 0; > BS_RCVREC.FROMSCN_ACT := LBREC.DF_CHECKPOINT_CHANGE#; > IF (LBREC.DF_INCREMENTAL_CHANGE# = LBREC.DF_CREATION_CHANGE# OR > LBREC.BS_INCR_TYPE = FULL_TXT) THEN > BS_RCVREC.FROMSCN_ACT := 0; > ELSIF (LBREC.BS_INCR_TYPE <> FULL_TXT) THEN > BS_RCVREC.FROMSCN_ACT := LBREC.DF_INCREMENTAL_CHANGE#; > END IF; > END IF; > > IF VALIDATEBACKUPSET(BACKUPSETREC=> BS_RCVREC, > TAG => RESTORETAG, > TAGMATCHREQUIRED => TRUE, > CHECKDEVICEISALLOCATED => TRUE, > AVAILABLEMASK => BSAVAILABLE, > VALIDREC => VALIDATIONREC) <> SUCCESS THEN > DEB(DEB_IN, 'tag does not match: bs_key=' || LBREC.BS_KEY); > GOTO NEXTROW; > END IF; > 28103c28385 < ,ATANYSCN IN BOOLEAN DEFAULT FALSE) --- > ,ATANYSCN IN BOOLEAN DEFAULT FALSE) 28720c29002 < DEB(DEB_IN, 'tag does not match'); --- > DEB(DEB_IN, 'tag does not match for controlfile proxy copy'); 29045c29327 < DEB(DEB_EXIT, 'tag does not match'); --- > DEB(DEB_EXIT, 'tag does not match for proxy copy:'||BRLREC.TAG_CON); 29284,29296c29566,29572 < IF (RMANCMD = OBSOLETECMD_T) THEN < < < VALRC := SUCCESS; < ELSE < VALRC := VALIDATEBACKUPSET( < BACKUPSETREC => BSFREC, < TAG => RESTORETAG, < TAGMATCHREQUIRED => TRUE, < CHECKDEVICEISALLOCATED => TRUE, < AVAILABLEMASK => BSAVAILABLE, < VALIDREC => VALIDATEREC); < END IF; --- > VALRC := VALIDATEBACKUPSET( > BACKUPSETREC => BSFREC, > TAG => RESTORETAG, > TAGMATCHREQUIRED => TRUE, > CHECKDEVICEISALLOCATED => TRUE, > AVAILABLEMASK => BSAVAILABLE, > VALIDREC => VALIDATEREC); 29313,29322d29588 < ELSIF (RMANCMD = OBSOLETECMD_T) THEN < DEB(DEB_IN, ' Added bsfRec:'); < < RCVRECPUSH(BSFREC); < GETBS_STATUS := SUCCESS; < IF (LCOPIES > 1) THEN < LCOPIES := LCOPIES - 1; < ELSE < EXIT; < END IF; 29590a29857 > DEB(DEB_PRINT, 'getRA_likePattern='|| PATTERN);
122c122 < CATALOGVERSION CONSTANT VARCHAR2(11) := '19.03.00.00'; --- > CATALOGVERSION CONSTANT VARCHAR2(11) := '19.03.01.00';
643a644,648 > > > > DBMS_RMIN_SYS.RM$_CLRPAREA(FALSE); > 681,683c686,688 < PENDING_AREA BOOLEAN; < PENDING_AREA_EXISTS EXCEPTION; < PRAGMA EXCEPTION_INIT(PENDING_AREA_EXISTS, -29370); --- > PENDING_AREA_CREATED BOOLEAN; > NO_PENDING_AREA EXCEPTION; > PRAGMA EXCEPTION_INIT(NO_PENDING_AREA, -29371); 696,698c701,702 < PENDING_AREA := FALSE; < DBMS_RMIN_SYS.RM$_CRTPAREA(FALSE); < --- > PENDING_AREA_CREATED := FALSE; > DBMS_RMIN_SYS.RM$_VERIFY_PENDING_AREA_ACT; 700,702c704,705 < WHEN PENDING_AREA_EXISTS THEN < < PENDING_AREA := TRUE; --- > WHEN NO_PENDING_AREA THEN > PENDING_AREA_CREATED := TRUE; 707a711,714 > IF PENDING_AREA_CREATED THEN > DBMS_RMIN_SYS.RM$_CRTPAREA(FALSE); > END IF; > 712c719 < IF (NOT PENDING_AREA) THEN --- > IF (PENDING_AREA_CREATED) THEN 718c725 < IF (NOT PENDING_AREA) THEN --- > IF (PENDING_AREA_CREATED) THEN
83a84 > PAR_ALTERNATE_BASELINE CONSTANT VARCHAR2(23) := 'ALTERNATE_PLAN_BASELINE'; 537a539,545 > > > DBMS_ADVISOR.SET_TASK_PARAMETER( > DBMS_SPM_INTERNAL.AUTO_EVOLVE_TASK_NAME, > PAR_ALTERNATE_BASELINE, > DBMS_SPM_INTERNAL.AUTO_EVOLVE_TASK_ALTERNATE_VAL); > 2736a2745,2750 > > > IF (PARAMETER = PAR_ALTERNATE_BASELINE AND > VALUE = DBMS_SPM_INTERNAL.AUTO_EVOLVE_TASK_ALTERNATE_VAL) THEN > SYS.DBMS_SPM_INTERNAL.CHECK_AUTO_SPM_ENABLED; > END IF;
2613,2617d2612 < PRVT_ADVISOR.SET_TASK_PARAMETER(TASK_NAME => TNAME, < PARAMETER => 'ALTERNATE_PLAN_BASELINE', < DATA => AUTO_EVOLVE_TASK_ALTERNATE_VAL, < TASK_OWNER_ID => PRVT_ADVISOR.SYS_USER_ID); < 4219a4215,4265 > PROCEDURE AUTO_SPM_ENABLED_CALLOUT( > AUTO_SPM_IS_ENABLED OUT NUMBER > ) IS > EXTERNAL NAME "kapspmEnabled" WITH CONTEXT > PARAMETERS(CONTEXT, > AUTO_SPM_IS_ENABLED OCINUMBER > ) > LIBRARY DBMS_SPM_LIB; > > > > > > > > > > > > > > FUNCTION CHECK_AUTO_SPM_ENABLED > RETURN BOOLEAN > IS > ENABLED_CODE NUMBER; > BEGIN > AUTO_SPM_ENABLED_CALLOUT(ENABLED_CODE); > > IF (ENABLED_CODE = 0) THEN > RETURN FALSE; > END IF; > > RETURN TRUE; > END CHECK_AUTO_SPM_ENABLED; > > > > > > > > > > > > > > > > > 4299c4345,4347 < IF (BASELINES LIKE '%AUTO%') THEN --- > > > IF (BASELINES LIKE '%AUTO%' AND CHECK_AUTO_SPM_ENABLED) THEN 6018,6041d6065 < < < < < < < < < < < < < < < < < PROCEDURE AUTO_SPM_ENABLED_CALLOUT( < AUTO_SPM_IS_ENABLED OUT NUMBER < ) IS < EXTERNAL NAME "kapspmEnabled" WITH CONTEXT < PARAMETERS(CONTEXT, < AUTO_SPM_IS_ENABLED OCINUMBER < ) < LIBRARY DBMS_SPM_LIB;
32624d32623 < 32626c32625 < --- > 32628c32627 < FETCH SYS.DBMS_STATS_INTERNAL.OBJ_NAME_QRY --- > FETCH SYS.DBMS_STATS_INTERNAL.OBJ_NAME_QRY 50983c50982,50985 < SELECT CGU.OBJ# OBJ#, DSC_DMLMON_FLGS_MISSING_EXTN FLGS --- > > > > SELECT DISTINCT CGU.OBJ# OBJ#, DSC_DMLMON_FLGS_MISSING_EXTN FLGS 50990a50993,50998 > > > > BITAND(CGU.FLAGS, > DBMS_STATS_INTERNAL.DSC_CG_SRC_SEED+ > DBMS_STATS_INTERNAL.DSC_CG_SRC_DIR) > 0 AND
14195a14196,14200 > REPORT_SECTION(DBMS_AWR_REPORT_LAYOUT.TOP_NONDB_WAIT_TIME, TO_HTML); > > > >
3318c3318 < '(file_type <> :2)'; --- > '(file_type NOT IN (:2, :3))'; 3322c3322,3323 < KUPCC.MT_FILE_TYPE_DISK; --- > KUPCC.MT_FILE_TYPE_DISK, > KUPCC.MT_FILE_TYPE_URIDISK;
1c1,3 < TYPE dbms_optim_bugValObType as object(fix number, val number) --- > TYPE > dbms_optim_bugValObType FORCE as object(fix number, val number) NOT PERSISTABLE; >
1c1,3 < TYPE dbms_optim_fcTabType as table of dbms_optim_bugValObType --- > TYPE > dbms_optim_fcTabType as table of (dbms_optim_bugValObType) NOT PERSISTABLE; >
1c1
< SELECT k."OWNER",k."TABLE_NAME",k."TABLE_ID",k."COLUMN_NAME",k."COLUMN_INT_ID",k."DATA_TYPE",k."DATA_TYPE_MOD",k."DATA_TYPE_OWNER",k."DATA_LENGTH",k."DATA_PRECISION",k."DATA_SCALE",k."NULLABLE",k."COLUMN_ID",k."DEFAULT_LENGTH",k."NUM_DISTINCT",k."LOW_VALUE",k."HIGH_VALUE",k."DENSITY",k."NUM_NULLS",k."NUM_BUCKETS",k."LAST_ANALYZED",k."SAMPLE_SIZE",k."CHARACTER_SET_NAME",k."CHAR_COL_DECL_LENGTH",k."GLOBAL_STATS",k."USER_STATS",k."NOTES",k."AVG_COL_LEN",k."CHAR_LENGTH",k."CHAR_USED",k."V80_FMT_IMAGE",k."DATA_UPGRADED",k."HIDDEN_COLUMN",k."VIRTUAL_COLUMN",k."SEGMENT_COLUMN_ID",k."INTERNAL_COLUMN_ID",k."HISTOGRAM",k."QUALIFIED_COL_NAME",k."USER_GENERATED",k."DEFAULT_ON_NULL",k."IDENTITY_COLUMN",k."SENSITIVE_COLUMN",k."EVALUATION_EDITION",k."UNUSABLE_BEFORE",k."UNUSABLE_BEGINNING",k."COLLATION",k."COLLATED_COLUMN_ID",k."CON_ID", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS("SYS"."DBA_TAB_COLS_V$") k
---
> SELECT k."OWNER",k."OWNER_ID",k."TABLE_NAME",k."TABLE_ID",k."COLUMN_NAME",k."COLUMN_INT_ID",k."DATA_TYPE",k."DATA_TYPE_MOD",k."DATA_TYPE_OWNER",k."DATA_LENGTH",k."DATA_PRECISION",k."DATA_SCALE",k."NULLABLE",k."COLUMN_ID",k."DEFAULT_LENGTH",k."NUM_DISTINCT",k."LOW_VALUE",k."HIGH_VALUE",k."DENSITY",k."NUM_NULLS",k."NUM_BUCKETS",k."LAST_ANALYZED",k."SAMPLE_SIZE",k."CHARACTER_SET_NAME",k."CHAR_COL_DECL_LENGTH",k."GLOBAL_STATS",k."USER_STATS",k."NOTES",k."AVG_COL_LEN",k."CHAR_LENGTH",k."CHAR_USED",k."V80_FMT_IMAGE",k."DATA_UPGRADED",k."HIDDEN_COLUMN",k."VIRTUAL_COLUMN",k."SEGMENT_COLUMN_ID",k."INTERNAL_COLUMN_ID",k."HISTOGRAM",k."QUALIFIED_COL_NAME",k."USER_GENERATED",k."DEFAULT_ON_NULL",k."IDENTITY_COLUMN",k."SENSITIVE_COLUMN",k."EVALUATION_EDITION",k."UNUSABLE_BEFORE",k."UNUSABLE_BEGINNING",k."COLLATION",k."COLLATED_COLUMN_ID",k."CON_ID", k.CON$NAME, k.CDB$NAME, k.CON$ERRNUM, k.CON$ERRMSG FROM CONTAINERS("SYS"."DBA_TAB_COLS_V$") k
Useful Links:
- Download Assistant: MOS Note: 2118136.2
- 2019 July CPU: https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html




