From e69fc07e4649a83696c6ccff7344b7bc2a1e0acf Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 31 Aug 2026 13:56:56 +0300 Subject: [PATCH] fix(roa-setup): sinonime publice si obiecte SYS lipsa pe serverele instalate cu kitul Pe VADECO (instalat 25.08.2026) salvarea in istoric coduri fiscale pica cu PLS-00905: VADECO.PACK_PARTENERI invalid. Cauza: pachetul isi declara parametrii ca ISTORIC_CODURI_FISCALE.%TYPE, nume necalificat, iar sinonimul public lipsea. Serverul avea 81 de sinonime publice catre CONTAFIN_ORACLE, productia 10.0.20.36 are 100 -- lipseau exact 20. Gaura apare pentru ca sinonimele publice nu fac parte dintr-un export schema-mode (impdp nu le aduce), singurul loc care le creeaza este o lista enumerata manual, iar CONTAFIN_ORACLE.VERSIUNE vine cu DMP-ul si marcheaza scripturile co_*/sys_* drept aplicate, deci nici ROAACTUALIZARI nu le mai ruleaza. Din acelasi motiv lipsea si SYS.NEWSCHEMAPROGRESS, o functie din 2014. - synonyms-public.sql: cele 20 de sinonime (81 -> 101 CREATE) - sys-objects.sql: pas [9b/10], SYS.NEWSCHEMAPROGRESS (sys_2014_11_06_01_FIRMA) - sys-grants.sql: SYN_NEWSCHEMAPROGRESS in [3/6]; granturi directe SELECT pe SYS.DBA_DATAPUMP_JOBS si SYS.AUTH_SERII in [1/6] (sys_2013_01_23_02) - docs/refresh-scripturi-dupa-instalare.md: de ce completarea listelor e paliativ si ce ar trebui sa faca un pas de refresh rulat dupa instalare, nu la instalare - sys-updates/README.md, CLAUDE.md: trimiteri catre documentul nou Aplicat pe VADECO: PACK_PARTENERI si PACK_IMPORT_COMENZI sunt VALID pe VADECO, DANUBE, LACERTA si SPACE. Obiectele ramase invalide sunt cele preexistente, invalide si pe 10.0.20.36. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01J7vUBDUY5hvLwRZ45Uqzcf --- CLAUDE.md | 1 + docs/refresh-scripturi-dupa-instalare.md | 92 +++++++++++++++++++ .../roa-windows-setup/sql/synonyms-public.sql | 63 +++++++++++++ .../roa-windows-setup/sql/sys-grants.sql | 11 +++ .../roa-windows-setup/sql/sys-objects.sql | 50 +++++++++- .../sql/sys-updates/README.md | 8 ++ 6 files changed, 223 insertions(+), 2 deletions(-) create mode 100644 docs/refresh-scripturi-dupa-instalare.md diff --git a/CLAUDE.md b/CLAUDE.md index dd7ba7c..e34bace 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -53,6 +53,7 @@ input/ # Oracle DMP files for import - **ROA Windows setup scripts (XE/SE 21c)**: `proxmox/lxc108-oracle/roa-windows-setup/README.md` - **Conectarea clienților vechi (Instant Client 10/11) la 21c — ORA-28040 / ORA-01017 / ORA-12514**: `docs/lectii-conectare-client-oracle.md` - **Aliasul TNS lipsă pe server — eșecuri tăcute (actualizarea ROA „SUCCEEDED" fără să aplice nimic; exportul zilnic `backupora.exe` scrie „DONE" cu directorul gol)**: `docs/lectii-actualizare-roa-alias-tns.md` +- **Sinonime publice și obiecte SYS lipsă pe un server nou — refresh după instalare, nu liste crescute în kit**: `docs/refresh-scripturi-dupa-instalare.md` - **Kit de instalare pentru client (DMP-uri șablon + scripturi, gata de dus la client)**: `proxmox/lxc108-oracle/scripts/build-client-kit.ps1` - **VM 302 test environment for ROA setup**: `proxmox/vm302-oracle-test/README.md` - **Diagnostic spațiu Oracle la clienți (job zilnic + emailuri)**: `docs/diagnostic-spatiu-clienti.md` diff --git a/docs/refresh-scripturi-dupa-instalare.md b/docs/refresh-scripturi-dupa-instalare.md new file mode 100644 index 0000000..30c3b0a --- /dev/null +++ b/docs/refresh-scripturi-dupa-instalare.md @@ -0,0 +1,92 @@ +# Scripturile de instalare trebuie reîmprospătate la o rulare ulterioară, nu la instalare + +**Constatat la VADECO, 2026-08-31.** Serverul fusese instalat pe 25.08.2026 cu kitul Windows și +avea 81 de sinonime publice către `CONTAFIN_ORACLE`, în timp ce producția ROMFAST (10.0.20.36) are +100. Lipseau exact 20, printre care `ISTORIC_CODURI_FISCALE`, `PACK_ISTORIC_CF` și toate +`PLJSON*` — de unde `PLS-00905: object VADECO.PACK_PARTENERI is invalid` la salvarea în istoric +coduri fiscale. Separat, lipsea `SYS.NEWSCHEMAPROGRESS`, o funcție din 2014. + +## De ce apare gaura + +Trei mecanisme care se acoperă unul pe altul: + +1. **Sinonimele publice nu fac parte dintr-un export schema-mode.** `expdp schemas=CONTAFIN_ORACLE` + scoate tabelele, pachetele, tipurile și granturile de obiect, dar sinonimele publice aparțin lui + `PUBLIC`, nu schemei. `impdp` nu le aduce niciodată. Obiectele ajung pe server; numele prin care + se ajunge la ele, nu. +2. **Singurul loc care le creează este o listă enumerată manual** — + `roa-windows-setup/sql/synonyms-public.sql`, plus `sys-objects.sql` și `sys-grants.sql` pentru + partea SYS. Listele se scriu la un moment dat și rămân acolo. +3. **`ROAACTUALIZARI` nu repară gaura, pentru că nu știe că există.** Tabela de versiuni a lui + `PACK_MIGRARE` trăiește în `CONTAFIN_ORACLE` și **vine cu DMP-ul**, deci pe baza nouă + scripturile `co_*` și `sys_*` figurează deja ca aplicate și sunt sărite — deși în `SYS` și în + `PUBLIC` nu s-a creat nimic. Vezi și `docs/lectii-actualizare-roa-alias-tns.md`. + +Rezultatul: o instalare nouă pornește cu **obiectele la zi** (vin din DMP), cu **sinonimele și +obiectele SYS de la data ultimei actualizări manuale a listelor**, și cu un contor care spune că +totul e aplicat. Cu cât DMP-ul e mai nou față de liste, cu atât gaura e mai mare. + +## Direcția corectă: refresh după instalare, nu liste crescute la nesfârșit + +Completarea listelor din kit rezolvă instalarea de azi, nu problema. Orice obiect central adăugat +după ultima editare a listelor reintroduce exact aceeași situație, iar defectul se vede abia la +client, ca pachet invalid. + +Pasul care lipsește este un **refresh, rulat după instalare și re-rulabil oricând**, care nu +depinde de tabela de versiuni venită cu DMP-ul: + +- **Nu la instalare.** La instalare, `synonyms-public.sql` / `sys-objects.sql` / `sys-grants.sql` + rămân ce sunt: aduc baza într-o stare pornibilă. Nu au de unde ști ce s-a mai adăugat central + între momentul în care au fost scrise și momentul instalării. +- **La o rulare ulterioară**, un pas separat compară starea reală a bazei cu sursa de adevăr și + completează diferența. Idempotent, fără a scrie în `VERSIUNE`. + +### Ce trebuie să facă refresh-ul + +1. **Sinonimele publice** — generate, nu enumerate. Sursa: obiectele `CONTAFIN_ORACLE` cu grant + către `PUBLIC` care nu au deja un sinonim public **cu același nume** (nu cu același obiect + țintă — atenție, există și sinonime `SYN_`, iar un filtru pe `table_name` raportează + numele simplu ca acoperit deși nu se rezolvă). Alternativ, exportate din 10.0.20.36. +2. **Scripturile `sys_*` mai noi decât kitul** — aplicate pe baza a ceea ce există efectiv în `SYS`, + nu pe baza a ce spune `CONTAFIN_ORACLE.VERSIUNE`. Corpusul curent: + `D:\ROA\DATABASE\SCRIPTURI_CLAR\\\sys_*.sql`. Copia din + `proxmox/lxc108-oracle/new-roa-oracle-server/` este veche și incompletă (nu conține niciun + script din 2026) — nu se folosește ca sursă. +3. **Verificare la final** — obiecte invalide pe `CONTAFIN_ORACLE` și pe schemele de firmă. Cele + preexistente sunt cunoscute și invalide și pe producție (`EMAILINCASARI`, + `RESPONSABILI2PARTENERI`, `PACK_IMPORT`, `PACK_HOTEL`, `PACK_RESTAURANT`, + `ACTUALIZARE_STOC_072010`, `CRM_V*`, `VCRM_*`, `VBALANTA_CLIENTI`, `VNOM_INTRET`); ele nu sunt + semnal de instalare greșită. + +### Referința de comparație + +**10.0.20.36 (ROMFAST producție, Oracle 19c SE2, non-CDB, SID ROA).** + +PDB-ul `ROA` din laborator (LXC 108) **nu** e referință validă: are 252 de sinonime publice, multe +pentru obiecte de dezvoltare (`TEST_*`, `PLSQL_PROFILER_*`, `SYS_EXPORT_SCHEMA_*`) care nu există +pe niciun server de producție. O comparație cu laboratorul dă 171 de sinonime „lipsă", din care +doar 20 sunt reale. + +Atenție și în sens invers: pentru **versiunile** obiectelor SYS, ROMFAST e în urmă — `AUTH_PACK` de +pe VADECO e mai nou (spec 62 vs 42 linii, body 533 vs 507). ROMFAST e referință pentru *ce lipsește +cu totul*, nu pentru cât de nou e ce există. + +## Ce s-a făcut pe 2026-08-31 (paliativ, nu soluția) + +Listele din kit au fost completate cu ce lipsea, iar VADECO a fost reparat punctual: + +- `roa-windows-setup/sql/synonyms-public.sql` — cele 20 de sinonime (81 → 101 `CREATE`). +- `roa-windows-setup/sql/sys-objects.sql` — pas `[9b/10]`, `SYS.NEWSCHEMAPROGRESS` + (din `sys_2014_11_06_01_FIRMA.sql`). +- `roa-windows-setup/sql/sys-grants.sql` — `SYN_NEWSCHEMAPROGRESS` în `[3/6]`; granturile directe + `SELECT` pe `SYS.DBA_DATAPUMP_JOBS` și `SYS.AUTH_SERII` către `CONTAFIN_ORACLE` în `[1/6]` + (din `sys_2013_01_23_02.sql`). +- Aplicat pe VADECO cu două scripturi ad-hoc (create public synonym × 20, respectiv funcția + SYS + sinonimul + granturile), rulate ca `SYSDBA` pe `XEPDB1`. Nu sunt păstrate în repo: conținutul + lor este exact ce s-a consolidat mai sus în kit, deci se regenerează de acolo. + După rulare, `PACK_PARTENERI` și `PACK_IMPORT_COMENZI` sunt VALID pe VADECO, DANUBE, LACERTA și + SPACE. + +Asta închide cazul VADECO și instalările făcute de acum înainte. **Nu** închide problema: listele +sunt tot enumerate manual și vor rămâne din nou în urmă. Pasul de refresh descris mai sus este ce +mai lipsește. diff --git a/proxmox/lxc108-oracle/roa-windows-setup/sql/synonyms-public.sql b/proxmox/lxc108-oracle/roa-windows-setup/sql/synonyms-public.sql index 402ca50..0862c12 100644 --- a/proxmox/lxc108-oracle/roa-windows-setup/sql/synonyms-public.sql +++ b/proxmox/lxc108-oracle/roa-windows-setup/sql/synonyms-public.sql @@ -289,6 +289,69 @@ END; CREATE SYNONYM CONTAFIN_ORACLE.VDEF_PROGRAME_SERII FOR SYS.VAUTH_SERII; +-- ============================================================================ +-- SECTION: ISTORIC CODURI FISCALE, PLJSON, DIAGNOSTIC SPATIU +-- ============================================================================ +-- Adaugate 2026-08-31. Lipseau din lista si de aici vine PLS-00905 la salvarea +-- in istoric coduri fiscale pe orice server instalat dupa iulie 2026: +-- VADECO.PACK_PARTENERI declara parametrii ca ISTORIC_CODURI_FISCALE.%TYPE, +-- nume necalificat, iar schemele de firma nu au sinonime private -- fara sinonim +-- public numele nu se rezolva si pachetul ramane INVALID. +-- +-- De ce nu ajung altfel pe server: sinonimele publice NU fac parte dintr-un export +-- schema-mode, deci impdp nu le aduce niciodata; iar CONTAFIN_ORACLE.VERSIUNE vine +-- cu DMP-ul si marcheaza co_2026_07_31_* / co_2026_08_* drept aplicate, deci nici +-- ROAACTUALIZARI nu le mai creeaza. Singurul loc care le poate crea este fisierul +-- de fata. Obiectele tinta vin cu DMP-ul, doar sinonimele lipsesc. +-- +-- Lista verificata contra productiei ROMFAST 10.0.20.36 (100 de sinonime publice +-- catre CONTAFIN_ORACLE); acestea sunt exact cele 20 care lipseau. +-- ============================================================================ + +PROMPT Istoric coduri fiscale / PLJSON / diagnostic spatiu... + +DROP PUBLIC SYNONYM ISTORIC_CODURI_FISCALE; +DROP PUBLIC SYNONYM VISTORIC_CODURI_FISCALE; +DROP PUBLIC SYNONYM PACK_ISTORIC_CF; +DROP PUBLIC SYNONYM DIAG_SPATIU_LOG; +DROP PUBLIC SYNONYM PACK_DIAG_SPATIU; +DROP PUBLIC SYNONYM PLJSON; +DROP PUBLIC SYNONYM PLJSON_BOOL; +DROP PUBLIC SYNONYM PLJSON_ELEMENT; +DROP PUBLIC SYNONYM PLJSON_ELEMENT_ARRAY; +DROP PUBLIC SYNONYM PLJSON_EXT; +DROP PUBLIC SYNONYM PLJSON_LIST; +DROP PUBLIC SYNONYM PLJSON_NARRAY; +DROP PUBLIC SYNONYM PLJSON_NULL; +DROP PUBLIC SYNONYM PLJSON_NUMBER; +DROP PUBLIC SYNONYM PLJSON_PARSER; +DROP PUBLIC SYNONYM PLJSON_PATH; +DROP PUBLIC SYNONYM PLJSON_PATH_SEGMENT; +DROP PUBLIC SYNONYM PLJSON_PRINTER; +DROP PUBLIC SYNONYM PLJSON_STRING; +DROP PUBLIC SYNONYM PLJSON_VARRAY; + +CREATE PUBLIC SYNONYM DIAG_SPATIU_LOG FOR CONTAFIN_ORACLE.DIAG_SPATIU_LOG; +CREATE PUBLIC SYNONYM ISTORIC_CODURI_FISCALE FOR CONTAFIN_ORACLE.ISTORIC_CODURI_FISCALE; +CREATE PUBLIC SYNONYM PACK_DIAG_SPATIU FOR CONTAFIN_ORACLE.PACK_DIAG_SPATIU; +CREATE PUBLIC SYNONYM PACK_ISTORIC_CF FOR CONTAFIN_ORACLE.PACK_ISTORIC_CF; +CREATE PUBLIC SYNONYM PLJSON FOR CONTAFIN_ORACLE.PLJSON; +CREATE PUBLIC SYNONYM PLJSON_BOOL FOR CONTAFIN_ORACLE.PLJSON_BOOL; +CREATE PUBLIC SYNONYM PLJSON_ELEMENT FOR CONTAFIN_ORACLE.PLJSON_ELEMENT; +CREATE PUBLIC SYNONYM PLJSON_ELEMENT_ARRAY FOR CONTAFIN_ORACLE.PLJSON_ELEMENT_ARRAY; +CREATE PUBLIC SYNONYM PLJSON_EXT FOR CONTAFIN_ORACLE.PLJSON_EXT; +CREATE PUBLIC SYNONYM PLJSON_LIST FOR CONTAFIN_ORACLE.PLJSON_LIST; +CREATE PUBLIC SYNONYM PLJSON_NARRAY FOR CONTAFIN_ORACLE.PLJSON_NARRAY; +CREATE PUBLIC SYNONYM PLJSON_NULL FOR CONTAFIN_ORACLE.PLJSON_NULL; +CREATE PUBLIC SYNONYM PLJSON_NUMBER FOR CONTAFIN_ORACLE.PLJSON_NUMBER; +CREATE PUBLIC SYNONYM PLJSON_PARSER FOR CONTAFIN_ORACLE.PLJSON_PARSER; +CREATE PUBLIC SYNONYM PLJSON_PATH FOR CONTAFIN_ORACLE.PLJSON_PATH; +CREATE PUBLIC SYNONYM PLJSON_PATH_SEGMENT FOR CONTAFIN_ORACLE.PLJSON_PATH_SEGMENT; +CREATE PUBLIC SYNONYM PLJSON_PRINTER FOR CONTAFIN_ORACLE.PLJSON_PRINTER; +CREATE PUBLIC SYNONYM PLJSON_STRING FOR CONTAFIN_ORACLE.PLJSON_STRING; +CREATE PUBLIC SYNONYM PLJSON_VARRAY FOR CONTAFIN_ORACLE.PLJSON_VARRAY; +CREATE PUBLIC SYNONYM VISTORIC_CODURI_FISCALE FOR CONTAFIN_ORACLE.VISTORIC_CODURI_FISCALE; + PROMPT PROMPT ======================================== PROMPT Public Synonym Creation Complete diff --git a/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql b/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql index 88a2775..8b441ce 100644 --- a/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql +++ b/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql @@ -43,6 +43,13 @@ GRANT EXECUTE ON SYS.DBMS_CRYPTO TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.EXECUTESCRIPTOS TO CONTAFIN_ORACLE; GRANT EXECUTE ON SYS.UPDATESQLPLUS TO CONTAFIN_ORACLE; +-- Consolidat din sys_2013_01_23_02.sql si din starea productiei 10.0.20.36. +-- Rolurile (EXP_FULL_DATABASE / SELECT_CATALOG_ROLE) nu se aplica in PL/SQL cu +-- drepturi de definitor, deci grantul trebuie sa fie direct. Citit de fluxul de +-- adaugare firma noua (NewSchemaJob ruleaza impdp, NEWSCHEMAPROGRESS il urmareste). +GRANT SELECT ON SYS.DBA_DATAPUMP_JOBS TO CONTAFIN_ORACLE; +GRANT SELECT ON SYS.AUTH_SERII TO CONTAFIN_ORACLE; + -- Directory privileges GRANT CREATE ANY DIRECTORY TO CONTAFIN_ORACLE; GRANT DROP ANY DIRECTORY TO CONTAFIN_ORACLE; @@ -80,17 +87,21 @@ BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM EXECUTESCRIPTOS'; EXCEPTION WHEN OT / BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM SYN_PINFO'; EXCEPTION WHEN OTHERS THEN NULL; END; / +BEGIN EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM SYN_NEWSCHEMAPROGRESS'; 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; +CREATE PUBLIC SYNONYM SYN_NEWSCHEMAPROGRESS FOR SYS.NEWSCHEMAPROGRESS; -- 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; +GRANT EXECUTE ON SYN_NEWSCHEMAPROGRESS TO PUBLIC; PROMPT SYS public synonyms complete. diff --git a/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-objects.sql b/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-objects.sql index e15c548..0727d9c 100644 --- a/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-objects.sql +++ b/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-objects.sql @@ -1122,6 +1122,52 @@ end; / +-- ============================================================================ +-- SYS.NEWSCHEMAPROGRESS +-- ============================================================================ +-- Consolidat din sys_2014_11_06_01_FIRMA.sql (versiunea curenta, neimpachetata; +-- sys_2012_06_21_01_FIRMA.sql o crea impachetata). NU era in acest kit: pe o +-- instalare curata functia lipsea complet, iar tabela de versiuni vine cu DMP-ul +-- si o marcheaza drept aplicata, deci ROAACTUALIZARI nu o mai ruleaza niciodata. +-- Constatat lipsa pe serverul VADECO nou, prezenta pe productia 10.0.20.36. +-- +-- Clientul ROA o apeleaza ca sa afiseze progresul importului la adaugarea unei +-- firme noi (NewSchema/NewSchemaJob ruleaza impdp, iar asta citeste starea din +-- dba_datapump_jobs). Sinonimul public SYN_NEWSCHEMAPROGRESS si grantul se fac +-- in sql\sys-grants.sql, sectiunea [3/6]. +-- ============================================================================ + +PROMPT +PROMPT [9b/10] Creating SYS.NEWSCHEMAPROGRESS function... +CREATE OR REPLACE FUNCTION SYS.NEWSCHEMAPROGRESS(tcSchema VARCHAR2) + RETURN VARCHAR2 IS + Result VARCHAR2(10000); + lcSchema VARCHAR2(100) := UPPER(tcSchema); +BEGIN + BEGIN + SELECT state + INTO Result + FROM dba_datapump_jobs + WHERE job_name = lcSchema + AND OPERATION = 'IMPORT' + AND JOB_MODE = 'SCHEMA'; + + IF UPPER(Result) = 'EXECUTING' THEN + Result := 'IN EXECUTIE'; + ELSIF UPPER(Result) = 'COMPLETING' THEN + Result := 'SE FINALIZEAZA'; + END IF; + EXCEPTION + WHEN NO_DATA_FOUND THEN + Result := 'FINALIZAT'; + END; + + RETURN(Result); +END NEWSCHEMAPROGRESS; +/ +PROMPT NEWSCHEMAPROGRESS created. + + -- ============================================================================ -- SECTION 7: UTL_MAIL -- ============================================================================ @@ -1158,7 +1204,7 @@ WHERE owner = 'SYS' AND object_name IN ( 'AUTH_PACK', 'AUTH_DETALII', 'AUTH_SERII', 'VAUTH_SERII', 'EXECUTESCRIPTOS', 'NEWSCHEMA', 'NEWSCHEMAJOB', 'UPDATESQLPLUS', - 'PINFO', 'INFO', 'SEQ_AUTH_SERII' + 'PINFO', 'INFO', 'SEQ_AUTH_SERII', 'NEWSCHEMAPROGRESS' ) ORDER BY object_type, object_name; @@ -1170,7 +1216,7 @@ WHERE owner = 'SYS' AND object_name IN ( 'AUTH_PACK', 'AUTH_DETALII', 'AUTH_SERII', 'VAUTH_SERII', 'EXECUTESCRIPTOS', 'NEWSCHEMA', 'NEWSCHEMAJOB', 'UPDATESQLPLUS', - 'PINFO', 'INFO', 'SEQ_AUTH_SERII' + 'PINFO', 'INFO', 'SEQ_AUTH_SERII', 'NEWSCHEMAPROGRESS' ) AND status != 'VALID'; diff --git a/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-updates/README.md b/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-updates/README.md index a8e328c..49b3b5b 100644 --- a/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-updates/README.md +++ b/proxmox/lxc108-oracle/roa-windows-setup/sql/sys-updates/README.md @@ -24,6 +24,14 @@ scripts (`sys_2006_*.sql` through `sys_2026_*.sql`) here. > 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. +> +> **Consolidarea în pașii 1-3 este însă un paliativ, nu soluția.** Listele din `sys-objects.sql`, +> `sys-grants.sql` și `synonyms-public.sql` sunt enumerate manual și rămân în urmă imediat ce se +> mai adaugă un obiect central. Ce lipsește este un pas de **refresh, rulat după instalare și +> re-rulabil oricând**, care compară starea reală a bazei cu sursa de adevăr (producția +> 10.0.20.36 și `D:\ROA\DATABASE\SCRIPTURI_CLAR\\\sys_*.sql`) și completează diferența, +> fără să se uite la tabela de versiuni venită cu DMP-ul. +> Vezi `docs/refresh-scripturi-dupa-instalare.md`. ## When to Use This Folder