Vous êtes sur la page 1sur 27

INSIA Bases de donnes ORACLE Installation SQL*Plus SQL-Developer

http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm http://st-curriculum.oracle.com/ http://www.oracle.com/ Bertrand LIAUDET

SOMMAIRE
SOMMAIRE ORACLE Historique, march et concurrent Historique March et concurrent Sites de rfrence ORACLE XE (express edition) Documentation Environnements graphiques : SQL developper Installation de Oracle 10g express dition Tlchargement Installation sous XP Bilan de linstallation Dsinstallation Organisation du serveur ORACLE Le listener ORACLE : TNSLSNR.exe Le serveur ORACLE : oracle.exe La calculette SQL : sqlplus Mise jour du PATH windows Dmarrer SQLPLUS Utilisation de SQLPLUS Les versions graphiques de SQLPLUS SQL Developer SQL*Plus graphique
INSIA - BASES DE DONNES ORACLE - 01 - page 1/27 - Bertrand LIAUDET

1 5 5 5 5 6 6 6 6 6 6 6 7 8 9 9 9 10 10 10 10 10 10 10

SQL*Plus worksheet IQSL*Plus Console 10g express edition LES OBJETS DUNE BASE ORACLE Structure des fichiers de la BD Les objets de la BD Table 12 Table temporaire Table organise en index Table partitionne Cluster Index 12 Vue 12 Vue dobjets Vue matrialise Squence Procdure et fonction Package Trigger Synonyme Lien de base de donnes DICTIONNAIRE Dictionnaire et dictionnaire des donnes Prsentation La vue dictionnary ou le synonyme dict Dictionnaire des donnes Premiers usages du dictionnaire des donnes Les vues du dictionnaires des donnes Les 3 catalogues Les diffrents objets Accs aux statistiques Les utilisateurs et leurs privilges CREATION DUN UTILISATEUR Interface SQLPLUS Afficher tous les utilisateurs Cration dun utilisateur Attribution de droits l'utilisateur Interface console 10g Express Edition : http://localhost:8080/apex Chemin Afficher tous les utilisateurs

10 10 10 11 11 12 12 12 12 12

12 13 13 13 13 13 13 13 14 14 14 14 16 16 17 17 17 17 17 19 19 19 19 19 20 20 20

INSIA - BASES DE DONNES ORACLE - 01 - page 2/27 - Bertrand LIAUDET

Crer un utilisateur Interface Console 10g express edition SQL*PLUS Calculette SQL ORACLE : sqlplus Documentation Principales commandes sqlplus Connexion Sous SE Sous SQL Afficher le nom de lutilisateur connect login.sql Gestion des accents Sous windows Sous linux Variables denvironnement Lister toutes les variables Principales variables denvironnement sqlplus Afficher une variable Modifie une variable Formats daffichage linesize et pagesize Taille des colonnes Divers Excuter un script Commentaires Excuter une commande du systme dexploitation Gestion des transactions Gestion de fichier Gestion de laffichage des rsultats dun script SQL DEVELOPER Prsentation Fonctionnalits Tlchargement Documentation Tutoriel Installation et utilisation. Sqldeveloper.exe Etat du LISTENER Plateforme JAVA Principaux usages Connexion dun utilisateur

20 20 21 21 21 21 21 21 21 22 22 22 22 22 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 26 26 26

INSIA - BASES DE DONNES ORACLE - 01 - page 3/27 - Bertrand LIAUDET

Naviguer parmi les objets dun utilisateur Editeur contextuel SQL et PL-SQL TP DINSTALLATION Installation Console 10g express edition : cration dutilisateur
Premire dition : avril 2009 Deuxime dition : mai 2010

26 26 27 27 27

INSIA - BASES DE DONNES ORACLE - 01 - page 4/27 - Bertrand LIAUDET

ORACLE
Oracle (Petit Robert lectronique 2.1) : 1) Volont de Dieu annonce par les prophtes et les aptres. 2) Rponse qu'une divinit donnait ceux qui la consultaient en certains lieux sacrs. 3) Dcision, opinion exprime avec autorit et qui jouit d'un grand crdit. 4) Personne qui parle avec autorit ou comptence.

