Files
ROMFASTSQL/docs/handoff_oracle-instalare-migrare-sys-grants.md
Marius 3a7e751fc1 docs: handoff pentru testarea pe VM 302
Stare, inventar livrabile cu fisier:linie, pasii de test pe VM 302 si ce s-a
stabilit deja - ca sesiunea urmatoare sa nu reia analiza directoarelor.

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

7.2 KiB

Handoff — granturi dicționar PACK_DIAG_SPATIU + sys-grants.sql legat în flux

Data: 2026-08-25 Branch: feat/oracle-instalare-migrare-sys-grants Commit: afb8266 Bloc următor: testare pe VM 302 (oprit acum, trebuie pornit)


1. De unde a pornit

Client vechi cu Oracle XE 11 pe Windows; se instalează Oracle 21c XE pe un server nou și se mută CONTAFIN_ORACLE + schemele de firme. Întrebarea inițială: care dintre directoarele de migrare se folosește.

Răspuns stabilit (nu se mai re-analizează): proxmox/lxc108-oracle/roa-windows-setup/. Motivele complete sunt în proxmox/lxc108-oracle/docs/instalare-si-migrare-oracle.md. migration/ țintește Oracle în Docker pe LXC 108; new-roa-oracle-server/ e arhivă istorică.


2. Livrabile — inventar

Cod

Fișier:linie Ce s-a schimbat
proxmox/lxc108-oracle/roa-windows-setup/sql/sys-grants.sql:107-172 secțiune nouă [5/5] — GRANT SELECT direct pe 18 vederi dba_*/v$* către CONTAFIN_ORACLE; bloc PL/SQL idempotent, ORA-00942 tratat; secțiunile 1-4 renumerotate [n/4] → [n/5]
proxmox/lxc108-oracle/roa-windows-setup/scripts/04-create-synonyms-grants.ps1:147-166 STEP 3 nou — execută sys-grants.sql ca SYS/SYSDBA, după import
…/04-create-synonyms-grants.ps1:225-258 verificare DICT_GRANTS (avertizează sub 15 din 18)
…/04-create-synonyms-grants.ps1 (header, validare căi, summary) $sysGrantsScript, Test-Path, linii de summary
proxmox/lxc108-oracle/roa-windows-setup/scripts/07-verify-installation.ps1:255-305 secțiune de raport „Dictionary Grants (PACK_DIAG_SPATIU)" — listează nominal care lipsesc

Ambele .ps1 trec [Parser]::ParseFile fără erori. Atât s-a verificat.

Documentație

  • nou: proxmox/lxc108-oracle/docs/instalare-si-migrare-oracle.md
  • actualizate: roa-windows-setup/README.md, migration/README.md, lxc108-oracle/README.md, proxmox/README.md, CLAUDE.md, roa-windows-setup/sql/sys-updates/README.md, vm302-oracle-test/README.md, vm302-oracle-test/docs/dual-edition-test-plan.md, vm302-oracle-test/docs/issues-se-prod.md

3. Ce e terminat și ce nu

Terminat: editările pe disc, commit făcut, working tree curat.

NU e terminat: nimic nu a fost rulat pe o bază Oracle reală. VM 302 era oprit (qm list → 302 oracle-test-302 stopped) și nu l-am pornit. Nicio afirmație despre comportamentul la rulare nu e verificată.


4. Blocul următor — testare pe VM 302

ssh root@10.0.20.201 "qm start 302"      # ~2-3 min boot
ssh root@10.0.20.201 "qm status 302"

VM 302: oracle-test-302, 10.0.20.130, hostname ROACENTRAL, Windows 11, Oracle 21c XE (CDB/PDB, service XEPDB1), user romfast. RDP: mstsc /v:10.0.20.130.

Scripturile pe VM stau în C:\roa-setup\ — sunt o copie, nu un clone al repo-ului. Primul pas: sincronizează C:\roa-setup\ cu branch-ul feat/oracle-instalare-migrare-sys-grants, altfel testezi versiunea veche. Minimum de copiat: sql\sys-grants.sql, scripts\04-create-synonyms-grants.ps1, scripts\07-verify-installation.ps1.

DMP-uri deja prezente pe VM în C:\DMPDIR\: contafin_oracle_72001.dmp (276 MB), capidavatour_72001.dmp (76 MB).

Ciclul de test:

cd C:\roa-setup
.\scripts\99-uninstall-roa.ps1 -SystemPassword "romfastsoft" -Force
.\RunAll.cmd                                    # ~8 min
.\Run.cmd 07-verify-installation.ps1

Logurile scriu în C:\roa-setup\logs\<script>_<yyyyMMdd_HHmmss>.log.

