Enhance MARS-835 rollback process with new scripts for file registration deletion and manual cleanup, and add process tracking identifier for exports
This commit is contained in:
80
MARS_Packages/REL01_ADDITIONS/MARS-835/check_files.sql
Normal file
80
MARS_Packages/REL01_ADDITIONS/MARS-835/check_files.sql
Normal file
@@ -0,0 +1,80 @@
|
||||
SET SERVEROUTPUT ON SIZE UNLIMITED
|
||||
SET DEFINE OFF
|
||||
|
||||
DECLARE
|
||||
vCredential VARCHAR2(100) := 'OCI$RESOURCE_PRINCIPAL';
|
||||
vDataBucket VARCHAR2(200) := 'https://objectstorage.eu-frankfurt-1.oraclecloud.com/n/frtgjxu7zl7c/b/data/o/';
|
||||
vArchiveBucket VARCHAR2(200) := 'https://objectstorage.eu-frankfurt-1.oraclecloud.com/n/frtgjxu7zl7c/b/history/o/';
|
||||
vCount NUMBER := 0;
|
||||
BEGIN
|
||||
DBMS_OUTPUT.PUT_LINE('=== Checking CSV files in DATA bucket ===');
|
||||
FOR rec IN (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredential,
|
||||
location_uri => vDataBucket || 'ODS/CSDB/CSDB_DEBT/'
|
||||
))
|
||||
WHERE object_name LIKE 'LEGACY_DEBT%'
|
||||
) LOOP
|
||||
vCount := vCount + 1;
|
||||
DBMS_OUTPUT.PUT_LINE(' [' || vCount || '] ' || rec.object_name);
|
||||
END LOOP;
|
||||
DBMS_OUTPUT.PUT_LINE('Total CSV files DEBT: ' || vCount);
|
||||
|
||||
vCount := 0;
|
||||
FOR rec IN (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredential,
|
||||
location_uri => vDataBucket || 'ODS/CSDB/CSDB_DEBT_DAILY/'
|
||||
))
|
||||
WHERE object_name LIKE 'LEGACY_DEBT_DAILY%'
|
||||
) LOOP
|
||||
vCount := vCount + 1;
|
||||
DBMS_OUTPUT.PUT_LINE(' [' || vCount || '] ' || rec.object_name);
|
||||
END LOOP;
|
||||
DBMS_OUTPUT.PUT_LINE('Total CSV files DEBT_DAILY: ' || vCount);
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE(CHR(10) || '=== Checking Parquet files in ARCHIVE bucket ===');
|
||||
vCount := 0;
|
||||
FOR rec IN (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredential,
|
||||
location_uri => vArchiveBucket || 'ARCHIVE/CSDB/CSDB_DEBT/'
|
||||
))
|
||||
WHERE ROWNUM <= 5
|
||||
) LOOP
|
||||
vCount := vCount + 1;
|
||||
DBMS_OUTPUT.PUT_LINE(' [' || vCount || '] ' || rec.object_name);
|
||||
END LOOP;
|
||||
DBMS_OUTPUT.PUT_LINE('Total Parquet files DEBT (first 5): ' || vCount);
|
||||
|
||||
vCount := 0;
|
||||
FOR rec IN (
|
||||
SELECT object_name
|
||||
FROM TABLE(DBMS_CLOUD.LIST_OBJECTS(
|
||||
credential_name => vCredential,
|
||||
location_uri => vArchiveBucket || 'ARCHIVE/CSDB/CSDB_DEBT_DAILY/'
|
||||
))
|
||||
) LOOP
|
||||
vCount := vCount + 1;
|
||||
DBMS_OUTPUT.PUT_LINE(' [' || vCount || '] ' || rec.object_name);
|
||||
END LOOP;
|
||||
DBMS_OUTPUT.PUT_LINE('Total Parquet files DEBT_DAILY: ' || vCount);
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE(CHR(10) || '=== Now testing DELETE_OBJECT ===');
|
||||
DBMS_OUTPUT.PUT_LINE('Testing delete for: ODS/CSDB/CSDB_DEBT/LEGACY_DEBT_202510_1_20260213T092239041072Z.csv');
|
||||
|
||||
BEGIN
|
||||
DBMS_CLOUD.DELETE_OBJECT(
|
||||
credential_name => vCredential,
|
||||
object_uri => vDataBucket || 'ODS/CSDB/CSDB_DEBT/LEGACY_DEBT_202510_1_20260213T092239041072Z.csv'
|
||||
);
|
||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: File deleted');
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
DBMS_OUTPUT.PUT_LINE('ERROR: ' || SQLERRM);
|
||||
END;
|
||||
END;
|
||||
/
|
||||
Reference in New Issue
Block a user