Historique, march et concurrent Historique 1979 : Oracle 2. Premire version commercial. Premier SGBD bas sur le SQL de CODD. 1983 : Oracle 3. Rcrit en C. 1984 : Oracle 4. Gestion des transactions. 1992 : Oracle 7. Contraintes rfrentielles. Procdures stockes. Triggers. 1997 : Oracle 8. Objet-relationnel. 1998 : Oracle 8i. i pour internet. 2004 : Oracle 10g. g pour grid computing : calcul distribu et gestion de cluster. 2005 : Oracle 10g express dition. Version gratuite de Oracle 10g mais bride en nombre de processeurs, denregistrements (4G0) et de mmoire (1G0). Lobjectif est dentrer sur le march des PME sensibles aux cot et aux promesses de lOpen Source. March et concurrent 45% du march pour Oracle en 2006. 21 % pour IBM avec DB2 (DB2 expressC, version gratuite). 18% pour Microsoft avec SQL Server (SQL Server 2008 express, version gratuite). Total : 84 % du march pour 3 produits. La concurrence entre ces produits seffectuent aussi autour de linformatique dcisionnelle (datawharehouse et datamart, ETL, analyse et datamining, reporting). En 2008, SQL Server accroissait ses parts de march.

INSIA - BASES DE DONNES ORACLE - 01 - page 5/27 - Bertrand LIAUDET

Sites de rfrence ORACLE XE (express edition) http://www.oracle.com/technology/products/database/xe/index.html Documentation http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm file:///C:/oraclexe/app/oracle/doc/getting_started.htm Environnements graphiques : SQL developper http://www.oracle.com/technology/products/database/sql_developer/index.html Environnement installer qui offre un navigateur dans les objets de la BD, un diteur SQL et PL-SQL, un dbogueur PL-SQL, des modles de code.

Installation de Oracle 10g express dition Tlchargement A partir de http://www.oracle.com : download / database / etc. On peut arriver : Oracle Database 10g Express Edition http://www.oracle.com/technology/products/database/xe/index.html Pour une installation Windows : http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsoft.html OracleXEUniv.exe (216 933 372 bytes) Installation sous XP Utilisateur et mot de passe Rien paramtrer part le mot de passe de la BD. Ce mot de passe sera utilis pour les comptes SYS et SYSTEM. La fentre prcise : lutilisateur SYSTEM permettra de se connecter la BD aprs linstallation. Lancer la page daccueil de la base de donnes Cette option amne sur la console 10g express edition , cest--dire une version graphique et en ligne (http://localhost:8080/apex) de la calculette SQL. On peut se connecter en tant quutilisateur SYSTEM avec le mot de passe fourni linstallation.

INSIA - BASES DE DONNES ORACLE - 01 - page 6/27 - Bertrand LIAUDET

Bilan de linstallation Menu dmarrer Le menu dmarre offre 5 types de ressources : Accs la calculette sql Excuter la ligne de commande SQL

Dmarrage et arrt du serveur Dmarrer la base de donnes Arrter la base de donnes

Sauvegarde et restauration Sauvegarder la base de donnes Restaurer la base de donnes

Console 10g express edition Environnement en ligne, utilisable aprs linstallation Oracle DBXE permettant dutiliser et dadministrer le SGBD. Ramne : http://localhost:8080/apex Aide Accder la page d'accueil de la base de donnes Obtenir de l'aide : forum, documentation en ligne.

Rpertoires des excutables C:\oraclexe\app\oracle\product\10.2.0\server\BIN Le serveur : oracle.exe Le listener : TNSLSNR.exe Le client calculette : sqlplus.exe Rpertoire des donnes C:\oraclexe\oradata\XE Les fichiers de donnes oracle sont des .DBF . Ils ne sont interprtables que par ORACLE. Ils correspondent des tablespaces . Processus en cours Le listener : TNSLSNR.exe Le serveur : oracle.exe

Programmes installs Oracle Database 10g Express Edition


INSIA - BASES DE DONNES ORACLE - 01 - page 7/27 - Bertrand LIAUDET

Oracle Dataprovider for .NET help : http://morpheus.developpez.com/oracledotnet/#LI

Msconfig / service Sous Windows, on trouve dans : excuter / msconfig / sevice : OracleServiceXE OracleMTSRecoveryService OracleXEClrAgent

