![logo](https://oracle.developpez.com/images/faq-sqlplus.gif)
FAQ SQL*PlusConsultez toutes les FAQ
Nombre d'auteurs : 8, nombre de questions : 32, dernière mise à jour : 26 juin 2009 Ajouter une question
Cette F.A.Q. a été réalisée à partir des connaissances de membres de Developpez.com en vue de répondre à des questions fréquemment posées par les utilisateurs.
Elle traite exclusivement des questions relatives à SQL*Plus.
Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.
L'équipe de Developpez.com.
- Quelles sont les variables d'environnement nécessaires pour lancer SQL*Plus ?
- Comment se connecter à SQL*Plus ?
- Comment récupérer sa version de SQL*Plus ?
- Comment afficher les propriétés liées à SQL*Plus ?
- Comment afficher le schéma et le nom de l'instance dans le prompt ?
- Comment changer le nom du prompt SQL> ?
- Comment afficher l'heure dans le prompt SQL*Plus ?
- Comment savoir avec quel compte je suis connecté à SQL*Plus ?
- Comment activer / utiliser l'aide SQL*Plus ?
- Comment changer le mot de passe de l'utilisateur courant ?
- Comment exécuter une commande système depuis SQL*Plus ?
- Comment activer l'affichage du buffer pour la session SQL*Plus en cours?
- Comment exporter toutes les variables d'environnements de SQL*Plus ?
- Comment afficher la valeur d'une variable d'environnement de SQL*Plus ?
- Comment quitter correctement SQL*Plus ?
Les variables suivantes sont nécessaires :
- ORACLE_HOME : chemin vers l'installation Oracle
- PATH : chemin vers les binaires d'Oracle
- ORACLE_SID : nom de l'instance qui sera utilisée par SQL*Plus (cette variable n'est pas obligatoire car on peut spécifier se paramètre dans la chaine de connexion)
D'où par exemple le résultat suivant (pour un serveur Unix) :
- $ORACLE_HOME : /oracle01/11gR1
- $PATH : $PATH:/oracle01/11gR1/bin
- $ORACLE_SID : orcl (cette variable n'est pas obligatoire car on peut spécifier se paramètre dans la chaine de connexion)
Pour définir ces variables simplement, lancez une invite de commande et tapez les commandes suivantes
Pour un serveur Unix :
Code shell : | Sélectionner tout |
1 2 3 | export ORACLE_HOME=/oracle01/11gR1 export ORACLE_SID=orcl export PATH=$PATH:/oracle01/11gR1/bin |
Code shell : | Sélectionner tout |
1 2 3 | set %ORACLE_HOME%=c:\oracle01\11gR1 set %ORACLE_SID%=orcl set %PATH%=%PATH%;C:\oracle01\11gR1\bin |
Allez dans le dossier $ORACLE_HOME/bin ou vérifiez que ce répertoire fait partie de votre PATH (dans ce cas vous pourrez utiliser directement la commande sqlplus).
Ici se trouve l'exécutable sqlplus. Vous pouvez lancer directement sqlplus, on vous demandera un login et mot de passe pour vous connecter à votre base. Par contre cette méthode ne vous permettra pas de vous connecter à une autre base que celle par défaut ou avec un compte de type SYSDBA ou SYSOPER.
C'est pour cela qu'il convient de spécifier des paramètres de connexion.
Voici la syntaxe pour ce connecter à SQL*Plus :
Code SQL : | Sélectionner tout |
sqlplus (utilisateur[/mot_de_passe][@identifiant_BDD] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG
Code SQL : | Sélectionner tout |
sqlplus scott/tiger
Code SQL : | Sélectionner tout |
sqlplus sys/change_on_install AS SYSDBA
Code SQL : | Sélectionner tout |
sqlplus /
Code SQL : | Sélectionner tout |
sqlplus /nolog
Code SQL : | Sélectionner tout |
SQL> connect scott/tigger
Code SQL : | Sélectionner tout |
SQL> connect sys/change_on_install AS SYSDBA
![]() |
Toutes ces chaines de connexion vont se connecter sur le ORACLE_SID définit par défaut à moins de redéfinir cette variable d'environnement. |
Pour vérifier ou récupérer sa version de SQL*Plus, tapez la commande suivante :
Code shell : | Sélectionner tout |
sqlplus -V
Il suffit de taper la commande suivante :
Code SQL : | Sélectionner tout |
SQL> define
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 | DEFINE _DATE = "30/03/09" (CHAR) DEFINE _CONNECT_IDENTIFIER = "XE" (CHAR) DEFINE _USER = "HR" (CHAR) DEFINE _PRIVILEGE = "" (CHAR) DEFINE _SQLPLUS_RELEASE = "1002000100" (CHAR) DEFINE _EDITOR = "Notepad" (CHAR) DEFINE _O_VERSION = "Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production" (CHAR) DEFINE _O_RELEASE = "1002000100" (CHAR) |
- _DATE : date courante
- _CONNECT_IDENTIFIER : identifiant de la base de données
- _USER : utilisateur avec lequel vous êtes connecté
- _PRIVILEGE : privilège utilisé pour se connecter (AS SYSDBA, AS SYSOPER)
- _SQLPLUS_RELEASE : numéro de version
- _EDITOR : éditeur qui sera utilisé pour modifier les requêtes
- _O_VERSION : nom de version de la base de données
- _O_RELEASE : numéro de version de la base de données
Vous pouvez évidement afficher séparément toutes ces valeurs en utilisant toujours la commande define et en spécifiant à la suite, la variable à afficher. Comme par exemple :
Code SQL : | Sélectionner tout |
SQL> define _CONNECT_IDENTIFIER
Code SQL : | Sélectionner tout |
SQL> define variableName=newValue
Code SQL : | Sélectionner tout |
SQL> define _EDITOR="c:/Notepad++/Notepad++.exe"
![]() |
Certaines variables sont en lecture seule. |
![]() |
Uniquement valide à partir de la version 10G d'Oracle. |
Code SQL : | Sélectionner tout |
SQL> SET sqlprompt "&_USER@&_CONNECT_IDENTIFIER> "
On peut parfois vouloir changer le nom du prompt SQL> pour une nouvelle valeur.
Pour ce faire, tapez la commande suivante :
Code SQL : | Sélectionner tout |
SQL> SET sqlprompt "nouvelleValeur"
Code SQL : | Sélectionner tout |
SQL> SET sqlprompt "jsd03 SQL> "
Code SQL : | Sélectionner tout |
SQL> SET sqlprompt &_USER@&_CONNECT_IDENTIFIER>
![]() |
Notez que si vous changez d'utilisateur, le prompt restera comme vous l'avez définit précédement. |
Cette fonctionnalité permet de suivre en temps réel l'éxécution d'un script.
Pour afficher l'heure en début de prompt, il suffit de taper la commande suivante ou de la mettre en début de script sql :
Code SQL : | Sélectionner tout |
SQL> set time on
Code SQL : | Sélectionner tout |
20:36:20 SQL>
Utiliser la commande suivante :
Code sql : | Sélectionner tout |
SQL> SHOW USER
Code sql : | Sélectionner tout |
USER IS "JSD03"
Pour utiliser l'aide sur une commande, il suffit de taper HELP suivit de la commande. Exemple :
Code SQL : | Sélectionner tout |
SQL> help SHOW
Code SQL : | Sélectionner tout |
SQL> help host
Code SQL : | Sélectionner tout |
1 2 3 | sqlplus SYS/password @helpdrop.sql --supprime les tables d'aide si elles existent déjà sqlplus SYS/password @helpbld.sql --créée les tables d'aide sqlplus SYS/password @helpus.sql --charge les données dans les tables d'aide |
Il suffit d'utiliser tout simplement la commande suivante :
Code SQL : | Sélectionner tout |
SQL> password
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | SQL> conn scott Enter password: Connecte. SQL> password Modification de mot de passe pour SCOTT Ancien mot de passe : Nouveau mot de passe : Ressaisir le nouveau mot de passe : Mot de passe modifie SQL> |
Depuis le prompt SQL>, il est possible d'exécuter une commande propre au système d'exploitation à l'aide de ces 3 commandes :
Code SQL : | Sélectionner tout |
1 2 3 | SQL> ! commandeUnix SQL> $ commandeWindows SQL> host commandeUnixOuWindows |
Code SQL : | Sélectionner tout |
1 2 3 | SQL> ! date lun jan 10 10:29:06 CEST 2009 SQL> |
Code SQL : | Sélectionner tout |
1 2 3 | SQL> $ echo developpez.com developpez.com SQL> |
Exemple :
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | SQL> $ Microsoft Windows XP [version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Jean-Sébastien>exit SQL> host Microsoft Windows XP [version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Jean-Sébastien>echo developpez.com developpez.com C:\Documents and Settings\Jean-Sébastien>date La date du jour est : 02/06/2009 Entrez la nouvelle date : (jj-mm-aa) C:\Documents and Settings\Jean-Sébastien>exit SQL> |
Cette commande permettra notamment d'afficher le retour de la procédure : DBMS_OUTPUT.PUT_LINE('TexteAafficher')
Code SQL : | Sélectionner tout |
SQL> SET serveroutput ON
Code SQL : | Sélectionner tout |
SQL> SET serveroutput ON size 1000000
Il peut être nécessaire d'exporter les variables d'environnement afin de les réutiliser sur une autre base de données.
Pour cela tapez la commande suivante :
Code SQL : | Sélectionner tout |
SQL> store SET fileName
Code SQL : | Sélectionner tout |
SQL> store SET "c:/sqlVariables.txt"
Code SQL : | Sélectionner tout |
SQL> @"c:/sqlVariables.txt"
Pour faire cela, il faut utiliser la commande suivante :
Code SQL : | Sélectionner tout |
SQL> SHOW variableName
Code SQL : | Sélectionner tout |
1 2 | SQL> SHOW pagesize pagesize 14 |
Code SQL : | Sélectionner tout |
SQL> SHOW all
Pour quitter correctement SQL*Plus, tapez la commande :
Code SQL : | Sélectionner tout |
SQL> quit
Code SQL : | Sélectionner tout |
SQL> exit
![]() |
Pour information, la commande DISCONNECT permet uniquement de fermer la session de l'utilisateur courant pour permettre par exemple de se connecter avec un autre utilisateur. |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.