ORACLE 01 Introduction Installation
ORACLE 01 Introduction Installation
SOMMAIRE
SOMMAIRE 1
ORACLE 5
Historique, marché et concurrent 5
Historique 5
Marché et concurrents : situation en 2016. 5
Le site et les outils d’Oracle 6
Résumé 6
Documentation 6
Outils en vrac 7
DICTIONNAIRE 16
Dictionnaire et dictionnaire des données 16
Présentation 16
Le dictionnaire : la vue « dictionnary » ou le synonyme « dict » 16
Dictionnaire des données 18
Les vues du dictionnaire des données 18
Les 3 catalogues 18
La vue des vues : all_views 19
Les différents objets 19
Accès aux statistiques 19
SQL*PLUS 22
Calculette SQL ORACLE : sqlplus 22
Documentation 22
LA BD DE TEST : HR 26
Présentation 26
Le modèle des données 26
Localisation de la BD : APEX 26
Rouvrir le compte HR : passer de « expired & locked » à « open » 27
SQL DEVELOPER 28
Présentation 28
Fonctionnalités 28
Téléchargement 28
Documentation 28
Tutoriel 28
Installation et utilisation 29
Téléchargement 29
Démarrer sqldeveloper.exe 29
Principaux usages 30
IHM 30
Connexion d’un utilisateur : croix verte 30
APEX ET FORMS 33
APEX 33
Relations APEX et Oracle-Forms 33
Oracle-Forms 33
Présentation 33
Page d’accueil 33
Téléchargement 33
Démo 33
Documentation Oracle 33
Cours internet 34
BI ET REPORT 35
BI 35
Oracle-Reports 35
Page d’accueil 35
Présentation 35
Téléchargement 35
Documentation Oracle 35
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ûts et aux promesses de l’Open Source.
2007 : Oracle 11g. Amélioration de la version 10g en termes de performance et de facilité
d’administration.
http://www.lemondeinformatique.fr/actualites/lire-oracle-11g-succede-intelligemment-a-10g-
23424.html
2009 : Oracle achète Sun (Java) qui avait acheté MySQL en 2008.
Résumé
Le site
Le site Oracle est une jungle !!
Il existe de nombreux outils Oracle. Ces outils évoluent en permanence.
Pour suivre l’actualité des différents outils, il faut consulter le site Oracle
• http://www.oracle.com/fr/index.html
Les téléchargements
• Oracle 11g Express Edition : le SGBD
• Oracle SQL Developer : outils d’administration type « phpmyadmin »
• Oracle SQL Developer Data Modeler : modeleur type MERISE-UML
• Oracle Application Express : APEX, outil de développement rapide d’application web.
Documentation
http://www.oracle.com/pls/xe102/homepage
Voir particulièrement :
Developing Applications :
• 2 Day Developer Guide HTML PDF
• 2 Day Plus Java Developer Guide HTML PDF
SQL*PLUS
C’est le client console historique d’ORACLE (la calculette SQL)
SQL Developer
Interface graphique de SQL*PLUS. Version « éditeur de développement ».
http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html
Ø Java
Le Java permet d’utiliser une BD ORACLE avec JDBC.
Oracle permet d’écrire des procédures stockées, des fonctions stockées, des triggers en Java.
Toutes les documentations :
http://www.oracle.com/pls/xe102/homepage
Documentation java :
http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25320/toc.htm
Ø Oracle Reports
http://www.oracle.com/technetwork/middleware/reports/index.html?ssSourceSiteId=ocomen
Oracle Reports consists of Oracle Reports Developer - a powerful, declarative WYSIWYG
reports design tool and a J2EE 5.0 based Oracle Reports Server with multi-tier architecture to
Listener et Serveur de BD
Le serveur ORACLE est composé de deux processus :
• le serveur proprement dit : oracle.exe ou OracleServiceXE
• le « listener » : TNSLSNR.exe ou OracleXETNSListener
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é.
sqlplus.exe
Présentation
Une fois l’installation terminée, le programme sqlplus.exe se trouve dans le répertoire des
exécutables. C’est la calculette SQL.
Sous SE
C:> sqlplus
C:> sqlplus /nolog -- pas d’affichage des commentaires
C:> sqlplus nomUser
C:> sqlplus nomUser/password
C:> sqlplus system/root -- utilisateur system
C:> sqlplus / as sysdba -- utilisateur root
C:> sqlplus @nomFic -- le fichier doit commencer par 1 connexion
C:> sqlplus /nolog @nomFic
Sous SQL
SQL> connect
SQL> connect nomUser
SQL> connect nomUser/password
SQL> connect / as sysdba –- connexion comme sysdba
SQL> connect system/root –- connexion comme system
Utilisation de SQLPLUS
Cf. chapitre sur SQL*PLUS
Présentation
La console APEX permet de consulter quelques paramètres de la BD via un navigateur. C’est
utile pour le DBA.
On y accède via le raccourci sur le bureau : Get Started With Oracle Database 11g Express
Edition
On peut se connecter en tant qu’utilisateur SYSTEM avec le mot de passe fourni à l’installation.
Application Express
La console APEX permet aussi de créer des workspace pour la partie « application express »
(développement rapide).
On peut aussi y accéder via : http://localhost:8080/apex
BASES DE DONNEES
1
1
*
*
SCHEMAS = USERS * * * FICHIERS
TABLESPACES
1
1
1 1
* *
* BLOCS OS
BLOCS ORACLE
1
Niveau logique
Les objets de la BD (tables, index, etc.) appartiennent à un schéma et à un tablespace.
Un tablespace est un espace de stockage logique. Par exemple, on met les tables dans un
tablespace et les index dans un autre tablespace. Un même tablespace peut être partagé par
plusieurs utilisateurs.
Un schéma correspond à un utilisateur propriétaire (owner) des objets, par défaut à leur
créateur.
Schémas et tablespaces appartiennent à une BD. Un schéma peut être réparti dans plusieurs
tablespaces. Un tablespace peut contenir plusieurs schémas.
Par exemple, un tablespace sert pour les tables de plusieurs utilisateurs et un autres pour les
index.
Niveau physique
Un fichier correspond à un tablespace, mais un tablespace peut être réparti sur plusieurs fichiers.
Le niveau logique permet de contrôler l’organisation logique sans se soucier de l’organisation
physique.
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.
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ées que le temps
d’une session ou d’une transaction.
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).
Séquence
Une séquence permet de gérer un auto-incrément.
Schéma
Ensemble d’objets appartenant à un même utilisateur.
Tablespace
Espace logique de stockage des tables
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. Elles supportent les définitions de types
de données abstraits.
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.
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.
Snapshot
Table contenant le résultat d’une requête dans une base distante.
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.
Description du dictionnaire
C’est une table avec deux attributs : « table_name » et « comments »
Il contient environ 2500 tuples (version 2018).
SQL> select count(*) from dict ;
COUNT(*)
----------
2551
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 ».
Desc all_views
select count(*) from all_views ; -- environ 4 000
usage de all_views
La vue ALL_VIEWS va nous permettre de trouver les vues qui nous intéressent.
Etc.
Exemple
Interface SQLPLUS
• RESOURCE est un rôle prédéfini qui permet de créer et utiliser presque tous les objets
ORACLE : tables, séquence, index, procédures, triggers, clusters.
A noter que la possibilité de créer des vues n’est pas donnée.
Les développeurs d’applications ont besoin du rôle RESOURCE.
Ø Utilisateur courant
desc user_users ;
select username from user_users;
c’est équivalent à :
show user;
select user from dual;
Documentation
C :> sqlplus /?
Connexion
Sous SE
C:> sqlplus
C:> sqlplus /nolog -- pas d’affichage des commentaires
C:> sqlplus nomUser
C:> sqlplus nomUser/password
C:> sqlplus system/root -- utilisateur system
C:> sqlplus / as sysdba -- utilisateur root
C:> sqlplus @nomFic -- le fichier doit commencer par 1 connexion
C:> sqlplus /nolog @nomFic
Sous SQL
SQL> connect
SQL> connect nomUser
SQL> connect nomUser/password
SQL> connect / as sysdba –- connexion comme sysdba
SQL> connect system/root –- connexion comme system
Syntaxe et aide
C:> sqlplus - -- fournit l’aide sql plus
Syntaxe
Sqlplus [user[/password]] [@chaine] [@fichier[.ext]]
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.
Exécuter un script
SQL> @nomFichier //exécute le fichier, .sql par défaut
SQL> start nomFichier //équivalent à @
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
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;
Variables d’environnement
Exécution du buffer
SQL> run
//exécute le contenu du buffer
Commentaires
REM ligne de commentaire
-- ligne de commentaire
/* */ texte de commentaire
Présentation
https://zestedesavoir.com/tutoriels/297/petit-guide-de-sql-plus/
Localisation de la BD : APEX
Dans l’interface APEX :
http://127.0.0.1:8080/apex/f?p=4950:2:2346246859807726::NO
On trouve le tablespace USERS dans l’onglet Storage :
En cherchant, on découvre que c’est l’utilisateur HR (mot de passe HR) qui est propriétaire de
ces tables. On constate aussi que ce compte est « expired & locked »
méthode
1) Se connecter as sysdba
2) Lister les comptes « expired & locked »
SELECT username,ACCOUNT_STATUS FROM dba_users where ACCOUNT_STATUS
!=’OPEN’ ;
On constate que HR est bien « expired & locked »
3) Select password from user$ where name='HR';
On affiche le password crypté de HR
4) Alter user HR identified by values '4C6D73C3E8B0F0DA';
On passe alors de « expired & locked » à « locked »
5) Alter user HR account unlock;
On passe de « locked » à « open »
6) SELECT username,ACCOUNT_STATUS FROM dba_users where ACCOUNT_STATUS
=’OPEN’ ;
7) Connect HR/HR
8) Select * from cat
Sources
Expired : http://www.dbacatalog.com/2014/03/how-to-re-open-expired-oracle-database.html
Locked :http://databasesupport.org/how-to-change-oracle-user-account-status-from-expired-
locked-to-open/
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
On peut prendre la version avec JDK ou sans JDK.
Documentation
http://download.oracle.com/docs/cd/E12151_01/index.htm
Tutoriel
Pour apprendre à se servir de SQL-developer :
http://st-curriculum.oracle.com/tutorial/SQLDeveloper/index.htm
Téléchargement
Java
Il faut un JDK
Prendre plutôt un JDK avec NetBean : JDK 9 plutôt que JDK 9 (en 2018)
Le package téléchargé fournit le logiciel prêt à l’emploi.
SqlDeveloper
On peut prendre une version avec JDK ou sans JDK
Démarrer sqldeveloper.exe
Dans le répertoire « sqldeveloper », on trouve l’application « sqldevelopper.exe » prête à
l’emploi.
Il peut y avoir des difficultés : parfois ça bloque en signalant l’absence de fichier NetBeans. En
recommençant, ça finit par marcher… (version 2018).
IHM
Une fois cette connexion créée, il suffira d’ouvrir le bloc de connexion pour la faire apparaître.
Au départ, on peut créer la connexion : SYSTEM pour l’utilisateur SYSTEM avec son mot de
passe fourni à l’installation, oracle ou root.
Quand on a débloquer HR, on peut créer la connexion HR pour l’utilisateur HR avec son mot de
passe HR, etc.
APEX
http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
Oracle-Forms
http://www.oracle.com/technetwork/developer-tools/forms/overview/index.html
Présentation
Oracle-Forms est un outil de développement Oracle qui permet de construire, tester et déployer des
applications Internet dans un environnement graphique autour d’une base de données Oracle.
ème
C’est un outil du type de « 4D » (4 dimension).
L’outil permet de construire des écrans de saisie et d’affichage. Il est classiquement associé à une
programmation événementielle (programmation de déclencheurs liés aux événements de l’interface
utilisateur).
C’est un environnement de développement de type « RAD » (ou RADD) : Rapid Application
Development (and Deployment).
Ø Plan général :
http://education.oracle.com/pls/web_prod-plq-
dad/view_pdf?c_org_id=29&c_lang=F&c_id=D17251FR10
Page d’accueil
http://www.oracle.com/technetwork/developer-tools/forms/overview/index.html
Téléchargement
Forms et Reports se trouvent dans : Oracle Developer Suite 10g (10.1.2.0.2) for Microsoft
Windows
http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html
Démo
http://www.oracle.com/technology/sample_code/products/forms/index.html
Documentation Oracle
http://www.oracle.com/technetwork/developer-tools/forms/documentation/10g-forms-
091309.html
http://www.oracle.com/technetwork/developer-
tools/forms/documentation/forms1012technicaloverview-131368.pdf
Cours internet
http://oracle.developpez.com/cours/
http://sheikyerbouti.developpez.com/forms10g/
BI
http://www.oracle.com/technetwork/middleware/bi-foundation/overview/index.html
Oracle-Reports
Page d’accueil
http://www.oracle.com/technetwork/middleware/reports/overview/index.html
Présentation
http://download.oracle.com/docs/cd/B14099_17/bi.1012/b13895/orbr_concepts1.htm#i101892
5
Reports Builder is the report-building component of Oracle Reports Developer (a component of
the Oracle Developer Suite), a powerful enterprise reporting tool that enables you to rapidly
develop and deploy sophisticated Web and paper reports against any data source (including an
Oracle database, JDBC, XML, text files, and Oracle OLAP). Leveraging the latest J2EE
technologies such as JSP and XML, you can publish your reports in a variety of formats
(including HTML, XML, PDF, delimited text, Postscript, PCL, and RTF) to any destination
(including e-mail, Web browser, OracleAS Portal, and file system) in a scalable, efficient
manner.
Téléchargement
Forms et Reports se trouvent dans : Oracle Developer Suite 10g (10.1.2.0.2) for Microsoft
Windows
http://www.oracle.com/technetwork/middleware/reports/downloads/index.html
Documentation Oracle
http://www.oracle.com/technetwork/middleware/reports/documentation/reports-087551.html
http://download.oracle.com/docs/cd/B14099_17/bi.1012/b14364/toc.htm