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:
@@ -77,21 +77,37 @@ END;
|
||||
/
|
||||
|
||||
PROMPT [3/11] Creating SYS.INFO table (logging)...
|
||||
-- IMPORTANT: SYS.INFO e log de aplicatie, nu obiect de dictionar - SYS.pINFO scrie ~7 randuri la
|
||||
-- fiecare conectare (~13.500 randuri / ~2 MB pe luna) si nimic nu o citeste. Tinuta in SYSTEM,
|
||||
-- umple tablespace-ul dictionarului si **orice** script de actualizare pica apoi cu
|
||||
-- ORA-01653 (SIGMA 03.08.2026, AUTOMOTIVE 08.08.2026). De aceea se creeaza in tablespace-ul
|
||||
-- aplicatiei, iar cresterea e marginita de jobul SYSINFO_PURJARE_ZILNIC (scheduler-jobs.sql).
|
||||
DECLARE
|
||||
v_count NUMBER;
|
||||
v_ts VARCHAR2(30);
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO v_count FROM dba_tables
|
||||
WHERE owner = 'SYS' AND table_name = 'INFO';
|
||||
IF v_count > 0 THEN
|
||||
DBMS_OUTPUT.PUT_LINE(' Table INFO already exists, skipping.');
|
||||
ELSE
|
||||
SELECT MAX(tablespace_name) INTO v_ts
|
||||
FROM dba_tablespaces WHERE tablespace_name = 'ROA';
|
||||
|
||||
IF v_ts IS NULL THEN
|
||||
v_ts := 'SYSTEM';
|
||||
DBMS_OUTPUT.PUT_LINE(' WARNING: tablespace ROA missing - INFO falls back to SYSTEM.');
|
||||
DBMS_OUTPUT.PUT_LINE(' Run create-tablespace.sql first, then move it:');
|
||||
DBMS_OUTPUT.PUT_LINE(' ALTER TABLE SYS.INFO MOVE TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);');
|
||||
END IF;
|
||||
|
||||
EXECUTE IMMEDIATE '
|
||||
CREATE TABLE SYS.INFO (
|
||||
INFO CLOB,
|
||||
DATAORA TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
|
||||
LOCATIA VARCHAR2(200) NULL
|
||||
) TABLESPACE SYSTEM';
|
||||
DBMS_OUTPUT.PUT_LINE(' Table INFO created.');
|
||||
) TABLESPACE ' || v_ts || ' LOB (INFO) STORE AS (TABLESPACE ' || v_ts || ')';
|
||||
DBMS_OUTPUT.PUT_LINE(' Table INFO created in tablespace ' || v_ts || '.');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user