This commit is contained in:
Grzegorz Michalski
2026-02-02 10:59:29 +01:00
commit ecd833f682
679 changed files with 122717 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
SET DEFINE OFF
CREATE TABLE BKP_MRDS.CT_MRDS_A_TASK_HISTORY_MARS783 AS SELECT * FROM CT_MRDS.A_TASK_HISTORY;
SET DEFINE ON

View File

@@ -0,0 +1,7 @@
SET DEFINE OFF
CREATE TABLE BKP_MRDS.CT_MRDS_A_TASK_HISTORY_SOURCE_MARS783 AS SELECT * FROM CT_MRDS.A_TASK_HISTORY_SOURCE;
SET DEFINE ON

View File

@@ -0,0 +1,7 @@
SET DEFINE OFF
CREATE TABLE BKP_MRDS.CT_MRDS_A_TASK_HISTORY_TARGET_MARS783 AS SELECT * FROM CT_MRDS.A_TASK_HISTORY_TARGET;
SET DEFINE ON

View File

@@ -0,0 +1,7 @@
SET DEFINE OFF
CREATE TABLE BKP_MRDS.CT_MRDS_A_WORKFLOW_HISTORY_MARS783 AS SELECT * FROM CT_MRDS.A_WORKFLOW_HISTORY;
SET DEFINE ON

View File

@@ -0,0 +1,10 @@
CREATE USER "BKP_MRDS"
DEFAULT TABLESPACE "DATA"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
-- QUOTAS
ALTER USER "BKP_MRDS" QUOTA UNLIMITED ON "DATA";
CREATE ROLE BKP_MRDS_RO;
GRANT SELECT ANY TABLE ON SCHEMA BKP_MRDS TO BKP_MRDS_RO;

View File

