
Oracle
Oracle è il database che mi ha formato professionalmente.
Ci lavoro dal 1996, e in quasi trent’anni ho visto passare versioni, paradigmi e mode — ma il cuore del motore è rimasto lo stesso: solido, complesso, spietato con chi non lo conosce a fondo.
Ho gestito istanze da poche centinaia di utenti e data warehouse da miliardi di righe. Ho configurato Data Guard quando ancora si chiamava standby database, ho scritto PL/SQL quando il debugging significava DBMS_OUTPUT e pazienza, ho progettato partitioning scheme prima che diventasse una feature da marketing deck.
Oracle non è un database che si impara sui tutorial.
Si impara sugli incidenti, sulle migrazioni alle tre di notte, sui piani di esecuzione che cambiano dopo un aggiornamento delle statistiche.
In questa sezione racconto quello che ho imparato sul campo: architettura, sicurezza, performance e le decisioni progettuali che separano un’installazione che funziona da una che sopravvive.
Perché con Oracle non basta sapere la sintassi.
Bisogna capire come ragiona il motore.
Oracle su Linux: i parametri kernel che nessuno configura
Un cliente con Oracle 19c su Linux e performance deludenti. Installazione di default, nessun tuning. Huge Pages, semafori, I/O scheduler, THP e limiti di sicurezza: tutto quello che mancava — con i numeri prima e dopo.
AWR, ASH e i 10 minuti che hanno salvato un go-live
Venerdì sera, vigilia di un go-live. Le performance crollano. Con AWR e ASH ho trovato un full table scan nascosto in una stored procedure in meno di dieci minuti — e il rilascio in produzione è andato avanti.
Utenti, ruoli e privilegi in Oracle: perché GRANT ALL non è mai la risposta
Un cliente con tutti gli utenti applicativi connessi come schema owner con ruolo DBA. Come ho ristrutturato il modello di sicurezza Oracle applicando il principio del least privilege — con SQL reale, ruoli custom e Unified Audit.
Oracle Partitioning: quando 2 miliardi di righe non entrano più in una query
Un cliente con una tabella transazioni da 2 miliardi di righe e query di reportistica che da secondi erano passate a ore. Come ho risolto con il partitioning Oracle — range, interval, partition pruning e indici locali.
Da single instance a Data Guard: il giorno in cui il CEO ha capito il DR
Un database Oracle in produzione senza alcuna ridondanza. Un guasto disco che ha fermato tutto per sei ore. E la decisione del CEO di investire in un'architettura Active Data Guard con switchover automatico.




