Files
ROMFASTSQL/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-updates/README.md
Marius afb8266407 feat(oracle): granturi dictionar PACK_DIAG_SPATIU + sys-grants.sql legat in flux
Trei probleme gasite pregatind migrarea unui client de pe Oracle XE 11 pe XE 21c.

1. sys-grants.sql nu era rulat de niciun script PowerShell. Era referit doar din
   run-all-sys.sql, care se lanseaza manual. Pe orice instalare facuta cu
   RunAll.cmd lipseau sinonimele SYS (SYN_NEWSCHEMA, SYN_NEWSCHEMAJOB,
   EXECUTESCRIPTOS, SYN_PINFO), DMPDIR si granturile pe DBMS_SCHEDULER / UTL_* /
   DBMS_CRYPTO catre CONTAFIN_ORACLE. Legat ca STEP 3 in 04-create-synonyms-grants,
   dupa import - unde propriul header al fisierului spune ca trebuie rulat.

2. Granturile de dictionar cerute de PACK_DIAG_SPATIU lipseau complet. Consolidez
   sys_2026_08_03_05, sys_2026_08_03_07 si sys_2026_08_06_07 in sectiunea [5/5]
   din sys-grants.sql: SELECT direct pe 18 vederi dba_*/v$*, idempotent, cu
   ORA-00942 tratat pentru vederile absente pe alte editii/versiuni. Grantul prin
   rolul DBA nu ajunge - rolurile nu se aplica in pachetele cu drepturi de
   definitor, iar PACK_DIAG_SPATIU e exact asa; fara ele ramane INVALID si
   DIAGSPATIU_ZILNIC nu ruleaza.

3. Capcana la migrari: tabela de versiuni a lui PACK_MIGRARE traieste in
   CONTAFIN_ORACLE si vine cu DMP-ul, deci baza noua raporteaza scripturile sys_*
   drept aplicate si ROAACTUALIZARI le sare, desi in SYS nu exista nimic. De aceea
   obiectele si granturile SYS se pun la instalare, nu prin actualizator.
   Documentat in sys-updates/README.md si in ghidul nou.

07-verify-installation raporteaza nominal care dintre cele 18 granturi lipsesc.

Documentatie: docs/instalare-si-migrare-oracle.md - arbore de decizie intre
roa-windows-setup/ (client pe Windows), migration/ (Oracle in Docker pe LXC 108) si
new-roa-oracle-server/ (arhiva). Include de ce migration/ nu se foloseste la un
client Windows: creeaza PDB ROA cu OraclePass123, sinonime minimale, fara
SERVER_INFO / ROAUPDATE / ACL / sqlnet.ora, iar sys_objects.sql de acolo creeaza
INFO in SYSTEM - cauza cunoscuta a ORA-01653 la actualizare. Plus comenzile de
export din XE 11 / 10g si plafonul XE de 12 GB.

Corectat pe drum: dual-edition-test-plan si issues-se-prod indicau clonarea
VM 302 -> 303 pentru testul SE, dar 303 e ocupat de Win11-Adina. Mutat pe 304.

NETESTAT pe baza reala - VM 302 e oprit. Scripturile trec doar parse-check
PowerShell.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SzF1hf4aFS1tmJWpPMiwGp
2026-08-25 15:46:28 +03:00

2.6 KiB

SYS Updates Folder

This folder is for future patches and updates only, not for initial setup.

Important Note

The initial SYS objects (AUTH_PACK, NEWSCHEMA, EXECUTESCRIPTOS, etc.) are already consolidated in ../sys-objects.sql. You do NOT need to copy the old individual scripts (sys_2006_*.sql through sys_2026_*.sql) here.

Initial setup order:

  1. sys-objects.sql - Creates all SYS objects (tables, packages, procedures, views) — rulat de scripts/02-create-sys-objects.ps1
  2. Import CONTAFIN_ORACLE.dmp - Application schema — rulat de scripts/03-import-contafin.ps1
  3. sys-grants.sql - Grants, public synonyms, DMPDIR și granturile de dicționar cerute de PACK_DIAG_SPATIU (secțiunea [5/5], consolidând sys_2026_08_03_05, sys_2026_08_03_07 și sys_2026_08_06_07) — rulat de scripts/04-create-synonyms-grants.ps1, după import
  4. sys-updates/*.sql - (Optional) Post-install patches

Atenție la migrări. Tabela de versiuni a lui PACK_MIGRARE trăiește în CONTAFIN_ORACLE și vine cu DMP-ul, deci pe baza nouă ROAACTUALIZARI va considera scripturile sys_* deja aplicate și le va sări — deși în SYS nu există nimic. Orice sys_* necesar unei instalări curate trebuie consolidat în pașii 1-3 de mai sus, nu lăsat pe seama actualizatorului.

When to Use This Folder

Place scripts here when you need to:

  • Add new grants or privileges after initial setup
  • Patch AUTH_PACK or other SYS objects
  • Add new SYS procedures/functions
  • Fix issues discovered after deployment

Naming Convention

Use date-based naming for proper ordering:

YYYY_MM_DD_##_DESCRIPTION.sql

Examples:

  • 2026_02_15_01_AUTH_PACK_FIX.sql
  • 2026_03_01_01_NEW_GRANT.sql

How Scripts Are Executed

  1. The run-sys-updates.sql master script executes all .sql files in this folder
  2. Scripts run in alphabetical order (hence the date prefix)
  3. Each script should be idempotent (safe to run multiple times)

Template

-- ============================================================================
-- YYYY_MM_DD_##_DESCRIPTION
-- ============================================================================
-- Author: Your Name
-- Date: YYYY-MM-DD
-- Description: What this script does
-- ============================================================================

SET SERVEROUTPUT ON
WHENEVER SQLERROR CONTINUE

-- Your SQL here

-- Update version tracking (optional)
-- EXEC CONTAFIN_ORACLE.PACK_MIGRARE.UpdateVersiune('sys_YYYY_MM_DD_##_DESCRIPTION','','SYS');
-- COMMIT;