Adauga FAZA1.cmd/FAZA2.cmd, care despart migrarea in partea care se poate face in timpul programului (contafin, obiecte SYS, sinonime, licente, IIS) si partea de seara (schemele de firma). Scripturi noi: 09 pentru licentele din SYS.AUTH_SERII/AUTH_DETALII, 10 pentru publicarea D:\ROAUPDATE in IIS, 11 pentru exportul zilnic cu backupora.exe, drop-contafin pentru reimport. backupora.exe si sabloanele sale intra in repo ca sa fie kitul autonom. Pasul 07 primeste verificarile corespunzatoare pentru licente, IIS si task. Nerulat inca pe o baza reala - vezi docs/handoff_instalare-doua-faze.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SzF1hf4aFS1tmJWpPMiwGp
7.7 KiB
Handoff — instalare ROA în două faze, licențe, IIS, export zilnic
Stare la 2026-08-25. Blocul de lucru e terminat; nimic nu e într-o stare periculoasă. Toate modificările sunt scrise pe disc, necomise.
Ce s-a livrat
| Fișier | Stare |
|---|---|
proxmox/lxc108-oracle/roa-windows-setup/FAZA1.cmd |
nou, parsare testată |
proxmox/lxc108-oracle/roa-windows-setup/FAZA2.cmd |
nou, parsare testată |
.../scripts/09-copy-licenses.ps1 |
nou, nerulat pe o bază reală |
.../scripts/10-setup-roaupdate-iis.ps1 |
nou, nerulat |
.../scripts/11-setup-backup-export.ps1 |
nou, nerulat; blocat pe backupora.exe |
.../scripts/drop-contafin.ps1 |
nou, nerulat |
.../sql/export-licente.sql |
nou, nerulat |
.../backup/settings.ini.template |
nou, format presupus, nu confirmat |
.../scripts/07-verify-installation.ps1 |
modificat: +268 linii de verificări noi |
.../README.md |
rescris, 846 → 620 linii |
proxmox/lxc108-oracle/scripts/build-client-kit.ps1 |
modificat: text CITESTE-MA.txt + avertisment backupora.exe |
proxmox/lxc108-oracle/docs/instalare-si-migrare-oracle.md |
modificat: tabelul pașilor + cele trei fluxuri |
Ce s-a verificat efectiv
- Toate cele 13 scripturi
.ps1dinroa-windows-setup/scripts/plusbuild-client-kit.ps1parsează curat (PSParser::Tokenize). FAZA1.cmdșiFAZA2.cmd: parsarea argumentelor, inclusiv căile cu literă de disc (/roaupdate:D:\RUajunge întreg), flagurile fără valoare, ecranul de utilizare, codurile de ieșire.- Toate cele 12 linkuri relative din README-ul nou duc la fișiere existente.
Ce NU s-a verificat
Niciun script nou nu a fost rulat pe o bază Oracle. Nu există mediu pornit — VM 302 e oprit. Toate verificările de mai sus sunt statice.
Blocajul de la backupora.exe — REZOLVAT
Găsit local, în D:\ROA\EXPORT_ORADMP\ pe stația de dezvoltare. Copiat în kit
(roa-windows-setup/backup/): backupora.exe (49 KB), config.fpw,
setari.ini.tmpl, schema.tmpl, changelog_backupora.txt.
Presupunerile mele inițiale erau greșite pe trei puncte, toate corectate:
-
Fișierul de config se cheamă
setari.ini, nusettings.ini. Redenumit peste tot: scriptul 11, verificarea 07, README,build-client-kit.ps1,instalare-si-migrare-oracle.md. (Referințele lasettings.inirămase înproxmox/vm201-windows/sunt alt fișier — endpointul de raportare erori dinD:\ROAUPDATE— corect, nu se ating.) -
Secțiunile reale sunt
[schema],[backup],[oracle]. Nu există host/port/ service/parole în ini. Șablonulbackup/setari.ini.templateare acum formatul real, cu 10 marcaje:{{EXPORT_DIR}},{{BACKUP_PATH}},{{SCHEMA_FILE}},{{RETENTION_DAYS}},{{EXPDP_EXE}},{{DMPDIR_PATH}},{{DMPDIR_NAME}},{{ORACLE_HOME}},{{DB_SERVICE}},{{DATA_GENERARII}}. Verificat automat: toate 10 sunt substituite de script. -
schema.txtnu e o listă de nume de scheme. Formatul (dinschema.tmpl) eSCHEMA;PAROLA@SERVICIU, câte una pe linie.New-SchemaFilecitește acum șiNOM_FIRME.parola, nu doarschema. Fișierul conține parole în clar — scriptul avertizează să nu fie scos de pe server.
Două capcane confirmate în sursa VFP (main.prg), documentate în script:
- programul scrie în ini-ul implicit cheia
delete_backups_olther_xdays(cu typo,main.prg:76) dar citeștedelete_backups_older_xdays(main.prg:117). Șablonul o are pe cea corectă — nu o „corecta" înapoi. - alege între
expclasic și Data Pump după numele executabilului dinoracleexpfile(changelog v3.0.0: „Numele executabilului trebuie sa fie expdp.exe"). De aceea{{EXPDP_EXE}}arată către<OracleHome>\bin\expdp.exe, nu către stub-ul de 0 octeți din directorul programului.
Decizie de confirmat cu Marius: backuppath (unde ajung dump-urile) e acum
implicit egal cu ExportPath, deci D:\ROA\EXPORT_ORADMP\<AAAALLZZ>\.
Pe instalarea de referință de pe stația de dezvoltare valoarea era C:\BACKUP_ORACLE,
cu programul în D:\ROA\EXPORT_ORADMP. Există parametrul -BackupPath pentru
convenția veche. Nu știu care e corectă la clienți.
Decizii deja luate — nu se reiau
- Faza 1 importă contafin-ul REAL al clientului, nu șablonul. Motiv: pe
CONTAFIN_ORACLEnu se lucrează activ, deci poate fi exportat în timpul programului. Doar firmele se schimbă sub picioare. Șablonul rămâne ca fallback. - Faza 2 înlocuiește contafin prin
DROP USER CASCADE+ import curat, nu prinTABLE_EXISTS_ACTION=REPLACE. Opțional, prin/reimportcontafin. - Pasul 08 se reia obligatoriu în faza 2.
SERVER_INFOe o tabelă înCONTAFIN_ORACLE(sql/synonyms-public.sql:270); dump-ul clientului aduce cu el căile, parolele și SMTP-ul serverului vechi. - Licențele: rețea întâi, fișier ca fallback.
sql/export-licente.sqlproduce INSERT-uri pe stdout;09-copy-licenses.ps1fie îl rulează prin rețea pe serverul vechi, fie citește rezultatul cu-FromFile. - IIS: scriptul instalează rolul dacă lipsește (
Install-WindowsFeaturepe Server,Enable-WindowsOptionalFeaturepe Windows Pro). Poate cere restart. - Directoarele de modul se creează în două locuri diferite, intenționat:
pasul 08 face
_ARHIVE\<MODUL>(pentru obiectele OracleDIRECTORY), pasul 10 faceD:\ROAUPDATE\<MODUL>(binarele curente, servite de IIS). Lista de 55 de module e duplicată în ambele scripturi — la adăugarea unui modul se modifică ambele.
Comenzi de testare, când există mediu
ssh root@10.0.20.201 "qm start 302"
Pe VM 302, din rădăcina kitului:
Run.cmd 99-uninstall-roa.ps1 -Force
FAZA1.cmd 999 /faralicente /farabackup
FAZA2.cmd 999
Run.cmd 07-verify-installation.ps1
Logurile: roa-windows-setup\logs\<script>_<data>.log.
Codul de ieșire 0 la pasul 07 = instalare bună.
Ordinea de testat, de la ieftin la scump:
10-setup-roaupdate-iis.ps1— nu atinge baza, se poate rula izolat;09-copy-licenses.ps1 -ExportOnlype o bază existentă — doarSELECT;FAZA1.cmdcomplet;FAZA2.cmdcu și fără/reimportcontafin;11-setup-backup-export.ps1— abia după ce aparebackupora.exe.
Ce mai lipsește
- Confirmarea lui
backuppath— vezi decizia de mai sus (ExportPathvsC:\BACKUP_ORACLE). - Confirmarea că numele obiectului Oracle
DIRECTORYpentru export e chiarBACKUP_ORACLE(așa l-am scris în11-setup-backup-export.ps1). - Dacă
backupora.exeare nevoie de runtime VFP9 (vfp9r.dll,vfp9renu.dll) pe un server curat. Pe stația de dezvoltare merge pentru că runtime-ul e deja instalat. Dacă la client dă „Cannot locate the Microsoft Visual FoxPro support library", trebuie adăugate DLL-urile înbackup/sau instalat runtime-ul. Netestat. schema.txtfolosește@$ServiceName(deciXEPDB1). De verificat căbackupora.exeacceptă un service name EZConnect, nu doar un SID/alias TNS — pe instalările vechi acolo era un SID (ORASIDîn șablon).- Verificarea că aplicația ROA de pe stații acceptă
http://localhost/roaupdate/ca sursă — scriptul publică acolo, dar configurarea stațiilor nu e acoperită de kit. SERVER_INFO.UPD_URL_APPrămânehttps://update.romfast.ro/roa/(serverul clientului trage de la ROMFAST). Dacă undeva trebuie scrisă adresa oglinzii locale pentru stații, nu e în baza de date — nu am găsit unde.
Ce e interzis
- Nu comite
config.ps1— poate conține parolele altui client. - Nu comite fișiere
.dmp. - Nu rula scripturile pe
10.0.20.121(LXC 108) — e sursa șabloanelor, nu o țintă de instalare.PDB ROAde acolo e producțiaROA_CENTRAL.