OracleXETNSListener La prsence du Listener est importante pour le bon fonctionnement de la base. Dsinstallation Attention, aprs une dsinstallation non finalise, la rinstallation est impossible ! Pour une dsinstallation finalise, suivre les tapes suivantes : 1. Arrter le serveur et tous les services ORACLE. 2. Dsinstaller partir du panneau de configuration. 3. Supprimer tout le rpertoire dinstallation (C:\oraclexe par dfaut) 4. Supprimer tous les rpertoires lis ORACLE dans C:\Documents and settings\utilisateur\local settings\temp 5. Supprimer tous les rpertoires lis ORACLE dans C:\Documents and settings\All Users\Menu Dmarrer\Programmes 6. Si vous avez un logiciel de nettoyage des registres, nettoyer les registres. 7. Dans la base de registre (Dmarrer/Excuter regedit) : rechercher toutes les occurrences de oracle (F3). Supprimer les noms de rpertoires qui nexistent plus. Supprimer les rpertoires faisant rfrence oracle xe. 8. Redmarrer. 9. Si vous avez un logiciel de nettoyage des registres, nettoyer les registres. Tant quil reste des registres nettoyer. Redmarrer et recommencer. 10. Rinstaller.

INSIA - BASES DE DONNES ORACLE - 01 - page 8/27 - Bertrand LIAUDET

Organisation du serveur ORACLE Le serveur ORACLE est compos de deux processus : le serveur proprement dit : oracle.exe le listener : TNSLSNR.exe.

Le listener ORACLE : TNSLSNR.exe Prsentation du Listener Le listener est un processus dcoute qui reoit les demandes de connexion distantes et les acheminent au serveur. Si la connexion est faite sur la machine du serveur, le listener est inutile : il peut donc tre stopp. Une fois linstallation termine, le listener a t dmarr : TNSLSNR.exe. Gestionnaire du Listener LSNRCTL.exe permet dentrer dans le gestionnaire du listener. Help : liste les commandes disponibles.

Pour connatre ltat du listener Dans le gestionnaire du listener : status.

Pour arrter le listener Dans le gestionnaire du listener : stop ou stop nomAlias(cf status).

Pour dmarrer le listener Dans le gestionnaire du listener : start ou start listener

Le serveur ORACLE : oracle.exe Une fois linstallation termine, le serveur a t dmarre : oracle.exe. Pour arrter le serveur Raccourci Arrter la base de donne . Larrt du serveur narrte pas le listener. Pour dmarrer le serveur Raccourci Dmarrer la base de donne . Redmarrer la base de donnes redmarre le listener si ncessaire.

INSIA - BASES DE DONNES ORACLE - 01 - page 9/27 - Bertrand LIAUDET

La calculette SQL : sqlplus Une fois linstallation termine, le programme sqlplus.exe se trouve dans le rpertoire des excutables. Cest la calculette SQL. Mise jour du PATH windows Le PATH est mis jour par linstallation. Rappel : Menu dmarrer -> Clique droit sur le poste de travail -> Proprit -> Onglet Avanc -> Bouton variable d'environnement Dmarrer SQLPLUS A partir dune fentre SE : sqlplus. Le path a du tre mis jour pendant linstallation. Raccourcis dinstallation : Excuter la ligne de commande SQL . On rentre dans le SQL sans tre connect : cest lquivalent dun : sqlplus / nolog

Utilisation de SQLPLUS Cf. chapitre sur SQL*PLUS

Les versions graphiques de SQLPLUS SQL Developer Interface graphique pour grer en plus les procdures stockes et les triggers. SQL*Plus graphique Version bloc-notes du SQLPLUS de base. Pour les versions 9i et 10g. SQL*Plus worksheet Version diteur de dveloppement du SQLPLUS de base. Pour la version 9i. IQSL*Plus Interface graphique accessible sur internet. Pour les versions 9i et 10g. Console 10g express edition http://localhost:8080/apex Environnement en ligne, utilisable aprs linstallation Oracle DBXE permettant dutiliser et dadministrer le SGBD.

INSIA - BASES DE DONNES ORACLE - 01 - page 10/27 - Bertrand LIAUDET

