diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/08_MARS_828_install_grant_t_filename.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/08_MARS_828_install_grant_t_filename.sql new file mode 100644 index 0000000..7524b2a --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/08_MARS_828_install_grant_t_filename.sql @@ -0,0 +1,23 @@ +-- MARS-828: Grant EXECUTE privilege on T_FILENAME to MRDS_LOADER +-- Author: Grzegorz Michalski +-- Date: 2026-02-17 +-- Description: Grants EXECUTE privilege on CT_MRDS.T_FILENAME type to MRDS_LOADER user for file processing operations + +PROMPT ======================================== +PROMPT MARS-828: Granting EXECUTE on T_FILENAME +PROMPT ======================================== + +-- Grant EXECUTE privilege +GRANT EXECUTE ON CT_MRDS.T_FILENAME TO MRDS_LOADER; + +PROMPT EXECUTE privilege on CT_MRDS.T_FILENAME granted to MRDS_LOADER + +-- Verify grant +SELECT GRANTEE, PRIVILEGE, GRANTABLE +FROM USER_TAB_PRIVS +WHERE TABLE_NAME = 'T_FILENAME' + AND GRANTEE = 'MRDS_LOADER'; + +PROMPT ======================================== +PROMPT T_FILENAME privilege grant completed +PROMPT ======================================== diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/95_MARS_828_rollback_grant_t_filename.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/95_MARS_828_rollback_grant_t_filename.sql new file mode 100644 index 0000000..3f4e829 --- /dev/null +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/95_MARS_828_rollback_grant_t_filename.sql @@ -0,0 +1,23 @@ +-- MARS-828 ROLLBACK: Revoke EXECUTE privilege on T_FILENAME from MRDS_LOADER +-- Author: Grzegorz Michalski +-- Date: 2026-02-17 +-- Description: Revokes EXECUTE privilege on CT_MRDS.T_FILENAME type from MRDS_LOADER user + +PROMPT ======================================== +PROMPT MARS-828: Revoking EXECUTE on T_FILENAME +PROMPT ======================================== + +-- Revoke EXECUTE privilege +REVOKE EXECUTE ON CT_MRDS.T_FILENAME FROM MRDS_LOADER; + +PROMPT EXECUTE privilege on CT_MRDS.T_FILENAME revoked from MRDS_LOADER + +-- Verify revocation +SELECT GRANTEE, PRIVILEGE, GRANTABLE +FROM USER_TAB_PRIVS +WHERE TABLE_NAME = 'T_FILENAME' + AND GRANTEE = 'MRDS_LOADER'; + +PROMPT ======================================== +PROMPT T_FILENAME privilege revocation completed +PROMPT ======================================== diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql index 73803b7..5635e34 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/install_mars828.sql @@ -38,7 +38,7 @@ PROMPT ========================================================================= PROMPT Package: CT_MRDS.FILE_ARCHIVER PROMPT Change: Enhanced archival strategies (MINIMUM_AGE_MONTHS, HYBRID) + TRASH retention + Selective archiving PROMPT Purpose: Flexible archival policies per data source with file retention and config-based control -PROMPT Steps: 9 (DDL, Trigger, Statuses, Package v3.3.0, Verify, Track, Configure) +PROMPT Steps: 10 (DDL, Trigger, Statuses, Grants, Package v3.3.0, Verify, Track, Configure) PROMPT Timestamp: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS install_start FROM DUAL; PROMPT ============================================================================ @@ -66,37 +66,42 @@ PROMPT ====================================== @@02_MARS_828_install_archival_strategy_trigger.sql PROMPT -PROMPT Step 3/9: Adding TRASH retention statuses to A_SOURCE_FILE_RECEIVED +PROMPT Step 3/10: Adding TRASH retention statuses to A_SOURCE_FILE_RECEIVED PROMPT ===================================================================== @@07_MARS_828_install_add_trash_retention_statuses.sql PROMPT -PROMPT Step 4/9: Deploying FILE_ARCHIVER Package Specification v3.3.0 +PROMPT Step 4/10: Granting privileges on T_FILENAME to MRDS_LOADER +PROMPT ============================================================ +@@08_MARS_828_install_grant_t_filename.sql + +PROMPT +PROMPT Step 5/10: Deploying FILE_ARCHIVER Package Specification v3.3.0 PROMPT ================================================================ @@03_MARS_828_install_CT_MRDS_FILE_ARCHIVER_SPEC.sql PROMPT -PROMPT Step 5/9: Deploying FILE_ARCHIVER Package Body v3.3.0 +PROMPT Step 6/10: Deploying FILE_ARCHIVER Package Body v3.3.0 PROMPT ====================================================== @@04_MARS_828_install_CT_MRDS_FILE_ARCHIVER_BODY.sql PROMPT -PROMPT Step 6/9: Verifying installation +PROMPT Step 7/10: Verifying installation PROMPT ================================= @@05_MARS_828_verify_installation.sql PROMPT -PROMPT Step 7/9: Tracking package versions +PROMPT Step 8/10: Tracking package versions PROMPT ==================================== @@track_package_versions.sql PROMPT -PROMPT Step 8/9: Verifying tracked packages +PROMPT Step 9/10: Verifying tracked packages PROMPT ===================================== @@verify_packages_version.sql PROMPT -PROMPT Step 9/9: Configuring Release 01 tables archival strategies +PROMPT Step 10/10: Configuring Release 01 tables archival strategies PROMPT ============================================================ @@06_MARS_828_configure_release01_tables.sql diff --git a/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql b/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql index 0a3822a..b99e142 100644 --- a/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql +++ b/MARS_Packages/REL01_ADDITIONS/MARS-828/rollback_mars828.sql @@ -33,10 +33,11 @@ PROMPT This will restore FILE_ARCHIVER to v2.0.0 PROMPT PROMPT Rollback steps: PROMPT 1. Rollback TRASH retention statuses -PROMPT 2. Remove validation trigger -PROMPT 3. Drop all configuration columns (ARCHIVAL_STRATEGY, MINIMUM_AGE_MONTHS, ARCHIVE_ENABLED, KEEP_IN_TRASH) -PROMPT 4. Restore FILE_ARCHIVER package to v2.0.0 -PROMPT 5. Revert all archival strategies to THRESHOLD_BASED +PROMPT 2. Revoke T_FILENAME privileges +PROMPT 3. Remove validation trigger +PROMPT 4. Drop all configuration columns (ARCHIVAL_STRATEGY, MINIMUM_AGE_MONTHS, ARCHIVE_ENABLED, KEEP_IN_TRASH) +PROMPT 5. Restore FILE_ARCHIVER package to v2.0.0 +PROMPT 6. Revert all archival strategies to THRESHOLD_BASED PROMPT PROMPT Timestamp: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS rollback_start FROM DUAL; @@ -55,32 +56,37 @@ WHENEVER SQLERROR CONTINUE -- Rollback steps (in reverse order) PROMPT -PROMPT Step 1/6: Rolling back TRASH retention statuses +PROMPT Step 1/7: Rolling back TRASH retention statuses PROMPT ================================================ @@90_MARS_828_rollback_trash_retention_statuses.sql PROMPT -PROMPT Step 2/6: Dropping validation trigger +PROMPT Step 2/7: Revoking T_FILENAME privileges from MRDS_LOADER +PROMPT ========================================================== +@@95_MARS_828_rollback_grant_t_filename.sql + +PROMPT +PROMPT Step 3/7: Dropping validation trigger PROMPT ====================================== @@93_MARS_828_rollback_trigger.sql PROMPT -PROMPT Step 3/6: Dropping all archival configuration columns +PROMPT Step 4/7: Dropping all archival configuration columns PROMPT ====================================================== @@94_MARS_828_rollback_columns.sql PROMPT -PROMPT Step 4/6: Restoring FILE_ARCHIVER Package Specification v2.0.0 +PROMPT Step 5/7: Restoring FILE_ARCHIVER Package Specification v2.0.0 PROMPT =============================================================== @@91_MARS_828_rollback_FILE_ARCHIVER_SPEC.sql PROMPT -PROMPT Step 5/6: Restoring FILE_ARCHIVER Package Body v2.0.0 +PROMPT Step 6/7: Restoring FILE_ARCHIVER Package Body v2.0.0 PROMPT ====================================================== @@92_MARS_828_rollback_FILE_ARCHIVER_BODY.sql PROMPT -PROMPT Step 6/6: Verifying tracked packages +PROMPT Step 7/7: Verifying tracked packages PROMPT ===================================== @@verify_packages_version.sql