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
This commit is contained in:
Marius
2026-08-25 15:47:34 +03:00
parent afb8266407
commit 3a7e751fc1

View File

@@ -0,0 +1,159 @@
# 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
```bash
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:
```powershell
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ă:
```sql
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):
```sql
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:
```bash
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ă:
```sql
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`.