IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

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.

SommaireEnvironnement de travail (15)
sommaire suivant
 

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
Pour un serveur Windows :

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
L'initialisation de la variable $PATH sous Unix ou %path% sous Windows vous permettra d'accéder directement à SQL*Plus sans aller dans le dossier des binaires d'Oracle

Mis à jour le 15 mai 2009 jsd03

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
Exemple pour se connecter avec l'utilisateur scott :

Code SQL : Sélectionner tout
sqlplus scott/tiger
Exemple pour se connecter avec un compte SYSDBA

Code SQL : Sélectionner tout
sqlplus sys/change_on_install AS SYSDBA
Pour se connecter avec le compte SYS :

Code SQL : Sélectionner tout
sqlplus /
Vous pouvez également taper la commande suivante et spécifier les paramètres de connexion directement dans le prompte SQL>

Code SQL : Sélectionner tout
sqlplus /nolog
Ensuite pour se connecter à un compte on utilise la même syntaxe que précédemment mais avec la commande CONNECT

Code SQL : Sélectionner tout
SQL> connect scott/tigger
ou

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.

Mis à jour le 14 mai 2009 jsd03

Pour vérifier ou récupérer sa version de SQL*Plus, tapez la commande suivante :

Code shell : Sélectionner tout
sqlplus -V

Mis à jour le 14 mai 2009 jsd03

Il suffit de taper la commande suivante :

Code SQL : Sélectionner tout
SQL> define
Le résultat sera le suivant (mais peut différer par rapport à votre version de SQL*Plus) :

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
Dans le même ordre d'idée, pour définir une nouvelle valeur de variable tapez la commande

Code SQL : Sélectionner tout
SQL> define variableName=newValue
Exemple :

Code SQL : Sélectionner tout
SQL> define _EDITOR="c:/Notepad++/Notepad++.exe"
Certaines variables sont en lecture seule.

Mis à jour le 14 mai 2009 jsd03

Uniquement valide à partir de la version 10G d'Oracle.
Modifiez le fichier $ORACLE_HOME/sqlplus/admin/glogin.sql (sous Unix) ou %oracle_home%/sqlplus/admin/glogin.sql (sous Windows) et ajoutez :

Code SQL : Sélectionner tout
SQL> SET sqlprompt "&_USER@&_CONNECT_IDENTIFIER> "

Mis à jour le 15 mai 2009 orafrance

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"
Exemple:

Code SQL : Sélectionner tout
SQL> SET sqlprompt "jsd03 SQL> "
On peut aussi combiner cette commande pour afficher un prompt du genre "username"@"SID". Par exemple :

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.

Mis à jour le 12 juin 2009 jsd03 Pomalaix

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
Résultat :

Code SQL : Sélectionner tout
20:36:20 SQL>

Mis à jour le 26 juin 2009 Emmanuel Lecoester

Utiliser la commande suivante :

Code sql : Sélectionner tout
SQL> SHOW USER
Résultat (si mon nom d'utilisateur est JSD03) :

Code sql : Sélectionner tout
USER IS "JSD03"

Mis à jour le 15 mai 2009 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
ou encore

Code SQL : Sélectionner tout
SQL> help host
Il se peut néanmoins que cette aide ne soit pas installée. Pour cela, connectez allez dans le dossier $ORACLE_HOME/sqlplus/admin/help (sous Unix) ou %oracle_home%/sqlplus/admin/help (sous Windows) et lancer les commandes suivantes avec un compte SYS ou SYSTEM :

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

Mis à jour le 12 juin 2009 jsd03

Il suffit d'utiliser tout simplement la commande suivante :

Code SQL : Sélectionner tout
SQL> password
Exemple :

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>

Mis à jour le 15 mai 2009 umarus

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
Exemple (pour un serveur Unix) :

Code SQL : Sélectionner tout
1
2
3
SQL> ! date 
lun jan 10 10:29:06 CEST 2009 
SQL>
Exemple (pour un serveur Windows) :

Code SQL : Sélectionner tout
1
2
3
SQL> $ echo developpez.com 
developpez.com 
SQL>
Il est possible de taper plusieurs commandes à la suite en spécifiant uniquement "!" ou "HOST" puis en tapant sur la touche "ENTREE". Le prompt SQL> va se fermer et vous aurez accès au prompt système. Pour revenir à votre session SQL, tapez EXIT.

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>

Mis à jour le 18 mai 2009 jsd03

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
On peut également spécifier la taille du buffer de sortie en précisant de la manière suivant :

Code SQL : Sélectionner tout
SQL> SET serveroutput ON size 1000000

Mis à jour le 18 mai 2009 GoLDoZ

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
Exemple:

Code SQL : Sélectionner tout
SQL> store SET "c:/sqlVariables.txt"
De la même manière, pour réimporter ces variables, tapez la commande :

Code SQL : Sélectionner tout
SQL> @"c:/sqlVariables.txt"

Mis à jour le 12 juin 2009 jsd03

Pour faire cela, il faut utiliser la commande suivante :

Code SQL : Sélectionner tout
SQL> SHOW variableName
Exemple pour afficher le nombre de ligne par page :

Code SQL : Sélectionner tout
1
2
SQL> SHOW pagesize 
pagesize 14
Pour afficher toutes les variables :

Code SQL : Sélectionner tout
SQL> SHOW all

Mis à jour le 12 juin 2009 jsd03

Pour quitter correctement SQL*Plus, tapez la commande :

Code SQL : Sélectionner tout
SQL> quit
ou

Code SQL : Sélectionner tout
SQL> exit
On peut aussi spécifier d'appliquer les changements ou non aux requêtes précédemments exécutées. En spécifiant à la suite, COMMIT ou ROLLBACK.

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.

Mis à jour le 12 juin 2009 jsd03

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 ça


Réponse à la question

Liens sous la question
sommaire suivant
 

Les 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.