BIBLIOGRAPHIE,
Pré-requis et Objectifs
1
Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Bibliographie, Pré-requis et Objectifs
2
BIBLIOGRAPHIE
• Oracle 10g Administration, les guides de formations Razan Bizoï
• Oracle 10g Guide du DBA, KEVIN LONEY et BOB BRYLA
• Oracle 8, ROGER CHAPUIS
• Oracle database 10g, Linux Administration, Edward Whalen
• www.oracle.com
1
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Bibliographie, Pré-requis et Objectifs
3
PRE-REQUIS
• Modèle relationnel (Structure, contraintes, SQL)
1
Seydi Aboubacar GUEYE
OBJECTIFS
• Connaitre les tâches d’un DBA
• Connaitre les concepts et points de l’architecture Oracle
• Savoir effectuer les principales tâches sous Oracle
Introduction,Rappel,
Presentation et
Architecture de Oracle
2
Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
Introduction et Rappel, Présentation et Architecture de Oracle
Administration des Bases de Données sous Oracle 5
INTRODUCTION ET RAPPEL
2
Seydi Aboubacar GUEYE
Introduction et Rappel, Présentation et Architecture de Oracle
Administration des Bases de Données sous Oracle 6
LES METIERS AUTOUR DES BASES DE DONEES
• Administrateur
• Responsable de la sécurité
• Administrateur Réseau
• Développeur d’application
• Administrateur d’application
• Utilisateurs: modifier les données, créer des rapports
2
Seydi Aboubacar GUEYE
REMARQUE
• Dans des structures relativement petite, l’administrateur peut jouer quasiment tous les
rôles
Introduction et Rappel, Présentation et Architecture de Oracle
Administration des Bases de Données sous Oracle 7
LES TACHES DU DBA
• Installer les logiciels Oracle
• Planifier et créer des bases de données
• Implémenter les schémas de données et gérer l’espace
• Assurer la sécurité
• Etc.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
8
BASE DE DONNEES RELATIONNELLE
• Définition d’une BD et d’un SGBD
• Instance et schémas d’une base de données
• Différentes étapes pour la mise en place d’une BD (E/A au MR)
• Les Ordres LDD, LMD, LID, LCT, LCD
• Exemples
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
9
LES TRANSACTIONS
• Atomicité
• Cohérence
• Isolation
• Durabilité
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
10
LES TRANSACTIONS
• Atomicité : Une transaction doit être une unité atomique de travail ; elle
ne peut réussir que si toutes ses opérations réussissent
• Cohérence : Quand une transaction est terminée, elle doit laisser les
données dans un état cohhérent incluant toutes les règles d’intégrité de
données.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
11
LES TRANSACTIONS
• Isolation : Les transactions doivent être isolées des changements
effectués par d’autres transactions, soit avant que la transaction ne
démarre, soit avant le démarrage de chaque opération dans la transaction.
Ce niveau d’isolation est configurable par l’application.
• Durabilité : Un transaction doit être récupérable aussitôt qu’elle est
terminée. Même si un échec du système se produit après la fin de la
transaction, les effets de la transaction sont permanents dans le système.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
12
LES TRANSACTIONS
• Une transaction commence à l’ouverture de la session ou à la fin de la
précédente transaction.
• La fin d’une transaction peut être définie explicitement par l’un des
ordres COMMIT ou ROLLBACK
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
13
LES TRANSACTIONS
La fin d’une transaction peut être aussi implicite et correspondre à l’un des
événements suivants :
• L’exécution d’un ordre de définition d’objet (Create, Drop, Alter,
Grant, Revoke, truncate)
• L’arrêt normal d’une session par EXIT se solde par la validation de la
transaction en cours
• L’arrêt anormal d’une session par annulation de la transaction en cours.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
14
LES TRANSACTIONS
• COMMIT termine une transaction par la validation des données et annule
tous les verrous positionnés pendant la transaction.
• ROLLBACK : termine une transaction en annulant toutes les
modifications de données effectuées et annule tous les verrous positionnés
pendant la transaction.
2
Seydi Aboubacar GUEYE
Introduction et Rappel, Présentation et Architecture de Oracle
Administration des Bases de Données sous Oracle 15
PRESENTATION ET ARCHITECTURE
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
16
• Une base de données Oracle comprend deux types d’informations :
• Le dictionnaire des données
• et les données
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
17
LE DICTIONNAIRE DE DONNEES
• Un ensemble de tables et de vues qui donnent des informations sur le
contenu d’une base de données:
- Les structures de stockage;
- Les utilisateurs et les droits;
- Les objets (tables, vues, index, procédures, fonctions, etc.)
- Etc.
• Appartient à l’utilisateur SYS.
• Est stocké dans le tablespace SYSTEM
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
18
LE DICTIONNAIRE DE DONNEES
Deux grands groupes de tables/vues dans le dictionnaire de données
• Les tables et vues statiques
• Les tables et vues dynamiques de performance
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
19
LES VUES STATIQUES
• USER_% : informations sur les objets qui appartiennent à l’utilisateur:
• ALL_% : informations sur lesquelles l’utilisateur a accès(les siens et
ceux sur lesquelles il a reçu des droits);
• DBA_% : informations sur tous les objets de la base de données.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
20
LES VUES STATIQUES
Les vues suivantes sont particulièrement utiles pour la description d’un schéma:
%_OBJECTS %_CONSTRAINTS _%TABLES
%_CONS_COLUMNS %_TAB_COLUMNS
%_VIEWS %_INDEXES %_IND_COLUMNS
Les vues DICTIONARY et DICT_COLUMNS donnent la description de toutes
les tables et vues du dictionnaire de données.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
21
LES VUES DYNAMIQUES DE PERFORMANCE
• Les vues dynamiques des performances sont identifiées avec le préfixe
V_$, mais le serveur oracle crée un synonyme public avec le préfixe V$.
• Elles sont accessibles uniquement pour l’utilisateur "SYS" ou pour tout
autre utilisateur qui a le privilège "SYSDBA".
• Ces vues sont utilisées pour fournir des données relatives aux
performances telles que des informations sur les fichiers de données et les
structures de la mémoire.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
22
2
Seydi Aboubacar GUEYE
LES VUES DYNAMIQUES DE PERFORMANCE
• V$INSTANCE
• V$DATABASE
• V$SGA et V$SGAINFO
• V$PARAMETER
Les vues dynamiques de performance sont aussi décrites dans les vues
DICTIONARY et DICT_COLUMNS
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
23
LES DONNEES
Les données sont de deux types :
• les données des utilisateurs (essentiellement les tables et les index)
• les données nécessaires au fonctionnement d’Oracle (exemple les
segments de rollback).
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
24
2
Seydi Aboubacar GUEYE
INSTANCE DE BASE DE DONNEES
ET
BASE DE DONNEES
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
28
BASE DE DONNEES / fichier de contrôle
Le fichier de contrôle contient des informations de contrôle sur la base de
données :
- Le nom de la base de données
- La date/heure de création de la base de données
- L’emplacement des autres fichiers de la base de données
- Le numéro de séquence actuel des fichiers de journalisation
- Des informations sur les points de reprise (checkpoint)
- Etc.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
29
BASE DE DONNEES / fichier de journalisation
• Les fichiers de journalisation (redo log) enregistrent toutes les modifications
apportées à la base de données.
• Ils sont utilisés pour la récupération de l’instance après un arrêt anormal et
pour la récupération de média si un fichier de données est perdu ou
endommagé
• Ils sont organisés en groupes (au minimum deux) composés d’un ou de
plusieurs membres (minimum un)
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
30
BASE DE DONNEES / fichier de journalisation
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
31
BASE DE DONNEES / fichier de données
• Les fichiers de données contiennent les données proprement dites de
la base de données (tables et index notamment).
• Ils sont logiquement regroupés en tablespace
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
32
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
33
BASE DE DONNEES / fichier de données
• Un tablespace est une unité logique de stockage composé d’un ou
plusieurs fichiers physiques
• La quasi-totalité des opérations d’administration relatives au stockage
s’effectue en travaillant sur le tablespace et non sur le fichier de données.
• Une base de données comporte au minimum deux fichiers de données à
deux tablespaces réservés pour Oracle (le tablespace SYSTEM et le
tablespace SYSAUX)
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
34
BASE DE DONNEES / fichier de données
• Les fichiers de données sont découpés en BLOCS d’une taille donnée.
• SEGMENT désigne l’espace occupé par un objet dans un tablespace.
• Quatre types principaux de segments :
• Les segments de tables
• Les segments d’index
• Les segments d’annulation
• Les segments temporaires
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
35
BASE DE DONNEES / fichier de données
• Un SEGMENT appartient à un tablespace et est constitué
d’EXTENSIONS
• Une EXTENSION est un ensemble de blocs contigus dans un fichier de
données
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
38
L’INSTANCE / la SGA
• La SGA (System Global Area) est une zone de mémoire partagée par les
différents processus de l’instance.
• La SGA est allouée au démarrage de l’instance et libérée lors de l’arrêt
de l’instance.
• La SGA comporte les structures suivantes :
- Database Buffer Cache : cache de données
- Redo log Buffer : mémoire tampon pour l’enregistrement des
modifications apportées à la base de données
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
39
L’INSTANCE / la SGA
• La SGA comporte les structures suivantes :
- Shared Pool : zone de partage des requêtes (Library Cache), cache
du dictionnaire de données Oracle (Dictionary Cache) et cache
pour le résultat de requêtes SQL ou PL/SQL (Result Cache)
- Java Pool : mémoire utilisée pour la machine virtuelle Java
intégrée
- Large Pool : zone de mémoire optionnelle utilisée par différents
processus dans des configurations particulières
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
40
L’INSTANCE / la SGA
• La SGA comporte les structures suivantes :
- Streams Pool : zone de mémoire utilisée par la fonctionnalité
Streams (fonctionnalité qui permet de faire circuler des
informations entre processus)
• La SGA contient aussi une structure appelée ‘‘SGA fixe’’ qui contient des
informations sur l’état de la base de données, de l’instance et sur les
verrous.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
41
L’INSTANCE / Les processus d’arrière-plan
• DBWn et BWnn
• LGWR
• CKPT
• SMON
• ARCn
• CJQ0
• PMON
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
42
L’INSTANCE / Les processus d’arrière-plan
• PMON : Process Monitor est chargé du nettoyage en cas de crash
d’un processus utilisateur.
• SMON : System Monitor permet de restaurer la base au d´démarrage
de l’instance.
• DBWR : Database Writer est chargé de l’écriture des buffers de
données sur disque.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
43
L’INSTANCE / Les processus d’arrière-plan
• LGWR : Log Writer est chargé de la gestion du Buffer Redo Log de
la SGA
• CKPT : Checkpoint est optionnel pour écrire les données les plus
fréquemment modifiées.
• ARCH : Archiver est chargé de copier le fichier Redo Log courant dès
qu’il est plein sur la destination des fichiers d’archives.
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
44
L’INSTANCE / Les processus d’arrière-plan
• RECO : Recover est chargé de résoudre les anomalies de transactions
distribuées.
• LCKn : Lock prend en charge la gestion de verrous dans une
architecture Parallel Server
2
Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Introduction et Rappel, Présentation et Architecture de Oracle
45
L’INSTANCE / Les processus serveurs
• Analyser et exécuter les commandes SQL soumises par les
applications (utilisateurs).
• Transférer les blocs de données n´nécessaires du disque vers la zone
SGA.
• Communiquer les résultats de requêtes aux apps utilisateurs.
2
Seydi Aboubacar GUEYE
DEMARRAGE ET ARRET
D’UNE BASE DE
DONNEES
3
Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
47
La mise en œuvre d’une base de données s’effectue en 3 étapes ...
3
Seydi Aboubacar GUEYE
• Démarrer l’instance (initialisation de l’environnement de la BD en
allouant les ressources)
• La base est dans l’état démarré non montée (NOMOUNT).
SQLDBA> STARTUP NOMOUNT
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
48
La mise en œuvre d’une base de données s’effectue en 3 étapes ...
3
Seydi Aboubacar GUEYE
• Le démarrage de la base qui consiste à associer une base à
l’instance créée à l’étape précédent
• La base est accessible en mode INTERNAL par les utilisateurs qui
ont les privilèges d’administration..
• Et qui peuvent effectuer des opérations de maintenance telles que
renommer les fichiers de la base ou gérer les fichiers de reprise.
SQLDBA> ALTER DATABASE nom-base MOUNT
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
49
La mise en œuvre d’une base de données s’effectue en 3 étapes ...
3
Seydi Aboubacar GUEYE
• Ouverture de la base pour rendre ses données accessibles aux
utilisateurs.
• La base est à l’état ouvert OPEN
SQLDBA> ALTER DATABASE nom-base OPEN
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
50
La fermeture s’effectue en 3 étapes ...
3
Seydi Aboubacar GUEYE
• Déconnexion des utilisateurs de la base.
• Détachement de la base de l’instance.
• Arrêt de l’instance
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
51
3
Seydi Aboubacar GUEYE
Pour arrêter une base de données, on utilise :
SHUTDOWN [option]
• NORMAL : attend la déconnexion de tous les utilisateurs.
• IMMEDIATE : annule toutes les transactions non validées et tue
les sessions en cours.
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
52
3
Seydi Aboubacar GUEYE
Pour arrêter une base de données, on utilise :
SHUTDOWN [option]
• TRANSACTIONAL : attend la fin des transactions puis tue les
sessions.
• ABORT : tue les sessions, mais annule pas les transactions non
validées.
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
53
3
Seydi Aboubacar GUEYE
Mode d’Arrêt A I T N
Nouvelles connexions autorisée NO NO NO NO
Attend la fin des sessions en cours NO NO NO YES
Attend la fin des transactions en cours NO NO YES YES
Force un checkpoint et ferme les fichiers NO YES YES YES
A = ABORT
I = IMMEDIATE
T = TRANSACTIONAL
N = NORMAL
Administration des Bases de Données sous Oracle
Démarrage et Arrêt d’une base de données
54
3
Seydi Aboubacar GUEYE
AJOUT DE FICHIERS ET
DE TABLESPACES
4
Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
Administration des Bases de Données sous Oracle
Ajout de Fichiers et de Tablespaces
56
Pour ajouter un fichier de contrôle :
4
Seydi Aboubacar GUEYE
SQLDBA> SHOW PARAMETER CONTROL_FILES
C:UsersGueye>copy C:...orclCONTROL01.CTL C:...orclCONTROL04.CTL
SQL> ALTER SYSTEM SET CONTROL_FILES=
2 'C:oracleoradataorclCONTROL01.CTL',
3 'C:oraclefast_recovery_areaorclCONTROL02.CTL',
4 'C:oracleoradataorclCONTROL03.CTL'
5 SCOPE=SPFILE;
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 57
4
Seydi Aboubacar GUEYE
Le paramètre optionnel SCOPE dans la modification du SPFILE
• Alter system set instruction SCOPE=SPFILE. Le paramètre ainsi
modifié sera répertorié dans spfile, mais ne prendra effet que lors du
démarrage suivant de l’instance.
• Alter system set instruction SCOPE=MEMORY. Le paramètre ainsi
modifié ne sera pas répertorié dans spfile et entrera immédiatement en
vigueur pour l’instance en cours.
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 58
4
Seydi Aboubacar GUEYE
Le paramètre optionnel SCOPE dans la modification du SPFILE
• Alter system set instruction SCOPE=BOTH. Le paramètre ainsi modifié
sera répertorié dans spfile et entrera immédiatement en vigueur pour
l’instance en cours.
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 59
4
Seydi Aboubacar GUEYE
Pour ajouter un fichier de contrôle :
• arrêter l’instance
• copier avec l’OS un fichier de contrôle existant et le renommant sous un
autre nom
• ajouter dans le paramètre control-files du fichier d’initialisation ce nouveau
fichier de contrôle puis enregistrer
• Démarrer la base avec startup.
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 60
4
Seydi Aboubacar GUEYE
Pour ajouter un fichier de redo log :
• arrêter l’instance
• démarrer la base en mode mount
• lancer la commande : alter database add logfile member ’Chemin-complet-du-
fichier log4.log’ to groupe Numero-groupe
• Vérifier l’état du fichier ajouté avec select * from v$logfile
• Rendre la base ouverte
• Lancer autant de fois que c’est nécessaire l’ordre alter system switch logfile
• Vérifier encore l’état du fichier log ajoute.
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 61
4
Seydi Aboubacar GUEYE
Ajout/Suppression d’un fichier log et d’un nouveau groupe :
• Pour ajouter un nouveau groupe (4) on lance : ALTER DATABASE ADD
LOGFILE GROUP 4 ’Chemin-complet-du-fichiern ReDO03.LOG’ size
10M ;
• Pour supprimer le groupe 4 on lance : ALTER DATABASE DROP
LOGFILE GROUP 4 ;
• Pour supprimer un fichier d’un groupe on lance : ALTER DATABASE
DROP LOGFILE MEMBER ’g : oracleoradata ... REDO02.LOG’ ;
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 62
4
Seydi Aboubacar GUEYE
Ajout d’un fichier de base dans un Tablespace :
• Pour ajouter un fichier base (par exemple user05.ora) il suffit de lancer
l’ordre alter tablespace Nom-tablespace add datafile ’Chemin-
completuser05.dbf’ size taille-init K|M
• Pour modifier la taille d’un fichier de donnée on lance : ALTER
DATABASE DATAFILE ’g :oracleoradata ... ORA-DATA02.dbf’
RESIZE 50M ;
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 63
4
Seydi Aboubacar GUEYE
Ajout d’un Tablespace :
• Pour ajouter un Tablespace (par exemple DEV) il suffit de lancer la
commande :
CREATE TABLESPACE DEV
DATAFILE ’CHEMIN-COMPLET NOM-FICHIER’ SIZE TAILLE-INIT
AUTOEXTEND ON
NEXT VALEUR K|M
MAXSIZE VALEUR|UNLIMITED
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 64
4
Seydi Aboubacar GUEYE
Archivage des fichiers de journalisation
• Définir un emplacement pour le fichier journaux archivés Arrêter votre base
de données
• Démarrer votre base de données en mode "MOUNT" Modifier le mode de
fonctionnement de la base de données à l’aide de la syntaxe suivante
"ALTER DATABASE ARCHIVELOG ;
• Ouvrir la base de données
Ajout de Fichiers et de Tablespaces
Administration des Bases de Données sous Oracle 65
4
Seydi Aboubacar GUEYE
Archivage des fichiers de journalisation
• SQL> ALTER SYSTEM SET log_archive_dest_1= ’ LOCATION=d
:/oracle/oradata/.../_ARCHIVE’ SCOPE=BOTH ;
• SQL> SHUTDOWN IMMEDIATE
• SQL> STARTUP MOUNT
• SQL> ALTER DATABASE ARCHIVELOG ;
• SQL> ALTER DATABASE OPEN ;
• SQL> ARCHIVE LOG LIST
• SQL> ALTER SYSTEM SWITCH LOGFILE ;
GESTION DES
UTILISATEURS
5
Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
Gestion des utilisateurs
Administration des Bases de Données sous Oracle 67
5
Seydi Aboubacar GUEYE
CRÉATION
• Pour créer un utilisateur, on utilise la commande suivante :
CREATE USER nomutilisateur IDENTIFIED BY motdepasse
DEFAULT TABLESPACE nomtablespace
TEMPORARY TABLESPACE nomtablespace
QUOTA nombre | UNLIMITED ON nomtablespace (limitation ou non
d’espace)
PASSWORD EXPIRE (demande le changement du mot de passe)
ACCOUNT LOCK | UNLOCK (Compte bloque | non bloque)
Gestion des utilisateurs
Administration des Bases de Données sous Oracle 68
5
Seydi Aboubacar GUEYE
MODIFICATION
• Pour modifier un utilisateur, on utilise la commande suivante :
ALTER USER nomutilisateur IDENTIFIED BY motdepasse
DEFAULT TABLESPACE nomtablespace
TEMPORARY TABLESPACE nomtablespace
PASSWORD EXPIRE (demande le changement du mot de passe)
ACCOUNT LOCK | UNLOCK (Compte bloque | non bloque)
Gestion des utilisateurs
Administration des Bases de Données sous Oracle 69
5
Seydi Aboubacar GUEYE
SUPPRESSION
• La suppression d’un utilisateur s’effectue par l’ordre :
DROP USER schema [CASCADE]
• Sans l’option CASCADE, l’utilisateur n’est pas supprime s’il possède des objets.
CONTRÔLE DES
ACCES
6
Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
Contrôle des accès
Administration des Bases de Données sous Oracle 71
5
Seydi Aboubacar GUEYE
CONTRÔLE DES ACCÈS
Ce contrôle comporte plusieurs niveaux :
• Gestion des accès à la base de données
• Gestion des accès aux données de la base
• Limitation des ressources accessibles aux utilisateurs
• Attribution d’accès par défaut
Contrôle des accès
Administration des Bases de Données sous Oracle 72
6
Seydi Aboubacar GUEYE
PRIVILÈGE
• Un privilège est le droit attribué à un utilisateur d’exécuter un ensemble
particulier d’ordres SQL ou d’accéder à certains objets de la base
• Il peut être au niveau système (autorisation d’effectuer une action particuliere)
• ou au niveau objet (autorisation donnée par le créateur de l’objet à un autre
utilisateur)
• Il faut noter que le privilège peut être attribué soit directement à un utilisateur soit
à un role(regroupement de privileges)
Contrôle des accès
Administration des Bases de Données sous Oracle 73
6
Seydi Aboubacar GUEYE
RÔLES
Cinq rôles sont définis dans Oracle :
• CONNECT : l’utilisateur peut se connecter à la base de données et manipuler les
objets de la base pour lesquels ils ont préalablement eu un droit de manipulation
(lecture, modification, insertion, suppression)
• RESOURCE : l’utilisateur peut créer ses propres tables, index, procédures,
fonctions et déclencheurs.
Contrôle des accès
Administration des Bases de Données sous Oracle 74
6
Seydi Aboubacar GUEYE
RÔLES
Cinq rôles sont définis dans Oracle :
• DBA : l’utilisateur possède tous les privilèges système nécessaires à
l’administrateur de la base de données
• EXP_ FULL_ DATABASE : l’utilisateur peut exporter la base de données
• IMPORT_ FULL_DATABASE : l’utilisateur peut importer la base de données
Contrôle des accès
Administration des Bases de Données sous Oracle 75
6
Seydi Aboubacar GUEYE
Gestion des privilèges systèmes
• CRÉATION
GRANT Privilège niveau système | rôle[,Privilège niveau système | rôle] . . .
TO nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC] . . .
WITH ADMIN OPTION (autorise la transmission du privilège)
PUBLIC désigne tous les utilisateurs.
Contrôle des accès
Administration des Bases de Données sous Oracle 76
6
Seydi Aboubacar GUEYE
Gestion des privilèges systèmes
• SUPPRESSION
REVOKE Privilège niveau système | role[,Privilège niveau système |role]
FROM nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC]
Contrôle des accès
Administration des Bases de Données sous Oracle 77
6
Seydi Aboubacar GUEYE
Quelques des privilèges systèmes
• EXEMPLES
• ALTER ANY TABLE
• ALTER DATABASE
• ALTER SESSION
• DROP ANY TABLE
• SELECT ANY TABLE
• DELETE ANY TABLE
• LOCK ANY TABLE
• CREATE ANY SYNONYM
• ALTER TABLESPACE
Contrôle des accès
Administration des Bases de Données sous Oracle 78
6
Seydi Aboubacar GUEYE
Gestion des privilèges objets
• CRÉATION
GRANT Privilège niveau objet[,Privilège niveau objet ] ON [schema.]objet
TO nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC]
WITH GRANT OPTION (autorise la transmission du privilège)
Où objet peut être une table, une vue, une séquence, une procédure, une fonction . . .
Contrôle des accès
Administration des Bases de Données sous Oracle 79
6
Seydi Aboubacar GUEYE
Gestion des privilèges objets
• SUPPRESSION
REVOKE Privilège niveau objet[,Privilège niveau objet] |ALL RIVILEGES
ON objet
FROM nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC]
[CASCADE CONSTRAINTS] (utilisables avec références)
[FORCE] (utilisable avec EXECUTE pour les objets ayant des dépendances
sur des tables)
Contrôle des accès
Administration des Bases de Données sous Oracle 80
6
Seydi Aboubacar GUEYE
Quelques des privilèges objets
• EXEMPLES
• SELECT [(col,...)]
• INSERT
• UPDATE [(col,...)]
• DELETE
• EXECUTE (droit d’exécuter une procédure, une fonction ou package)
• ALTER READ
• ALL (tous les droits)
Contrôle des accès
Administration des Bases de Données sous Oracle 81
6
Seydi Aboubacar GUEYE
Gestion des privilèges objets
• CONFIDENTIALITÉ : VUE
• La confidentialité est la vocation première d’une vue
• Ainsi pour empêcher à un utilisateur de consulter des colonnes ou des
lignes d’une table
• Le moyen le plus simple est de créer des vues contenant ces colonnes ou
lignes.

