LP Informatique(DA2I), F7 : Administration Système ...nakechb.free.fr/LP_DA2I/ch1_ABD.pdf · 2.3...
-
Upload
nguyenkhuong -
Category
Documents
-
view
222 -
download
0
Transcript of LP Informatique(DA2I), F7 : Administration Système ...nakechb.free.fr/LP_DA2I/ch1_ABD.pdf · 2.3...
LP Informatique(DA2I), F7 : Administration Système, Réseaux et Base de données15/11/2007, Enseignant : M. Nakechbnadi, mail : [email protected]
Première parie : Administration d’une BD
Chapitre 1 : Architecture des SGBD, Le produit ORACLE , Le role de DBA
1.1/Architecture des SGBD
Les architectures physiques de SGBD sont très liées au mode de répartition.
— BD centralisée
— BD client/serveur
— BD client/multi-serveurs
— BD répartie
— BD hétérogène
— BD mobile
— BD parallèle
2.2
Architecture centralisée
Terminaux passifs
Mainframe
SGBD
Appli 1 Appli 2 Appli n
réseau
données
2.3
Architecture client-serveur
Clients intelligents
serveur
SGBD
Appli 1Appli 2
Appli n réseau
donnéescode
2.4
Architecture Client-Multiserveurs
SGBD 2
donnéescode
ODBC ODBC
SGBD 1
donnéescode
Appli 1
SQL SQL
SQLSQL
2.5
Architecture répartie
SGBD 1
donnéescode
SGBD 2
donnéescode
Appli 1Appli 2
Appli n
2.6
Architecture mobile
Clients intelligents mobiles
serveur
SGBD
Réseau sans fil
donnéescode
Données répliquées et/ou personnelles
2.7
BD parallèle
BD parallèle = Techniques des bases de données + Parallélisme et architecture parallèle
Il faut bien entendu avoir une machine multiprocesseur pour en tirer avantage.
2.8
1.2/ Le D.B.A.Le D.B.A.Le D.B.A.Le D.B.A.
D.B.A. = Data Base Administrator = Administrateur de bases de données. Il est responsable du
bon fonctionnement des bases de données de l‘entreprise .
Son travail peut être assimilé à celui d'un responsable système, Oracle pouvant être perçu comme un 'sous' système exploitation.
Ses taches :
� -
� -
� -
� -
� -
� -
� -
� -
2.9
Les taches de DBA :
o Installer le logiciel, faire les mises à jour (patchs, changement de version du noyau mais
aussi des autres produits),
o Créer les bases de données physiques et gérer l’espace physique,
o Gérer les utilisateurs et leurs droits d’accès,
o Valider les schémas de données (cohérence, non redondance, optimisation)
o Assurer la sécurité de la base (sauvegarde, restauration, confidentialité d’accès),
o Gérer les ressources systèmes et optimiser les performances,
o Faire les transferts de données de et vers d’autres systèmes
2.10
Le 'profil' DBA
Un DBA pour pouvoir travailler doit posséder un profil privilégié :
� au niveau OS � au niveau de la base de données
Sur Unixle DBA doit avoir un compte Unix particulier, généralement baptisé Oracle, qui appartient à un
groupe prédéfini Unix baptisé DBA. Les fichiers composant le logiciel et les process d'Oracle,
appartiendront à cet utilisateur. Pour certaine étapes de l'installation (notamment création du
user, et mise à jour des fichiers de démarrage, et des paramètres système) le DBA devra les
privilèges 'root'.
Sur NT
le DBA devra appartenir au groupe administrateur, notamment pour démarrer les services
Oracle sur le serveur.
'Sur' Oracle
le DBA devra avoir reçu l'ensemble de droit (prédéfini) Oracle baptisé 'DBA'. Ceci lui permettra
notamment d'avoir une vision complète du référentiel de la base de données et d'accéder sans
restrictions à toutes les données utilisateurs.
Remarque : les utilisateurs standards SYS et SYSTEM de la base de données ont les droits DBA.
2.11
1.3/ les produits Oracle
Oracle est historiquement connu comme fournisseur de SGBDR (le 1er au monde en 2001) mais
se positionne maintenant comme fournisseur de solutions informatique pour l'entreprise.
Le coeur de son offre est toujours le serveur de données relationnel mais avec un peu de
recul on peut distinguer cinq grandes familles de produits:
� Les serveurs et les utilitaires : SQLPLUS, Oracle Forms, …
� Les environnements de développement :
� Les logiciels d’aide à la décision :
� Les progiciels client serveurs et Internet : (Oracle Application & Oracle e-business suite)
� Oracle Internet Application Server :
Annexe
1.Rappel Oracle/SQL
2.Utilitaire SQL*PLUS
2.13
1. Rappel Oracle/SQL
Connexion
� Pour utilisez SQL*Plus on tape (sous l’invite du système) : sqlplus
• Nom d’utilisateur : <votre nom>
• Mot de passe : <votre nom>
• Chaîne hôte : DPTINFO
� Changer votre mot de passe :
alter user <nom utilisateur> identified by <nouveau password>
2.14
Les Types de données
� CHAR(l) : Champ de longueur fixe l pour stocker des caractères
� VARCHAR2(l) : Champ de longueur variable pour stocker des caractères
� NUMBER(l,d) : Champ de longueur variable pour stocker des nombres
l : représente la longueur
d : le nombre de décimales
� DATE Champ de longueur fixe pour stocker des dates
• current_date : date actuelle
2.15
Les LDD (définitions de données) (1)
� CREATE, DROP, GRANT ou REVOKE
• CREATE TABLE nom_table
( col1 type_col1 [ [NOT] NULL],
col2 type_col2 [ [NOT] NULL],
…
);
• CREATE TABLE nom_table
AS <requête SELECT>;
• CREATE VIEW nom_vue
AS <requête SELECT>;
2.16
Les LDD (2)
� DROP TABLE nom_table;
� GRANT (ou REVOKE) privilège TO user
Exemple :
GRANT connect, resource to toto;
2.17
Les LMD (Modification de données)
� SELECT attributs FROM nom_table
WHERE critères;
� INSERT INTO nom_table [(col1,col2, …)]
VALUES (valeur1, valeur2, ...);
� ALTER TABLE nom_table
ADD ( attribut1 type_attribut1 [ [NOT] NULL] );
� ALTER TABLE nom_table
MODIFY ( attribut type_attribut [ [NOT] NULL] );
� ALTER TABLE nom_table
DROP COLUMN ou CONSTRAINT …
2.18
Les contraintes
� Clé primaire unique :
CONSTRAINT nom_contrainte
PRIMARY KEY (col_clé);
� Clé étrangère unique :
• CONSTRAINT nom_contrainte
FOREIGN KEY (col_clé)
REFERENCES table_liée (clé_liée)
[ ON DELETE [CASCADE] ]
[SET DEFAULT]
[SET NULL] ]
[ ON UPDATE … ];
2.19
Les contraintes (2)
� Clé primaire multiples :
CONSTRAINT nom_contrainte
PRIMARY KEY (col_clé1, col_clé2, …);
� Clé étrangère multiples :
CONSTRAINT nom_contrainte
FOREIGN KEY (col_clé1, col_clé2,…)
REFERENCES table_liée (clé_liée1, clé_liée2, …)
…
� Contrainte d’unicité :
CONSTRAINT nom_contrainte
UNIQUE (Col_clé1, Col_clé2,…);
2.20
Les contraintes (3)
� CONSTRAINT nom_contrainte
CHECK (condition)
Exemple : CREATE TABLE etudiant (
numen NUMBER(6) NOT NULL,
nom VARCHAR2(20),
prenom VARCHAR2(20),
sexe CHAR(1) CHECK (sexe IN (‘M’,’F’),
CONSTRAINT cp_numen PRIMARY KEY (numen));
2.21
Autres commandes
� CREATE VIEW nom_vue AS requête
� UPDATE nom_table
SET attribut=expression
WHERE condition
� DELETE FROM nom_table
WHERE condition
� COUNT pour compter
SELECT Nom, COUNT(note) FROM notation
2.22
Grant et Revoke
� GRANT <privilèges> ON <objet> TO <liste_utilisateurs>
Privilèges : update, update(x), select, insert, all, delete,…
GRANT select ,update(nom) on toto TO Martin,Durand
� REVOKE <privilèges> ON <objet > FROM <liste_utilisateurs >
2.23
Références
�G. Gardarin, O. Gardarin , Le Client-Serveur , Eyrolles, 2e édition, 1996
�S. Miranda, A. Ruols , Client-Serveur, Moteurs SQL, middleware, et architectures parallèles Eyrolles, 2e édition, 1996
�Bases de données : Introduction et Objectifs, G. Gardarin et L. Bouganim, support de cours, http://georges.gardarin.free.fr/