Inizia con SQL Plus

Introduzione
Lavorare con Oracle spesso richiede la precisione della riga di comando. Qui entra in gioco SQL Plus. È l’interfaccia a riga di comando di Oracle per eseguire istruzioni SQL, gestire oggetti dello schema ed eseguire script. Che tu sia un amministratore o uno sviluppatore, saper utilizzare questo strumento in modo efficiente può migliorare notevolmente la tua produttività.
Cos’è SQL Plus?
SQL Plus è un’utilità basata su terminale inclusa con Oracle Database. Fornisce una shell interattiva per eseguire istruzioni SQL e PL/SQL. Puoi usarlo per reporting, automazione e controllo diretto del database, tutto questo senza affidarti a un’interfaccia grafica.

Le caratteristiche principali includono:
- Eseguire istruzioni SQL e visualizzare i risultati
- Eseguire blocchi PL/SQL e script
- Formattare i risultati delle query
- Eseguire compiti di amministrazione del database
- Automatizzare attività tramite scripting
- Interagire con il sistema operativo
Gli utenti possono gestire rapidamente ed efficacemente i loro database, eseguire query, caricare dati e automatizzare attività di routine.
Installazione di SQL Plus
Se hai Oracle Database installato, probabilmente hai già SQL Plus poiché fa parte del pacchetto software. Tuttavia, se c’è la necessità di installare Plus in modo indipendente, ecco i passaggi principali:
- Scarica il pacchetto Oracle Instant Client per il tuo sistema operativo dal sito Oracle. Scegli la versione che corrisponde al tuo Oracle Database.
- Estrai il pacchetto scaricato in una directory a tua scelta.
- Imposta le variabili d’ambiente necessarie:
- Imposta la variabile PATH per includere la directory in cui si trova SQL Plus.
- Imposta la variabile ORACLE_HOME sulla directory in cui hai estratto il pacchetto Instant Client.
- Imposta la variabile TNS_ADMIN sul percorso del file tnsnames.ora (se lo utilizzi).
- Verifica l’installazione di Plus eseguendo il comando sqlplus -version nel terminale. Dovrebbe mostrare le informazioni sulla versione di SQL Plus.
Ad esempio, su Linux o macOS, puoi impostare le variabili d’ambiente nel file .bash_profile:
export PATH=/path/to/instantclient_directory:$PATH export ORACLE_HOME=/path/to/instantclient_directory export TNS_ADMIN=/path/to/tnsnames.ora
Ora sei pronto per iniziare a connetterti ai tuoi database Oracle ed eseguire comandi.
Connessione a un Database
Per iniziare a utilizzare SQL Plus, è necessario prima connettersi a un database Oracle. Ecco come:
- Apri un terminale o prompt dei comandi.
- Esegui il comando sqlplus seguito dal tuo nome utente e password:
sqlplus username/password@connect_identifier
Sostituisci username, password e connect_identifier con le tue reali credenziali di database e dettagli di connessione.
Ad esempio, per connetterti come utente system con password “password” ad un database locale con SID “orcl”, il comando sarebbe:
sqlplus system/password@orcl
Se la connessione ha successo, vedrai il prompt, che appare così:
SQL>
Sei ora connesso al database e puoi iniziare a eseguire comandi SQL e PL/SQL.
Esempio: Creazione di un Utente di Test
Creiamo un utente di test chiamato testuser con la password testpass da utilizzare nei nostri esempi. Connettiti al tuo database come utente con privilegi amministrativi (ad es., system) ed esegui i seguenti comandi:
CREATE USER testuser IDENTIFIED BY testpass; GRANT CONNECT, RESOURCE TO testuser;
Il comando CREATE USER crea un nuovo utente. Il comando GRANT assegna all’utente i permessi per connettersi al database e creare oggetti.
Ora puoi connetterti al database come testuser:
sqlplus testuser/testpass@connect_identifier
Con l’utente di test creato e connesso, siamo pronti per esplorare alcuni comandi base di SQL Plus.
Comandi Base di SQL Plus
SQL Plus dispone di vari comandi per gestire il database, formattare i risultati delle query e personalizzare l’ambiente. Ecco alcuni comandi base per iniziare:
Per eseguire una query SQL, inserisci semplicemente la query al prompt di Plus e concludila con un punto e virgola (;). Ad esempio:
SELECT * FROM employees;
Questa query seleziona tutte le righe e colonne dalla tabella employees. SQL Plus visualizzerà i risultati della query in una tabella formattata.
Comandi SQLPlus Più Comuni che Dovresti Conoscere
Comprendere ogni comando fondamentale di SQLPlus aiuta amministratori di database e sviluppatori a semplificare le operazioni quotidiane. Dalla formattazione dell’output all’automazione tramite scripting, ecco alcuni dei comandi SQLPlus più diffusi:
SELECT– Esegue una query SQL.TTITLE,BTITLE– Aggiunge intestazioni e piè di pagina ai report.COLUMN FORMAT– Formatta la larghezza e l’allineamento delle colonne.SPOOL– Salva l’output della sessione in un file di testo.@script.sql– Esegue uno script SQL.SHOW ALL– Visualizza le impostazioni correnti e l’ambiente.
Formattazione dei Risultati delle Query
SQL Plus offre diversi comandi per formattare i risultati delle query. Ecco alcuni dei più comuni:
- COLUMN column_name FORMAT format: Imposta il formato di visualizzazione per una colonna specifica.
- TTITLE text: Imposta il titolo per la parte superiore di ogni pagina del report.
- BTITLE text: Imposta il titolo per la parte inferiore di ogni pagina del report.
- BREAK ON column: Crea un’interruzione di gruppo su una colonna specifica, inserendo una riga vuota e ripetendo i valori della colonna quando questi cambiano.
Ad esempio, per formattare la colonna salary come valuta ed aggiungere un titolo al report:
COLUMN salary FORMAT $99,999 TTITLE 'Employee Salaries' SELECT first_name, last_name, salary FROM employees;
Questo report mostrerà i nomi e gli stipendi dei dipendenti. Il sistema visualizzerà gli stipendi in formato valuta con un titolo. Questa personalizzazione dell’output è resa possibile dai comandi SQLPlus come COLUMN FORMAT e TTITLE, ampiamente usati nei flussi di lavoro dei report.
Salvare ed Eseguire Script
SQL Plus ti consente di salvare una serie di comandi in un file script ed eseguirli in seguito. Per salvare l’attuale sessione di Plus in un file, usa il comando SPOOL:
SPOOL output.txt SELECT * FROM departments; SPOOL OFF
Questo salverà l’output dell’istruzione SELECT in un file denominato output.txt.
Per eseguire un file script, usa il comando @ seguito dal nome del file script:
@myscript.sql
Questo eseguirà i comandi presenti nel file myscript.sql. Si tratta di un comando SQLPlus comunemente utilizzato per eseguire script SQL predefiniti memorizzati in file. Permette di automatizzare lunghe sequenze di istruzioni, come la creazione di tabelle e la gestione dei permessi.
Esempio di utilizzo di SQL Plus: Creazione di una Tabella e Inserimento di Dati
Creiamo una semplice tabella products ed inseriamo dei dati di esempio utilizzando SQL Plus:
CREATE TABLE products ( product_id NUMBER PRIMARY KEY, product_name VARCHAR2(100), price NUMBER(10,2) ); INSERT INTO products VALUES (1, 'Laptop', 999.99); INSERT INTO products VALUES (2, 'Smartphone', 499.99); INSERT INTO products VALUES (3, 'Headphones', 99.99); COMMIT;
Ora, formattiamo ed eseguiamo una query sui dati:
COLUMN product_name FORMAT A20 COLUMN price FORMAT $999.99 SELECT * FROM products;
L’output dovrebbe apparire all’incirca così:
ID_PRODOTTO NOME_PRODOTTO PREZZO
---------- ---------------- -------
1 Laptop $999.99
2 Smartphone $499.99
3 Headphones $99.99SQL Plus vs. Altri Strumenti Oracle
SQL Plus è ampiamente utilizzato, ma non è l’unica opzione per l’interazione con i database Oracle, sia a riga di comando che tramite interfaccia grafica. Ecco come si confronta con altri strumenti Oracle comuni:
| Strumento | Interfaccia | Ideale per | Scriptabile |
|---|---|---|---|
| SQL Plus | Riga di comando | Accesso a basso livello, scripting legacy, automazione | ✅ Yes |
| SQL Developer | Interfaccia grafica | Progettazione visiva dello schema, test delle query, modellazione dei dati | ⚠️ Limited |
| SQLcl | CLI con miglioramenti nello scripting | Alternativa CLI moderna a SQL Plus con scripting, JSON, integrazione con Liquibase | ✅ Yes |
Automatizzazione di SQL Plus in Ambienti Realistici
Gli script SQL Plus sono spesso utilizzati in lavori batch, controlli di conformità e attività notturne sul database. Ecco un esempio di esecuzione di uno script SQL Plus programmato da una shell:
#!/bin/bash sqlplus -s testuser/testpass@orcl <Questo script viene eseguito in modalità silenziosa (
-s), interroga lo stato degli utenti e salva l'output in un file di testo. È ideale per audit automatizzati o controlli giornalieri in ambienti sicuri.Audit e Conformità con SQL Plus + DataSunrise
Quando integrato con DataSunrise, SQL Plus diventa parte di una strategia di audit aziendale più ampia. Puoi:
- Eseguire casi di test per il masking tramite script SQL Plus
- Eseguire audit dei ruoli e acquisire log delle attività in tempo reale
- Verificare operazioni DDL e modifiche degli accessi dalla riga di comando
Questo approccio ibrido consente ai team di gestire i database Oracle in modo efficiente mantenendo una copertura completa degli audit e un allineamento normativo.
Conclusione
SQL Plus continua ad essere un'utilità di riferimento per i professionisti Oracle. Che tu stia eseguendo query rapide, compiti di scripting o generando report, offre il controllo e la flessibilità necessari per il lavoro quotidiano sui database. Padroneggiarne i comandi rende ogni sessione più veloce e produttiva.
Per rafforzare la sicurezza del tuo ambiente Oracle, considera DataSunrise. Con il monitoraggio in tempo reale, il data masking e l'automazione della conformità, proteggiamo i database Oracle dalla A alla Z. Richiedi una demo per vederlo in azione.
