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:
159
docs/handoff_oracle-instalare-migrare-sys-grants.md
Normal file
159
docs/handoff_oracle-instalare-migrare-sys-grants.md
Normal 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`.
|
||||
Reference in New Issue
Block a user