2012 IUT DWH Iut 20130210 - lipn.univ-paris13.fr

29
Institut Galilée Université Paris 13 IUT Villetaneuse IUT Villetaneuse IUT Villetaneuse IUT Villetaneuse Universit Universit Universit Université é é Paris 13 Paris 13 Paris 13 Paris 13 F. Boufarès & R. Nefoussi {boufares}@lipn.univ-paris13.fr LIPN : Bureau A109 R. NEFOUSSI [email protected] DIAC Renault Renault Crédit International 14, Avenue du Pavé Neuf 93160 Noisy-Le-Grand - FRANCE www.univ-paris13.fr 2011 / 2012 2 Sommaire I. Quelques SGBD Relationnels (oracle , DB2, Mysql, sql server ..) I.1 Pourquoi les Bases de données ? I.2 Installation de MySql et D'oracle sous Windows I.3 Rappel - Gestion des objets (création des tables indexes, etc ..) - PL/SQL : Gestion des curseurs, …. II Administration sous oracle II.1 Structure d’une base de données Oracle II.2 Gestion des habilitations II.3 Présentation des outils d'administration des Base de données (Toad, sql developper, OEM) III) Présentation générale des entrepôts de données III.1 Introduction III.2 Installation et suivi des entrepôts de données III.3 Présentation des Etls du marché III.4 Présentation de l’ETL peronnel d’un client (voir Slides correspondants) III.5 Présentation Imp,exp,sqlloader VI) Présentation des outils pour une meilerure gestion des entrepôts de données « Dwh » VI.1 Présentation de Talend VI.2 Présentation d' Oracle Warehouse Builder (OWB) V) APEX «Oracle application »pour la consultation de notre DWH via le WEB VI )Outils de modélisation et de Reporting VI.1 Présentation générale des outils d’aide à la conception : AMC DESIGNER VI.2 Outils de reporting : Business Objects (BO) : Supervisor, Supervisor, BO 2012 / 2013 Les entrepôts de données 2012 / 2013 Avant les Bases de donn Avant les Bases de donn é é es es syst syst è è mes de gestion de fichiers s mes de gestion de fichiers s é é quentiels ou index quentiels ou index é é s s : : Gestion de stock Gestion de stock Gestion comptable Gestion comptable Etc Etc .. .. Langage de programmation Langage de programmation : : Essentiellement le Cobol Essentiellement le Cobol Probl Probl é é matique matique Ce type de Syst Ce type de Syst è è me d me d information entra information entra î î ne une difficult ne une difficult é é de communication entre de communication entre les donn les donn é é es de la soci es de la soci é é t t é é * manque d * manque d une vision globale une vision globale * Difficult * Difficult é é d d une prise de d une prise de d é é cision cision * redondance de l * redondance de l information information * Gestion difficile de l * Gestion difficile de l archivage et de la restauration archivage et de la restauration Pourquoi les bases de donn Pourquoi les bases de donn é é es es ? ?

Transcript of 2012 IUT DWH Iut 20130210 - lipn.univ-paris13.fr