LES OBJETS DUNE BASE ORACLE

Structure des fichiers de la BD


STRUCTURE LOGIQUE STRUCTURE PHYSIQUE

BASES DE DONNEES 1 1 * SCHEMAS * * * TABLESPACES 1 1 * TABLES, INDEX, CLUST ERS, * 1 * * 1 BLOCS OS 1 1 * FICHIERS

* BLOCS ORACLE

Niveau logique Les objets de la BD (tables, indexs, etc.) appartiennent un schma et un tablespace. Un schma correspond un utilisateur (owner). Schmas et tablespaces appartiennent une BD. Un schma peut tre rparti dans plusieurs tablespaces. Un tablespace peut contenir plusieurs schmas. Niveau physique Un fichier correspond un tablespace, mais un tablespace peut tre rparti sur plusieurs fichiers. Notion de bloc Un bloc oracle est une structure logique de donnes qui contient des enregistrements dune table. La taille dun bloc oracle est un multiple du bloc physique manipul par lOS. Le bloc oracle permet de faciliter les changes entre les fichiers, la mmoire et les processus.

INSIA - BASES DE DONNES ORACLE - 01 - page 11/27 - Bertrand LIAUDET

Les objets de la BD Table Ce sont les tables classiques du modle relationnel. Chaque ligne de la table a un identifiant pour Oracle : son OID (Object ID) Oracle permet de crer ses propres types pour les attributs. Table temporaire A la diffrence dune table classique, les donnes (les tuples) ny sont conservs que le temps dune session ou dune transaction. Table organise en index Table trie directement selon la cl primaire. Table partitionne Table dcoupe en plusieurs sous-ensembles (les partitions) enregistrs dans des tablespaces (lieu logique de stockage des tables) diffrents. On peut manipuler ensuite toute la table ou chaque partition sparment. Cluster Un cluster est un regroupement de tables stockes physiquement ensemble pour optimiser les performances en limitant les oprations de lectures-critures. Les cls de liaison (cl trangre et cl primaire) sont appeles : cls de cluster. Index Un index permet un accs rapide aux tuples. Il existe des index de table, des index de cluster et des index bitmap (utile pour beaucoup de tuples avec peu de valeurs). Vue Une vue est une table virtuelle construite avec un select. Les vues servent assurer la scurit des donnes au niveau des lignes et des colonnes. Vue dobjets Ces vues sont utilises dans le modle relationnel-objet.

INSIA - BASES DE DONNES ORACLE - 01 - page 12/27 - Bertrand LIAUDET

Vue matrialise Une vue matrialise sert rpliquer ou distribuer les donnes. Elles permettent de fournier des copies locales de donnes distantes ou dupliquer les donnes (pour garder un tat, par exemple). Une vue matrialis peut tre en lecture seule ou en lecture et criture. Squence Une squence permet de grer un auto-incrment. Procdure et fonction Blocs dinstructions PL-SQL stock dans la base. Package Regroupement logique de procdures et de fonctions Trigger Procdure dclenche automatiquement en fonction dinstruction DML prdfinie. Synonyme Un synonyme sert de pointeur vers une table, une vue, une procdure, une fonction, un package ou une squence. Un synonyme peut pointer vers un objet dune base distante auquel cas il requiert lutilisation dun lien de base de donnes. Lien de base de donnes Un lien de base de donnes permet daccder aux donnes dune base de donne distante. Ainsi, les objets dune base peuvent se rfrer des objets dune autre base.

INSIA - BASES DE DONNES ORACLE - 01 - page 13/27 - Bertrand LIAUDET

DICTIONNAIRE

Dictionnaire et dictionnaire des donnes Prsentation Le dictionnaire Le dictionnaire est un ensemble de tables, de vues et de synonymes contenant toutes les informations concernant tous les objets de la base, que ce soit du point de vue de lutilisateur ou de ladministrateur, que ce soit dun point de vue logique ou dun point de vue physique. Le dictionnaire est mis jour automatiquement chaque modification de la BD. Le propritaire du dictionnaire est lutilisateur SYS. Le dictionnaire des donnes Le dictionnaire des donnes est une partie du dictionnaire. Le dictionnaire des donnes contient les donnes des bases de donnes pour les utilisateurs. La vue dictionnary ou le synonyme dict Description du dictionnaire Cest une table avec deux attributs : table_name et comments Il contient environ 1800 tuples.
SQL> select count(*) from dict ; COUNT(*) ---------1821

