fix(oracle): SYS.INFO iese din SYSTEM + job de purjare + diagnostic spatiu clienti

SYS.INFO e log de aplicatie (SYS.pINFO din AUTH_PACK scrie ~7 randuri la fiecare
conectare, ~13.500 randuri / ~2 MB pe luna) si nimic din baza nu-l citeste. Creat
de installer in tablespace-ul SYSTEM si nepurjat niciodata, a umplut SYSTEM la doi
clienti si a oprit actualizarea cu ORA-01653 - eroarea apare pe orice script,
pentru ca AUTH_PACK scrie acolo la conectare.

  SIGMA      03.08.2026 - ff_2026_07_29_02_COMUN_TVA11 picat pe MARCU
  AUTOMOTIVE 08.08.2026 - 552.581 randuri / 80 MB, SYSTEM cu 5 MB liberi

Installer:
- sys-objects.sql: SYS.INFO (tabela + segment LOB) se creeaza in tablespace-ul
  ROA, cu fallback pe SYSTEM daca ROA inca nu exista
- scheduler-jobs.sql: job nou SYS.SYSINFO_PURJARE_ZILNIC, zilnic 03:30, retentie
  90 zile, stergere in transe de 10.000 randuri; creat ENABLED, pentru ca nu are
  nimic de configurat iar uitat dezactivat reproduce chiar problema pe care o
  rezolva. In schema SYS: privilegiile ANY nu se aplica pe obiectele SYS cat timp
  O7_DICTIONARY_ACCESSIBILITY=FALSE
- uninstall-roa.sql: dezinstalarea sterge si jobul
- 00-INSTALL-ORACLE-XE.md / -SE.md: pas post-instalare pentru plafonul SYSTEM
  (maxsize 2000M) si mutarea SYS.INFO la instalarile vechi

Documentatie noua (docs/diagnostic-spatiu-clienti.md): jobul DIAGSPATIU_ZILNIC si
pragurile lui, formatul emailurilor de alerta si cum se citesc din mbox-urile
Thunderbird, procedura de tunel SSH catre serverul unui client, triajul alertelor
si starea la 08.08.2026 pe fiecare client.

Reparatia la AUTOMOTIVE e deja aplicata in productie (plafon 600 -> 2000 MB,
truncate SYS.INFO): SYSTEM a trecut de la 65 MB la 1545 MB de crestere posibila.
Scriptul de livrare pentru ceilalti clienti e scris, dar nepublicat:
COMUN sys_2026_08_08_02_SYS_INFO_TABLESPACE_PURJARE.sql

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rft5ofNa4Ux5VEh4YnhJRC
This commit is contained in:
Marius
2026-08-08 17:38:54 +03:00
parent dabe5a34e3
commit 015cd797a1
8 changed files with 505 additions and 15 deletions

View File

@@ -173,6 +173,35 @@ $env:PATH = "$env:ORACLE_HOME\bin;$env:PATH"
sqlplus system/romfastsoft@localhost:1521/ROA
```
### Plafonul SYSTEM și creșterea SYS.INFO (OBLIGATORIU!)
Standard Edition nu are limita de date a lui XE, dar `SYSTEM` are aceeași problemă: `SYS.INFO` —
logul de login al ROA — crește ~13.500 rânduri (~2 MB) pe lună, scrise de `SYS.pINFO` din
`AUTH_PACK` la fiecare conectare, și **nu se purjează niciodată**. Când `SYSTEM` se umple, **orice**
script de actualizare pică cu `ORA-01653: unable to extend table SYS.INFO`, indiferent ce conține
(SIGMA 03.08.2026, AUTOMOTIVE 08.08.2026).
Instalările noi sunt acoperite: `sys-objects.sql` creează `SYS.INFO` în tablespace-ul `ROA`, iar
`scheduler-jobs.sql` creează jobul `SYS.SYSINFO_PURJARE_ZILNIC` (03:30, retenție 90 zile).
**Plafonul lui `SYSTEM` rămâne de ridicat manual:**
```sql
-- ca SYSDBA, după crearea bazei; înlocuiește calea cu cea reală din dba_data_files
ALTER DATABASE DATAFILE '<ORADATA>\SYSTEM01.DBF' AUTOEXTEND ON NEXT 50M MAXSIZE 2000M;
SELECT file_name, ROUND(bytes/1048576,2) mb, ROUND(maxbytes/1048576,2) max_mb, autoextensible
FROM dba_data_files WHERE tablespace_name = 'SYSTEM';
```
La o instalare mai veche, unde `SYS.INFO` a rămas în `SYSTEM`:
```sql
ALTER TABLE SYS.INFO MOVE TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);
```
> Diagnosticul zilnic care prinde asta automat, pragurile și triajul alertelor:
> `E:\proiecte\ROMFASTSQL\docs\diagnostic-spatiu-clienti.md`.
## Memory Configuration (Opțional)
Pentru Standard Edition cu 16GB RAM:

View File

@@ -310,6 +310,45 @@ SELECT policy_name, enabled_option FROM audit_unified_enabled_policies;
---
## Post-Installation: Plafonul SYSTEM si cresterea SYS.INFO (OBLIGATORIU!)
Setarile de mai sus apara `SYSAUX`. **`SYSTEM` are o problema separata**, care a blocat deja doi
clienti (SIGMA 03.08.2026, AUTOMOTIVE 08.08.2026): `SYS.INFO` — logul de login al ROA, creat de
`sql/sys-objects.sql` — creste ~13.500 randuri (~2 MB) pe luna, scrise de `SYS.pINFO` din
`AUTH_PACK` la fiecare conectare, si **nu se purja niciodata**.
Cand `SYSTEM` se umple, **orice** script de actualizare pica cu `ORA-01653: unable to extend table
SYS.INFO`, indiferent ce contine — pentru ca `AUTH_PACK` scrie acolo la conectare. Simptomul arata a
eroare de SQL, dar nu e.
Instalarile noi sunt acoperite: `sys-objects.sql` creeaza `SYS.INFO` in tablespace-ul `ROA`, iar
`scheduler-jobs.sql` creeaza jobul `SYS.SYSINFO_PURJARE_ZILNIC` (03:30, retentie 90 zile).
**Plafonul lui `SYSTEM` ramane insa de ridicat manual**, pentru ca dictionarul singur ocupa ~200 MB
si unele instalari il plafoneaza la 600 MB:
```sql
-- ca SYSDBA, dupa crearea bazei; inlocuieste calea cu cea reala din dba_data_files
ALTER DATABASE DATAFILE '<ORADATA>\SYSTEM.DBF' AUTOEXTEND ON NEXT 50M MAXSIZE 2000M;
-- verificare
SELECT file_name, ROUND(bytes/1048576,2) mb, ROUND(maxbytes/1048576,2) max_mb, autoextensible
FROM dba_data_files WHERE tablespace_name = 'SYSTEM';
```
Plafonul de 11/12 GB al editiei XE se aplica pe **date utilizator** — `SYSTEM` si `SYSAUX` nu intra
la socoteala, deci ridicarea la 2000 MB nu apropie baza de limita.
La o instalare mai veche, unde `SYS.INFO` a ramas in `SYSTEM`, mutarea se face cu:
```sql
ALTER TABLE SYS.INFO MOVE TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);
```
> Diagnosticul zilnic care prinde asta automat, pragurile lui si triajul alertelor:
> `E:\proiecte\ROMFASTSQL\docs\diagnostic-spatiu-clienti.md`.
---
## Gotchas Oracle XE 21c (Windows)
| Problema | Solutie |