docs(oracle): SYS.INFO se recreeaza in ROA, nu se muta

DROP+CREATE in loc de ALTER TABLE MOVE: continutul e log fara valoare, iar
recrearea nu cere spatiu liber cat segmentul si nu tine tabela blocata cat ar
dura copierea. DROP e cu PURGE, altfel segmentul ramane in recyclebin si spatiul
nu se elibereaza. SYS.pINFO ramane INVALID dupa DROP, deci se recompileaza.

Scriptul de livrare: SVN r18010.

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 22:00:56 +03:00
parent 3473c4d971
commit 76a2eb69c1
4 changed files with 48 additions and 18 deletions

View File

@@ -193,10 +193,18 @@ SELECT file_name, ROUND(bytes/1048576,2) mb, ROUND(maxbytes/1048576,2) max_mb, a
FROM dba_data_files WHERE tablespace_name = 'SYSTEM';
```
La o instalare mai veche, unde `SYS.INFO` a rămas în `SYSTEM`:
La o instalare mai veche, unde `SYS.INFO` a rămas în `SYSTEM`, tabela se **recreează** (conținutul e
log fără valoare). `PURGE` e obligatoriu, altfel segmentul rămâne în recyclebin și spațiul nu se
eliberează:
```sql
ALTER TABLE SYS.INFO MOVE TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);
DROP TABLE SYS.INFO PURGE;
CREATE TABLE SYS.INFO (
INFO CLOB,
DATAORA TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
LOCATIA VARCHAR2(200) NULL
) TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);
ALTER PROCEDURE SYS.PINFO COMPILE; -- rămâne INVALID după DROP
```
> Diagnosticul zilnic care prinde asta automat, pragurile și triajul alertelor:

View File

@@ -338,10 +338,19 @@ SELECT file_name, ROUND(bytes/1048576,2) mb, ROUND(maxbytes/1048576,2) max_mb, a
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:
La o instalare mai veche, unde `SYS.INFO` a ramas in `SYSTEM`, tabela se **recreeaza** (continutul e
log fara valoare; `DROP`+`CREATE` nu cere spatiu liber cat segmentul si nu blocheaza tabela cat ar
dura o copiere). `PURGE` e obligatoriu, altfel segmentul ramane in recyclebin si spatiul nu se
elibereaza:
```sql
ALTER TABLE SYS.INFO MOVE TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);
DROP TABLE SYS.INFO PURGE;
CREATE TABLE SYS.INFO (
INFO CLOB,
DATAORA TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
LOCATIA VARCHAR2(200) NULL
) TABLESPACE ROA LOB (INFO) STORE AS (TABLESPACE ROA);
ALTER PROCEDURE SYS.PINFO COMPILE; -- ramane INVALID dupa DROP
```
> Diagnosticul zilnic care prinde asta automat, pragurile lui si triajul alertelor: