# Instalare și migrare Oracle pentru ROA — care director, pentru ce În `proxmox/lxc108-oracle/` există **trei** directoare cu scripturi de instalare/migrare, iar numele lor nu spun de la sine care se potrivește. Nota asta e ghidul de rutare: ce livrează fiecare, ce **nu** livrează și cum se aleg între ele. | Director | Ce e | Stare | |---|---|---| | [`roa-windows-setup/`](../roa-windows-setup/README.md) | instalare ROA completă pe **Windows** + Oracle 21c (XE sau SE) | activ, validat pe VM 302 (XE) | | [`migration/`](../migration/README.md) | migrare Oracle 10g → 21c XE cu Oracle **în Docker pe LXC 108** | activ pentru infrastructura internă | | [`new-roa-oracle-server/`](../new-roa-oracle-server/) | arhiva istorică din era Oracle 10g | **doar referință**, nu se rulează | --- ## 1. Arbore de decizie ``` Baza Oracle ajunge pe un server Windows la client? ├── DA → roa-windows-setup/ (PowerShell nativ, fără WSL) └── NU → baza ajunge în Docker pe LXC 108 / alt Linux? ├── DA → migration/ (bash, orchestrat de 00-MASTER-MIGRATION.sh) └── NU → niciunul; descrie scenariul înainte de a improviza ``` **Cazul tipic la client** — server vechi cu Oracle XE 11 (sau 10g), se mută `CONTAFIN_ORACLE` + schemele de firme pe un server nou cu Oracle 21c XE, tot Windows: → **`roa-windows-setup/`**, plus pasul de export descris la §4. --- ## 2. Ce livrează fiecare ### `roa-windows-setup/` — instalare ROA, nu doar bază de date Diferența esențială: `migration/` îți lasă o bază cu schemele înăuntru; `roa-windows-setup/` îți lasă o **instalare ROA funcțională**. | # | Script | Ce face | |---|---|---| | 01 | `01-setup-database.ps1` | tablespace `ROA`, profil, user `CONTAFIN_ORACLE`, `sqlnet.ora` cu `ALLOWED_LOGON_VERSION=8` | | 02 | `02-create-sys-objects.ps1` | obiectele SYS din `sql/sys-objects.sql` (AUTH_PACK, AUTH_DETALII, AUTH_SERII, VAUTH_SERII, INFO, pINFO, SEQ_AUTH_SERII, EXECUTESCRIPTOS, NEWSCHEMA, NEWSCHEMAJOB, UPDATESQLPLUS) | | 03 | `03-import-contafin.ps1` | import `CONTAFIN_ORACLE` (parfile: `par/import-contafin.par`) | | 04 | `04-create-synonyms-grants.ps1` | `synonyms-public.sql` + `grants-public.sql` + **`sys-grants.sql`** (granturi SYS, sinonime SYS, DMPDIR, granturi de dicționar pentru `PACK_DIAG_SPATIU`), context `SESIUNE`, ACL de rețea | | 05 | `05-import-companies.ps1` | import în lot al schemelor de firme (parfile: `par/import-company.par`) | | 06 | `06-add-company.ps1` | adaugă o firmă nouă pe un server deja instalat (opțional) | | 08 | `08-post-install-config.ps1` | 54 directoare `ROAUPDATE` (fizice + obiecte `DIRECTORY`), `SERVER_INFO`, `AUTH_DETALII` (Customer ID), joburile `UPDATEROA_ZILNIC` / `UPDATERTVAI_ZILNIC` / `SYSINFO_PURJARE_ZILNIC` | | 07 | `07-verify-installation.ps1` | raport de verificare: versiune/ediție, tablespace, obiecte, obiecte invalide, sinonime, **granturi de dicționar**, firme din `NOM_FIRME` vs. scheme reale, ACL | | 99 | `99-uninstall-roa.ps1` | curățare completă, pentru re-testare | `RunAll.cmd` le rulează în ordinea `01 → 02 → 03 → 04 → 05 → 08 → 07`. `Run.cmd