2012_IUT_DWH_Iut_20130210UniversitUniversitUniversitUniversitéééé Paris 13Paris 13Paris 13Paris 13
F. Boufarès & R. Nefoussi {boufares}@lipn.univ-paris13.fr
LIPN : Bureau A109 R. NEFOUSSI
[email protected]
93160 Noisy-Le-Grand - FRANCE
Sommaire I. Quelques SGBD Relationnels (oracle , DB2, Mysql, sql server ..)
I.1 Pourquoi les Bases de données ?
I.2 Installation de MySql et D'oracle sous Windows
I.3 Rappel
- PL/SQL : Gestion des curseurs, ….
II Administration sous oracle
II.2 Gestion des habilitations
II.3 Présentation des outils d'administration des Base de données (Toad, sql developper, OEM)
III) Présentation générale des entrepôts de données III.1 Introduction
III.2 Installation et suivi des entrepôts de données
III.3 Présentation des Etls du marché
III.4 Présentation de l’ETL peronnel d’un client (voir Slides correspondants)
III.5 Présentation Imp,exp,sqlloader
VI) Présentation des outils pour une meilerure gestion des entrepôts de données « Dwh »
VI.1 Présentation de Talend
VI.2 Présentation d' Oracle Warehouse Builder (OWB)
V) APEX «Oracle application »pour la consultation de notre DWH via le WEB
VI )Outils de modélisation et de Reporting
VI.1 Présentation générale des outils d’aide à la conception : AMC DESIGNER
VI.2 Outils de reporting : Business Objects (BO) : Supervisor, Supervisor, BO
2012 / 2013
Avant les Bases de donnAvant les Bases de donnééeses
systsystèèmes de gestion de fichiers smes de gestion de fichiers sééquentiels ou indexquentiels ou indexééss ::
Gestion de stockGestion de stock Gestion comptableGestion comptable EtcEtc ....
Langage de programmationLangage de programmation : :
Essentiellement le CobolEssentiellement le Cobol
ProblProbléématiquematique
Ce type de SystCe type de Systèème dme d’’information entrainformation entraîîne une difficultne une difficultéé de communication entre de communication entre les donnles donnéées de la socies de la sociééttéé * manque d* manque d’’une vision globale une vision globale * Difficult* Difficultéé dd’’une prise de dune prise de déécisioncision * redondance de l* redondance de l’’informationinformation * Gestion difficile de l* Gestion difficile de l’’archivage et de la restaurationarchivage et de la restauration
Pourquoi les bases de donnPourquoi les bases de donnééeses ??
2012 / 2013
La nLa néécessitcessitéé d'avoir des BDd'avoir des BD
Avoir des donnAvoir des donnéées globales sous une même basees globales sous une même base Vue globale des donnVue globale des donnéées de les de l’’entrepriseentreprise Favoriser une prise des dFavoriser une prise des déécisions plus facilement et dcisions plus facilement et d’’une maniune manièère plus re plus efficaceefficace Administration, archivage et une restauration plus facile des dAdministration, archivage et une restauration plus facile des donnonnééeses etc. .. etc. ..
Les SGBD les plus rLes SGBD les plus rééponduspondus
Oracle sous Unix, Linux , Windows, Oracle sous Unix, Linux , Windows, etcetc .. .. DB2 sous MVS ou Windows , DB2 sous MVS ou Windows , etcetc .... SQL SERVER sous WindowsSQL SERVER sous Windows EtcEtc .. ..
Pourquoi les bases de donnPourquoi les bases de donnééeses ??
2012 / 2013
Oracle Oracle PersonalPersonal Edition;Edition; Oracle Oracle DatabaseDatabase 10g Express Edition, limit10g Express Edition, limitéée e àà 4 Go, 1 CPU, 1Go de RAM, 32 bits, Linux/Windows, gratuit4 Go, 1 CPU, 1Go de RAM, 32 bits, Linux/Windows, gratuit AvantagesAvantages Richesse fonctionnelleRichesse fonctionnelle Fonction d'audit Fonction d'audit éévoluvoluéé ProcProcéédures stockdures stockéés en PLs en PL--SqlSql Assistants performants via Oracle Entreprise Manager, possibilitAssistants performants via Oracle Entreprise Manager, possibilitéé de gde géérer en interne des tâches et des alarmesrer en interne des tâches et des alarmes Gestion centralisGestion centraliséée de plusieurs instancese de plusieurs instances Concept unique de retour arriConcept unique de retour arrièère (Flashback)re (Flashback) PPéérennitrennitéé de l'de l'ééditeur : avec plus de 40% de part de marchditeur : avec plus de 40% de part de marchéé, ce n'est pas demain qu'Oracle dispara, ce n'est pas demain qu'Oracle disparaîîtratra Interface utilisateur remaniInterface utilisateur remaniéée et extrêmement riche, permettant e et extrêmement riche, permettant -- enfin ! enfin ! -- le le tuningtuning fin de requêtes par modification fin de requêtes par modification des plans d'exdes plans d'exéécution.cution. Services Web, support XML ; et Ordonnanceur Services Web, support XML ; et Ordonnanceur intintéégrgréé;ompression;ompression des donndes donnéées et des sauvegardeses et des sauvegardes InconvInconvéénientsnients Prix Prix éélevlevéé Administration complexe... liAdministration complexe... liéée e àà la richesse fonctionnellela richesse fonctionnelle Fort demandeur de ressources,Fort demandeur de ressources, MMéétamodtamodèèlele propripropriéétaire, loin de la norme.taire, loin de la norme. Tables partitionnTables partitionnéées, RAC... uniquement possible es, RAC... uniquement possible àà l'aide de modules payants compll'aide de modules payants compléémentaires sur la version mentaires sur la version Enterprise.Enterprise. Gestion des verrous mortels mal conGestion des verrous mortels mal conççue (suppression d'une commande bloquante sans ue (suppression d'une commande bloquante sans rollbackrollback)) Faiblesses de l'optimiseur (ne distingue pas les pages en cache Faiblesses de l'optimiseur (ne distingue pas les pages en cache ou en disque, n'utilise pas d'index lors de tris ou en disque, n'utilise pas d'index lors de tris ggéénnééraux, statistiques rraux, statistiques rééggéénnéérréées par saccade...)es par saccade...) Nombreuses failles de sNombreuses failles de séécuritcuritéés lis liéées es àà l'architecture ellel'architecture elle--mêmemême
AVANTAGES ET INCONVENIENTS DAVANTAGES ET INCONVENIENTS D’’ORACLEORACLE
2012 / 2013
AvantagesAvantages Monitoring via le Monitoring via le HealthHealth--centercenter SQL proche de la normeSQL proche de la norme Nombreux assistants qui auraient Nombreux assistants qui auraient ddûûss permettre une administration plus aispermettre une administration plus aiséée (mais tre (mais trèès gourmande s gourmande en ressource)en ressource) Richesse fonctionnelle du Richesse fonctionnelle du languagelanguage et des jointureset des jointures Gestion centralisGestion centraliséée de plusieurs instancese de plusieurs instances Ordonnanceur intOrdonnanceur intéégrgréé Compression des donnCompression des donnéées stockes stockééeses InconvInconvéénientsnients Interface client Java lourd instable, peu conviviale avec des meInterface client Java lourd instable, peu conviviale avec des menus contextuels nus contextuels àà rallonge. Dans les rallonge. Dans les faits, seule la ligne de commandes semble stable !faits, seule la ligne de commandes semble stable ! Journalisation gourmande en disques, même avec des Journalisation gourmande en disques, même avec des jounauxjounaux tournantstournants ParticuliParticulièèrement instable sous Windows en configuration mrement instable sous Windows en configuration méémoire dynamiquemoire dynamique RenommageRenommage de colonnes impossible = faiblesse de DDL, bien que les assistade colonnes impossible = faiblesse de DDL, bien que les assistants tentent nts tentent maladroitement de cacher ces faiblesses en exmaladroitement de cacher ces faiblesses en exéécutant des cutant des traitemetnstraitemetns lourdslourds Prix Prix exhorbitantexhorbitant, tant au point de vue des licences que des composants mat, tant au point de vue des licences que des composants matéériels (RAM, CPU) riels (RAM, CPU) àà fournir pour de bonnes performancesfournir pour de bonnes performances Gestion des utilisateurs extrêmement limitative, dGestion des utilisateurs extrêmement limitative, déédidiéée e àà l'OSl'OS ComplexitComplexitéé du du languagelanguage procprocééduraldural
AVANTAGES ET INCONVENIENTS DE DB2AVANTAGES ET INCONVENIENTS DE DB2
2012 / 2013
DisponibilitDisponibilitéé : Linux, Windows, : Linux, Windows, MacOSXMacOSX, Unix, BSD, OS2, Unix, BSD, OS2
AvantagesAvantages
Solution trSolution trèès courante en hs courante en héébergement publicbergement public TrTrèès bonne ints bonne intéégration dans l'environnement Apache/PHPgration dans l'environnement Apache/PHP OpenSourceOpenSource, bien que les crit, bien que les critèères de licence soient de plus en plus difficiles res de licence soient de plus en plus difficiles àà supportersupporter Version cluster depuis la version 4Version cluster depuis la version 4 ordonnanceur dordonnanceur dèès la version 5.1s la version 5.1 PartitonnementPartitonnement ddèès la version 5.1s la version 5.1 FacilitFacilitéé de dde dééploiement et de prise en main.ploiement et de prise en main. Plusieurs moteurs de stockage adaptPlusieurs moteurs de stockage adaptéés aux diffs aux difféérentes problrentes probléématiques, configurable au niveau table.matiques, configurable au niveau table.
InconvInconvéénientsnients
Ne supporte qu'une faible partie des standards SQLNe supporte qu'une faible partie des standards SQL--9292 Support incomplet des triggers et procSupport incomplet des triggers et procéédures stockdures stockééeses Assez peu de richesse fonctionnelleAssez peu de richesse fonctionnelle Manque de robustesse avec de fortes volumManque de robustesse avec de fortes voluméétriestries Pas d'hPas d'hééritage de tableritage de table Pas de vue matPas de vue matéérialisrialisééee Pas de sauvegarde Pas de sauvegarde constistanteconstistante àà chaudchaud
AVANTAGES ET INCONVENIENTS MYSQLAVANTAGES ET INCONVENIENTS MYSQL
2012 / 2013
AvantagesAvantages Administration aisAdministration aisééee Fonction d'audit Fonction d'audit éévoluvoluéé IndIndéépendance entre les diverses bases, facilitant l'intpendance entre les diverses bases, facilitant l'intéégration de plusieurs applicatifs dans une même gration de plusieurs applicatifs dans une même instanceinstance Une des bases les plus performantes sous Windows en configuratioUne des bases les plus performantes sous Windows en configuration par dn par dééfautfaut SousSous--SELECT possible dans clause FROMSELECT possible dans clause FROM Gestion de l'indexation textuelleGestion de l'indexation textuelle Niveau de SQL trNiveau de SQL trèès prs prèès de la norme SQL et impls de la norme SQL et impléémente presque toutes les possibilitmente presque toutes les possibilitéés de SQL.s de SQL. Services WebServices Web Support XMLSupport XML Ordonnanceur intOrdonnanceur intéégrgréé Supporte les 4 niveaux d'isolation transactionnelle de la norme Supporte les 4 niveaux d'isolation transactionnelle de la norme SQLSQL Compression des donnCompression des donnéées et des sauvegardeses et des sauvegardes InconvInconvéénientsnients Distributions fortement liDistributions fortement liéées au systes au systèème d'exploitationme d'exploitation jungle des versions, mais fonctionnalitjungle des versions, mais fonctionnalitéés cantonns cantonnéées dans les es dans les ééditions Enterprise, ditions Enterprise, DeveloperDeveloper et et StandardStandard MonoMono--plateforme (MS Windows)plateforme (MS Windows) Depuis la version 2005, plus de prise directe sur les tables sysDepuis la version 2005, plus de prise directe sur les tables systtèème (remplacme (remplacéées par de vues systes par de vues systèème)me) Pas de prise en charge du LDAPPas de prise en charge du LDAP
AVANTAGES ET INCONVENIENTS SQL SEVERAVANTAGES ET INCONVENIENTS SQL SEVER
2012 / 2013
une installation de type installshield avec des boutons
suivants.. il suffit alors de se laisser guider en répondant
aux diverses questions.
L’administration peut se faire entièrement à partir des outils
MySQL.
MySQL fonctionne avec un service Windows. Si vous désirez arrêter le serveur, il suffit de stopper le service MySQL.
Installation de MySql
devez configurer la connexion à la base MySQL.
Après avoir démarrer MySQLAdministrator, vous obtenez
une fenêtre d’identification similaire à celle-ci :
Présentation de MySql : Création d'une connexion
2012 / 2013
Présentation de MySql : Création d'une connexion
Cliquez sur le bouton [...] en haut à droite, cela ouvre la fenêtre suivante :
2012 / 2013
2012 / 2013
Présentation de MySql : Création d'une connexion
Cliquez sur le bouton « Add new Connection » en bas à gauche afin de créer une nouvelle
connexion
Sélectionnez dans la liste en haut « New Connection » qui vient de s’ajouter à la liste. La
partie à droite « Connection Parameters » permet de renseigner les informations de
connexion à la base MySQL
Dans le champs Connection, saisissez le nom de connexion qui apparaà®tra dans les listes de
connexion de MySQLAdministrator
Dans le Champs Username, saisissez l’utilisateur qui permet de se connecter à la base de
données.
Dans le champs Password, saisissez le mot de passe de cet utilisateur
Dans le champs Hostname, saisissez l’IP ou le nom de l’ordinateur qui héberge la base de
données MySQL
Pour enregistrer toutes ces informations de connexions, cliquez en bas sur le bouton « Apply
» puis sur le bouton « Close » pour revenir à la fenêtre précédente.
La connexion que nous venons de configurer est alors accessible dans le menu déroulant «
Stored Connection ».
Saissez le mot de passe de l’utilisateur puis cliquez sur le bouton « OK » pour se connecter à
la base MySQL.
2012 / 2013
Les bases de données
En cliquant donc sur l’onglet Catalogs vous pouvez accéder aux bases de données existantes du serveur.
Vous pouvez alors visualiser les tables sous forme de liste dans la partie droite de la fenêtre.
Create Table permet de créer une nouvelle table
Edit Table permet d’éditer la structure de la table
Maintenance permet de réparer/optimiser ou vérifier que la table n’est pas corrompue
Refresh rafraà®chit l’affichage
En effectuant un clic droit sur l’onglet Catalogs puis New vous pouvez créer une nouvelle base de données.
2012 / 2013
2012 / 2013
Gestion des utilisateurs
Vous pouvez gérer les utilisateurs qui permettent de se connecter aux bases de données.
Ces utilisateurs sont spécifiques à MySQL et n’ont rien à voir avec l’OS ou votre réseau.
Il est conseille de créer un utilisateur par base de données et de ne jamais, par mesure de
sécurisé, utiliser l’utilisateur root.
2012 / 2013
2012 / 2013
Installation d’une base de données 10g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
Installation d’une base de données 11g Oracle sous windows
2012 / 2013
2012 / 2013
2012 / 2013
Gestion des objets
- affichez la liste des tables appartenant à votre user Oracle
- afficher la liste des indexes appartenant à votre user Oracle
- afficher la liste des tablespaces que compose votre base de données dw11g
Donnez la commande sous Oracle qui permet la création d'un user : sil01 et un mot de passe psswrd_sil01 avec USERS comme tablespace temporaire
Donnez la commande qui permet de rajouter le droit de connexion au user sil01
Donnez la commande qui permet la création de la table Client dans le tablespace USERS, avec un INITIAL de 20 MO et un NEXT DE 5 MOe
CLIENT(
ID_DER_DEMAND VARCHAR2( 30), NOTE_CLIENT NUMBER( 10, 3),
POURCENT_PERTE NUMBER( 10, 3)
2012 / 2013
Pensez-vous qu'avec les droits accorder au user sil01, il est capble de créer cette table ?
Si le user sil01 n'a pas les droits nécessaire ==> Alors donnez la commande qui permet de rajouter le droit qui manque à SIL01, pour faire le nécessaire ?
A partir du user sil01, donnez le droit de lecture de suppression et mise à jour de la table CLIENT aux autres users (Public)
Vous avez constater que votre table a été modiifer à tort. Vouis décidez de supprimer ces droits à public et de donner uniquement ces droits au user sil06 uniquement.
Gestion des Ojects sous Oracle (2/2)
2012 / 2013
PL/SQL : Gestion des curseurs ...
ETL Extraction: Génération d'un fichier via PL/SQL
set serveroutput on size 100000
set feedback off
set termout off
OPEN C1;
Exit
spool off 2012 - 2013 M. F. Boufarès & R. NEFOUSSI, UP13 44
ETL Load : Charg. des données après transformation via PL/SQL
DECLARE
Développez un premier programme sous PL/SQL : composé comme suit :
- créez un curseur qui accède aux lignes de la table financement générer par la société de Crédit « MA SOCIETE DE CREDIT»
- Créez une nouvelle table w1_Financement avec la même structure de la table financement
- Copiez les lignes de table financement dans w_financement
Développer un programme sous PL/SQL : : composé comme suit :
- créer un curseur qui accède aux lignes de la table financement générer par la société de Crédit « MA SOCIETE », durant l'année 2012.
- Créez une nouvelle table w2_Financement avec la même structure de la table
financement
- Utiliser une boucle « Loop »
Tester la date de création du financement de chaque ligne ramener par votre curseur
Et ne charger dans la table w2_Financement que la date de création égale à 2012.
PL/SQL : Gestion des curseurs ...
• Base : une base est un ensemble de fichiers : parmi lequels
– Tablespaces Temporary et Default
– Fichier logs (Oracle, trace, etc ..)
– Parlé de la notion physique (ensemble de fichier qui composent un TBS)
– etc …
– Une zone mémoire !!!!
Unités logiques : Tablespaces
• Une base de données est composée d’un ensemble d’unités logiques dites tablespaces
• Un tablespace permet de regrouper un ensemble d’objets logiques (tables, index...)
• il peut être utilisé pour regrouper des objets logiques d’une application pour que les opérations de sauvegarde et de restauration soient efficaces.
2012 / 2013
2012 / 2013
Fichiers de données (Data Files)
• Les fichiers de données assurent le stockage – des objets créés par les utilisateurs : tables, index, vues,
clusters, etc. – des structures nécessaires au fonctionnement d’Oracle :
Dictionnaire de données.
• Lors de la création d’une de base données, il doit y avoir au moins un fichier de données pour stocker le dictionnaire de données.
• Un fichier de données est associé à une et une seule base de données
2012 / 2013
• Exprimée en Kilo ou en Méga octets
• Attribuée au moment de la création du fichier, peut être modifiée.
• Son choix dépend de la taille de la base de données et de son évolution.
• Le premier fichier de données créé doit avoir une taille supérieure ou égale à 2Mo.
2012 / 2013
• Peut être modifié, sauf pour le premier fichier.
• La modification se fait en deux étapes :
– modification du nom du fichier en utilisant les commandes OS
– répercussion de cette modification dans les fichiers de contrôle.
2012 / 2013
Création d’un Data File
• Lors de la création d’un TBS ou rajout d’un fichier :
• CREATE TABLESPACE tbs
• Deux cas de modifications : – modification du nom et de localisation
– modification de la taille
• RENAME DATAFILE ‘fich1’, ‘fich2’ TO ‘fich11’, ‘fich22’
• ALTER DATABASE base
2012 / 2013
• Modification de la taille : • ALTER TABLESPACE tbs
• ADD DATAFILE spécification
• [MAXSIZE UNLIMITED | entier [K|M]]
• ALTER DATABASE base
• AUTOEXTEND [OFF | ON [NEXT entier [K|M]]
• [MAXSIZE UNLIMITED | entier [K|M]]
2012 / 2013
Suppression d’un Data File
• Solution N°1 : en deux étapes – Suppression du tablespace associé au Data file
• DROP TABLESPACE tbs • INCLUDING CONTENTS
– Suppression des fichiers physiques manuellement par commande OS.
• Solution N°2 : en une seule étape – Suppression du tablespace associé au Data file – ainsi que les fichiers physiques – DROP TABLESPACE tbs
• INCLUDING CONTENTS and datafiles
Tablespace
• Chaque objet logique doit être associé à un et un seul tablespace.
• Chaque tablespace est identifié par un nom.
• Un tablespace peut être supprimé même s’il contient des données.
• Une base de données doit avoir au moins un tablespace appelé SYSTEM qui contient le dictionnaire de données.
2012 / 2013
– OnLine
– OffLine
• Le tablespace SYSTEM ne peut jamais être désactivé.
• Il est recommandé de créer d’autres tablespaces pour les objets de la base.
• Un tablespace peut être créé, modifié et supprimé
2012 / 2013
• [NEXT entier {M|K}]
• [DEFAULT STORAGE clause_stockage]
Modification d’un tablespace
• ALTER TABLESPACE tbs • ADD DATAFILE spec [AUTOEXEND {OFF|ON • [NEXT entier {M|K}] • [MAXSIZE {UNLIMITED | entier {M|K}]}... • [RENAME ‘fich’, ... TO ‘fich’, ...] • [COALESCE] • [DEFAULT STORAGE clause_stockage] • [ONLINE | OFFLINE {NORMAL | TEMPORARY | IMMEDIATE}] • [{BEGIN | END} BACKUP] • [READ {ONLY | WRITE}] • [PERMENENT | TEMPORARY]
2012 / 2013
•DROP TABLESPACE tbs •[INCLUDING CONTENTS] •[CASCADE CONSTRAINTS]
•INCLUDING CONTENTS supprime le contenu de tablespace
•CASCADE CONSTRAINTS supprime les contraintes d’intégrité des tables d’autres tablespaces qui se réfèrent aux clés primaires des tables du tablespace spécifié.
2012 / 2013
• Un tablespace peut être attribué par défaut à un utilisateur.
• Les objets de cet utilisateur seront stockés dans ce tablespace sauf contre indication.
• CREATE | ALTER user IDENTIFIED [BY mdp | EXTERNALLY] • [DEFAULT TABLESPACE tbs] • [TEMPORARY TABLESPACE tbs] • [QUOTA {entier {M | K} | UNLIMITED} ON tbs ]
2012 / 2013
Association entre objets et TBS
• Création d’un User – Create user USR1 identified by psswrd1 default tablespace
USERS temporary tablespace TEMP; – CREATE TABLE tab1 (col1 integer,col2 varchar2) – Select table_name,tablespace_name from user_tables;
• Création d’un objet (exemple d’une table ou index) – Create table contrat (id_contrat integer, nom_souscripteur
varchar2(50), prenom_souscripteur varchar2(50)) – tablespace COMPTA – storage STORAGE – ( INITIAL 50M – NEXT 70M – )
2012 / 2013
– Create unique index IDX_CTR on CONTRAT (id_contrat ) – tablespace COMPTA – storage STORAGE – ( INITIAL 5 M – NEXT 10M – )
• Déplacement d’un objet d’un TBS à un autre
• Alter table contrat move tablespace USERS; Cela invalide les indexes de la table Ce qui nécessite leur :
Suppression (drop index) et la création (create index) de l’index
Ou la reconstruction de l’index (alter index ind_ctr rebuild);
2012 / 2013
alter tablespace USERS offline;
'c:\datafile\tp\db\gestee_01.dbf'
alter tablespace USERS online
alter tablespace test
create table toto (col1 number,col2 number)
tablespace test
2012 / 2013
• L'administrateur peut consulter les vues du dictionnaire de données suivantes :
– DBA_USERS
– DBA_TS_QUOTAS
2012 / 2013
1. Connectez vous avec le user system/Orcl
2. Créez les deux TBS TBSMstr1DATA et TBSMstr1INDX :
TBS TBSMstr1DATA avec fichier d:\oracle\product\10.2.0\db_1\ TBSMstr1DATA_1.dbs Taille 50 MO
TBS TBSMstr1INDX avec fichier d:\oracle\product\10.2.0\db_1\ TBSMstr1INDX_1.dbs Taille 20 MO
3. Création d’un user Mstr1_td1/ Mstr1_td1 avec default TBD «TBSMstr1Td1 » et temporary TBS «TEMP»
4. Donnez le droit DBA au user Mstr1_td1 .
5. Créez les tables dans TBS (TBSMstr1DATA)
EMP (EMPNO NUMBER(4) NOT NULL,ENAME VARCHAR2(10),JOB VARCHAR2(9),
MGR NUMBER(4),HIREDATE DATE,SAL NUMBER(7, 2),COMM NUMBER(7, 2),
DEPTNO NUMBER(2));
6 Création des indexes dans TBS TBSMstr1INDX)
Création des indexes uniques :
2012 / 2013
7. Insertion des lignes dans les tables EMP et DEPT
Inserrer les lignes suivantes dans la table EMP
(7369, ‘SMITH’, ‘CLERK’, 7902,TO_DATE(’17-DEC-1980′, ‘DD-MON-YYYY’), 800, NULL, 20);
(7499, ‘ALLEN’, ‘SALESMAN’, 7698,TO_DATE(’20-FEB-1981′, ‘DD-MON-YYYY’), 1600, 300, 30);
(7521, ‘WARD’, ‘SALESMAN’, 7698,TO_DATE(’22-FEB-1981′, ‘DD-MON-YYYY’), 1250, 500, 30);
Inserrer les lignes suivantes dans la table DEPT
(10, ‘ACCOUNTING’, ‘NEW YORK’);
8. Consultation du catalogues Oracle
Donnez la vue d’Oracle qui liste les tables et indexes appartenant au user Mstr1_td1
2012 / 2013
Gestion des habilitations sous Oracle
2012 / 2013
– • un nom utilisateur unique
– • un statut de compte
Compte d’administration prédéfinis
– . Caractéristiques du compte SYS : – – Il bénéficie du rôle d'administrateur de base de données (DBA) – et de plusieurs autres rôles. – – Il dispose de tous les privilèges associés à ADMIN OPTION. – – Il est requis pour les opérations de démarrage et d'arrêt, ainsi – que pour certaines commandes de maintenance. – – Il est propriétaire du dictionnaire de données et du référentiel – AWR (Automatic Workload Repository). – • Le compte SYSTEM reçoit les rôles DBA, MGMT_USER et – AQ_ADMINISTRATOR_ROLE. – • Le compte DBSNMP reçoit le rôle OEM_MONITOR. – • Le compte SYSMAN reçoit les rôles MGMT_USER, RESOURCE – et SELECT_CATALOG_ROLE. – • Ces comptes ne sont pas utilisés pour les opérations de – routine.
2012 / 2013
Authentification des administrateurs
Sécurité au niveau du système d'exploitation : * Les administrateurs de base de données doivent disposer des
privilèges de création et de suppression de fichiers au niveau du système d'exploitation.
* Les utilisateurs de base de données ne bénéficient normalement pas des privilèges de création ou de suppression de fichiers de base de données au niveau du système d'exploitation. Sécurité au niveau de l'administrateur : * Pour les connexions en tant que SYSDBA, SYSOPER et SYSASM : *Audit du nom utilisateur du DBA pour les méthodes d'authentification fortes et par fichier de mots de passe *Audit du nom de compte du système d'exploitation pour l'authentification par le système d'exploitation * Priorité de l'authentification par le système d'exploitation sur l'authentification par fichier de mots de passe pour les utilisateurs ayant des privilèges importants (exemple de dba)
2012 / 2013
– particulières dans la base de données.

– Exemple :
– Grant resource to user1
– Grant dba to user1
– Grant connect to user1
– Exemple :
– revoke resource from user1
– revoke dba from user1
– revoke connect from user1
– Create role compta_interrogation – Grant select on D_DIM_SECTOR to
compta_interrogation – Grant select on D_DIM_TEMPS to
compta_interrogation – Grant update,insert,delete on D_DIM_SECTOR to
compta_maj – Grant update,insert,delete on D_DIM_TEMPS to
compta_maj – Grant compta_interrogation to user1 – Grant compta_maj to user1
– b) Suppression d’un rôle
– Drop role compta_interrogation
– createcreatecreatecreate profile profile profile profile appl_profileappl_profileappl_profileappl_profile – limitlimitlimitlimit – sessions_per_usersessions_per_usersessions_per_usersessions_per_user 2 2 2 2 – connect_timeconnect_timeconnect_timeconnect_time unlimitedunlimitedunlimitedunlimited – private_sgaprivate_sgaprivate_sgaprivate_sga 20M 20M 20M 20M – failed_login_attemptsfailed_login_attemptsfailed_login_attemptsfailed_login_attempts 3 ;3 ;3 ;3 ;
– drop profile appl_profile ;
– Grant compta_interrogation to user1
– Grant compta_maj to user1
Select * from dba_tables Select * from dba_indexes Select * from daba_data_files select * from v$datafile select * from dba_users select * from dba_extents where owner = ‘GESTEE' select * from user_segments
where tablespace_name = ' USERS' select * from dba_ts_quotas
2012 / 2013
• Utiltaires Import et export
• Les différents mode d’export Au niveau de la base
Exp sytsem/MotDePasse full=yes log-expfull.log file=expfull.dmp ..
Au niveau de l’utilisateur Exp system/MotDePasse owner=propritaire log-
expOwner.log file=expowner.dmp ..
transpot_tablespace=y tablespace=tbs1,tbs2
log=exptables.log file= exptables.dmp ..
• - full • - tables • - log • - file • - full • - indexes • - grants • - parfile • - query • - ..
2012 / 2013
• params.dat contient les informations suivantes :
• FILE=blake.dmp SHOW=n IGNORE=n GRANTS=y ROWS=y FROMUSER=blake TOUSER=scott TABLES=(unit,manager);
2012 / 2013
– Rows – Fromuser – Touser – Tables – File – Ignore – Grants – Indexes – Show – ….
2012 / 2013
2012 / 2013
Partie 5 Architecture interne dPartie 5 Architecture interne d’’Oracle Oracle
et outils pour administrer votre baseet outils pour administrer votre base
-- SGA + PGASGA + PGA -- processus en arriprocessus en arrièère Planre Plan -- Processus utilisateursProcessus utilisateurs -- Outils :TOAD + OEM + Outils :TOAD + OEM + SqlDevelopperSqlDevelopper
2012 / 2013
2012 / 2013
Deux types de processus :
•Processus utilisateurs : pour exécuter une application SQL*Plus, Pro*C, etc.
•Processus Oracle
Processus SERVER : interaction entre processus utilisateur et l’instance ( mémoire de la SGA).
Processus en arrière plan : effectue des tâches bien définies pour l’ensemble des utilisateurs
2012 / 2013
* Processus arrières plan obligatoires
•DBWR : Data Base Writer
ExercicesExercices AdmAdm sous Oracle sous Oracle
1. Connectez-vous sous sqlplus avec le user AdmMaster1/ AdmMaster1 (avec les droits dba)
2. Créer 2 users : avec les droits « connect et resource »
(usrMaster1/ usrMaster1)
(usrMaster2/ usrMaster2)
3. Créez un tbs User2011 avec deux fichiers Usr_oem2011_data1.bdf 100 MO et Usr_oem2011_indx1.bdf 50 MO
2012 / 2013
ExercicesExercices AdmAdm sous Oracle sous Oracle
3. créez table suivante dans un tablespace USERS (avec un initial 50 MO et un next de 10 MO) :
D_CLASSE_THERAPEUTIQUE ( ID_CLASSE_THERAPEUTIQUE VARCHAR2(50) NOT N ULL, DESCRIPTION VARCHAR2(50), TYPE_MEDICAMENT VARCHAR2(50)
)
2012 / 2013
-- Audit optionsAudit options * DDL* DDL(CREATE, ALTER & DROP of objects(CREATE, ALTER & DROP of objects))
* DML* DML(INSERT UPDATE, DELETE, SELECT, (INSERT UPDATE, DELETE, SELECT,
EXECUTE).EXECUTE).
2012 / 2013
Audit dAudit d’’une base par lune base par l’’exempleexemple
A. Crétion d’un user sous Oracle
Connect sys/password AS SYSDBA
CREATE USER audit_test IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users;
GRANT connect TO audit_test;
2012 / 2013
Audit dAudit d’’une base par lune base par l’’exempleexemple
B. Auditer toutes les opérations du user audit_test
CONNECT sys/password AS SYSDBA
AUDIT ALL BY audit_test BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY audit_test BY ACCESS;
AUDIT EXECUTE PROCEDURE BY audit_test BY ACCESS;
2012 / 2013
Audit dAudit d’’une base par lune base par l’’exempleexemple
C. Appliquer quelques actions avec le user audit_user
CONN audit_test/password
INSERT INTO test_tab (id) VALUES (1);
UPDATE test_tab SET id = id;
SELECT * FROM test_tab; DELETE FROM test_tab;
DROP TABLE test_tab; 2012 / 2013
Audit dAudit d’’une base par lune base par l’’exempleexemple
C. Auditer les actions faites par le user audit_test
COLUMN username FORMAT A10
COLUMN owner FORMAT A10
COLUMN obj_name FORMAT A10
COLUMN extended_timestamp FORMAT A35
FROM dba_audit_trail
2012 / 2013
---------- ----------------------------------- ---------- ---------- ----------------------------
AUDIT_TEST 16-FEB-2006 14:16:55.514000 +00:00 AUDIT_TEST TEST_TAB INSERT AUDIT_TEST 16-FEB-2006 14:16:55.545000 +00:00 AUDIT_TEST TEST_TAB UPDATE AUDIT_TEST 16-FEB-2006 14:16:55.592000 +00:00 AUDIT_TEST TEST_TAB SELECT AUDIT_TEST 16-FEB-2006 14:16:55.670000 +00:00 AUDIT_TEST TEST_TAB DELETE AUDIT_TEST 16-FEB-2006 14:17:00.045000 +00:00 AUDIT_TEST TEST_TAB DROP TABLE
6 rows selected.
2012 / 2013
Partie 5 Outils pour administrer et Partie 5 Outils pour administrer et
ggéérer votre baserer votre base
-- RRéépertoire dpertoire d’’installation installation dd’’oracle 10goracle 10g
-- DB Console (OEM)DB Console (OEM) -- TOAD TOAD -- SqlDevelopperSqlDevelopper
2012 / 2013
TOAD
Oracle Entreprise Manager (OEM)
SqlDevelopper
2007 - 2008 M. F. Boufarès & R. NEFOUSSI, UP13 111
1. Introduction Les décideurs d'une entreprise doivent pouvoir répondre à un certain nombre de question pour diriger leur entreprise Qui sont mes clients ? Pourquoi sont ils mes clients ? Comment cibler ma clientèle ? Quel est l'évolution de tel produit ? Qui sont mes employés ? Quel est le produit le plus vendu Quel est le produit le moins vendu Quel magasin a le plus faible chiffre d'affaire hebdomadaire ?
==> L'objectif est donc d'apporter aux décideurs d'une entreprise les moyens de répondre à ces questions
2007 - 2008 M. F. Boufarès & R. NEFOUSSI, UP13 112
1. Pourquoi un Entrepôt de données ?
Les sources de données d'une entreprise proviennent essentiellement des bases de production. Ces données sont éparpillées dans des systèmes multiples, pas nécessairement compatibles entre eux. Ces bases sont conçues pour être efficaces pour les fonctions sur lesquelles elles sont spécialistes. Elles sont donc peu structurées pour l'analyse, avec souvent comme objectif principal de conserver l'information. Comme bases de production elles sont focalisées sur les fonctions critiques de l'entreprise, et doivent être en mesure de servir l'utilisateur avec un temps de réponse rapide et structurées dans ce but. Ces systèmes sont donc peu adaptés à la vision à long terme et donc à la prise de décision. Le datawarehouse va avoir pour objectif d'agréger et de valoriser ces données provenant de différentes sources. Il va permettre à l'utilisateur d'y accéder de manière simple et ergonomique.
2007 - 2008 M. F. Boufarès & R. NEFOUSSI, UP13 113
1. Pourquoi la séparation des OLTP des OLAP ?
désavantagesd'avoir une même base: quand le DWH et les application OLTP se partagent les mêmes BD.
Les DWH doivent accéder en lecture à des données sur plusieurs années. Et si en mêmes temps ces données sont accéder par les applications transactionnelles en mise à jour
==> Cela va causer des problèmes de contentions ==> traduit par des problèmes énormes de dégradation de performances ==> Retard dans les traitements quotidiens ==> Retard de l'ouverture des applications de gestions .. ==> Mécontentements des utilisateurs du DWH à cause des problèmes des
Temps de réponses du DWH ?
2007 - 2008 M. F. Boufarès & R. NEFOUSSI, UP13 114
SOLUTION ?
La solution est de séparer
la BD orientée Transaction de la BD orientée Aide à la Décision ;
d’où la naissance du concept Data Warehouse= Entrepôt de Données.
Les DW sont physiquement séparés des SGBD opérationnels (BD opérationnelles).
2007 - 2008 M. F. Boufarès & R. NEFOUSSI, UP13 115
1. Définition d'un DWH
Data Warehouse: Définition de Bill Immon (1996)
Collection de données orientées pour un sujet, intégrées, non volatiles et historisées, organisées pour le support du processus d’aide à la décision Il s’agit base de données dans laquelle sont déposées après nettoyage et homogénéisation les informations en provenance des différents systèmes de production de l’entreprise
Datamart:
Est un sous-ensemble de l’entrepôt de données, défini à l’intention d’un département précis de l’entreprise.
2012 - 2013 M. F. Boufarès & R. NEFOUSSI, UP13 116
1. Définition d'un DWH
Le DW intègre des donnéesà partir de sources multiples et hétérogènes
afin de répondre aux requêtes du système d’aide à la décision.
Ce type d’application est appelé “ On-Line Analytical ProcessingOLAP ”.
OLAP permet la transformation des données en information stratégiques.