Commencez avec SQL Plus

Introduction
Travailler avec Oracle requiert souvent une précision en ligne de commande. C’est là qu’intervient SQL Plus. Il s’agit de l’interface en ligne de commande d’Oracle pour exécuter des instructions SQL, gérer les objets du schéma et exécuter des scripts. Que vous soyez administrateur ou développeur, savoir utiliser cet outil de manière efficace peut considérablement améliorer votre productivité.
Qu’est-ce que SQL Plus ?
SQL Plus est un utilitaire basé sur un terminal inclus avec Oracle Database. Il offre un shell interactif pour exécuter des instructions SQL et PL/SQL. Vous pouvez l’utiliser pour la génération de rapports, l’automatisation et le contrôle direct de la base de données, le tout sans dépendre d’une interface graphique.

Les fonctionnalités principales incluent :
- Exécuter des instructions SQL et afficher les résultats
- Exécuter des blocs et des scripts PL/SQL
- Mettre en forme les résultats des requêtes
- Effectuer des tâches d’administration de base de données
- Automatiser des tâches grâce au scripting
- Interagir avec le système d’exploitation
Les utilisateurs peuvent ainsi gérer rapidement et efficacement leurs bases de données, exécuter des requêtes, charger des données et automatiser des tâches de routine.
Installation de SQL Plus
Si vous avez installé Oracle Database, vous possédez probablement déjà SQL Plus, car il est inclus dans le package logiciel. Néanmoins, si vous devez installer Plus individuellement, voici les grandes étapes :
- Téléchargez le package Oracle Instant Client pour votre système d’exploitation depuis le site d’Oracle. Choisissez la version qui correspond à votre base de données Oracle.
- Extrayez le package téléchargé dans un répertoire de votre choix.
- Configurez les variables d’environnement requises :
- Définissez la variable PATH pour inclure le répertoire où se trouve SQL Plus.
- Définissez la variable ORACLE_HOME sur le répertoire où vous avez extrait le package Instant Client.
- Définissez la variable TNS_ADMIN sur l’emplacement de votre fichier tnsnames.ora (si vous en utilisez un).
- Vérifiez l’installation de Plus en exécutant la commande sqlplus -version dans votre terminal. Elle doit afficher les informations sur la version de SQL Plus.
Par exemple, sous Linux ou macOS, vous pouvez définir les variables d’environnement dans votre fichier .bash_profile :
export PATH=/chemin/vers/le_répertoire_instantclient:$PATH export ORACLE_HOME=/chemin/vers/le_répertoire_instantclient export TNS_ADMIN=/chemin/vers/tnsnames.ora
Vous êtes maintenant prêt à vous connecter à vos bases de données Oracle et à exécuter des commandes.
Connexion à une base de données
Pour commencer à utiliser SQL Plus, vous devez d’abord vous connecter à une base de données Oracle. Voici comment procéder :
- Ouvrez un terminal ou une invite de commandes.
- Exécutez la commande sqlplus suivie de votre nom d’utilisateur et de votre mot de passe :
sqlplus nom_utilisateur/mot_de_passe@identifiant_de_connexion
Remplacez nom_utilisateur, mot_de_passe et identifiant_de_connexion par vos véritables identifiants de base de données et détails de connexion.
Par exemple, pour vous connecter en tant qu’utilisateur système avec le mot de passe “password” à une base de données locale avec le SID “orcl”, la commande serait :
sqlplus system/password@orcl
Si la connexion est réussie, vous verrez l’invite, qui ressemble à ceci :
SQL>
Vous êtes maintenant connecté à la base de données et pouvez commencer à exécuter des commandes SQL et PL/SQL.
Exemple : Création d’un utilisateur de test
Créons un utilisateur de test appelé testuser avec le mot de passe testpass pour utiliser dans nos exemples. Connectez-vous à votre base de données en tant qu’utilisateur disposant de privilèges administratifs (par exemple, system) et exécutez les commandes suivantes :
CREATE USER testuser IDENTIFIED BY testpass; GRANT CONNECT, RESOURCE TO testuser;
La commande CREATE USER crée un nouvel utilisateur. La commande GRANT donne à l’utilisateur les autorisations nécessaires pour se connecter à la base de données et créer des objets.
Vous pouvez maintenant vous connecter à la base de données en tant que testuser :
sqlplus testuser/testpass@identifiant_de_connexion
Avec l’utilisateur de test créé et connecté, nous sommes prêts à explorer quelques commandes de base de SQL Plus.
Commandes de base de SQL Plus
SQL Plus propose diverses commandes pour gérer la base de données, formater les résultats des requêtes et personnaliser l’environnement. Voici quelques commandes de base pour commencer :
Pour exécuter une requête SQL, entrez simplement la requête à l’invite de Plus en la terminant par un point-virgule (;). Par exemple :
SELECT * FROM employees;
Cette requête sélectionne toutes les lignes et colonnes de la table employees. SQL Plus affichera les résultats de la requête dans un tableau formaté.
Les commandes SQLPlus les plus courantes à connaître
La compréhension de chaque commande essentielle de SQLPlus aide les administrateurs de bases de données et les développeurs à simplifier leurs opérations quotidiennes. De la mise en forme de la sortie à l’automatisation par script, voici quelques-unes des commandes SQLPlus les plus utilisées :
SELECT– Exécute une requête SQL.TTITLE,BTITLE– Ajoutent des en-têtes et pieds de page aux rapports.COLUMN FORMAT– Permet de définir la largeur et l’alignement des colonnes.SPOOL– Enregistre la sortie de la session dans un fichier texte.@script.sql– Exécute un script SQL.SHOW ALL– Affiche les paramètres et l’environnement actuels.
Mise en forme des résultats des requêtes
SQL Plus offre plusieurs commandes pour formater les résultats des requêtes. En voici quelques-unes courantes :
- COLUMN nom_de_colonne FORMAT format : Définit le format d’affichage pour une colonne spécifique.
- TTITLE texte : Définit le titre en haut de chaque page du rapport.
- BTITLE texte : Définit le titre en bas de chaque page du rapport.
- BREAK ON colonne : Crée un groupe de rupture sur une colonne spécifiée, ce qui insère une ligne vide et répète les valeurs de la colonne lorsque celle-ci change.
Par exemple, pour formater la colonne salaire en devise et ajouter un titre au rapport :
COLUMN salary FORMAT $99,999 TTITLE 'Salaires des employés' SELECT first_name, last_name, salary FROM employees;
Ce rapport affichera les noms et les salaires des employés. Le système affichera les salaires au format monétaire avec un titre. Cette personnalisation de la sortie est rendue possible grâce aux commandes SQLPlus telles que COLUMN FORMAT et TTITLE, largement utilisées dans les flux de travail de reporting.
Enregistrer et exécuter des scripts
SQL Plus vous permet d’enregistrer une série de commandes dans un fichier script et de les exécuter plus tard. Pour enregistrer votre session Plus actuelle dans un fichier, utilisez la commande SPOOL :
SPOOL output.txt SELECT * FROM departments; SPOOL OFF
Cela enregistrera la sortie de l’instruction SELECT dans un fichier nommé output.txt.
Pour exécuter un fichier script, utilisez la commande @ suivie du nom du fichier script :
@myscript.sql
Cela exécutera les commandes contenues dans le fichier myscript.sql. C’est une commande SQLPlus courante utilisée pour exécuter des scripts SQL prédéfinis stockés dans des fichiers. Elle permet d’automatiser de longues séquences d’instructions, telles que la création de tables et la gestion des autorisations.
Exemple d’utilisation de SQL Plus : création d’une table et insertion de données
Créons une table simple de produits et insérons quelques données d’exemple en utilisant 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;
Maintenant, formatons et interrogeons les données :
COLUMN product_name FORMAT A20 COLUMN price FORMAT $999.99 SELECT * FROM products;
La sortie devrait ressembler à ceci :
PRODUCT_ID PRODUCT_NAME PRICE
---------- ---------------- -------
1 Laptop $999.99
2 Smartphone $499.99
3 Headphones $99.99SQL Plus vs. autres outils Oracle
SQL Plus est largement utilisé, mais ce n’est pas la seule option pour interagir avec les bases de données Oracle en ligne de commande ou via une interface graphique. Voici comment il se compare à d’autres outils Oracle courants :
| Outil | Interface | Idéal pour | Scriptable |
|---|---|---|---|
| SQL Plus | Ligne de commande | Accès bas niveau, scripts hérités, automatisation | ✅ Oui |
| SQL Developer | Interface graphique | Conception de schémas visuels, test de requêtes, modélisation de données | ⚠️ Limité |
| SQLcl | Ligne de commande avec améliorations de scripting | Alternative CLI moderne à SQL Plus avec scripting, JSON, intégration Liquibase | ✅ Oui |
Automatisation de SQL Plus en environnement réel
Les scripts SQL Plus sont souvent utilisés dans des tâches par lots, des vérifications de conformité et des opérations quotidiennes sur la base de données. Voici un exemple d’exécution d’un script SQL Plus planifié à partir d’un shell :
#!/bin/bash sqlplus -s testuser/testpass@orcl <<EOF SPOOL audit_report.txt SELECT username, account_status FROM dba_users; SPOOL OFF EXIT EOF
Ce script s’exécute en mode silencieux (-s), interroge le statut des utilisateurs et enregistre la sortie dans un fichier texte. Il est idéal pour des audits automatisés ou des vérifications quotidiennes dans des environnements sécurisés.
Audit et conformité avec SQL Plus + DataSunrise
Intégré à DataSunrise, SQL Plus devient une partie intégrante d’une stratégie d’audit d’entreprise plus large. Vous pouvez :
- Exécuter des cas de test de masquage via des scripts SQL Plus
- Effectuer des audits de rôles et capturer en temps réel les journaux d’activité
- Vérifier les opérations DDL et les modifications d’accès depuis la ligne de commande
Cette approche hybride permet aux équipes de gérer efficacement les bases de données Oracle tout en maintenant une couverture complète de l’audit et une conformité réglementaire.
Conclusion
SQL Plus continue d’être un outil incontournable pour les professionnels d’Oracle. Que vous exécutiez des requêtes rapides, automatisiez des tâches ou génériez des rapports, il offre le contrôle et la flexibilité nécessaires pour le travail quotidien sur la base de données. La maîtrise de ses commandes rend chaque session plus rapide et plus productive.
Pour renforcer votre posture de sécurité Oracle, envisagez DataSunrise. Grâce à la surveillance en temps réel, au masquage de données et à l’automatisation de la conformité, nous aidons à protéger les bases de données Oracle de bout en bout. Demandez une démo pour voir le fonctionnement en direct.
