NFE106 Guidecnam
NFE106 Guidecnam
NFE106 Guidecnam
NFE106
Guide pratique pour le TP Oracle
CNAM Paris
nicolas.travers (at) cnam.fr
Chapitre
Table des matières
Table des matières
2 SQL*PLUS 5
2.1 Connexion via SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Connexion hors CNAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 rlwrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Commandes pratiques : SQL*PLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 EXPLAIN
Plan d'exécution
--------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
--------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 518 | 2 |
| 1 | TABLE ACCESS FULL | ARTISTE | 14 | 518 | 2 |
--------------------------------------------------------------------
Statistiques
--------------------------------------------------------------------
541 recursive calls
0 db block gets
8940 consistent gets
5542 physical reads
332 redo size
2220518 bytes sent via SQL*Net to client
41729 bytes received via SQL*Net from client
3761 SQL*Net roundtrips to/from client
8 sorts (memory)
0 sorts (disk)
56386 rows processed
SQL*PLUS
2.1 Connexion via SSH
2.1.2 rlwrap
Vous constaterez que SQL*PLUS n’est pas très pratique au niveau utilisation. Un exécutable existe pour intégrer
l’utilisation des flèches du clavier : rlwrap
Vous pouvez trouver le code source à compiler ici : http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.42.
tar.gz (suivre les instructions pour le compiler)
Sur dept25 l’exécutable a déjà été compilé, vous pourrez le retrouver sur ’/tmp/rlwrap’
Une fois compilé, vous pouvez l’utiliser de cette manière :
rlwrap sqlplus NFE106_USER
! ! ! N’oubliez pas que vous pouvez sélectionner du texte avec la souris et le copier à l’aide du bouton du milieu ! ! !
Il est conseillé de travailler avec un éditeur de texte (nedit, emacs, kedit, vim, etc...) et de recopier vos requêtes dans
le navigateur et vis-versa.
1. Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
select SEGMENT_NAME, SEGMENT_TYPE, BLOCKS from dba_segments where segment_name not like '%$%' and OWNER
= 'NFE106_ADMIN';
select COLUMN_NAME, DATA_TYPE, DATA_LENGTH from ALL_TAB_COLUMNS where table_name ='ARTISTE' and
OWNER = 'NFE106_ADMIN';
Information pratique : Ecrivez votre requête dans un éditeur de texte (i.e. nedit). Mettez la commande ALTER
SYSTEM FLUSH BUFFER_CACHE ; avant celle-ci. Ensuite, sélectionnez les deux requêtes et copiez les dans SQL-
PLUS via le bouton du milieu de la souris.
2.3 Tables
(1) Donner la liste des tables du TABLESPACE_NAME ’NFE106’ (ou utilisateur ’NFE106_ADMIN’). Utiliser la
vue ’all_tables’ ;
(2) Donner le nombre de segments et de pages (blocks) pour chaque objet de type ’TABLE%’ et OWNER=’NFE106_ADMIN’.
Concernant la table FILM6, cherchez le SEGMENT_NAME=’PK_FILKM6’. Pourquoi y-a-t’il plusieurs seg-
ments pour les tables FILM4 et FILM5 ? Quel est le type de segment de FILM6 et pourquoi ? Calculer pour
chacune sa taille en Mo ;
2. A chaque exécution de cette commande, un nouveau fichier est créé. Faites le pour chaque groupe de requêtes.
3.1 Connexion
Sous Windows, vous pourrez trouver l’outil TOAD dans le menu :
’Quest Software / TOAD for Oracle / TOAD. . . ’ (figure 3.1)
Une fois lancé, une fenêtre de connexion s’affiche. Remplissez les informations ci-dessous :
— User/Schema : NFE106_USER
— Password : A demander
— Onglet ’Direct’ :
— Host : Port : 1521
— cocher ’SID’ : orcl
— connect as : Normal
— appuyer sur ’connect’
Voir la figure 3.2.
3.3 Interrogation
— Menu ’Editor / New Tab / SQL Style’ ou premier bouton ’Editor’ (voir figure 3.4)
— Ecrire une requête SQL dans la partie edition (il y a une règle au dessus)
— Pour exécuter : Bouton ’flèche verte au dessus d’un disque dur’ (touche F9)
— Onglet du bas (changent sur passage de la souris) : 1) Data Grid : le résultat de la requête 2) Trace : Cliquer
sur “Enabled” pour autotrace pour avoir les statistiques (il faut réexécuter la requête) - les lignes ’DB block
gets’ et ’Physical Read’ sont utiles 3) Explain Plan (Ctrl+E) : permet de voir le plan d’exécution
— Possibilité d’utiliser le ’Query Builder’ (4° bouton) pour générer des requêtes.
4.1 Connexion
(1) Télécharger l’exécutable :
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
(2) Lancer l’application
(3) Créer une nouvelle connexion (bouton ’+’ vert en haut à gauche) avec les informations :
— Nom de connexion : Utilisateur : NFE106_USER
— Mot de passe : fourni en TP
— Hôte / Serveur : Port : 1521
— SID : orcl
4.3 Interrogation
— La fenêtre de votre connexion ’ vous permet d’évaluer les requêtes de votre TP.
— Pour exécuter la ligne sélectionner : Ctrl+Entrée (ou flèche verte)
— Afficher EXPLAIN + Trace (statistiques) : F6 (les statistiques peuvent être cachées en dessous de EXPLAIN).
Nous nous intéresserons principalement à ’Consistent Gets’ et ’Physical Reads’