DBA ORACLE SQL developer from outils de oracle

  • 1.
    BIBLIOGRAPHIE, Pré-requis et Objectifs 1 Administrationdes Bases de Données sous Oracle Seydi Aboubacar GUEYE
  • 2.
    Administration des Basesde Données sous Oracle Bibliographie, Pré-requis et Objectifs 2 BIBLIOGRAPHIE • Oracle 10g Administration, les guides de formations Razan Bizoï • Oracle 10g Guide du DBA, KEVIN LONEY et BOB BRYLA • Oracle 8, ROGER CHAPUIS • Oracle database 10g, Linux Administration, Edward Whalen • www.oracle.com 1 Seydi Aboubacar GUEYE
  • 3.
    Administration des Basesde Données sous Oracle Bibliographie, Pré-requis et Objectifs 3 PRE-REQUIS • Modèle relationnel (Structure, contraintes, SQL) 1 Seydi Aboubacar GUEYE OBJECTIFS • Connaitre les tâches d’un DBA • Connaitre les concepts et points de l’architecture Oracle • Savoir effectuer les principales tâches sous Oracle
  • 4.
    Introduction,Rappel, Presentation et Architecture deOracle 2 Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
  • 5.
    Introduction et Rappel,Présentation et Architecture de Oracle Administration des Bases de Données sous Oracle 5 INTRODUCTION ET RAPPEL 2 Seydi Aboubacar GUEYE
  • 6.
    Introduction et Rappel,Présentation et Architecture de Oracle Administration des Bases de Données sous Oracle 6 LES METIERS AUTOUR DES BASES DE DONEES • Administrateur • Responsable de la sécurité • Administrateur Réseau • Développeur d’application • Administrateur d’application • Utilisateurs: modifier les données, créer des rapports 2 Seydi Aboubacar GUEYE REMARQUE • Dans des structures relativement petite, l’administrateur peut jouer quasiment tous les rôles
  • 7.
    Introduction et Rappel,Présentation et Architecture de Oracle Administration des Bases de Données sous Oracle 7 LES TACHES DU DBA • Installer les logiciels Oracle • Planifier et créer des bases de données • Implémenter les schémas de données et gérer l’espace • Assurer la sécurité • Etc. 2 Seydi Aboubacar GUEYE
  • 8.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 8 BASE DE DONNEES RELATIONNELLE • Définition d’une BD et d’un SGBD • Instance et schémas d’une base de données • Différentes étapes pour la mise en place d’une BD (E/A au MR) • Les Ordres LDD, LMD, LID, LCT, LCD • Exemples 2 Seydi Aboubacar GUEYE
  • 9.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 9 LES TRANSACTIONS • Atomicité • Cohérence • Isolation • Durabilité 2 Seydi Aboubacar GUEYE
  • 10.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 10 LES TRANSACTIONS • Atomicité : Une transaction doit être une unité atomique de travail ; elle ne peut réussir que si toutes ses opérations réussissent • Cohérence : Quand une transaction est terminée, elle doit laisser les données dans un état cohhérent incluant toutes les règles d’intégrité de données. 2 Seydi Aboubacar GUEYE
  • 11.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 11 LES TRANSACTIONS • Isolation : Les transactions doivent être isolées des changements effectués par d’autres transactions, soit avant que la transaction ne démarre, soit avant le démarrage de chaque opération dans la transaction. Ce niveau d’isolation est configurable par l’application. • Durabilité : Un transaction doit être récupérable aussitôt qu’elle est terminée. Même si un échec du système se produit après la fin de la transaction, les effets de la transaction sont permanents dans le système. 2 Seydi Aboubacar GUEYE
  • 12.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 12 LES TRANSACTIONS • Une transaction commence à l’ouverture de la session ou à la fin de la précédente transaction. • La fin d’une transaction peut être définie explicitement par l’un des ordres COMMIT ou ROLLBACK 2 Seydi Aboubacar GUEYE
  • 13.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 13 LES TRANSACTIONS La fin d’une transaction peut être aussi implicite et correspondre à l’un des événements suivants : • L’exécution d’un ordre de définition d’objet (Create, Drop, Alter, Grant, Revoke, truncate) • L’arrêt normal d’une session par EXIT se solde par la validation de la transaction en cours • L’arrêt anormal d’une session par annulation de la transaction en cours. 2 Seydi Aboubacar GUEYE
  • 14.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 14 LES TRANSACTIONS • COMMIT termine une transaction par la validation des données et annule tous les verrous positionnés pendant la transaction. • ROLLBACK : termine une transaction en annulant toutes les modifications de données effectuées et annule tous les verrous positionnés pendant la transaction. 2 Seydi Aboubacar GUEYE
  • 15.
    Introduction et Rappel,Présentation et Architecture de Oracle Administration des Bases de Données sous Oracle 15 PRESENTATION ET ARCHITECTURE 2 Seydi Aboubacar GUEYE
  • 16.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 16 • Une base de données Oracle comprend deux types d’informations : • Le dictionnaire des données • et les données 2 Seydi Aboubacar GUEYE
  • 17.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 17 LE DICTIONNAIRE DE DONNEES • Un ensemble de tables et de vues qui donnent des informations sur le contenu d’une base de données: - Les structures de stockage; - Les utilisateurs et les droits; - Les objets (tables, vues, index, procédures, fonctions, etc.) - Etc. • Appartient à l’utilisateur SYS. • Est stocké dans le tablespace SYSTEM 2 Seydi Aboubacar GUEYE
  • 18.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 18 LE DICTIONNAIRE DE DONNEES Deux grands groupes de tables/vues dans le dictionnaire de données • Les tables et vues statiques • Les tables et vues dynamiques de performance 2 Seydi Aboubacar GUEYE
  • 19.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 19 LES VUES STATIQUES • USER_% : informations sur les objets qui appartiennent à l’utilisateur: • ALL_% : informations sur lesquelles l’utilisateur a accès(les siens et ceux sur lesquelles il a reçu des droits); • DBA_% : informations sur tous les objets de la base de données. 2 Seydi Aboubacar GUEYE
  • 20.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 20 LES VUES STATIQUES Les vues suivantes sont particulièrement utiles pour la description d’un schéma: %_OBJECTS %_CONSTRAINTS _%TABLES %_CONS_COLUMNS %_TAB_COLUMNS %_VIEWS %_INDEXES %_IND_COLUMNS Les vues DICTIONARY et DICT_COLUMNS donnent la description de toutes les tables et vues du dictionnaire de données. 2 Seydi Aboubacar GUEYE
  • 21.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 21 LES VUES DYNAMIQUES DE PERFORMANCE • Les vues dynamiques des performances sont identifiées avec le préfixe V_$, mais le serveur oracle crée un synonyme public avec le préfixe V$. • Elles sont accessibles uniquement pour l’utilisateur "SYS" ou pour tout autre utilisateur qui a le privilège "SYSDBA". • Ces vues sont utilisées pour fournir des données relatives aux performances telles que des informations sur les fichiers de données et les structures de la mémoire. 2 Seydi Aboubacar GUEYE
  • 22.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 22 2 Seydi Aboubacar GUEYE LES VUES DYNAMIQUES DE PERFORMANCE • V$INSTANCE • V$DATABASE • V$SGA et V$SGAINFO • V$PARAMETER Les vues dynamiques de performance sont aussi décrites dans les vues DICTIONARY et DICT_COLUMNS
  • 23.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 23 LES DONNEES Les données sont de deux types : • les données des utilisateurs (essentiellement les tables et les index) • les données nécessaires au fonctionnement d’Oracle (exemple les segments de rollback). 2 Seydi Aboubacar GUEYE
  • 24.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 24 2 Seydi Aboubacar GUEYE INSTANCE DE BASE DE DONNEES ET BASE DE DONNEES
  • 28.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 28 BASE DE DONNEES / fichier de contrôle Le fichier de contrôle contient des informations de contrôle sur la base de données : - Le nom de la base de données - La date/heure de création de la base de données - L’emplacement des autres fichiers de la base de données - Le numéro de séquence actuel des fichiers de journalisation - Des informations sur les points de reprise (checkpoint) - Etc. 2 Seydi Aboubacar GUEYE
  • 29.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 29 BASE DE DONNEES / fichier de journalisation • Les fichiers de journalisation (redo log) enregistrent toutes les modifications apportées à la base de données. • Ils sont utilisés pour la récupération de l’instance après un arrêt anormal et pour la récupération de média si un fichier de données est perdu ou endommagé • Ils sont organisés en groupes (au minimum deux) composés d’un ou de plusieurs membres (minimum un) 2 Seydi Aboubacar GUEYE
  • 30.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 30 BASE DE DONNEES / fichier de journalisation 2 Seydi Aboubacar GUEYE
  • 31.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 31 BASE DE DONNEES / fichier de données • Les fichiers de données contiennent les données proprement dites de la base de données (tables et index notamment). • Ils sont logiquement regroupés en tablespace 2 Seydi Aboubacar GUEYE
  • 32.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 32 2 Seydi Aboubacar GUEYE
  • 33.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 33 BASE DE DONNEES / fichier de données • Un tablespace est une unité logique de stockage composé d’un ou plusieurs fichiers physiques • La quasi-totalité des opérations d’administration relatives au stockage s’effectue en travaillant sur le tablespace et non sur le fichier de données. • Une base de données comporte au minimum deux fichiers de données à deux tablespaces réservés pour Oracle (le tablespace SYSTEM et le tablespace SYSAUX) 2 Seydi Aboubacar GUEYE
  • 34.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 34 BASE DE DONNEES / fichier de données • Les fichiers de données sont découpés en BLOCS d’une taille donnée. • SEGMENT désigne l’espace occupé par un objet dans un tablespace. • Quatre types principaux de segments : • Les segments de tables • Les segments d’index • Les segments d’annulation • Les segments temporaires 2 Seydi Aboubacar GUEYE
  • 35.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 35 BASE DE DONNEES / fichier de données • Un SEGMENT appartient à un tablespace et est constitué d’EXTENSIONS • Une EXTENSION est un ensemble de blocs contigus dans un fichier de données 2 Seydi Aboubacar GUEYE
  • 38.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 38 L’INSTANCE / la SGA • La SGA (System Global Area) est une zone de mémoire partagée par les différents processus de l’instance. • La SGA est allouée au démarrage de l’instance et libérée lors de l’arrêt de l’instance. • La SGA comporte les structures suivantes : - Database Buffer Cache : cache de données - Redo log Buffer : mémoire tampon pour l’enregistrement des modifications apportées à la base de données 2 Seydi Aboubacar GUEYE
  • 39.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 39 L’INSTANCE / la SGA • La SGA comporte les structures suivantes : - Shared Pool : zone de partage des requêtes (Library Cache), cache du dictionnaire de données Oracle (Dictionary Cache) et cache pour le résultat de requêtes SQL ou PL/SQL (Result Cache) - Java Pool : mémoire utilisée pour la machine virtuelle Java intégrée - Large Pool : zone de mémoire optionnelle utilisée par différents processus dans des configurations particulières 2 Seydi Aboubacar GUEYE
  • 40.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 40 L’INSTANCE / la SGA • La SGA comporte les structures suivantes : - Streams Pool : zone de mémoire utilisée par la fonctionnalité Streams (fonctionnalité qui permet de faire circuler des informations entre processus) • La SGA contient aussi une structure appelée ‘‘SGA fixe’’ qui contient des informations sur l’état de la base de données, de l’instance et sur les verrous. 2 Seydi Aboubacar GUEYE
  • 41.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 41 L’INSTANCE / Les processus d’arrière-plan • DBWn et BWnn • LGWR • CKPT • SMON • ARCn • CJQ0 • PMON 2 Seydi Aboubacar GUEYE
  • 42.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 42 L’INSTANCE / Les processus d’arrière-plan • PMON : Process Monitor est chargé du nettoyage en cas de crash d’un processus utilisateur. • SMON : System Monitor permet de restaurer la base au d´démarrage de l’instance. • DBWR : Database Writer est chargé de l’écriture des buffers de données sur disque. 2 Seydi Aboubacar GUEYE
  • 43.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 43 L’INSTANCE / Les processus d’arrière-plan • LGWR : Log Writer est chargé de la gestion du Buffer Redo Log de la SGA • CKPT : Checkpoint est optionnel pour écrire les données les plus fréquemment modifiées. • ARCH : Archiver est chargé de copier le fichier Redo Log courant dès qu’il est plein sur la destination des fichiers d’archives. 2 Seydi Aboubacar GUEYE
  • 44.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 44 L’INSTANCE / Les processus d’arrière-plan • RECO : Recover est chargé de résoudre les anomalies de transactions distribuées. • LCKn : Lock prend en charge la gestion de verrous dans une architecture Parallel Server 2 Seydi Aboubacar GUEYE
  • 45.
    Administration des Basesde Données sous Oracle Introduction et Rappel, Présentation et Architecture de Oracle 45 L’INSTANCE / Les processus serveurs • Analyser et exécuter les commandes SQL soumises par les applications (utilisateurs). • Transférer les blocs de données n´nécessaires du disque vers la zone SGA. • Communiquer les résultats de requêtes aux apps utilisateurs. 2 Seydi Aboubacar GUEYE
  • 46.
    DEMARRAGE ET ARRET D’UNEBASE DE DONNEES 3 Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
  • 47.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 47 La mise en œuvre d’une base de données s’effectue en 3 étapes ... 3 Seydi Aboubacar GUEYE • Démarrer l’instance (initialisation de l’environnement de la BD en allouant les ressources) • La base est dans l’état démarré non montée (NOMOUNT). SQLDBA> STARTUP NOMOUNT
  • 48.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 48 La mise en œuvre d’une base de données s’effectue en 3 étapes ... 3 Seydi Aboubacar GUEYE • Le démarrage de la base qui consiste à associer une base à l’instance créée à l’étape précédent • La base est accessible en mode INTERNAL par les utilisateurs qui ont les privilèges d’administration.. • Et qui peuvent effectuer des opérations de maintenance telles que renommer les fichiers de la base ou gérer les fichiers de reprise. SQLDBA> ALTER DATABASE nom-base MOUNT
  • 49.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 49 La mise en œuvre d’une base de données s’effectue en 3 étapes ... 3 Seydi Aboubacar GUEYE • Ouverture de la base pour rendre ses données accessibles aux utilisateurs. • La base est à l’état ouvert OPEN SQLDBA> ALTER DATABASE nom-base OPEN
  • 50.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 50 La fermeture s’effectue en 3 étapes ... 3 Seydi Aboubacar GUEYE • Déconnexion des utilisateurs de la base. • Détachement de la base de l’instance. • Arrêt de l’instance
  • 51.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 51 3 Seydi Aboubacar GUEYE Pour arrêter une base de données, on utilise : SHUTDOWN [option] • NORMAL : attend la déconnexion de tous les utilisateurs. • IMMEDIATE : annule toutes les transactions non validées et tue les sessions en cours.
  • 52.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 52 3 Seydi Aboubacar GUEYE Pour arrêter une base de données, on utilise : SHUTDOWN [option] • TRANSACTIONAL : attend la fin des transactions puis tue les sessions. • ABORT : tue les sessions, mais annule pas les transactions non validées.
  • 53.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 53 3 Seydi Aboubacar GUEYE Mode d’Arrêt A I T N Nouvelles connexions autorisée NO NO NO NO Attend la fin des sessions en cours NO NO NO YES Attend la fin des transactions en cours NO NO YES YES Force un checkpoint et ferme les fichiers NO YES YES YES A = ABORT I = IMMEDIATE T = TRANSACTIONAL N = NORMAL
  • 54.
    Administration des Basesde Données sous Oracle Démarrage et Arrêt d’une base de données 54 3 Seydi Aboubacar GUEYE
  • 55.
    AJOUT DE FICHIERSET DE TABLESPACES 4 Administration des Bases de Données sous Oracle Seydi Aboubacar GUEYE
  • 56.
    Administration des Basesde Données sous Oracle Ajout de Fichiers et de Tablespaces 56 Pour ajouter un fichier de contrôle : 4 Seydi Aboubacar GUEYE SQLDBA> SHOW PARAMETER CONTROL_FILES C:UsersGueye>copy C:...orclCONTROL01.CTL C:...orclCONTROL04.CTL SQL> ALTER SYSTEM SET CONTROL_FILES= 2 'C:oracleoradataorclCONTROL01.CTL', 3 'C:oraclefast_recovery_areaorclCONTROL02.CTL', 4 'C:oracleoradataorclCONTROL03.CTL' 5 SCOPE=SPFILE;
  • 57.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 57 4 Seydi Aboubacar GUEYE Le paramètre optionnel SCOPE dans la modification du SPFILE • Alter system set instruction SCOPE=SPFILE. Le paramètre ainsi modifié sera répertorié dans spfile, mais ne prendra effet que lors du démarrage suivant de l’instance. • Alter system set instruction SCOPE=MEMORY. Le paramètre ainsi modifié ne sera pas répertorié dans spfile et entrera immédiatement en vigueur pour l’instance en cours.
  • 58.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 58 4 Seydi Aboubacar GUEYE Le paramètre optionnel SCOPE dans la modification du SPFILE • Alter system set instruction SCOPE=BOTH. Le paramètre ainsi modifié sera répertorié dans spfile et entrera immédiatement en vigueur pour l’instance en cours.
  • 59.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 59 4 Seydi Aboubacar GUEYE Pour ajouter un fichier de contrôle : • arrêter l’instance • copier avec l’OS un fichier de contrôle existant et le renommant sous un autre nom • ajouter dans le paramètre control-files du fichier d’initialisation ce nouveau fichier de contrôle puis enregistrer • Démarrer la base avec startup.
  • 60.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 60 4 Seydi Aboubacar GUEYE Pour ajouter un fichier de redo log : • arrêter l’instance • démarrer la base en mode mount • lancer la commande : alter database add logfile member ’Chemin-complet-du- fichier log4.log’ to groupe Numero-groupe • Vérifier l’état du fichier ajouté avec select * from v$logfile • Rendre la base ouverte • Lancer autant de fois que c’est nécessaire l’ordre alter system switch logfile • Vérifier encore l’état du fichier log ajoute.
  • 61.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 61 4 Seydi Aboubacar GUEYE Ajout/Suppression d’un fichier log et d’un nouveau groupe : • Pour ajouter un nouveau groupe (4) on lance : ALTER DATABASE ADD LOGFILE GROUP 4 ’Chemin-complet-du-fichiern ReDO03.LOG’ size 10M ; • Pour supprimer le groupe 4 on lance : ALTER DATABASE DROP LOGFILE GROUP 4 ; • Pour supprimer un fichier d’un groupe on lance : ALTER DATABASE DROP LOGFILE MEMBER ’g : oracleoradata ... REDO02.LOG’ ;
  • 62.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 62 4 Seydi Aboubacar GUEYE Ajout d’un fichier de base dans un Tablespace : • Pour ajouter un fichier base (par exemple user05.ora) il suffit de lancer l’ordre alter tablespace Nom-tablespace add datafile ’Chemin- completuser05.dbf’ size taille-init K|M • Pour modifier la taille d’un fichier de donnée on lance : ALTER DATABASE DATAFILE ’g :oracleoradata ... ORA-DATA02.dbf’ RESIZE 50M ;
  • 63.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 63 4 Seydi Aboubacar GUEYE Ajout d’un Tablespace : • Pour ajouter un Tablespace (par exemple DEV) il suffit de lancer la commande : CREATE TABLESPACE DEV DATAFILE ’CHEMIN-COMPLET NOM-FICHIER’ SIZE TAILLE-INIT AUTOEXTEND ON NEXT VALEUR K|M MAXSIZE VALEUR|UNLIMITED
  • 64.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 64 4 Seydi Aboubacar GUEYE Archivage des fichiers de journalisation • Définir un emplacement pour le fichier journaux archivés Arrêter votre base de données • Démarrer votre base de données en mode "MOUNT" Modifier le mode de fonctionnement de la base de données à l’aide de la syntaxe suivante "ALTER DATABASE ARCHIVELOG ; • Ouvrir la base de données
  • 65.
    Ajout de Fichierset de Tablespaces Administration des Bases de Données sous Oracle 65 4 Seydi Aboubacar GUEYE Archivage des fichiers de journalisation • SQL> ALTER SYSTEM SET log_archive_dest_1= ’ LOCATION=d :/oracle/oradata/.../_ARCHIVE’ SCOPE=BOTH ; • SQL> SHUTDOWN IMMEDIATE • SQL> STARTUP MOUNT • SQL> ALTER DATABASE ARCHIVELOG ; • SQL> ALTER DATABASE OPEN ; • SQL> ARCHIVE LOG LIST • SQL> ALTER SYSTEM SWITCH LOGFILE ;
  • 66.
    GESTION DES UTILISATEURS 5 Administration desBases de Données sous Oracle Seydi Aboubacar GUEYE
  • 67.
    Gestion des utilisateurs Administrationdes Bases de Données sous Oracle 67 5 Seydi Aboubacar GUEYE CRÉATION • Pour créer un utilisateur, on utilise la commande suivante : CREATE USER nomutilisateur IDENTIFIED BY motdepasse DEFAULT TABLESPACE nomtablespace TEMPORARY TABLESPACE nomtablespace QUOTA nombre | UNLIMITED ON nomtablespace (limitation ou non d’espace) PASSWORD EXPIRE (demande le changement du mot de passe) ACCOUNT LOCK | UNLOCK (Compte bloque | non bloque)
  • 68.
    Gestion des utilisateurs Administrationdes Bases de Données sous Oracle 68 5 Seydi Aboubacar GUEYE MODIFICATION • Pour modifier un utilisateur, on utilise la commande suivante : ALTER USER nomutilisateur IDENTIFIED BY motdepasse DEFAULT TABLESPACE nomtablespace TEMPORARY TABLESPACE nomtablespace PASSWORD EXPIRE (demande le changement du mot de passe) ACCOUNT LOCK | UNLOCK (Compte bloque | non bloque)
  • 69.
    Gestion des utilisateurs Administrationdes Bases de Données sous Oracle 69 5 Seydi Aboubacar GUEYE SUPPRESSION • La suppression d’un utilisateur s’effectue par l’ordre : DROP USER schema [CASCADE] • Sans l’option CASCADE, l’utilisateur n’est pas supprime s’il possède des objets.
  • 70.
    CONTRÔLE DES ACCES 6 Administration desBases de Données sous Oracle Seydi Aboubacar GUEYE
  • 71.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 71 5 Seydi Aboubacar GUEYE CONTRÔLE DES ACCÈS Ce contrôle comporte plusieurs niveaux : • Gestion des accès à la base de données • Gestion des accès aux données de la base • Limitation des ressources accessibles aux utilisateurs • Attribution d’accès par défaut
  • 72.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 72 6 Seydi Aboubacar GUEYE PRIVILÈGE • Un privilège est le droit attribué à un utilisateur d’exécuter un ensemble particulier d’ordres SQL ou d’accéder à certains objets de la base • Il peut être au niveau système (autorisation d’effectuer une action particuliere) • ou au niveau objet (autorisation donnée par le créateur de l’objet à un autre utilisateur) • Il faut noter que le privilège peut être attribué soit directement à un utilisateur soit à un role(regroupement de privileges)
  • 73.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 73 6 Seydi Aboubacar GUEYE RÔLES Cinq rôles sont définis dans Oracle : • CONNECT : l’utilisateur peut se connecter à la base de données et manipuler les objets de la base pour lesquels ils ont préalablement eu un droit de manipulation (lecture, modification, insertion, suppression) • RESOURCE : l’utilisateur peut créer ses propres tables, index, procédures, fonctions et déclencheurs.
  • 74.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 74 6 Seydi Aboubacar GUEYE RÔLES Cinq rôles sont définis dans Oracle : • DBA : l’utilisateur possède tous les privilèges système nécessaires à l’administrateur de la base de données • EXP_ FULL_ DATABASE : l’utilisateur peut exporter la base de données • IMPORT_ FULL_DATABASE : l’utilisateur peut importer la base de données
  • 75.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 75 6 Seydi Aboubacar GUEYE Gestion des privilèges systèmes • CRÉATION GRANT Privilège niveau système | rôle[,Privilège niveau système | rôle] . . . TO nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC] . . . WITH ADMIN OPTION (autorise la transmission du privilège) PUBLIC désigne tous les utilisateurs.
  • 76.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 76 6 Seydi Aboubacar GUEYE Gestion des privilèges systèmes • SUPPRESSION REVOKE Privilège niveau système | role[,Privilège niveau système |role] FROM nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC]
  • 77.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 77 6 Seydi Aboubacar GUEYE Quelques des privilèges systèmes • EXEMPLES • ALTER ANY TABLE • ALTER DATABASE • ALTER SESSION • DROP ANY TABLE • SELECT ANY TABLE • DELETE ANY TABLE • LOCK ANY TABLE • CREATE ANY SYNONYM • ALTER TABLESPACE
  • 78.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 78 6 Seydi Aboubacar GUEYE Gestion des privilèges objets • CRÉATION GRANT Privilège niveau objet[,Privilège niveau objet ] ON [schema.]objet TO nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC] WITH GRANT OPTION (autorise la transmission du privilège) Où objet peut être une table, une vue, une séquence, une procédure, une fonction . . .
  • 79.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 79 6 Seydi Aboubacar GUEYE Gestion des privilèges objets • SUPPRESSION REVOKE Privilège niveau objet[,Privilège niveau objet] |ALL RIVILEGES ON objet FROM nom utilisateur | rôle | PUBLIC[,nom utilisateur | rôle | PUBLIC] [CASCADE CONSTRAINTS] (utilisables avec références) [FORCE] (utilisable avec EXECUTE pour les objets ayant des dépendances sur des tables)
  • 80.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 80 6 Seydi Aboubacar GUEYE Quelques des privilèges objets • EXEMPLES • SELECT [(col,...)] • INSERT • UPDATE [(col,...)] • DELETE • EXECUTE (droit d’exécuter une procédure, une fonction ou package) • ALTER READ • ALL (tous les droits)
  • 81.
    Contrôle des accès Administrationdes Bases de Données sous Oracle 81 6 Seydi Aboubacar GUEYE Gestion des privilèges objets • CONFIDENTIALITÉ : VUE • La confidentialité est la vocation première d’une vue • Ainsi pour empêcher à un utilisateur de consulter des colonnes ou des lignes d’une table • Le moyen le plus simple est de créer des vues contenant ces colonnes ou lignes.