-- ============================================================================ -- SYS GRANTS AND SYNONYMS FOR ROA APPLICATION -- ============================================================================ -- Run AFTER sys-objects.sql and AFTER CONTAFIN_ORACLE import -- These grants enable CONTAFIN_ORACLE packages to work correctly -- -- Usage: -- sqlplus sys/password@service as sysdba @sys-grants.sql -- -- ============================================================================ SET ECHO OFF SET FEEDBACK ON SET SERVEROUTPUT ON SIZE UNLIMITED WHENEVER SQLERROR CONTINUE PROMPT PROMPT ============================================================ PROMPT Installing SYS Grants and Synonyms PROMPT ============================================================ PROMPT -- ============================================================================ -- SECTION 1: GRANTS TO CONTAFIN_ORACLE -- ============================================================================ PROMPT PROMPT [1/5] Granting privileges to CONTAFIN_ORACLE... -- Execute on SYS packages GRANT EXECUTE ON SYS.AUTH_PACK TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.DBMS_SCHEDULER TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.DBMS_LOCK TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.UTL_INADDR TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.UTL_FILE TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.UTL_SMTP TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.UTL_TCP TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.DBMS_CRYPTO TO CONTAFIN_ORACLE; -- Directory privileges GRANT CREATE ANY DIRECTORY TO CONTAFIN_ORACLE; GRANT DROP ANY DIRECTORY TO CONTAFIN_ORACLE; -- Scheduler privileges GRANT CREATE JOB TO CONTAFIN_ORACLE; GRANT CREATE EXTERNAL JOB TO CONTAFIN_ORACLE; GRANT MANAGE SCHEDULER TO CONTAFIN_ORACLE; PROMPT Grants to CONTAFIN_ORACLE complete. -- ============================================================================ -- SECTION 2: PUBLIC GRANTS -- ============================================================================ PROMPT PROMPT [2/5] Granting public privileges... -- UTL packages for public use GRANT EXECUTE ON SYS.UTL_FILE TO PUBLIC; PROMPT Public grants complete. -- ============================================================================ -- SECTION 3: SYS PUBLIC SYNONYMS -- ============================================================================ PROMPT PROMPT [3/5] Creating SYS public synonyms... -- Synonyms for SYS procedures BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM SYN_NEWSCHEMA'; EXCEPTION WHEN OTHERS THEN NULL; END; / BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM SYN_NEWSCHEMAJOB'; EXCEPTION WHEN OTHERS THEN NULL; END; / BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM EXECUTESCRIPTOS'; EXCEPTION WHEN OTHERS THEN NULL; END; / BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM SYN_PINFO'; EXCEPTION WHEN OTHERS THEN NULL; END; / CREATE PUBLIC SYNONYM SYN_NEWSCHEMA FOR SYS.NEWSCHEMA; CREATE PUBLIC SYNONYM SYN_NEWSCHEMAJOB FOR SYS.NEWSCHEMAJOB; CREATE PUBLIC SYNONYM EXECUTESCRIPTOS FOR SYS.EXECUTESCRIPTOS; CREATE PUBLIC SYNONYM SYN_PINFO FOR SYS.PINFO; -- Grants on synonyms GRANT EXECUTE ON SYN_NEWSCHEMA TO PUBLIC; GRANT EXECUTE ON SYN_NEWSCHEMAJOB TO PUBLIC; GRANT EXECUTE ON EXECUTESCRIPTOS TO PUBLIC; GRANT EXECUTE ON SYN_PINFO TO PUBLIC; PROMPT SYS public synonyms complete. -- ============================================================================ -- SECTION 4: DIRECTORY DMPDIR -- ============================================================================ PROMPT PROMPT [4/5] Creating DMPDIR directory... BEGIN EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY DMPDIR AS ''C:\DMPDIR'''; DBMS_OUTPUT.PUT_LINE(' Directory DMPDIR created.'); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(' Directory DMPDIR: ' || SQLERRM); END; / GRANT READ, WRITE ON DIRECTORY DMPDIR TO PUBLIC; -- ============================================================================ -- SECTION 5: GRANTURI DE DICTIONAR PENTRU PACK_DIAG_SPATIU -- ============================================================================ -- Consolideaza scripturile de livrare din repo-ul COMUN: -- sys_2026_08_03_05_DIAG_SPATIU_GRANT - diagnosticul de baza -- sys_2026_08_03_07_DIAG_SPATIU_GRANT2 - sectiunea XE (plafon editie) -- sys_2026_08_06_07_DIAG_SPATIU_GRANT3 - provenienta segmentelor LOB/index -- -- CONTAFIN_ORACLE.PACK_DIAG_SPATIU are drepturi de definitor, iar rolul DBA NU se -- aplica in pachetele cu drepturi de definitor. Referintele statice la dba_*/v$* -- au nevoie de grant DIRECT catre user, altfel pachetul ramane INVALID si jobul -- DIAGSPATIU_ZILNIC nu ruleaza. -- -- ATENTIE la migrarea unui client existent: tabela de versiuni a lui PACK_MIGRARE -- traieste in CONTAFIN_ORACLE si vine cu DMP-ul. Baza noua va raporta scripturile -- sys_* de mai sus drept "deja aplicate", iar ROAACTUALIZARI le va sari - desi in -- SYS nu exista nimic. De aceea granturile se aplica de aici, la instalare, nu -- prin actualizator. -- -- Vederile absente pe versiunea/editia curenta sunt ignorate (ORA-00942). -- ============================================================================ PROMPT PROMPT [5/5] Granting data dictionary reads to CONTAFIN_ORACLE (PACK_DIAG_SPATIU)... DECLARE TYPE t_lista IS TABLE OF VARCHAR2(30); laObiecte t_lista := t_lista( -- sys_2026_08_03_05_DIAG_SPATIU_GRANT 'DBA_DATA_FILES', 'DBA_FREE_SPACE', 'DBA_TEMP_FILES', 'DBA_SEGMENTS', 'DBA_TAB_STATS_HISTORY', 'DBA_SCHEDULER_JOB_RUN_DETAILS', 'DBA_RECYCLEBIN', 'V_$INSTANCE', 'V_$DATABASE', 'V_$PARAMETER', 'V_$TRANSACTION', 'V_$TEMP_SPACE_HEADER', 'V_$FLASH_RECOVERY_AREA_USAGE', -- sys_2026_08_03_07_DIAG_SPATIU_GRANT2 'DBA_TABLESPACES', 'V_$VERSION', -- sys_2026_08_06_07_DIAG_SPATIU_GRANT3 'DBA_LOBS', 'DBA_LOB_PARTITIONS', 'DBA_INDEXES' ); lnAcordate PLS_INTEGER := 0; lnSarite PLS_INTEGER := 0; BEGIN FOR i IN 1 .. laObiecte.COUNT LOOP BEGIN EXECUTE IMMEDIATE 'GRANT SELECT ON SYS.' || laObiecte(i) || ' TO CONTAFIN_ORACLE'; lnAcordate := lnAcordate + 1; EXCEPTION WHEN OTHERS THEN IF SQLCODE = -942 THEN lnSarite := lnSarite + 1; DBMS_OUTPUT.PUT_LINE(' SKIP (absent pe aceasta versiune): ' || laObiecte(i)); ELSE RAISE; END IF; END; END LOOP; DBMS_OUTPUT.PUT_LINE(' Granturi de dictionar acordate: ' || lnAcordate || ' / ' || laObiecte.COUNT || ' (sarite: ' || lnSarite || ')'); END; / PROMPT Dictionary grants complete. PROMPT PROMPT ============================================================ PROMPT SYS Grants and Synonyms Installation Complete PROMPT ============================================================ PROMPT