From b4d1d0bf7b49a2f588f61262eafcf4ca15da171e Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Wed, 16 Sep 2026 15:18:44 +0300 Subject: [PATCH] sync SVN r18142 --- docs/depanare-pack-update.md | 3 + docs/depanare-server-update-roa.md | 10 ++- docs/flux-actualizare-si-buletine.md | 127 +++++++++++++++++++++++++++ 3 files changed, 136 insertions(+), 4 deletions(-) create mode 100644 docs/flux-actualizare-si-buletine.md diff --git a/docs/depanare-pack-update.md b/docs/depanare-pack-update.md index e36bf74..d541796 100644 --- a/docs/depanare-pack-update.md +++ b/docs/depanare-pack-update.md @@ -15,6 +15,9 @@ temporar in `DMPDIR`). Foloseste-l intai; sectiunile de mai jos explica ce cites Cand cauza e spatiul (tablespace plin, audit/loguri Oracle care umplu discul), continua cu `depanare-spatiu-oracle.md` si `COMUN\utile\diag_spatiu.ps1`. +Fluxul complet (ce ruleaza pe ce masina, rutele serverului, cele doua emailuri): +`flux-actualizare-si-buletine.md`. + Cand eroarea e de retea/HTTP (`ORA-29273` / `ORA-29024` / descarcare esuata), cauza e aproape sigur pe serverul de actualizari, nu pe client: continua cu `depanare-server-update-roa.md`. diff --git a/docs/depanare-server-update-roa.md b/docs/depanare-server-update-roa.md index b760163..32b03d4 100644 --- a/docs/depanare-server-update-roa.md +++ b/docs/depanare-server-update-roa.md @@ -5,14 +5,16 @@ de ce se intampla **pe serverul care livreaza actualizarile**. Foloseste documen `PACK_UPDATE` esueaza cu erori de retea / HTTP, adica atunci cand clientul e in regula dar nu primeste fisierele. +Ansamblul fluxului, fara depanare: `flux-actualizare-si-buletine.md`. + ## Lantul complet, de la eroare la cauza ``` job UPDATEROA_ZILNIC -> PACK_UPDATE.UpdateROA -> PACK_UTILS.URL2Clob / URL2Blob daca SERVER_INFO.POWERSHELLDOWNLOAD = 1: - -> PACK_UTILS.DownloadFileOS -> scrie C:\DMPDIR\download_file.ps1 - -> sys.ExecuteScriptOS -> powershell -> curl.exe -k -o + -> PACK_UTILS.DownloadFileOS -> scrie C:\DMPDIR\download_.ps1 (pana la co_2026_09_16_02: download_file.ps1) + -> sys.ExecuteScriptOS -> powershell -> curl.exe -k -o .part , redenumit la final (pana la co_2026_09_16_02: direct in ) -> asteapta max SERVER_INFO.POWERSHELLTIMEOUT secunde sa apara daca fisierul NU apare (sau POWERSHELLDOWNLOAD <> 1): -> cade pe HTTPURITYPE.createuri(url).getclob()/getblob() @@ -46,7 +48,7 @@ curl.exe -k -s -o NUL --max-time 20 -w "HTTP=%{http_code} t=%{time_total}" "http `HTTP=000` cu `t` egal cu `--max-time` = blocat (nu refuzat). `exit=28` = timeout. -Ultima comanda reala rulata de Oracle e in **`C:\DMPDIR\download_file.ps1`** pe serverul clientului +Ultima comanda reala rulata de Oracle e in **`C:\DMPDIR\download_*.ps1`** (un singur fisier, cu nume fix, pana la co_2026_09_16_02) pe serverul clientului - contine URL-ul exact si numele fisierului tinta. Daca `.tmp`-ul corespunzator nu exista, stii sigur ca descarcarea a picat. @@ -165,7 +167,7 @@ Dupa kill, totul revine imediat - nu e nevoie de restart de sit sau de recycle d ## Lista scurta de verificare 1. `user_scheduler_job_run_details` pe clientul afectat: care e eroarea reala si **din ce zi**. -2. `C:\DMPDIR\download_file.ps1` pe client: URL-ul exact; exista `.tmp`-ul? +2. scriptul `download_*.ps1` din `C:\DMPDIR` pe client: URL-ul exact; exista `.tmp`-ul? 3. `curl` de pe client pe acel URL: raspunde sau timeout? 4. Pe ROACENTRAL, `curl` local cu `--resolve`, pentru mai multi clienti: e global sau doar unul? 5. `log.txt` al aplicatiei: pana la ce linie ajunge cererea blocata. diff --git a/docs/flux-actualizare-si-buletine.md b/docs/flux-actualizare-si-buletine.md new file mode 100644 index 0000000..c8a90a4 --- /dev/null +++ b/docs/flux-actualizare-si-buletine.md @@ -0,0 +1,127 @@ +# Fluxul actualizarii ROA si al buletinului informativ + +Referinta de ansamblu: cine cheama pe cine, de pe ce masina si cu ce fisiere. Pentru depanare +mergi la `depanare-pack-update.md` (baza clientului) si `depanare-server-update-roa.md` +(serverul care livreaza). + +## Masinile + +| Rol | Masina | Ce ruleaza | +|---|---|---| +| baza clientului | serverul Oracle al clientului | jobul `UPDATEROA_ZILNIC` -> `CONTAFIN_ORACLE.PACK_UPDATE` | +| serverul de actualizari | **ROACENTRAL**, 10.0.20.122 | IIS + ActiveVFP, `D:\APPUPDATESERVERAVFP`; rutele `updroa` | +| baza centrala | **ROA_CENTRAL**, 10.0.20.121 | `SOFT_SERII` (contracte, clienti), `CONTAFIN_ORACLE` (`UPD_DATABASE`, scripturi) | +| proxy public | 10.0.20.36 | `roa.romfast.ro` -> ROACENTRAL | +| SMTP | `mail.romfast.ro` = 185.141.190.195 | Exim (a2hosting), **cerut cu TLS** | + +## 1. Actualizarea, pe client + +`UPDATEROA_ZILNIC` -> `PACK_UPDATE.UpdateROA`, trei etape secventiale; una esuata le opreste pe +urmatoarele si starea ramane in `UPD_ISTORIC` (`0` start, `1` aplicatii, `2` scripturi, `3` +aplicare, `4` incheiat): + +1. **UpdateApp** - descarca `roa_app.xml` / `roastart_app.xml` (lista de versiuni) si arhivele + programelor cu versiune mai noua, in directoarele Oracle `UPD_`; la final cere + serverului trimiterea buletinului informativ (vezi mai jos). +2. **UpdateScripts** - descarca `roa_database.xml` + arhivele de scripturi si umple `UPD_DATABASE`. +3. **UpdateDatabaseSqlPlus** - genereaza in `DMPDIR` (`C:\DMPDIR`) `script_.sql` + + `script_master.sql` si le da unui SQL*Plus extern; iesirea in `C:\DMPDIR\script_master.log` + (erorile de aici **nu** ajung in `UPD_LOG`). + +Logul rularii curente e in `UPD_LOG` (se goleste la fiecare rulare); esecul real al jobului in +`dba_scheduler_job_run_details`. + +### Cum se descarca, de fapt + +``` +PACK_UTILS.URL2Clob / URL2Blob + daca SERVER_INFO.POWERSHELLDOWNLOAD = 1: + -> PACK_UTILS.DownloadFileOS + scrie in DMPDIR un script ps (download_.ps1; inainte de + co_2026_09_16_02_COMUN_PACK_UTILS era un nume fix, download_file.ps1) + -> sys.ExecuteScriptOS (job scheduler 'executable', asincron) + -> powershell -ExecutionPolicy Bypass -File