Chaque tuple du dictionnaire concerne une table, une vue ou un synonyme. Les attributs de chaque table sont accessibles partir de la vue : dict_columns . Les 4 types dobjets du dictionnaire Le dictionnaire contient : Environ 1000 objets du dictionnaire des donnes tous prfixs par DBA (env. 500), ALL (env. 250) ou USER (env. 250) Environ 400 vues des performances toutes prfixes par V_$ , accessibles par des synonymes tous prfixes par V$ . Environ 350 Les vues des performances des bases en cluster, toutes prfixes par GV$ Environ 30 objets relevant en gnral du dictionnaire des donnes.

INSIA - BASES DE DONNES ORACLE - 01 - page 14/27 - Bertrand LIAUDET

La vue de toutes les performances est dans v$fixed_table . Exemple de requte


column table_name format a30 column comments format a80 select table_name, comments from dict where substr(table_name, 1, 2)!='V$' and substr(table_name, 1, 3)!='GV$' and substr(table_name, 1, 4)!='ALL_' and substr(table_name, 1, 4)!='DBA_' and substr(table_name, 1, 5)!='USER_';

INSIA - BASES DE DONNES ORACLE - 01 - page 15/27 - Bertrand LIAUDET

Dictionnaire des donnes Premiers usages du dictionnaire des donnes Lister toutes les tables
SQL> select * from cat; SQL> select * from user_catalog; SQL> select * from all_catalog; SQL> desc user_tables ; SQL> select table_name from user_tables ; // lister les tables

Description des attributs dune table


SQL> desc nomTable // description dune table

Tous les utilisateurs


desc all_users ; select * from all_users

Utilisateur courant
desc user_users ; select username from user_users

Utilisateur courant
desc user_objects; select object_name, object_type from user_objects;

Principales vues du dictionnaire des donnes


all_catalog -- tables, sequence, synonyme, vue, environ 4000 all_objects -- 19 types dobjets, environ 5000 all_views -- les vues, environ 1000 cat -- quivalent user_catalog user_catalog -- les tables et les squences user_objects -- tous les objets user_tables -- les tables user_constraints -- les contraintes user_indexes -- les index etc.

La vue des vues : all_views Les tables du dictionnaires des attributs sont des vues. En gnral, les vues sont prfixes soit par all soit par user . La vue qui contient toutes les vues : all_views
Desc all_views select count(*) from all_views ; -- pour chercher les vues qui concernent les sequences : Select view_name from all_views where view_name like %SEQ% ;

INSIA - BASES DE DONNES ORACLE - 01 - page 16/27 - Bertrand LIAUDET

-- pour chercher les vues qui concernent les privilges : Select view_name from all_views wher view_name like %PRIV% ; Etc.

Les vues du dictionnaires des donnes Ce sont les vues du dictionnaire prfixes par DBA_ , ALL_ ou USER_ . Les vues DBA_ contiennent des informations sur tous les objets de tous les schmas. Les vues ALL_ contiennent des informations sur les objets accessibles par le groupe PUBLIC et par lutilisateur courrant. Les vues ALL sont les vues accessibles tous. Les vues USER_ contiennent les informations sur les objets accessibles par lutilisateur courant.

Les 3 catalogues Le catalogue est la vue contenant tous les objets accessibles. Il y a 3 catalogues : DBA_Catalog , ALL_Catalog et USER_Catalog CAT est un synonyme de la vue USER_catalog . Les diffrents objets On peut ensuite accder aux OBJECTS, TABLES, TAB_COLUMNS, VIEWS, SYNONYMS, SEQUENCES, CONSTRAINTS, CONS_COLUMNS, INDEXES, IND_COLUMNS, CLUSTERS, CLU_COLUMNS. Exemple
Select object_name, object_type, created, last_ddl_time From DBA_OBJECTS Where owner like Toto

