Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
6 mai 2012 7 06 /05 /mai /2012 15:21

 

Se connecter et exécuter des ordres SQL avec SQLPlus.

Comment se connecter et accéder à une base de données Oracle avec SQLPlus.
Comment interroger mes tables Oracle en mode console.
Comment exécuter des commandes SQLPLUS dans Oracle.
Comment exécuter des requêtes SQL en mode console.

SQLPLUS (SQL*Plus) est un outil ligne de commande Oracle, c'est une interface qui permet l’accés à une base de données en mode commande et console :
- Exécution des commandes SQL.
- Exécution de code PL/SQL.
- Exécution des commandes SQLPLUS.
- Exécution de fichiers scripts.
- La création de rapports.
- L'administration de la base de données.

Ici, nous parlerons uniquement de l'interface mode ligne de commande (Mode console), car l'interface graphique SQL*Plus n'est plus disponible à partir de la version 11G d'Oracle.

Syntaxe de la commande SQLPLUS pour une connexion à une base de données.

 
 SQLPLUS {username[/password][@connect_identifier] | / } [AS {SYSOPER|SYSDBA}] |/NOLOG 
  • username[/password].
    Nom d'utilisateur et mot de passe avec lequel vous voulez vous connecter à la base de données Oracle.

     C:\>SQLPLUS scott/tiger SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 12:59:08 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> 
  • @connect_identifier.
    Identifiant de connexion Oracle Net.
    il s’agit du descripteur de connexion qui indique la base Oracle à laquelle vous voulez vous connecter.
    Ce descripteur est présent dans votre fichier TNSNAMES.ORA situé dans %ORACLE_HOME%\NETWORK\ADMIN.

     C:\>SQLPLUS scott/tiger@test SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 13:01:02 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> 
  • /
    Ouverture de session en utilisant l'authentification du système d'exploitation.

     C:\>SQLPLUS / as SYSDBA SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 13:07:44 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> 
  • AS {SYSOPER|SYSDBA}.
    La clause AS permet des connexions privilégiées pour les utilisateurs qui ont les privilèges SYSOPER ou SYSDBA.

     C:\>SQLPLUS SYS/monpasse AS SYSDBA SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 14:44:07 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> 
  • /NOLOG.
    La clause /NOLOG permet d'ouvrir SQLPLUS sans établir de connexion à une base de données.
    Vous devez utilisez la commande CONNECT pour ouvrir une session sur la base de données Oracle.

     C:\>SET ORACLE_SID=DBAPROD C:\>SQLPLUS /NOLOG SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 14:50:53 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> CONNECT Entrez le nom utilisateur : scott Entrez le mot de passe : Connecté. SQL> ou bien SQL> CONNECT scott/tiger Connecté. SQL> 

Une session SQLPLUS se termine par la commande EXIT.
Attention, les transactions en cours sont validées aprés un EXIT, sauf si la commande ROLLBACK est exécutée.


 

Connexion à SQLPLUS et descripteur de connexion du TNSNAMES.ORA.

Ce descripteur de connexion de la commande SQLPLUS est présent dans votre fichier TNSNAMES.ORA situé dans %ORACLE_HOME%\NETWORK\ADMIN.
Le descripteur de connexion indique la base Oracle à laquelle vous voulez vous connecter.
Dans cet exemple, je souhaite me connecter à la base de test.

 
 C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN>type tnsnames.ora # tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. TEST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = PC-DRO)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = DBATEST) ) ) PROD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = PC-DRO)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = DBAPROD) ) ) C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN>cd\ C:\ C:\>SQLPLUS scott/tiger@test SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 13:05:23 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> 

 


 

Connexion à SQLPLUS et variable ORACLE_SID.

Il est possible de ne pas utiliser le descripteur de connexion présent dans le fichier TNSNAMES.ORA. Pour celà on initialise la variable ORACLE_SID avec le nom de l'instance de la base de données Oracle sur laquelle on veut se connecter.
Dans cet exemple, je me connecte à la base de prod et ensuite à la base de test.

 
 C:\>SET ORACLE_SID=DBAPROD C:\>SQLPLUS / AS SYSDBA SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 14:31:33 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> SELECT * FROM global_name; GLOBAL_NAME ------------------- DBAPROD SQL> exit Déconnecté de Oracle Database 10g Release 10.2.0.1.0 - Production C:\>SET ORACLE_SID=DBATEST C:\>SQLPLUS / AS SYSDBA SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 14:32:07 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> SELECT * FROM global_name; GLOBAL_NAME ------------------- DBATEST SQL> 

 


 

Exécuter des commandes SQLPLUS.

Connexion SQLPLUS sur le schéma scott.
Ne pas confondre commandes sql et commandes sqlplus. Dans cet exemple, nous utilisons la commande SQLPLUS DESC / DESCRIBE.
Elle permet d'afficher la structure d'une table ou d'une vue.

 
 C:\>SQLPLUS scott/tiger@test SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 13:43:15 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> DESC emp Nom NULL ? Type ----------------------------------------- -------- ----------------- EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(15) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) SQL> 

Dans cet exemple, nous utilisons la commande SQLPLUS SHOW USER.
Elle permet de visualiser le User sous lequel on est connecté.

 
 SQL> SHOW USER USER est "SCOTT" SQL> 

Dans cet exemple, nous utilisons la commande SQLPLUS SET SQLPROMPT.
Elle permet de changer et modifier l'affichage du prompt SQL.

 
 SQL> SET SQLPROMPT www.dba-ora.fr> www.dba-ora.fr> www.dba-ora.fr> 

Il existe une multitude de Commandes SQLPLUS.

 


 

Interroger mes tables avec des requêtes SQL sous SQLPLUS.

Maintenant que nous savons nous connecter à la base de données Oracle en mode console, nous pouvons interroger nos tables, dans cet exemple, je me connecte à la base de données avec le user SCOTT, donc je vais avoir la possibilité d'interroger tous les objets du schéma SCOTT.

 
 C:\>SQLPLUS scott/tiger@prod SQL*Plus: Release 10.2.0.1.0 - Production on Dim. Mai 6 15:04:22 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connecté à : Oracle Database 10g Release 10.2.0.1.0 - Production SQL> DESC emp; Nom NULL ? Type ----------------------------------------- -------- ----------------- EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(15) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) SQL> SELECT ename, job, sal FROM emp; ENAME JOB SAL ---------- --------------- ---------- SMITH CLERK 800,5 ALLEN SALESMAN WARD SALESMAN 1250 SQL> ou bien SQL> SELECT ename, 2 job, 3 sal 4 FROM emp; ENAME JOB SAL ---------- --------------- ---------- SMITH CLERK 800,5 ALLEN SALESMAN WARD SALESMAN 1250 SQL> 

Une requête peut s’écrire sur plusieurs lignes.
SQLPLUS incrémente le numéro de ligne à chaque retour chariot jusqu’au caractère final ; qui marque la fin de la commande.

 

Oracle SQL 10G www.dba-ora.fr

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Creer un Rapport HTML avec SQLPLUS.
• Les Variables SYSTEM SET dans SQLPLUS.

Partager cet article

Repost 0
Published by Oracle SQL - dans SQLPLUS
commenter cet article

commentaires