docs: script_master.log, unde apar erorile de aplicare a scripturilor

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TM9Cxpzrn9wBSkyBNr22Qc
This commit is contained in:
2026-08-03 10:05:40 +03:00
parent a07b89e5e1
commit fc1af63014

View File

@@ -14,6 +14,7 @@ O etapa esuata le opreste pe toate urmatoarele.
| ce a raportat jobul | `dba_scheduler_job_run_details` (`log_date`, `status`, `additional_info`) | | ce a raportat jobul | `dba_scheduler_job_run_details` (`log_date`, `status`, `additional_info`) |
| ce versiuni s-au descarcat | `UPD_PROGRAME` | | ce versiuni s-au descarcat | `UPD_PROGRAME` |
| scripturi disponibile / aplicate | `UPD_DATABASE.script_date` vs `<schema>.VERSIUNE.data_script` | | scripturi disponibile / aplicate | `UPD_DATABASE.script_date` vs `<schema>.VERSIUNE.data_script` |
| **erorile din aplicarea scripturilor** | **`C:\DMPDIR\script_master.log` pe serverul de baze de date** |
Un sir de rulari oprite la aceeasi `stare` da direct etapa vinovata, iar prima zi din sir da data de Un sir de rulari oprite la aceeasi `stare` da direct etapa vinovata, iar prima zi din sir da data de
la care s-a schimbat ceva. la care s-a schimbat ceva.
@@ -32,6 +33,25 @@ la care s-a schimbat ceva.
Se deblocheaza cu `exec contafin_oracle.pack_update.IncheiereActualizare`. Se deblocheaza cu `exec contafin_oracle.pack_update.IncheiereActualizare`.
- Programele `%USERREPORTS%` merg toate in directorul `UPD_USERREPORTS`, nu in `UPD_<nume_program>`. - Programele `%USERREPORTS%` merg toate in directorul `UPD_USERREPORTS`, nu in `UPD_<nume_program>`.
## Aplicarea scripturilor (script_master.log)
Etapa 3 nu ruleaza scripturile din PL/SQL, ci genereaza in `DMPDIR` (`C:\DMPDIR`) cate un
`script_<SCHEMA>.sql` plus `script_master.sql`, pe care le da unui **SQL\*Plus extern**, cu iesirea
in `C:\DMPDIR\script_master.log` (`script_master2.log` = pasii de la final).
**Erorile de aici NU ajung in `UPD_LOG`.** O rulare care esueaza la un script arata perfect curata
in baza: `UPD_LOG` fara nicio eroare, doar `UpdateSchemaSQLPLUS ... / UpdateDatabaseSQLPLUS END`.
Semnele indirecte sunt ca rularea ramane la `stare = 3` fara `dataora_end`, iar
`<schema>.VERSIUNE` nu mai avanseaza. Scriptul vinovat e primul din `UPD_DATABASE` de dupa ultima
versiune inregistrata acolo, iar mesajul real e doar in `script_master.log`.
Scripturile au `WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK`, deci primul esec opreste tot lantul
si se repeta identic la fiecare rulare pana e reparat.
Fisierul se poate citi si fara acces la desktopul serverului, prin `UTL_FILE` pe directorul
`DMPDIR` (`fopen(...,'R',32767)` + `get_line` in bucla; tine ultimele N linii intr-un tablou —
partea utila e la sfarsit).
## Descarcarea (UpdateApp) ## Descarcarea (UpdateApp)
Cu `server_info.POWERSHELLDOWNLOAD = '1'`, `PACK_UTILS.DownloadFileOS` scrie un `.ps1` cu `curl` in Cu `server_info.POWERSHELLDOWNLOAD = '1'`, `PACK_UTILS.DownloadFileOS` scrie un `.ps1` cu `curl` in