Panoramica
oracle-shell è una utility da terminale pensata per fare reverse engineering su database Oracle quando la documentazione è scarsa o nulla. Consente di scoprire velocemente dove vivono davvero i dati, mappare tabelle/colonne e verificare flussi applicativi con ricerche mirate (es. IBAN).
Progetto portfolio di Antonio Trento.
Problema
In molti contesti enterprise il database è ampio, storico e poco omogeneo. Serviva uno strumento leggero e immediato per:
- esplorare schemi e tabelle senza IDE pesanti,
- cercare campi chiave (es. IBAN) in tutto il DB,
- lanciare query in sequenza con sicurezza su DML (commit/rollback espliciti).
Soluzione
- REPL SQL: esecuzione quando termini con
;, multi-riga, messaggistica chiara. -
Comandi meta:
\schemas,\tables [pattern],\d owner.tabella,\find %TESTO%.
- Ricerca rapida “investigativa”: pattern su dizionari Oracle per trovare colonne candidate (es. tutte quelle che contengono “IBAN”), con snippet pronti per verifiche record-level.
- Batch mode:
--fileper script.sqlseparati da;. - Config via
.env: nessuna credenziale hardcoded; pronto per ambienti diversi.
Come viene usato
Un caso tipico è il tracciamento end-to-end:
- si inserisce un valore fittizio dal frontend (es. un IBAN di test),
- con
\find %IBAN%si individuano le colonne candidate, - si lancia una ricerca normalizzata (maiuscolo, senza spazi/trattini) per capire quali tabelle vengono realmente aggiornate,
- si procede a verifiche/patch scriptate con DML e commit controllato.
Stack & dettagli
- Python +
oracledb(Instant Client) - Output tabellare leggibile, limite righe configurabile (
--limit) - Supporto Windows; encoding UTF-8 e fallback compatibili con prompt datati
Risultato
Riduce drasticamente il tempo di discovery: da “giorni a colpi di SELECT casuali” a minuti con un flusso guidato. Ideale per migrazioni, refactoring di integrazioni e audit.
Codice sorgente
Non solo codice, ma ecosistemi.
L'obiettivo non è fornire semplice software, ma restituire sovranità. Unisco la robustezza di Linux e Docker con l'intelligenza degli agenti AI per creare piattaforme che scalano con il tuo business, senza vendor lock-in.
-
Sovranità dei Dati
I tuoi dati rimangono tuoi. Infrastrutture self-hosted e sicure.
-
Automazione Cognitiva
Agenti AI che non solo rispondono, ma agiscono ed eseguono task complessi.
-
Architetture Modulari
Sistemi basati su Docker che crescono e si adattano senza rompersi.
"La tecnologia deve essere un acceleratore, non un freno."
- Antonio Trento