@@ -0,0 +1,45 @@
-- MOPDB
INSERT INTO CT_MRDS.A_TASK_HISTORY (
A_TASK_HISTORY_KEY,
A_WORKFLOW_HISTORY_KEY,
TASK_RUN_ID,
TASK_NAME,
TASK_START,
TASK_END,
TASK_SUCCESSFUL,
SERVICE_NAME
)
SELECT
A_LOAD_SUBPROCESS_KEY AS A_TASK_HISTORY_KEY,
A_MOPDB_LOAD_SET_FK AS A_WORKFLOW_HISTORY_KEY,
CAST(NULL AS VARCHAR2(200)) AS TASK_RUN_ID,
CASE
WHEN SUBPROCESS_NAME = 'm_MOPDB_CSDB_DEBT_OU_CSDB_DEBT_LOAD'
THEN 'm_MOPDB_CSDB_DEBT_OU_CSDB_DEBT'
WHEN SUBPROCESS_NAME = 'm_MOPDB_CSDB_DEBT_DAILY_OU_CSDB_DEBT_DAILY_LOAD'
THEN 'm_MOPDB_CSDB_DEBT_DAILY_OU_CSDB_DEBT_DAILY'
WHEN SUBPROCESS_NAME = 'm_MOPDB_CSDB_INSTR_DESC_FULL_OU_CSDB_INSTR_DESC_FULL_LOAD'
THEN 'm_MOPDB_CSDB_INSTR_DESC_FULL_OU_CSDB_INSTR_DESC_FULL'
WHEN SUBPROCESS_NAME = 'm_MOPDB_CSDB_ISSUER_DESC_FULL_OU_CSDB_ISSUER_DESC_FULL_LOAD'
THEN 'm_MOPDB_CSDB_ISSUER_DESC_FULL_OU_CSDB_ISSUER_DESC_FULL'
ELSE SUBPROCESS_NAME
END AS TASK_NAME,
PROCESS_START AS TASK_START,
PROCESS_END AS TASK_END,
PROCESS_SUCCESSFUL AS TASK_SUCCESSFUL,
'MOPDB' AS SERVICE_NAME
FROM CT_MOPDB.A_LOAD_SUBPROCESS
WHERE SUBPROCESS_NAME IN (
SELECT DISTINCT SUBPROCESS_NAME
FROM CT_MOPDB.A_LOAD_HISTORY A
LEFT JOIN CT_MOPDB.A_LOAD_SUBPROCESS B
ON A.A_MOPDB_LOAD_SET_KEY = b.A_MOPDB_LOAD_SET_FK
WHERE WORKFLOW_NAME IN (
'w_MOPDB_CSDB_REFERENCE_DAILY',
'w_MOPDB_CSDB_REFERENCE_MONTHLY',
'w_MOPDB_CSDB_RATINGS
')
);
COMMIT;

View File

@@ -0,0 +1,29 @@
-- MOPDB
INSERT INTO CT_MRDS.A_TASK_HISTORY_SOURCE (
A_TASK_HISTORY_SOURCE_KEY,
A_TASK_HISTORY_KEY,
A_WORKFLOW_HISTORY_SOURCE_KEY,
SOURCE_NAME,
ROW_COUNT,
SERVICE_NAME
)
SELECT
A_LOAD_HISTORY_SOURCE_KEY as A_TASK_HISTORY_SOURCE_KEY,
A_LOAD_SUBPROCESS_FK as A_TASK_HISTORY_KEY,
A_ODS_LOAD_SET_FK as A_WORKFLOW_HISTORY_SOURCE_KEY,
SOURCE_TABLE_NAME as SOURCE_NAME ,
ROW_COUNT as ROW_COUNT ,
'MOPDB' AS SERVICE_NAME
FROM
CT_MOPDB.A_LOAD_HISTORY_SOURCE
WHERE
SOURCE_TABLE_NAME IN (
'OU_CSDB_DEBT',
'OU_CSDB_DEBT_DAILY',
'OU_CSDB_INSTR_DESC_FULL',
'OU_CSDB_ISSUER_DESC_FULL'
);
COMMIT;

View File

@@ -0,0 +1,60 @@
-- MOPDB
INSERT INTO CT_MRDS.A_TASK_HISTORY_TARGET (
A_TASK_HISTORY_TARGET_KEY,
A_TASK_HISTORY_KEY,
TARGET_NAME,
ROW_COUNT_APPLIED,
ROW_COUNT_REJECTED,
LOAD_SUCCESSFUL,
SERVICE_NAME
)
SELECT
A_LOAD_HISTORY_TARGET_KEY as A_TASK_HISTORY_TARGET_KEY,
A_LOAD_SUBPROCESS_FK as A_TASK_HISTORY_KEY,
TARGET_TABLE_NAME as TARGET_NAME,
ROW_COUNT_APPLIED as ROW_COUNT_APPLIED,
ROW_COUNT_REJECTED as ROW_COUNT_REJECTED,
LOAD_SUCCESSFUL as LOAD_SUCCESSFUL,
'MOPDB' AS SERVICE_NAME
FROM
CT_MOPDB.A_LOAD_HISTORY_TARGET
WHERE
TARGET_TABLE_NAME IN (
'CSDB_DEBT',
'CSDB_DEBT_DAILY',
'CSDB_INSTR_DESC_FULL',
'CSDB_ISSUER_DESC_FULL'
);
-- ODS
INSERT INTO CT_MRDS.A_TASK_HISTORY_TARGET (
A_TASK_HISTORY_TARGET_KEY,
A_TASK_HISTORY_KEY,
TARGET_NAME,
ROW_COUNT_APPLIED,
ROW_COUNT_REJECTED,
LOAD_SUCCESSFUL,
SERVICE_NAME
)
SELECT
A_LOAD_HISTORY_TARGET_KEY as A_TASK_HISTORY_TARGET_KEY,
A_ETL_LOAD_SET_FK as A_TASK_HISTORY_KEY,
TARGET_TABLE_NAME AS TARGET_NAME,
ROW_COUNT_APPLIED as ROW_COUNT_APPLIED,
ROW_COUNT_REJECTED as ROW_COUNT_REJECTED,
'Y' as LOAD_SUCCESSFUL,
'ODS' AS SERVICE_NAME
FROM
CT_ODS.A_LOAD_HISTORY_TARGET
WHERE
TARGET_TABLE_NAME IN (
'OU_CSDB_DEBT',
'OU_CSDB_DEBT_DAILY',
'OU_CSDB_INSTR_DESC_FULL',
'OU_CSDB_ISSUER_DESC_FULL'
);
COMMIT;

View File

@@ -0,0 +1,55 @@
-- MOPDB
INSERT INTO CT_MRDS.A_WORKFLOW_HISTORY (
A_WORKFLOW_HISTORY_KEY,
ORCHESTRATION_RUN_ID,
WORKFLOW_NAME,
WORKFLOW_START,
WORKFLOW_END,
WORKFLOW_SUCCESSFUL,
DBT_INVOCATION_ID,
SERVICE_NAME
)
SELECT
A_MOPDB_LOAD_SET_KEY AS A_WORKFLOW_HISTORY_KEY,
CAST(WLA_RUN_ID AS VARCHAR2(200)) AS ORCHESTRATION_RUN_ID,
WORKFLOW_NAME AS WORKFLOW_NAME ,
LOAD_START as WORKFLOW_START,
LOAD_END AS WORKFLOW_END,
'Y' AS WORKFLOW_SUCCESSFUL,
CAST(INFA_RUN_ID AS VARCHAR2(200)) AS DBT_INVOCATION_ID,
'MOPDB' AS SERVICE_NAME
FROM
CT_MOPDB.A_LOAD_HISTORY
WHERE
WORKFLOW_NAME IN
('w_MOPDB_CSDB_REFERENCE_MONTHLY',
'w_MOPDB_CSDB_REFERENCE_DAILY',
'w_MOPDB_CSDB_RATINGS'
);
-- ODS
INSERT INTO CT_MRDS.A_WORKFLOW_HISTORY (
A_WORKFLOW_HISTORY_KEY,
ORCHESTRATION_RUN_ID,
WORKFLOW_NAME,
WORKFLOW_START,
WORKFLOW_END,
WORKFLOW_SUCCESSFUL,
DBT_INVOCATION_ID,
SERVICE_NAME
)
SELECT
A_ETL_LOAD_SET_KEY AS A_WORKFLOW_HISTORY_KEY,
CASE WHEN WLA_RUN_ID is not null THEN CAST(WLA_RUN_ID AS VARCHAR2(200)) ELSE EXDI_CORRELATION_ID END ORCHESTRATION_RUN_ID,
WORKFLOW_NAME AS WORKFLOW_NAME,
LOAD_START AS WORKFLOW_START,
LOAD_END AS WORKFLOW_END,
LOAD_SUCCESSFUL AS workflow_successful,
CAST(INFA_RUN_ID AS VARCHAR2(200)) as DBT_INVOCATION_ID,
'ODS' AS SERVICE_NAME
FROM CT_ODS.A_LOAD_HISTORY
WHERE WORKFLOW_NAME IN ('w_ODS_CSDB_DEBT', 'w_ODS_CSDB_DEBT_DAILY', 'w_ODS_CSDB_RATINGS_FULL')
;
COMMIT;

View File

@@ -0,0 +1,2 @@
DROP USER "BKP_MRDS" CASCADE;
DROP ROLE BKP_MRDS_RO;

View File

@@ -0,0 +1,27 @@
-- MOPDB
DELETE FROM CT_MRDS.A_TASK_HISTORY t WHERE EXISTS (
SELECT 1
FROM CT_MOPDB.A_LOAD_SUBPROCESS r
WHERE
r.SUBPROCESS_NAME IN (
SELECT DISTINCT SUBPROCESS_NAME
FROM CT_MOPDB.A_LOAD_HISTORY A
LEFT JOIN CT_MOPDB.A_LOAD_SUBPROCESS B
ON A.A_MOPDB_LOAD_SET_KEY = b.A_MOPDB_LOAD_SET_FK
WHERE WORKFLOW_NAME IN (
'w_MOPDB_CSDB_REFERENCE_DAILY',
'w_MOPDB_CSDB_REFERENCE_MONTHLY',
'w_MOPDB_CSDB_RATINGS'
)
)
AND t.A_TASK_HISTORY_KEY = r.A_LOAD_SUBPROCESS_KEY
AND t.A_WORKFLOW_HISTORY_KEY = r.A_MOPDB_LOAD_SET_FK
AND NVL(t.TASK_RUN_ID,' ') = NVL(CAST(NULL AS VARCHAR2(200)),' ')
AND NVL(t.TASK_NAME,' ')||'_LOAD' = NVL(r.SUBPROCESS_NAME,' ')
AND NVL(t.TASK_START,SYSDATE) = NVL(r.PROCESS_START,SYSDATE)
AND NVL(t.TASK_END,SYSDATE) = NVL(r.PROCESS_END,SYSDATE)
AND NVL(t.TASK_SUCCESSFUL,' ') = NVL(r.PROCESS_SUCCESSFUL,' ')
AND t.SERVICE_NAME = 'MOPDB'
);
COMMIT;

View File

@@ -0,0 +1,22 @@
-- MOPDB
DELETE FROM CT_MRDS.A_TASK_HISTORY_SOURCE t WHERE EXISTS (
SELECT 1
FROM
CT_MOPDB.A_LOAD_HISTORY_SOURCE r
WHERE
r.SOURCE_TABLE_NAME IN (
'OU_CSDB_DEBT',
'OU_CSDB_DEBT_DAILY',
'OU_CSDB_INSTR_DESC_FULL',
'OU_CSDB_ISSUER_DESC_FULL'
)
AND t.A_TASK_HISTORY_SOURCE_KEY = r.A_LOAD_HISTORY_SOURCE_KEY
AND t.A_TASK_HISTORY_KEY = r.A_LOAD_SUBPROCESS_FK
AND NVL(t.A_WORKFLOW_HISTORY_SOURCE_KEY,0) = NVL(r.A_ODS_LOAD_SET_FK,0)
AND NVL(t.SOURCE_NAME,' ') = NVL(r.SOURCE_TABLE_NAME,' ')
AND NVL(t.ROW_COUNT,0) = NVL(r.ROW_COUNT,0)
AND t.SERVICE_NAME = 'MOPDB'
)
;
COMMIT;

View File

@@ -0,0 +1,50 @@
-- MOPDB
DELETE FROM CT_MRDS.A_TASK_HISTORY_TARGET t WHERE EXISTS (
SELECT
A_LOAD_HISTORY_TARGET_KEY as A_TASK_HISTORY_TARGET_KEY,
A_LOAD_SUBPROCESS_FK as A_TASK_HISTORY_KEY,
TARGET_TABLE_NAME as TARGET_NAME,
ROW_COUNT_APPLIED as ROW_COUNT_APPLIED,
ROW_COUNT_REJECTED as ROW_COUNT_REJECTED,
LOAD_SUCCESSFUL as LOAD_SUCCESSFUL,
'MOPDB' AS SERVICE_NAME
FROM
CT_MOPDB.A_LOAD_HISTORY_TARGET r
WHERE
TARGET_TABLE_NAME IN (
'CSDB_DEBT',
'CSDB_DEBT_DAILY',
'CSDB_INSTR_DESC_FULL',
'CSDB_ISSUER_DESC_FULL'
)
AND t.A_TASK_HISTORY_TARGET_KEY = r.A_LOAD_HISTORY_TARGET_KEY
AND t.A_TASK_HISTORY_KEY = r.A_LOAD_SUBPROCESS_FK
AND NVL(t.TARGET_NAME,' ') = NVL(r.TARGET_TABLE_NAME,' ')
AND NVL(t.ROW_COUNT_APPLIED,0) = NVL(r.ROW_COUNT_APPLIED,0)
AND NVL(t.ROW_COUNT_REJECTED,0) = NVL(r.ROW_COUNT_REJECTED,0)
AND NVL(t.LOAD_SUCCESSFUL,' ') = NVL(r.LOAD_SUCCESSFUL,' ')
AND t.SERVICE_NAME = 'MOPDB'
);
-- ODS
DELETE FROM CT_MRDS.A_TASK_HISTORY_TARGET t WHERE EXISTS (
SELECT 1
FROM
CT_ODS.A_LOAD_HISTORY_TARGET r
WHERE
TARGET_TABLE_NAME IN (
'OU_CSDB_DEBT',
'OU_CSDB_DEBT_DAILY',
'OU_CSDB_INSTR_DESC_FULL',
'OU_CSDB_ISSUER_DESC_FULL'
)
AND t.A_TASK_HISTORY_TARGET_KEY = r.A_LOAD_HISTORY_TARGET_KEY
AND t.A_TASK_HISTORY_KEY = r.A_ETL_LOAD_SET_FK
AND NVL(t.TARGET_NAME,' ') = NVL(r.TARGET_TABLE_NAME,' ')
AND NVL(t.ROW_COUNT_APPLIED,0) = NVL(r.ROW_COUNT_APPLIED,0)
AND NVL(t.ROW_COUNT_REJECTED,0) = NVL(r.ROW_COUNT_REJECTED,0)
AND NVL(t.LOAD_SUCCESSFUL,' ') = 'Y'
AND t.SERVICE_NAME = 'ODS'
);
COMMIT;

View File

@@ -0,0 +1,37 @@
-- MOPDB
DELETE FROM CT_MRDS.A_WORKFLOW_HISTORY t WHERE EXISTS (
SELECT 1
FROM
CT_MOPDB.A_LOAD_HISTORY r
WHERE
r.WORKFLOW_NAME IN
('w_MOPDB_CSDB_REFERENCE_MONTHLY',
'w_MOPDB_CSDB_REFERENCE_DAILY',
'w_MOPDB_CSDB_RATINGS'
)
AND t.A_WORKFLOW_HISTORY_KEY = r.A_MOPDB_LOAD_SET_KEY
AND NVL(t.ORCHESTRATION_RUN_ID,' ') = NVL(CAST(r.WLA_RUN_ID AS VARCHAR2(200)),' ')
AND t.WORKFLOW_NAME = r.WORKFLOW_NAME
AND NVL(t.WORKFLOW_START,SYSDATE) = NVL(r.LOAD_START,SYSDATE)
AND NVL(t.WORKFLOW_END,SYSDATE) = NVL(r.LOAD_END,SYSDATE)
AND NVL(t.WORKFLOW_SUCCESSFUL,' ') = NVL(CAST(NULL AS VARCHAR2(200)),' ')
AND NVL(t.DBT_INVOCATION_ID,' ') = NVL(CAST(r.INFA_RUN_ID AS VARCHAR2(200)),' ')
AND t.SERVICE_NAME = 'MOPDB'
);
-- ODS
DELETE FROM CT_MRDS.A_WORKFLOW_HISTORY t WHERE EXISTS (
SELECT 1
FROM CT_ODS.A_LOAD_HISTORY r
WHERE WORKFLOW_NAME IN ('w_ODS_CSDB_DEBT', 'w_ODS_CSDB_DEBT_DAILY', 'w_ODS_CSDB_RATINGS_FULL')
AND t.A_WORKFLOW_HISTORY_KEY = r.A_ETL_LOAD_SET_KEY
AND NVL(t.ORCHESTRATION_RUN_ID,' ') = NVL( CASE WHEN r.WLA_RUN_ID is not null THEN CAST(r.WLA_RUN_ID AS VARCHAR2(200)) ELSE r.EXDI_CORRELATION_ID END,' ')
AND t.WORKFLOW_NAME = r.WORKFLOW_NAME
AND NVL(t.WORKFLOW_START,SYSDATE) = NVL(r.LOAD_START,SYSDATE)
AND NVL(t.WORKFLOW_END,SYSDATE) = NVL(r.LOAD_END,SYSDATE)
AND NVL(t.WORKFLOW_SUCCESSFUL,' ') = NVL(LOAD_SUCCESSFUL,' ')
AND NVL(t.DBT_INVOCATION_ID,' ') = NVL(CAST(INFA_RUN_ID AS VARCHAR2(200)),' ')
AND t.SERVICE_NAME = 'ODS'
);
COMMIT;

View File

@@ -0,0 +1,41 @@
WHENEVER SQLERROR EXIT FAILURE
SET SERVEROUTPUT ON
SET TIMING ON
SET ECHO ON
SET HEADING OFF
SET FEEDBACK ON
SET VERIFY OFF
var filename VARCHAR2(100)
BEGIN
SELECT 'INSTALL_MARS_783_' || SUBSTR(PDB_NAME, (INSTR(PDB_NAME,'_',1)+1), (LENGTH(PDB_NAME)-INSTR(PDB_NAME,'_',1))) || '_' ||TO_CHAR(SYSDATE,'YYYYMMDD_HH24MISS')||'.log' INTO :filename from DBA_PDBS;
END;
/
column filename new_value _filename
select :filename filename from dual;
spool &_filename
prompt ##### started at time #####
select systimestamp from dual;
prompt ##### database name #####
SELECT SUBSTR(PDB_NAME, (INSTR(PDB_NAME,'_',1)+1), (LENGTH(PDB_NAME)-INSTR(PDB_NAME,'_',1))) AS PDB_NAME FROM DBA_PDBS;
@@01_MARS_783_install_BKP_MRDS
@@00_MARS_783_backup_CT_MRDS_A_WORKFLOW_HISTORY.sql
@@00_MARS_783_backup_CT_MRDS_A_TASK_HISTORY.sql
@@00_MARS_783_backup_CT_MRDS_A_TASK_HISTORY_SOURCE.sql
@@00_MARS_783_backup_CT_MRDS_A_TASK_HISTORY_TARGET.sql
@@01_MARS_783_install_CT_MRDS_A_WORKFLOW_HISTORY.sql
@@01_MARS_783_install_CT_MRDS_A_TASK_HISTORY.sql
@@01_MARS_783_install_CT_MRDS_A_TASK_HISTORY_SOURCE.sql
@@01_MARS_783_install_CT_MRDS_A_TASK_HISTORY_TARGET.sql
SET ECHO OFF
prompt ##### completed at time #####
select systimestamp from dual;
SPOOL OFF
EXIT

View File

@@ -0,0 +1,25 @@
Volume in drive G is Application Data
Volume Serial Number is 688C-47D4
Directory of G:\gavrilo\infa-ods-mopdb\MARS_Packages\REL01\MARS-783
03/10/2025 10:46 <DIR> .
03/10/2025 10:46 <DIR> ..
03/10/2025 10:27 134 00_MARS_783_backup_CT_MRDS_A_TASK_HISTORY.sql
03/10/2025 10:28 148 00_MARS_783_backup_CT_MRDS_A_TASK_HISTORY_SOURCE.sql
03/10/2025 10:27 148 00_MARS_783_backup_CT_MRDS_A_TASK_HISTORY_TARGET.sql
03/10/2025 10:27 142 00_MARS_783_backup_CT_MRDS_A_WORKFLOW_HISTORY.sql
03/10/2025 10:34 1,545 01_MARS_783_install_CT_MRDS_A_TASK_HISTORY.sql
03/10/2025 10:33 683 01_MARS_783_install_CT_MRDS_A_TASK_HISTORY_SOURCE.sql
03/10/2025 10:36 1,450 01_MARS_783_install_CT_MRDS_A_TASK_HISTORY_TARGET.sql
03/10/2025 10:35 1,539 01_MARS_783_install_CT_MRDS_A__WORKFLOW_HISTORY.sql
03/10/2025 10:44 697 91_MARS_783_rollback_CT_MRDS_A_TASK_HISTORY_SOURCE.sql
03/10/2025 10:44 1,828 91_MARS_783_rollback_CT_MRDS_A_TASK_HISTORY_TARGET.sql
03/10/2025 10:43 1,001 91_MARS_783_rollback_CT_MRDS_A_TASK_TASK_HISTORY.sql
03/10/2025 10:42 1,526 91_MARS_783_rollback_CT_MRDS_A_WORKFLOW_HISTORY.sql
01/10/2025 16:20 7,000 install_mars783.sql
03/10/2025 10:46 0 list.txt
02/10/2025 16:26 6,854 rollback_mars783.sql
03/10/2025 08:38 730 rollback_mars783_DDXCDWH2ADB_20251003_063857.log
16 File(s) 25,425 bytes
2 Dir(s) 25,784,291,328 bytes free

View File

@@ -0,0 +1,37 @@
WHENEVER SQLERROR EXIT FAILURE
SET SERVEROUTPUT ON
SET TIMING ON
SET ECHO ON
SET HEADING OFF
SET FEEDBACK ON
SET VERIFY OFF
var filename VARCHAR2(100)
BEGIN
SELECT 'ROLLBACK_MARS_783_' || SUBSTR(PDB_NAME, (INSTR(PDB_NAME,'_',1)+1), (LENGTH(PDB_NAME)-INSTR(PDB_NAME,'_',1))) || '_' ||TO_CHAR(SYSDATE,'YYYYMMDD_HH24MISS')||'.log' INTO :filename from DBA_PDBS;
END;
/
column filename new_value _filename
select :filename filename from dual;
spool &_filename
prompt ##### started at time #####
select systimestamp from dual;
prompt ##### database name #####
SELECT SUBSTR(PDB_NAME, (INSTR(PDB_NAME,'_',1)+1), (LENGTH(PDB_NAME)-INSTR(PDB_NAME,'_',1))) AS PDB_NAME FROM DBA_PDBS;
@@91_MARS_783_rollback_BKP_MRDS.sql
@@91_MARS_783_rollback_CT_MRDS_A_WORKFLOW_HISTORY.sql
@@91_MARS_783_rollback_CT_MRDS_A_TASK_HISTORY.sql
@@91_MARS_783_rollback_CT_MRDS_A_TASK_HISTORY_SOURCE.sql
@@91_MARS_783_rollback_CT_MRDS_A_TASK_HISTORY_TARGET.sql
SET ECHO OFF
prompt ##### completed at time #####
select systimestamp from dual;
SPOOL OFF
EXIT