Sqlplus

De Avided.info
Sauter à la navigation Sauter à la recherche


connexion

Il existe plusieurs méthodes de connexion

par arguments

sqlplus user/Mot2Pass@base
  • Si vous n'indiquez pas la base, vous serez connecter a votre base par default.
sqlplus user/Mot2Pass

  • Si vous n'indiquer pas /Mot2Passe, le mot de passe vous sera demandé
sqlplus user1@XE

SQL*Plus: Release 11.2.0.2.0 Production on Wed Mar 13 15:47:47 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter password:

Athentification par le systeme

Si votre administrateur a mis en place une authentfication par le systeme

sqlplus /

Depuis le prompt SQL

Une fois dans sqlplus, il est possible de ce connecter avec un compte utilisateur est changer de base

sqlplus /nolog
SQL> connect user1/Mot2Pass

Connexion Admin

afin de créer de nouveaux utilisateurs ou effectuer des taches nécessitant des privilèges élevés

sqlplus / AS sysdba

ou encore

sqlplus "/AS sysdba"

Présentation

Confort terminale

Cotroler la taille de votre terminal depuis le prompte Unix avec la commande

tput cols
NN

avec le chiffre recuperer dans oracle -- pour les colonnes

SET LINESIZE NN

-- pour les lignes // si vous avez un terminale avec assensceur vous pouvez indique la même valeur que votre terminale

SET PAGESIZE 200

Faire un CSV

SET PAGESIZE 0
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 80
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET MARKUP HTML OFF SPOOL OFF
SET COLSEP ','


spool /tmp/output.csv
SELECT ...
spool off


Connaitre le nom d'utilisateur avec lequel vous êtes connecté

SHOW USER

Modifier le mot de passe

  • De l'utilisateur courant
SQL>password
  • D'un utilisateur quelconque

Il est nécessaire d'avoir les droits de modifier le mot de passe de l'utilisateur concerné

ALTER USER USER1 identified by Mot2Pass;

Modifier le prompt sql

Cette exemple indique ke nom d'utilisateur et la base de connexion

SET sqlprompt "&_USER@&_CONNECT_IDENTIFIER> "

USER1@XE>

Pour que cela soit fait automatiquement, ajouter la ligne dans le fichier <ORACLE_HOME>/sqlplus/admin/glogin.sql

backspace

Rien de plus agacent que de ne pas pouvoir effacer le ou les derniers caractères taper. La touche backspace dans sqlplus ne fonctionne pas par défaut.

  • si vous êtes connecter a sqlplus
SQL>!stty erase Ctrl+taper_sur_la_touche_backspace
  • Vous pouvez indiquer la ligne suivante dans votre fichier .profile ou bash_profile pour que cela soit permanent
stty erase ^H

Si cela ne fonctionne pas essayer "^?"

exécuter une commande OS

depuis sqlplus il est possible d’exécuter une commande sur le système d'exploitation

SQL> ! commande

Pour avoir un shell

SQL> !

# pour revenir au prompte SQL
exit

Enregistrer les transactions dans un fichier

Au lieu de faire des copier/coller des requêtes et du résultat de ces dernières, utiliser cette méthode. Toutes les requêtes et leurs résultats seront copiés dans le fichier indiqué.

SQL> SPOOL fichier.log
...<commande>...
SPOOL OFF

Afficher le temps exécution pour chaque requête

SET TIMI ON
SET TIMI OFF

comment executer un fichier .sql

-- Le fichier est dans le répertoire dans lequel vous étiez avant de vous connecter

@fichier.sql

-- Le fichier est dans un répertoire dans lequel vous n'étiez pas avant de vous connecter

@/chemin/du/fichier.sql

-- Une alternative

 start @fichier.sql

Utiliser sqlplus dans des scripts

Il est possible d’exécuter un fichier sql très facilement

sqlplus user/mdp < fichier.sql 

ou même avec cette méthode

sqlplus user/mdp @fichier.sql

Sources documents

http://www.developpez.net/forums/d743350/bases-donnees/oracle/contribuez/contribuez-faq-sql-plus/#post4306943