Accs aux statistiques Les tables DBA_TABLES et DBA_TAB_COLUMNS permettent daccder aux informations didentification (owner, table_name, column_name, etc.), despace de stockage (tablespace_name, cluster_name) pour les tables et de dfinition pour les colonnes (data_type, data_length, nullable, etc.). Elles permettent aussi daccder des informations de statistiques qui interviendront dans le calcul doptimisation : num_rows, blocks, cache, num_distinct, num_null, etc.) Les utilisateurs et leurs privilges Vues des utilisateurs La vue USERS permet de lister les utilisateurs et leurs caractristiques
Select * from all_users ;

INSIA - BASES DE DONNES ORACLE - 01 - page 17/27 - Bertrand LIAUDET

Vues des roles Les vues ROLES et ROLE_PRIVS permettent de lister les rles des utilisateurs. Pour un utilisateur ayant le rle DBA,
SQL> select * from dba_roles order by role;

Permet de lister les rles de lutilisateur. Ca donne le mme rsultat que :


SQL> select * from user_role_privs order by granted_role;

Et
SQL> select * from dba_role_privs order by granted_role;

permet de lister tous les rles de tous les utilisateurs. Pour un utilisateur ayant simplement les rles CONNECT et RESSOURCE seul la vue USER_ROLE_PRIVS est accessible :
SQL> select * from user_role_privs order by granted_role; USERNAME -------------------BERTRAND2 BERTRAND2 GRANTED_ROLE -----------------------------CONNECT RESOURCE ADM --NO NO DEF --YES YES OS_ --NO NO

Autres droits Les vues SYS_PRIVS , TAB_PRIVS et COL_PRIVS permettent de dtailler les droits.

INSIA - BASES DE DONNES ORACLE - 01 - page 18/27 - Bertrand LIAUDET

CREATION DUN UTILISATEUR

Interface SQLPLUS Afficher tous les utilisateurs


Select * from all_users ;

On trouve : SYSTEM, SYS, ANONYMOUS et dautres utilisateurs cr lors de linstallation (variables selon les versions installes). On peut regarder les rle et droits de chaque utilisateur. On ne peut se connecter que sous SYSTEM. Cration dun utilisateur
CREATE USER bertrand IDENTIFIED BY "bertrand";

A ce stade, lutilisateur na aucuns droits : pas mme celui de se connecter. Toutefois, il apparat dans la liste des utilisateurs. Attribution de droits l'utilisateur
GRANT CONNECT, RESSOURCE TO Bertrand2 ;

CONNECT est un rle prdfini. Il permet de se connecter au serveur puis daccder des objets (tables, etc.) appartenant dautres utilisateurs condition que les droits ncessaires aient t accords. Les applications utilisatrices dune base ont besoin du rle CONNECT et de droit spcifiques sur les tables. RESOURCE est un rle prdfini qui permet de crer et utiliser tous les objets ORACLE : tables, vues, index, procdures, triggers, etc. Les dveloppeurs dapplications ont besoin du rle RESOURCE. DBA donne tous les privilges. Ladministrateur de la base a besoin du rle DBA.

INSIA - BASES DE DONNES ORACLE - 01 - page 19/27 - Bertrand LIAUDET

Interface console 10g Express Edition : http://localhost:8080/apex Chemin Page daccueil > Administration > Grer les utilisateurs. Afficher tous les utilisateurs On trouve : SYSTEM, SYS, ANONYMOUS et dautres utilisateurs cr lors de linstallation (variables selon les versions installes). On peut regarder les rle et droits de chaque utilisateur. On ne peut se connecter que sous SYSTEM. Crer un utilisateur On peut crer un utilisateur. Par dfaut, il aura les rles CONNECT et RESOURCE. CONNECT est un rle prdfini qui permet la cration de tables et donc leur modification, suppression, consultation. RESOURCE est un rle prdfini qui permet de faire du PL-SQL : cration de triggers et de procdures stockes. DBA donne tous les privilges.

Interface Console 10g express edition On peut crer un utilisateur par linterface console 10g EE Administration / Grer les utilisateurs / Crer

INSIA - BASES DE DONNES ORACLE - 01 - page 20/27 - Bertrand LIAUDET

SQL*PLUS

Calculette SQL ORACLE : sqlplus Documentation


C :> sqlplus /? SQL > help index // toutes les commandes SQL > help nomCommande // doc de la commande

