• Aucun résultat trouvé

INSIA Bases de données ORACLE Installation SQL*Plus SQL-Developer

N/A
N/A
Protected

Academic year: 2022

Partager "INSIA Bases de données ORACLE Installation SQL*Plus SQL-Developer"

Copied!
27
0
0

Texte intégral

(1)

INSIA

Bases de données

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 1

ORACLE 5

Historique, marché et concurrent 5

Historique 5

Marché et concurrent 5

Sites de référence 6

ORACLE XE (express edition) 6

Documentation 6

Environnements graphiques : SQL developper 6

Installation de Oracle 10g express édition 6

Téléchargement 6

Installation sous XP 6

Bilan de l’installation 7

Désinstallation 8

Organisation du serveur ORACLE 9

Le listener ORACLE : TNSLSNR.exe 9

Le serveur ORACLE : oracle.exe 9

La calculette SQL : sqlplus 10

Mise à jour du PATH windows 10

Démarrer SQLPLUS 10

Utilisation de SQLPLUS 10

Les versions graphiques de SQLPLUS 10

SQL Developer 10

SQL*Plus graphique 10

(2)

SQL*Plus worksheet 10

IQSL*Plus 10

Console 10g express edition 10

LES OBJETS D’UNE BASE ORACLE 11

Structure des fichiers de la BD 11

Les objets de la BD 12

Table 12

Table temporaire 12

Table organisée en index 12

Table partitionnée 12

Cluster 12

Index 12 Vue 12

Vue d’objets 12

Vue matérialisée 13

Séquence 13

Procédure et fonction 13

Package 13

Trigger 13

Synonyme 13

Lien de base de données 13

DICTIONNAIRE 14

Dictionnaire et dictionnaire des données 14

Présentation 14

La vue « dictionnary » ou le synonyme « dict » 14

Dictionnaire des données 16

Premiers usages du dictionnaire des données 16

Les vues du dictionnaires des données 17

Les 3 catalogues 17

Les différents objets 17

Accès aux statistiques 17

Les utilisateurs et leurs privilèges 17

CREATION D’UN UTILISATEUR 19

Interface SQLPLUS 19

Afficher tous les utilisateurs 19

Création d’un utilisateur 19

Attribution de droits à l'utilisateur 19

Interface console 10g Express Edition : http://localhost:8080/apex 20

Chemin 20

Afficher tous les utilisateurs 20

(3)

Créer un utilisateur 20

Interface Console 10g express edition 20

SQL*PLUS 21

Calculette SQL ORACLE : sqlplus 21

Documentation 21

Principales commandes sqlplus 21

Connexion 21

Sous SE 21

Sous SQL 21

Afficher le nom de l’utilisateur connecté 22

login.sql 22

Gestion des accents 22

Sous windows 22

Sous linux 22

Variables d’environnement 23

Lister toutes les variables 23

Principales variables d’environnement sqlplus 23

Afficher une variable 23

Modifie une variable 23

Formats d’affichage 23

linesize et pagesize 23

Taille des colonnes 23

Divers 24

Exécuter un script 24

Commentaires 24

Exécuter une commande du système d’exploitation 24

Gestion des transactions 24

Gestion de fichier 24

Gestion de l’affichage des résultats d’un script 24

SQL DEVELOPER 25

Présentation 25

Fonctionnalités 25

Téléchargement 25

Documentation 25

Tutoriel 25

Installation et utilisation. 25

Sqldeveloper.exe 25

Etat du LISTENER 25

Plateforme JAVA 26

Principaux usages 26

Connexion d’un utilisateur 26

(4)

Naviguer parmi les objets d’un utilisateur 26

Editeur contextuel SQL et PL-SQL 26

TP D’INSTALLATION 27

Installation 27

Console 10g express edition : création d’utilisateur 27

Première édition : avril 2009 Deuxième édition : mai 2010

(5)

ORACLE

Oracle (Petit Robert électronique – 2.1) :

