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.