Principales commandes sqlplus connect, disconnect : pour connecter un utilisateur start, @ : pour excuter un fichier. show, set : pour voir et affecter des variables denvironnement host : pour excuter une commande SE spool : pour stocker les rsultats dune requte dans un fichier. desc (describe) rem (remark), --, /* */ save, get: pour enregistrer le tampon dans un fichier, pour lire un fichier dans le tampon

Connexion Sous SE
C:> C:> C:> C:> C:> C:> sqlplus sqlplus sqlplus sqlplus sqlplus sqlplus /nolog -- pas daffichage des commentaires nomUser nomUser/password @nomFic -- le fichier doit commencer par 1 connexion /nolog @nomFic

Sous SQL
SQL> SQL> SQL> SQL> SQL> SQL> connect connect / as sysdba connexion comme sysdba connect nomUser connect nomUser/password disconnect // disconnect et exit valident exit // la transaction : commit

INSIA - BASES DE DONNES ORACLE - 01 - page 21/27 - Bertrand LIAUDET

Afficher le nom de lutilisateur connect


SQL> show user SQL> select user from dual; //dual est une pseudo-table

login.sql Le fichier login.sql sexcute automatiquement au dmarrage de slqplus. Le fichier doit se trouver dans le rpertoire de lancement de sqlplus. Ce fichier va permettre de paramtrer lenvironnement de travail : pagesize, linesize, etc.

Gestion des accents Sous windows Ouvrir une fentre de commandes windows. Aller dans le rpertoire voulu. Dans ce rpertoire, passer la commande :
C:/monRepertoire> set NLS_LANG=FRENCH_FRANCE.WE8PC850

Dans ce rpertoire, lancer SQLPLUS : les accents sont pris en compte.


C:/monRepertoire> sqlplus

Sous linux
SQL> alter session set nls_language=French; SQL> alter session set nls_territory=France;

INSIA - BASES DE DONNES ORACLE - 01 - page 22/27 - Bertrand LIAUDET

Variables denvironnement Lister toutes les variables


SQL> show all // Lister toutes les variables

Principales variables denvironnement sqlplus user linesize, pagesize, column echo, termout, feedback, heading, trimspool autocommit

Afficher une variable


SQL> show nomVariable // Affiche la valeur de la var. SQL> show user SQL> select user from dual; //dual est une pseudo-table

Modifie une variable


SQL> set linesize 80

Formats daffichage linesize et pagesize linesize et pagesize sont des variable denvironnement SQLPLUS : Consultation
SQL> show linesize SQL> show pagesize

Modification
SQL> set linesize 100 SQL> set pagesize 200 // Taille dune ligne de rsultats // Taille dune page de rsultats

Ces commandes peuvent tre places dans le fichier login.sql Taille des colonnes
SQL> column mgr format 999 // nombre sur 3 chiffres SQL> column job format a4 // chaine sur 4 caractres SQL> column job trunc // job tronqu la taille max

INSIA - BASES DE DONNES ORACLE - 01 - page 23/27 - Bertrand LIAUDET

Divers Excuter un script


SQL> @nomFichier //excute le fichier, .sql par dfaut SQL> start nomFichier //quivalent @ PAUSE : pour arrter lexcution dun script

Commentaires
REM -/* */ ligne de commentaire ligne de commentaire texte de commentaire

Excuter une commande du systme dexploitation


SQL> host pwd //excute un pwd SQL> host ls l //excute un ls

Gestion des transactions


SQL> show autocommit // OFF par dfaut SQL> autocommit {ON | OFF | IMMEDIATE} //ON IMMEDIATE

Gestion de fichier
SQL> save nomFich [create, replace, append] //enregistre le buffer dans un fichier SQL> get fichier // met le contenu du ficher dans un buffer

Gestion de laffichage des rsultats dun script


SQL> spool fic.txt SQL> spool off SQL> set echo on // Copie l'affichage l'ecran // dans 'fic.lst' // Stoppe la copie dans 'fic.lst' // affiche la commande en cours

SQL> set feedback on // affiche le nb lignes rsultat SQL> set heading on // affiche lentte des colonnes SQL> set trimspool on // supprime les blancs de fin de ligne SQL> set termout OFF // supprime tout affichage

