sync SVN r18041
This commit is contained in:
@@ -62,30 +62,17 @@ Fisierul se poate citi si fara acces la desktopul serverului, prin `UTL_FILE` pe
|
||||
`DMPDIR` (`fopen(...,'R',32767)` + `get_line` in bucla; tine ultimele N linii intr-un tablou —
|
||||
partea utila e la sfarsit).
|
||||
|
||||
### Caz: nu orice esec de script e o problema de SQL (SIGMA, 03.08.2026)
|
||||
### Un esec de script raportat nu inseamna neaparat o problema de SQL in script
|
||||
|
||||
`ff_2026_07_29_02_COMUN_TVA11.SQL` a picat pe `MARCU` cu `ORA-01653: unable to extend table
|
||||
SYS.INFO ... in tablespace SYSTEM` (din `SYS.PINFO`/`SYS.AUTH_PACK`, recursiv). Tablespace-ul
|
||||
`SYSTEM` era plin: autoextensibil, dar cu `maxbytes` atins la 600 MB, ~2 MB liberi. **Orice**
|
||||
script ar fi picat identic — `AUTH_PACK` scrie in `SYS.INFO` la fiecare conectare. Cand eroarea nu
|
||||
priveste obiectele scriptului, verifica intai spatiul.
|
||||
|
||||
Ce a contat, pentru data viitoare:
|
||||
|
||||
- **`maxbytes` mic nu e o limita XE.** Cele 11 GB ale XE sunt pe *date utilizator*; un plafon mic pe
|
||||
`SYSTEM.DBF` e o setare de instalare. Se ridica din `contafin_oracle` (are `ALTER DATABASE`):
|
||||
`alter database datafile '<cale>\SYSTEM.DBF' autoextend on next 50M maxsize 2000M;`
|
||||
- **Spatiul pe discul serverului se verifica fara RDP**, cu `sys.ExecuteScriptOS` (vezi mai jos) —
|
||||
`Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3"`, iesire in `DMPDIR`, citita cu `UTL_FILE`.
|
||||
Job asincron, dar raspunde in cateva secunde.
|
||||
- **`SYS.INFO` e tabel ROA, nu obiect de dictionar** (log de login scris de `PINFO`, ~7 randuri per
|
||||
conectare, +16-17k randuri/luna, nimic din baza nu-l citeste). Se poate goli, **dar numai ca
|
||||
`SYSDBA`**: privilegiile `ANY` (`DROP ANY TABLE`, `DELETE ANY TABLE`) nu se aplica pe obiectele
|
||||
din schema `SYS` cat timp `O7_DICTIONARY_ACCESSIBILITY=FALSE`, deci din `contafin_oracle` iese
|
||||
`ORA-01031`.
|
||||
- Restul lui `SYSTEM` era dictionar Oracle (`IDL_UB1$`, `SOURCE$`, `IDL_UB2$`, `ARGUMENT$` ~207 MB) —
|
||||
de neatins fara export/import. `AUD$`/`FGA_LOG$` erau goale. Recyclebin-ul si bloat-ul de scheduler
|
||||
stateau in `ROA`/`SYSAUX`, nu in `SYSTEM`.
|
||||
Eroarea Oracle poate veni din obiecte cu totul straine de ce modifica scriptul (ex.
|
||||
`ORA-01653: unable to extend table SYS.INFO ... in tablespace SYSTEM`, ridicata din
|
||||
`SYS.PINFO`/`AUTH_PACK` la conectare, nu din scriptul insusi) - orice script ar fi picat identic.
|
||||
Cand mesajul de eroare nu priveste obiectele pe care scriptul chiar le atinge, verifica intai
|
||||
spatiul (`maxbytes` pe tablespace-ul din mesaj nu e o limita XE - cele 11 GB XE sunt pe date
|
||||
utilizator, plafonul mic e o setare de instalare, se ridica din `contafin_oracle` cu
|
||||
`alter database datafile '<cale>\<TS>.DBF' autoextend on next 50M maxsize 2000M;`). Spatiul pe
|
||||
discul serverului se verifica fara RDP cu `sys.ExecuteScriptOS` (vezi mai jos, sectiunea "Comenzi
|
||||
OS pe serverul de baze de date").
|
||||
|
||||
## Descarcarea (UpdateApp)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user