Add SYS grants and master installation scripts for ROA
- run-all-sys.sql: Master script that executes sys-objects.sql, sys-grants.sql, and any scripts in sys-updates/ folder in order - sys-grants.sql: Grants EXECUTE on AUTH_PACK, DBMS_SCHEDULER, DBMS_LOCK, UTL_* packages to CONTAFIN_ORACLE; creates public synonyms for SYS procedures; creates DMPDIR directory Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
109
proxmox/lxc108-oracle/roa-windows-setup/sql/run-all-sys.sql
Normal file
109
proxmox/lxc108-oracle/roa-windows-setup/sql/run-all-sys.sql
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
-- ============================================================================
|
||||||
|
-- MASTER SCRIPT: RUN ALL SYS SCRIPTS
|
||||||
|
-- ============================================================================
|
||||||
|
-- Executes all SYS scripts in correct order:
|
||||||
|
-- 1. sys-objects.sql - Core objects (AUTH_PACK, tables, procedures)
|
||||||
|
-- 2. sys-grants.sql - Grants and synonyms
|
||||||
|
-- 3. sys-updates/*.sql - Additional updates (in alphabetical order)
|
||||||
|
--
|
||||||
|
-- Usage:
|
||||||
|
-- sqlplus sys/password@service as sysdba @run-all-sys.sql
|
||||||
|
--
|
||||||
|
-- ============================================================================
|
||||||
|
|
||||||
|
SET ECHO OFF
|
||||||
|
SET FEEDBACK ON
|
||||||
|
SET SERVEROUTPUT ON SIZE UNLIMITED
|
||||||
|
WHENEVER SQLERROR CONTINUE
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT MASTER SYS INSTALLATION
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT
|
||||||
|
|
||||||
|
-- Get script directory (assuming run from sql/ folder)
|
||||||
|
DEFINE script_dir = .
|
||||||
|
|
||||||
|
-- ============================================================================
|
||||||
|
-- STEP 1: Core SYS Objects
|
||||||
|
-- ============================================================================
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT STEP 1: Installing core SYS objects...
|
||||||
|
PROMPT ============================================================
|
||||||
|
@sys-objects.sql
|
||||||
|
|
||||||
|
-- ============================================================================
|
||||||
|
-- STEP 2: SYS Grants and Synonyms
|
||||||
|
-- ============================================================================
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT STEP 2: Installing SYS grants and synonyms...
|
||||||
|
PROMPT ============================================================
|
||||||
|
@sys-grants.sql
|
||||||
|
|
||||||
|
-- ============================================================================
|
||||||
|
-- STEP 3: Additional SYS Updates
|
||||||
|
-- ============================================================================
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT STEP 3: Running additional SYS updates...
|
||||||
|
PROMPT ============================================================
|
||||||
|
|
||||||
|
-- Note: SQL*Plus doesn't support dynamic script execution from folder
|
||||||
|
-- Use PowerShell script 02-create-sys-objects.ps1 for full automation
|
||||||
|
-- Or manually list scripts here:
|
||||||
|
|
||||||
|
-- Example:
|
||||||
|
-- @sys-updates/2026_01_28_01_example.sql
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT To run additional updates, use PowerShell:
|
||||||
|
PROMPT .\scripts\02-create-sys-objects.ps1
|
||||||
|
PROMPT
|
||||||
|
PROMPT Or add @sys-updates/scriptname.sql lines above
|
||||||
|
PROMPT
|
||||||
|
|
||||||
|
-- ============================================================================
|
||||||
|
-- VERIFICATION
|
||||||
|
-- ============================================================================
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT VERIFICATION
|
||||||
|
PROMPT ============================================================
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT SYS custom objects:
|
||||||
|
SELECT object_name, object_type, status
|
||||||
|
FROM dba_objects
|
||||||
|
WHERE owner = 'SYS'
|
||||||
|
AND object_name IN (
|
||||||
|
'AUTH_PACK', 'AUTH_DETALII', 'AUTH_SERII', 'VAUTH_SERII',
|
||||||
|
'EXECUTESCRIPTOS', 'NEWSCHEMA', 'NEWSCHEMAJOB', 'UPDATESQLPLUS',
|
||||||
|
'PINFO', 'INFO', 'SEQ_AUTH_SERII'
|
||||||
|
)
|
||||||
|
ORDER BY object_type, object_name;
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT SYS public synonyms:
|
||||||
|
SELECT synonym_name, table_owner, table_name
|
||||||
|
FROM dba_synonyms
|
||||||
|
WHERE owner = 'PUBLIC'
|
||||||
|
AND table_owner = 'SYS'
|
||||||
|
AND synonym_name IN ('SYN_NEWSCHEMA', 'SYN_NEWSCHEMAJOB', 'EXECUTESCRIPTOS', 'SYN_PINFO')
|
||||||
|
ORDER BY synonym_name;
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT CONTAFIN_ORACLE grants from SYS:
|
||||||
|
SELECT privilege, table_name
|
||||||
|
FROM dba_tab_privs
|
||||||
|
WHERE grantee = 'CONTAFIN_ORACLE'
|
||||||
|
AND grantor = 'SYS'
|
||||||
|
ORDER BY table_name;
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT MASTER SYS INSTALLATION COMPLETE
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT
|
||||||
111
proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql
Normal file
111
proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
-- ============================================================================
|
||||||
|
-- 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/4] 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/4] 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/4] 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/4] 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;
|
||||||
|
|
||||||
|
PROMPT
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT SYS Grants and Synonyms Installation Complete
|
||||||
|
PROMPT ============================================================
|
||||||
|
PROMPT
|
||||||
Reference in New Issue
Block a user