INSIA - BASES DE DONNES ORACLE - 01 - page 24/27 - Bertrand LIAUDET

SQL DEVELOPER

Prsentation Fonctionnalits ORACLE SQL Developer est un logiciel qui permet de : Naviguer dans les objets de la base Editer et excuter du code SQL et PL-SSL Deboguer du code PL-SQL Tlchargement http://www.oracle.com/technology/products/database/sql_developer/index.html

Documentation http://download.oracle.com/docs/cd/E12151_01/index.htm

Tutoriel http://st-curriculum.oracle.com/tutorial/SQLDeveloper/index.htm

Installation et utilisation. Le package tlcharg fournit le logiciel prt lemploi. Pour pouvoir utiliser SQL Developer, il faut : Avoir un processus LISTENER qui tourne. Avoir une plateforme JAVA qui tourne.

Sqldeveloper.exe Dans le rpertoire sqldeveloper , on trouve lapplication sqldevelopper.exe prte lemploi. Il faut commencer par excuter : sqlcli.bat Etat du LISTENER Se reporter au chapitre prcdent sur le LISTENER

INSIA - BASES DE DONNES ORACLE - 01 - page 25/27 - Bertrand LIAUDET

Plateforme JAVA On peut lancer le programme : JDK / JRE / BIN / java.exe quon trouve dans le rpertoire de sqldeveloper.exe . Il suffit parfois aussi de lancer : sqlcli.bat quon trouve directement dans le rpertoire de sqldeveloper.exe .

Principaux usages Connexion dun utilisateur La connexion correspond un utilisateur. Connexion / bouton droit / new Il faut rentrer un nom de connexion (au choix), un nom dutilisateur avec mot de passe, save password, connect. Une fois cette connexion cre, il suffira douvrir le bloc de connexion pour la faire apparatre. Naviguer parmi les objets dun utilisateur Dans un premier temps, on sintresse aux tables et aux vues. Dans public_synonymous, on trouve les tables synonymes auxquelles on a accs (le dictionnaire des donnes). Pour chacune de ces tables, on peut rcuprer le code de cration et donc la table dorigine. Exemple : select * from all_users. Editeur contextuel SQL et PL-SQL Sur lutilisateur : bouton droit / open SQL work sheet Lditeur de requtes est contextuel : il propose les attributs, les tables, les fonctions, les motscls possibles au fur et mesure de lcriture des requtes SQL et des instructions PL-SQL. On peut enregistrer le code avec fichier/enregistrer, ou licne denregistrement du menu principal. On peut ouvrir un code existant avec fichier/ouvrir, ou licne douverture du menu principal. On peut excuter le script : flche verte, ou une partie du script en slectionnant le code tester, puis bouton droit / Run

INSIA - BASES DE DONNES ORACLE - 01 - page 26/27 - Bertrand LIAUDET

TP DINSTALLATION

Installation 1. Installez ORACLE. 2. Trouver le rpertoire des donnes. A quoi correspondent les fichiers .DBF ? 3. Trouver et consulter le rpertoire des excutables. Quel est le nom des programmes correspondant : la calculette sql, le serveur, le listener. 4. Vrifiez la prsence du serveur et du listener dans la liste des processus. 5. Vrifier ltat du listener en utilisant loutil LSNRCTL.exe 6. Arrter le serveur (proprement !). 7. Vrifier ltat du listener en utilisant loutil LSNRCTL.exe 8. Vrifiez labsence ou la prsence du serveur et du listener dans la liste des processus. 9. Arrter le listener en utilisant loutil LSNRCTL.exe. 10. Vrifiez labsence du listener dans la liste des processus. 11. Relancer le serveur. 12. Vrifiez la prsence du serveur et du listener dans la liste des processus.

Console 10g express edition : cration dutilisateur 13. Crer un utilisateur votre nom en passant par la Console 10g express edition (sur internet) avec les rles CONNECT et RESOURCE. 14. Afficher la liste de tous les utilisateurs. 15. Regarder le dtail de quelques utilisateurs (vous, SYSTEM, SYS, etc.).

INSIA - BASES DE DONNES ORACLE - 01 - page 27/27 - Bertrand LIAUDET