1) Volonté de Dieu annoncée par les prophètes et les apôtres.

2) Réponse qu'une divinité donnait à ceux qui la consultaient en certains lieux sacrés.

3) Décision, opinion exprimée avec autorité et qui jouit d'un grand crédit.

4) Personne qui parle avec autorité ou compétence.

Historique, marché et concurrent

Historique

1979 : Oracle 2. Première version commercial. Premier SGBD basé sur le SQL de CODD.

1983 : Oracle 3. Réécrit en C.

1984 : Oracle 4. Gestion des transactions.

1992 : Oracle 7. Contraintes référentielles. Procédures stockées. 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 bridée en nombre de processeurs, d’enregistrements (4G0) et de mémoire (1G0). L’objectif est d’entrer sur le marché des PME sensibles aux coût et aux promesses de l’Open Source.

Marché et concurrent

45% du marché pour Oracle en 2006.

21 % pour IBM avec DB2 (DB2 express–C, 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 s’effectuent aussi autour de l’informatique décisionnelle (datawharehouse et datamart, ETL, analyse et datamining, reporting).

En 2008, SQL Server accroissait ses parts de marché.

(6)

Sites de référence

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 débogueur PL-SQL, des modèles de code.

Installation de Oracle 10g express édition

Téléchargement

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 à paramétrer à part le mot de passe de la BD. Ce mot de passe sera utilisé pour les comptes SYS et SYSTEM.

La fenêtre précise : l’utilisateur SYSTEM permettra de se connecter à la BD après l’installation.

Lancer la page d’accueil de la base de données

Cette option amène sur la « console 10g express edition », c’est-à-dire une version graphique et en ligne (http://localhost:8080/apex) de la calculette SQL.

On peut se connecter en tant qu’utilisateur SYSTEM avec le mot de passe fourni à l’installation.

(7)

Bilan de l’installation Menu démarrer

Le menu démarre offre 5 types de ressources :

Accès à la calculette sql

• Exécuter la ligne de commande SQL Démarrage et arrêt du serveur

• Démarrer la base de données

• Arrêter la base de données Sauvegarde et restauration

• Sauvegarder la base de données

• Restaurer la base de données Console 10g express edition

• Environnement en ligne, utilisable après l’installation Oracle DBXE permettant d’utiliser et d’administrer le SGBD.

Ramène à : http://localhost:8080/apex

Aide

• Accéder à la page d'accueil de la base de données

• Obtenir de l'aide : forum, documentation en ligne.

Répertoires des exécutables

• C:\oraclexe\app\oracle\product\10.2.0\server\BIN Le serveur : oracle.exe

Le « listener » : TNSLSNR.exe Le client calculette : sqlplus.exe Répertoire des données

• C:\oraclexe\oradata\XE

Les fichiers de données oracle sont des « .DBF ». Ils ne sont interprétables que par ORACLE.

Ils correspondent à des « tablespaces ».

Processus en cours

• Le listener : TNSLSNR.exe

• Le serveur : oracle.exe Programmes installés

• Oracle Database 10g Express Edition

(8)

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

Sous Windows, on trouve dans : exécuter / msconfig / sevice :

• OracleServiceXE

• OracleMTSRecoveryService

• OracleXEClrAgent

• OracleXETNSListener

La présence du Listener est importante pour le bon fonctionnement de la base.

Désinstallation

Attention, après une désinstallation non finalisée, la réinstallation est impossible ! Pour une désinstallation finalisée, suivre les étapes suivantes :

1. Arrêter le serveur et tous les services ORACLE.

2. Désinstaller à partir du panneau de configuration.

3. Supprimer tout le répertoire d’installation (C:\oraclexe par défaut)

4. Supprimer tous les répertoires liés à ORACLE dans C:\Documents and settings\utilisateur\local settings\temp

5. Supprimer tous les répertoires liés à ORACLE dans C:\Documents and settings\All Users\Menu Démarrer\Programmes

6. Si vous avez un logiciel de nettoyage des registres, nettoyer les registres.

7. Dans la base de registre (Démarrer/Exécuter regedit) : rechercher toutes les occurrences de

« oracle » (F3). Supprimer les noms de répertoires qui n’existent plus. Supprimer les répertoires faisant référence à oracle xe.

8. Redémarrer.

9. Si vous avez un logiciel de nettoyage des registres, nettoyer les registres. Tant qu’il reste des registres à nettoyer. Redémarrer et recommencer.

10. Réinstaller.

(9)

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 Présentation du Listener

Le listener est un processus d’écoute qui reçoit 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 l’installation terminée, le listener a été démarré : TNSLSNR.exe.

Gestionnaire du Listener

LSNRCTL.exe permet d’entrer dans le gestionnaire du listener.

• Help : liste les commandes disponibles.

Pour connaître l’état du listener

• Dans le gestionnaire du listener : status.

Pour arrêter le listener

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

Pour démarrer le listener

• Dans le gestionnaire du listener : start ou start listener Le serveur ORACLE : oracle.exe

Une fois l’installation terminée, le serveur a été démarrée : oracle.exe.

Pour arrêter le serveur

• Raccourci « Arrêter la base de donnée ».

L’arrêt du serveur n’arrête pas le listener.

Pour démarrer le serveur

• Raccourci « Démarrer la base de donnée ».

Redémarrer la base de données redémarre le listener si nécessaire.

(10)

La calculette SQL : sqlplus

Une fois l’installation terminée, le programme sqlplus.exe se trouve dans le répertoire des exécutables. C’est la calculette SQL.

Mise à jour du PATH windows

Le PATH est mis à jour par l’installation.

Rappel : Menu démarrer -> Clique droit sur le poste de travail -> Propriété -> Onglet Avancé ->

Bouton variable d'environnement

Démarrer SQLPLUS

• A partir d’une fenêtre SE : sqlplus. Le path a du être mis à jour pendant l’installation.

• Raccourcis d’installation : « Exécuter la ligne de commande SQL ». On rentre dans le SQL sans être connecté : c’est l’équivalent d’un : sqlplus / nolog

Utilisation de SQLPLUS

Cf. chapitre sur SQL*PLUS

Les versions graphiques de SQLPLUS

SQL Developer

Interface graphique pour gérer en plus les procédures stockées 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 développement » 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 après l’installation Oracle DBXE permettant d’utiliser et d’administrer le SGBD.

(11)

LES OBJETS D’UNE BASE ORACLE

Structure des fichiers de la BD

*

1

STRUCTURE LOGIQUE

STRUCTURE PHYSIQUE

* 1

* 1

* 1

* 1

* 1

* 1

*

1

* *

BLOCS ORACLE TABLES, INDEX, CLUST ERS,

TABLESPACES BASES DE DONNEES

FICHIERS

BLOCS OS SCHEMAS

Niveau logique

Les objets de la BD (tables, indexs, etc.) appartiennent à un schéma et à un tablespace.

Un schéma correspond à un utilisateur (owner).

Schémas et tablespaces appartiennent à une BD.

Un schéma peut être réparti dans plusieurs tablespaces. Un tablespace peut contenir plusieurs schémas.

Niveau physique

Un fichier correspond à un tablespace, mais un tablespace peut être réparti sur plusieurs fichiers.

Notion de bloc

Un bloc oracle est une structure logique de données qui contient des enregistrements d’une table. La taille d’un bloc oracle est un multiple du bloc physique manipulé par l’OS.

Le bloc oracle permet de faciliter les échanges entre les fichiers, la mémoire et les processus.

(12)

Les objets de la BD

Table

Ce sont les tables classiques du modèle relationnel.

Chaque ligne de la table a un identifiant pour Oracle : son OID (Object ID) Oracle permet de créer ses propres types pour les attributs.

Table temporaire

A la différence d’une table classique, les données (les tuples) n’y sont conservés que le temps d’une session ou d’une transaction.

Table organisée en index

Table triée directement selon la clé primaire.

Table partitionnée

Table découpée en plusieurs sous-ensembles (les partitions) enregistrés dans des « tablespaces » (lieu logique de stockage des tables) différents.

On peut manipuler ensuite toute la table ou chaque partition séparément.

Cluster

Un cluster est un regroupement de tables stockées physiquement ensemble pour optimiser les performances en limitant les opérations de lectures-écritures. Les clés de liaison (clé étrangère et clé primaire) sont appelées : clés de cluster.

Index

Un index permet un accès 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 sécurité des données au niveau des lignes et des colonnes.

Vue d’objets

Ces vues sont utilisées dans le modèle relationnel-objet.

(13)

Vue matérialisée

Une vue matérialisée sert à répliquer ou distribuer les données.

Elles permettent de fournier des copies locales de données distantes ou à dupliquer les données (pour garder un état, par exemple).

Une vue matérialisé peut être en lecture seule ou en lecture et écriture.

Séquence

Une séquence permet de gérer un auto-incrément.

Procédure et fonction

Blocs d’instructions PL-SQL stocké dans la base.

Package

Regroupement logique de procédures et de fonctions

Trigger

Procédure déclenchée automatiquement en fonction d’instruction DML prédéfinie.

Synonyme

Un synonyme sert de pointeur vers une table, une vue, une procédure, une fonction, un package ou une séquence.

Un synonyme peut pointer vers un objet d’une base distante auquel cas il requiert l’utilisation d’un lien de base de données.

Lien de base de données

Un lien de base de données permet d’accéder aux données d’une base de donnée distante.

Ainsi, les objets d’une base peuvent se référer à des objets d’une autre base.

(14)

DICTIONNAIRE

Dictionnaire et dictionnaire des données

Présentation 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 l’utilisateur ou de l’administrateur, que ce soit d’un point de vue logique ou d’un point de vue physique.

Le dictionnaire est mis à jour automatiquement à chaque modification de la BD.

Le propriétaire du dictionnaire est l’utilisateur SYS.

Le dictionnaire des données

Le dictionnaire des données est une partie du dictionnaire.

Le dictionnaire des données contient les données des bases de données pour les utilisateurs.

La vue « dictionnary » ou le synonyme « dict » Description du dictionnaire

C’est 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 d’objets du dictionnaire Le dictionnaire contient :

Environ 1000 objets du dictionnaire des données tous préfixés par DBA (env. 500), ALL (env. 250) ou USER (env. 250)

Environ 400 vues des performances toutes préfixées par « V_$ », accessibles par des synonymes tous préfixées par « V$ ».

Environ 350 Les vues des performances des bases en cluster, toutes préfixées par

« GV$ »

• Environ 30 objets relevant en général du dictionnaire des données.

(15)

La vue de toutes les performances est dans « v$fixed_table ».

Exemple de requête

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_';

(16)

Dictionnaire des données

Premiers usages du dictionnaire des données 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 d’une table

SQL> desc nomTable // description d’une 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 données

all_catalog -- tables, sequence, synonyme, vue, environ 4000 all_objects -- 19 types d’objets, environ 5000

all_views -- les vues, environ 1000

cat -- équivalent à user_catalog user_catalog -- les tables et les séquences 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 général, les vues sont préfixées 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 :

(17)

-- pour chercher les vues qui concernent les privilèges :

Select view_name from all_views wher view_name like « %PRIV% » ; Etc.

Les vues du dictionnaires des données

Ce sont les vues du dictionnaire préfixées par « DBA_ », « ALL_ » ou « USER_ ».

Les vues « DBA_ » contiennent des informations sur tous les objets de tous les schémas.

Les vues « ALL_ » contiennent des informations sur les objets accessibles par le groupe PUBLIC et par l’utilisateur courrant. Les vues « ALL » sont les vues accessibles à tous.

Les vues « USER_ » contiennent les informations sur les objets accessibles par l’utilisateur 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 différents objets

On peut ensuite accéder 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’

Accès aux statistiques

Les tables DBA_TABLES et DBA_TAB_COLUMNS permettent d’accéder aux informations d’identification (owner, table_name, column_name, etc.), d’espace de stockage (tablespace_name, cluster_name) pour les tables et de définition pour les colonnes (data_type, data_length, nullable, etc.).

Elles permettent aussi d’accéder à des informations de statistiques qui interviendront dans le calcul d’optimisation : num_rows, blocks, cache, num_distinct, num_null, etc.)

Les utilisateurs et leurs privilèges Vues des utilisateurs

La vue « USERS » permet de lister les utilisateurs et leurs caractéristiques

Select * from all_users ;

(18)

Vues des roles

Les vues « ROLES » et « ROLE_PRIVS » permettent de lister les rôles des utilisateurs.

Pour un utilisateur ayant le rôle DBA,

SQL> select * from dba_roles order by role;

Permet de lister les rôles de l’utilisateur. Ca donne le même résultat 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 rôles de tous les utilisateurs.

Pour un utilisateur ayant simplement les rôles « CONNECT » et « RESSOURCE » seul la vue

« USER_ROLE_PRIVS » est accessible :

SQL> select * from user_role_privs order by granted_role;

USERNAME GRANTED_ROLE ADM DEF OS_

--- --- --- --- --- BERTRAND2 CONNECT NO YES NO BERTRAND2 RESOURCE NO YES NO

Autres droits

Les vues « SYS_PRIVS », « TAB_PRIVS » et « COL_PRIVS » permettent de détailler les droits.

(19)

CREATION D’UN UTILISATEUR

Interface SQLPLUS Afficher tous les utilisateurs

Select * from all_users ;

On trouve : SYSTEM, SYS, ANONYMOUS et d’autres utilisateurs créé lors de l’installation (variables selon les versions installées).

On peut regarder les rôle et droits de chaque utilisateur.

On ne peut se connecter que sous SYSTEM.

Création d’un utilisateur

CREATE USER bertrand

IDENTIFIED BY "bertrand";

A ce stade, l’utilisateur n’a aucuns droits : pas même celui de se connecter. Toutefois, il apparaît dans la liste des utilisateurs.

Attribution de droits à l'utilisateur

GRANT CONNECT, RESSOURCE TO Bertrand2 ;

• CONNECT est un rôle prédéfini. Il permet de se connecter au serveur puis d’accéder à des objets (tables, etc.) appartenant à d’autres utilisateurs à condition que les droits nécessaires aient été accordés.

Les applications utilisatrices d’une base ont besoin du rôle CONNECT et de droit spécifiques sur les tables.

• RESOURCE est un rôle prédéfini qui permet de créer et utiliser tous les objets ORACLE : tables, vues, index, procédures, triggers, etc.

Les développeurs d’applications ont besoin du rôle RESOURCE.

• DBA donne tous les privilèges.

L’administrateur de la base a besoin du rôle DBA.

(20)

Interface console 10g Express Edition : http://localhost:8080/apex

Chemin

Page d’accueil > Administration > Gérer les utilisateurs.

Afficher tous les utilisateurs

On trouve : SYSTEM, SYS, ANONYMOUS et d’autres utilisateurs créé lors de l’installation (variables selon les versions installées).

On peut regarder les rôle et droits de chaque utilisateur.

On ne peut se connecter que sous SYSTEM.

Créer un utilisateur

On peut créer un utilisateur. Par défaut, il aura les rôles CONNECT et RESOURCE.

CONNECT est un rôle prédéfini qui permet la création de tables et donc leur modification, suppression, consultation.

• RESOURCE est un rôle prédéfini qui permet de faire du PL-SQL : création de triggers et de procédures stockées.

DBA donne tous les privilèges.

Interface Console 10g express edition

On peut créer un utilisateur par l’interface console 10g EE Administration / Gérer les utilisateurs / Créer

(21)

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 exécuter un fichier.

• show, set : pour voir et affecter des variables d’environnement

• host : pour exécuter une commande SE

• spool : pour stocker les résultats d’une requête 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:> sqlplus

C:> sqlplus /nolog -- pas d’affichage des commentaires C:> sqlplus nomUser

C:> sqlplus nomUser/password

C:> sqlplus @nomFic -- le fichier doit commencer par 1 connexion C:> sqlplus /nolog @nomFic

Sous SQL

SQL> connect

SQL> connect / as sysdba – connexion comme sysdba SQL> connect nomUser

SQL> connect nomUser/password

SQL> disconnect // disconnect et exit valident SQL> exit // la transaction : commit

(22)

Afficher le nom de l’utilisateur connecté

SQL> show user

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

login.sql

Le fichier login.sql s’exécute automatiquement au démarrage de slqplus.

Le fichier doit se trouver dans le répertoire de lancement de sqlplus.

Ce fichier va permettre de paramétrer l’environnement de travail : pagesize, linesize, etc.

Gestion des accents

Sous windows

Ouvrir une fenêtre de commandes windows.

Aller dans le répertoire voulu.

Dans ce répertoire, passer la commande :

C:/monRepertoire> set NLS_LANG=FRENCH_FRANCE.WE8PC850

Dans ce répertoire, 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;

(23)

Variables d’environnement

Lister toutes les variables

SQL> show all // Lister toutes les variables

Principales variables d’environnement 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 d’affichage

linesize et pagesize

linesize et pagesize sont des variable d’environnement SQLPLUS :

Consultation

SQL> show linesize SQL> show pagesize

Modification

SQL> set linesize 100 // Taille d’une ligne de résultats SQL> set pagesize 200 // Taille d’une page de résultats

Ces commandes peuvent être placées 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 caractères SQL> column job trunc // job tronqué à la taille max

(24)

Divers

Exécuter un script

SQL> @nomFichier //exécute le fichier, .sql par défaut SQL> start nomFichier //équivalent à @

PAUSE : pour arrêter l’exécution d’un script

Commentaires

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

Exécuter une commande du système d’exploitation

SQL> host pwd //exécute un pwd SQL> host ls –l //exécute un ls

Gestion des transactions

SQL> show autocommit // OFF par défaut

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 l’affichage des résultats d’un script

SQL> spool fic.txt // Copie l'affichage à l'ecran // dans 'fic.lst'

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

SQL> set feedback on // affiche le nb lignes résultat SQL> set heading on // affiche l’entête des colonnes SQL> set trimspool on // supprime les blancs de fin

de ligne

SQL> set termout OFF // supprime tout affichage

(25)

SQL DEVELOPER

Présentation

Fonctionnalités

ORACLE SQL Developer est un logiciel qui permet de : Naviguer dans les objets de la base

Editer et exécuter du code SQL et PL-SSL Deboguer du code PL-SQL

Téléchargement

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 téléchargé fournit le logiciel prêt à l’emploi.

Pour pouvoir utiliser SQL Developer, il faut :

• Avoir un processus LISTENER qui tourne.

• Avoir une plateforme JAVA qui tourne.

Sqldeveloper.exe

Dans le répertoire « sqldeveloper », on trouve l’application « sqldevelopper.exe » prête à l’emploi.

Il faut commencer par exécuter : sqlcli.bat

Etat du LISTENER

Se reporter au chapitre précédent sur le LISTENER

(26)

Plateforme JAVA

On peut lancer le programme : « JDK / JRE / BIN / java.exe » qu’on trouve dans le répertoire de « sqldeveloper.exe ».

Il suffit parfois aussi de lancer : « sqlcli.bat » qu’on trouve directement dans le répertoire de

« sqldeveloper.exe ».

Principaux usages

Connexion d’un utilisateur

La connexion correspond à un utilisateur.

Connexion / bouton droit / new

Il faut rentrer un nom de connexion (au choix), un nom d’utilisateur avec mot de passe, save password, connect.

Une fois cette connexion créée, il suffira d’ouvrir le bloc de connexion pour la faire apparaître.

Naviguer parmi les objets d’un utilisateur

Dans un premier temps, on s’intéresse aux tables et aux vues.

Dans public_synonymous, on trouve les tables synonymes auxquelles on a accès (le dictionnaire des données). Pour chacune de ces tables, on peut récupérer le code de création et donc la table d’origine. Exemple : select * from all_users.

Editeur contextuel SQL et PL-SQL

Sur l’utilisateur : bouton droit / open SQL work sheet

L’éditeur de requêtes est contextuel : il propose les attributs, les tables, les fonctions, les mots- clés possibles au fur et à mesure de l’écriture des requêtes SQL et des instructions PL-SQL.

On peut enregistrer le code avec fichier/enregistrer, ou l’icône d’enregistrement du menu principal.

On peut ouvrir un code existant avec fichier/ouvrir, ou l’icône d’ouverture du menu principal.

On peut exécuter le script : flèche verte, ou une partie du script en sélectionnant le code à tester, puis bouton droit / Run

(27)

TP D’INSTALLATION

Installation

1. Installez ORACLE.

2. Trouver le répertoire des données. A quoi correspondent les fichiers « .DBF » ?

3. Trouver et consulter le répertoire des exécutables. Quel est le nom des programmes correspondant à : la calculette sql, le serveur, le listener.

4. Vérifiez la présence du serveur et du listener dans la liste des processus.

5. Vérifier l’état du listener en utilisant l’outil LSNRCTL.exe 6. Arrêter le serveur (proprement !).

7. Vérifier l’état du listener en utilisant l’outil LSNRCTL.exe

8. Vérifiez l’absence ou la présence du serveur et du listener dans la liste des processus.

9. Arrêter le listener en utilisant l’outil LSNRCTL.exe.

10. Vérifiez l’absence du listener dans la liste des processus.

11. Relancer le serveur.

12. Vérifiez la présence du serveur et du listener dans la liste des processus.

Console 10g express edition : création d’utilisateur

13. Créer un utilisateur à votre nom en passant par la Console 10g express edition (sur internet) avec les rôles CONNECT et RESOURCE.

14. Afficher la liste de tous les utilisateurs.

15. Regarder le détail de quelques utilisateurs (vous, SYSTEM, SYS, etc.).

Références

Documents relatifs

Comment afficher dans une requête la date du jour.. Opérations arithmétiques sur Opérations

Ce qui veut dire que par défaut, un create table ira dans le schéma nommé comme l’utilisateur (select user), puis dans le schéma public.. Rappel : les schémas ne sont pas

Eastwood Clint Eastwood Clint Cumberbatch Benedict Freeman Martin Sellers Peter Sellers Peter Sellers Peter. SELECT ne retourne pas un ensemble de n-uplets mais en fait une liste

Eastwood Clint The good, the Bad and the Ugly Blondie Eastwood Clint Gran Torino Walt Kowalski Cumberbatch Benedict Study in Pink Sherlock Holmes Freeman Martin Study in Pink Dr

On peut les supprimer : SELECT DISTINCT nom , prenom FROM PERSONNE , JOUE WHERE id = idacteur ;.

ALTER TABLE employee ADD CONSTRAINT nom CHECK (lname <> ’’ AND fname <> ’’);. -- ALTER TABLE DROP CONSTRAINT

Exemple : Afficher tous les noms des employés qu’une seule fois. SELECT DISTINCT nom FROM employe. VII) Les groupes de

– SCHEMA est un param`etre optionnel pour identifier le sch´ema de la base de donn´ee dans laquelle cette table doit ˆetre plac´ee.. Par d´efaut, c’est celui