Ce trebuie să arate testul

  1. 04-create-synonyms-grants.ps1 — STEP 3 rulează sys-grants.sql; în log: Dictionary grants for PACK_DIAG_SPATIU: 18 / 18.
  2. 07-verify-installation.ps1 — secțiunea „Dictionary Grants (PACK_DIAG_SPATIU)" cu Status: OK.
  3. Verificare independentă, direct în bază:
    SELECT COUNT(*) FROM dba_tab_privs
     WHERE grantee = 'CONTAFIN_ORACLE' AND grantor = 'SYS' AND privilege = 'SELECT';
    
  4. Sinonimele SYS care înainte nu se creau (regresia găsită la punctul 1 din commit):
    SELECT synonym_name FROM dba_synonyms
     WHERE owner = 'PUBLIC' AND table_owner = 'SYS'
       AND synonym_name IN ('SYN_NEWSCHEMA','SYN_NEWSCHEMAJOB','EXECUTESCRIPTOS','SYN_PINFO');
    
    Trebuie 4 rânduri. Dacă apar 4, e confirmarea că STEP 3 chiar rulează.

Notă: DMP-ul de test contafin_oracle_72001.dmp s-ar putea să nu conțină PACK_DIAG_SPATIU (pachetul e livrat prin co_2026_08_* din repo-ul COMUN). Testul verifică granturile, nu compilarea pachetului. Dacă vrei și compilarea, pachetul trebuie adus separat din D:\roa\roagest\comun\docs\PACK_DIAG_SPATIU.pck.


5. Stare periculoasă / atenționări

  • Nimic în stare inconsistentă. Fără tranzacții deschise, fără procese rămase vii, fără fișiere editate fără write-back.
  • VM 302 rămâne oprit — dacă îl pornești, oprește-l la final: ssh root@10.0.20.201 "qm shutdown 302".
  • 99-uninstall-roa.ps1 -Force e distructiv — șterge CONTAFIN_ORACLE, CAPIDAVATOUR, tablespace-ul ROA, sinonimele publice și obiectele SYS. Corect pe VM 302 (e mediu de test). Niciodată la client.
  • Branch, nu master. Merge-ul nu e făcut:
    git checkout master && git merge feat/oracle-instalare-migrare-sys-grants
    
    Nu e împins nicăieri.
  • Diff-ul .ps1 pare rescriere totală. Cauză preexistentă: blob-urile din HEAD sunt cu CRLF, iar .gitattributes cere *.ps1 text eol=crlf, deci orice atingere declanșează renormalizarea. Modificarea reală: 66 și 51 de linii. Se vede cu git diff --ignore-cr-at-eol.

6. Ce s-a stabilit deja (nu se reia)

  • Directorul corect e roa-windows-setup/. Analiza comparativă e în docs/instalare-si-migrare-oracle.md; nu se re-face.
  • sys_2026_01_14_01_AUTH_PACK e deja acoperit de sql/sys-objects.sql — specificația pachetului e identică, iar lista de programe din repo e un superset (are în plus GENERARESCRIPT.EXE, ROAACTUALIZARI.EXE, EXP.EXE, IMP.EXE).
  • sys_2026_08_08_02_SYS_INFO_TABLESPACE_PURJARE e deja acoperit de sys-objects.sql:94-109 (INFO în tablespace ROA) + scheduler-jobs.sql:176 (SYS.SYSINFO_PURJARE_ZILNIC). A intrat prin commit-ul 015cd79.
  • Singurele sys_* care lipseau erau cele trei DIAG_SPATIU_GRANT* — acum consolidate.
  • Sursa scripturilor sys_*: D:\roa\database\SCRIPTURI_CLAR\<an>\<lună>\. Cel mai recent la data handoff-ului: sys_2026_08_08_02.

7. De verificat înainte de migrarea reală la client

  • Plafonul XE. 21c XE: 12 GB date de utilizator, 2 GB RAM, 2 thread-uri. Sursa (11.2 XE) avea plafon 11 GB, deci teoretic intră, dar cu marjă mică. Se măsoară pe sursă:
    SELECT ROUND(SUM(bytes)/1024/1024/1024, 2) AS gb FROM dba_segments
     WHERE owner NOT IN ('SYS','SYSTEM','OUTLN','DBSNMP','XDB','APEX_040000');
    
    Peste plafon → Standard Edition, care e netestată (vm302-oracle-test/docs/issues-se-prod.md).
  • Conectarea la XEPDB1, niciodată la XE (CDB root).
  • sqlnet.ora + resetarea parolelor, altfel Instant Client 10/11 al clientului nu se conectează.
  • expdp vs exp — formate incompatibile; exp se importă doar cu imp.