Professional Documents
Culture Documents
1/96
Administration des bases de donn ees sous Oracle 10g Sur le cours
Pr erequis et objectifs
Pr erequis
Mod` ele relationnel (structure, contraintes, SQL)
Objectifs
Conna tre les t aches dun DBA Conna tre les concepts et points cl es de larchitecture Oracle 10g Savoir eectuer les principales t aches sous Oracle 10g
2/96
Administration des bases de donn ees sous Oracle 10g Sur le cours
3/96
Administration des bases de donn ees sous Oracle 10g Introduction Les m etiers autour des bases de donn ees
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
4/96
Administration des bases de donn ees sous Oracle 10g Introduction Les m etiers autour des bases de donn ees
4/96
Administration des bases de donn ees sous Oracle 10g Introduction R oles du DBA
R oles du DBA
Planier et cr eer des bases de donn ees G erer lespace et implanter les sch emas des donn ees Assurer la s ecurit e, lint egrit e et la p erennit e des donn ees Eectuer des r eglages pour optimiser les performances
5/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Architecture
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
6/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Architecture
Vue densemble
Deux architectures possibles:
client/serveur : des applications clientes envoient les requ etes SQL et PL/SQL ` a un serveur. Multitier : des serveurs dapplication all` egent la charge du serveur en r ealisant certains acc` es pour les clients.
Dans le cas de clusters de machines, Oracle 10g peut associer plusieurs instance ` a une m eme base de donn ees.
6/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts La connexion client/serveur
La connexion client/serveur
Un processus serveur va analyser et ex ecuter les requ etes, retourner les donn ees
Mode d edi e : une processus serveur pour un processus client Mode partag e : les clients partagent un groupe de processus serveurs
Evite les processus serveurs inactifs
7/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Composants dune instance
La m emoire (1)
8/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Composants dune instance
La m emoire (2)
9/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Composants dune instance
LGWR (Log Writer) - Ecrit le contenu du cache de reprise dans les chiers de reprise
en cas de commit dun utilisateur Toutes les trois secondes Quand le cache de reprise est plein au tiers Quand un processus DBWn d echarge des donn ees modi ees
10/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Composants dune instance
RECO (Recover)
Pour les reprises apr` es panne de transactions distribu ees
ARCn (Archiver)
Pour larchivage, lorsquil est activ e
...
11/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Composants dune base de donn ees
Structure physique
12/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Composants dune base de donn ees
Structure logique
13/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Les sch emas pour Oracle
Correspond ` a un utilisateur : les deux portent le m eme nom Ensemble dobjets de lutilisateur manipulables en SQL Exemple : tables, index, clusters, triggers, vues, dimensions, fonctions, ... Un objet correspond ` a:
plusieurs extents un segment un tablespace un ou plusieurs chiers du tablespace
14/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Les sch emas pour Oracle
Les tuples sont cha n es en utilisant le ROWID A la cr eation dune table, on peut :
sp ecier le tablespace sp ecier la taille du segment sp ecier la quantite despace libre laiss ee dans chaque bloc
15/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Identication du DBA sous Oracle
Le r ole DBA
Acc` es au catalogue, gestion des utilisateurs, de la m emoire... D` es la cr eation de la base, deux utilisateurs sont cr e es avec le r ole DBA
SYS/CHANGE ON INSTALL
Poss` ede toutes les tables syst` emes, dont le dictionnaire Ne jamais rien ecrire sur ce compte !
SYSTEM/MANAGER
Pour cr eer des tables dadministration uniquement
Il est fortement conseill e de sp ecier dautres mots de passe dans la phase de cr eation. Ne pas utiliser dans ladministration quotidienne
16/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Identication du DBA sous Oracle
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Le dictionnaire de donn ees
Informations du dictionnaire
18/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Le dictionnaire de donn ees
Structure du dictionnaire
Des tables de base, uniquement acc ed ees par Oracle et SYS Des vues mises ` a la disposition des utilisateurs (selon leurs droits)
Vues utilisateurs : USER View. Pour les objets de lutilisateur qui demande Vues densemble : ALL Views. Pour une vue densemble sur les objets auxquels on a acc` es Vues dadministration : DBA Views. Sur lensemble de la base, uniquement SYS. Vues dynamiques sur lactivit e de la base : V $Views.
19/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Synth` ese
20/96
Administration des bases de donn ees sous Oracle 10g Oracle : les grands concepts Synth` ese
Le processus serveur modie eventuellement les donn ees dans le cache Puisquil y a validation, LGWR ecrit la transaction dans le chier de reprise
Les changements seront r epertori es dans les chiers de donn ees par DBWn Le r esultat, ou une conrmation, est envoy e au processus utilisateur
21/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
22/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Pr eliminaires
Deux possibilit es
Utiliser lassistant Oracle : graphique Cr eer manuellement ` a laide de scripts
En cas de mise ` a jour dOracle, une proc edure particuli` ere existe
Compatibilit e ascendante, on ne recr ee pas les bases de donn ees.
Pr erequis :
Oracle doit- etre install e Vous devez etre administrateur du SE et de linstance Oracle La m emoire principale et m emoire disque doit etre susante
22/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Planier la base
Phase de reexion avant cr eation, pour faire les bons choix. R e echir aux tables et indexes ` a venir, estimer leur taille Planier la distribution de ses chiers, lespace libre dans les blocks D ecider entre une gestion classique ou automatique des chiers Choisir lencodage des caract` eres (peut- etre surcharg e par les clients) D eterminer la taille des blocs de donn ees Choisir le mode de gestion de lannulation
Tablespace d edi e Segments dannulation
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Cr eer un chier de param` etre serveur SPFILE (` a partir du chier manuel) Lancer linstance : STARTUP NOMOUNT (Aucune v erication de coh erence ` a ce niveau) Cr eer la base de donn ees : CREATE DATABASE...
24/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
CREATE DATABASE mynewdb USER SYS IDENTIFIED BY pz6r58 USER SYSTEM IDENTIFIED BY y1tz5p LOGFILE GROUP 1 (/u01/oracle/oradata/mynewdb/redo01.log) SIZE 100M, GROUP 2 (/u01/oracle/oradata/mynewdb/redo02.log) SIZE 100M, GROUP 3 (/u01/oracle/oradata/mynewdb/redo03.log) SIZE 100M MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXDATAFILES 100 MAXINSTANCES 1 CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 DATAFILE /u01/oracle/oradata/mynewdb/system01.dbf SIZE 325M REUSE EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE /u01/oracle/oradata/mynewdb/sysaux01.dbf SIZE 325M REUSE DEFAULT TABLESPACE tbs_1 DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE /u01/oracle/oradata/mynewdb/temp01.dbf SIZE 20M REUSE UNDO TABLESPACE undotbs DATAFILE /u01/oracle/oradata/mynewdb/undotbs01.dbf SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
25/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Lancer les scripts de cr eation du dictionnaire (catalog.sql, catproc.sql) et eventuellement dautres scripts optionnels Cr eer une sauvegarde compl` ete de linstallation dans cet etat
25/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Oracle peut prendre en charge les chiers Sp eci e dans les param` etres dinitialisation Simplie les commandes Ladministrateur ne g` ere que la partie logique : tablespace, extents...
26/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
CREATE DATABASE rbdb1 USER SYS IDENTIFIED BY pz6r58 USER SYSTEM IDENTIFIED BY y1tz5p UNDO TABLESPACE undotbs DEFAULT TEMPORARY TABLESPACE tempts1;
27/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Laisser Oracle choisir la taille des blocs On peut contr oler la SGA
En lui xant une taille maximale en xant la taille de di erents composants On peut changer plus tard, de fa con dynamique
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Cr eer une base de donn ees
Conguration du r eseau
C ot e serveur
Un processus d ecoute utilisant un protocole r eseau : listenerSID Un serveur BD Oracle = instance + base Les congurations (=services d ecoute) sont enregistr ees dans listener.ora Editable ` a la main, ou via outils graphiques
C ot e client
Congurations (services dacc` es) enregistr ees dans tnsname.ora Permet au client de se connecter de fa con transparente
29/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration D emarrer et arr eter une base
ALTER SYSTEM ENABLE RESTRICTED SESSION : seuls les DBA peuvent ouvrir des sessions
30/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration D emarrer et arr eter une base
31/96
ABORT est ` a utiliser en dernier recours ABORT n ecessite une restauration de la base pour retrouver sa coh erence On peut suspendre une base de donn ees : ALTER SYSTEM SUSPEND/RESUME
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Gestion des processus
Le mode d edi e est par d efaut Le mode partag e est pr ef erable, sauf :
Lorsque lutilisateur envois des t aches en batch pour eectuer certaines t aches de restauration
32/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Gestion des processus
On peut tuer une session avec la commande ALTER SYSTEM KILL SESSION SI,SN
SI est lidentiant syst` eme SN est le num ero de s erie
r ecup erer ces identiants dans la vu V$SESSION Les transactions en cours sont annul ees
33/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Gestion des processus
Alertes du serveur
` a partir de seuils : trop de validations, trop dacc` es disque, temps de r eponse trop long... ` a partir d ev` enements : une vue est trop ancienne, ... Param etrables via OEM ou package PL/SQL : DBMS SERVER ALERTS Accessibles dans des vues du dictionnaire
34/96
Administration des bases de donn ees sous Oracle 10g T aches el ementaires dadministration Gestion des processus
35/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de contr ole
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
36/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de contr ole
N ecessaire pour monter la base Fortement recommand e en cas de restauration G en er e lors de la cr eation de la base
Avec au moins une r eplication On peut faire dautres r eplications plus tard
36/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de contr ole
Grandes lignes
On peut en sp ecier lors de la cr eation (nom par d efaut sinon) Ils doivent etre r epliqu es (multiplexage) sur des disques s epar es
Lorsque linstance est arr et ee, cr eer la copie du chier D eclarer le nouveau chier dans le chier de param` etres
M eme proc edure pour le renommage Ils doivent etre sauvegard es. Deux options :
ALTER DATABASE BACKUP CONTROLEFILE TO lename ALTER DATABASE BACKUP CONTROLFILE TO TRACE
g en` ere un script CREATE CONTROL FILE... dans le chier trace
37/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de contr ole
Proc edure :
r epertorier tous les chiers donn ees et reprise arr eter linstance, sauvegarder les chiers, red emarrer en NOMOUNT CREATE CONTROL FILE (cf doc SQL), puis sauvegarde du nouveau chier Sp ecier les nouveaux chiers de contr ole dans le chier de param` etres Restaurer eventuellement la base, si des chiers ont et e perdus Ouvrir la base
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de contr ole
Suprression et visualisation
39/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de reprise
Fichiers journaux qui stockent tous les changements, pour la reprise apr` es panne Organisation physique et logique :
Un groupe est un ensemble de chiers multiplex es (membres) Il faut au moins deux groupes avec un chier chacun Un chier doit etre vu comme un ensemble denregistrements Un enregistrement est un ensemble de vecteurs de changement
Un vecteur est cr e e pour chaque bloc de donn ees modi e Stocke aussi les informations dannulation
40/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de reprise
Fonctionnement
Acced es uniquement par le processus LGWR (Log Writer) De fa con circulaire : groupe apr` es groupe D eclenchement : validation, ou cache de reprise rempli
Assigne un identiant unique ` a lenregistrement cr e e Si pas de validation : possibilit e dannulation
En n de boucle, les premiers chiers sont ecras es (attente synchronisation) Possibilit e darchiver les chiers de reprise pleins Si probl` eme d ecriture sur tout un groupe : linstance sarr ete.
Erreur report ee dans le chier dalerte Il faut corriger et red emarrer
41/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de reprise
G en eralit es et conseils
Si possible, un disque par chier de reprise
Archivage sur un autre disque Fichiers de donn ees sur un autre disque
Pour choisir la taille des chiers, penser ` a larchivage Commencer par deux groupes, puis v erier le chier de trace
Si trop de blocages, augmenter le nombre de groupes
On peut cr eer ou supprimer des groupes ou des membres, renommer des membres
sans d epasser MAXLOGFILES et MAXLOGMEMBERS privil` ege ALTER DATABASE, en g en eral base d emmont ee.
42/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de donn ees
Fichiers physiques o` u sont stock ees toutes les structures logiques Un chier de donn ees est associ e` a un tablespace
Poss` ede un num ero unique dans la base (absolu) poss` ede un num ero unique dans le tablespace (relatif )
Au moins deux : tablespaces SYSTEM et SYSAUX Le nombre max est x e par le param` etre DB FILES Certaines limites sont impos ees par le SE Les chiers temporaires sont des chiers de donn ees un peu sp eciaux
43/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Fichiers de donn ees
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Tablespaces
Grandes lignes
Espace de stockage logique des objets Un tablespace = plusieurs chiers de donn ees
Un seul dans le cas des tablespace ` a gros chier (bigle)
Stocker un tablespace par disque, pour r eduire les concurrences E/S Pour chaque utilisateur il faut assigner un quota
45/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Tablespaces
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Tablespaces
47/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Tablespaces
Le tablespace dannulation
Stocke les op erations non valid ees. Utilis ees dans les annulations, et les restaurations Jusqu` a la version 8 : Rollback Segments Maintenant : tablespace d edi e` a lannulation et g er e automatiquement
Fortement recommand e, mais pas par d efaut (param` etres du PFILE)
Les op erations valid ees sont ecras ees, mais possibilit e de les conserver
48/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Tablespaces
Les op erations suivantes sont r ealisables sur un tablespace : demander la non-g en eration de log: NO LOGGING
Exemple : CREATE TABLE NOLOGGING
Placer en mode lecture seule Renommer Supprimer (pas de restauration possible !) Les transporter sur une autre base de donn ees ou plateforme
49/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Les modes de gestion automatique
D echarge le DBA de la gestion des chiers physiques Sapplique aux tablespace, chiers de reprise, de contr ole, darchivage, ... Autoris e par des param` etres du PFILE : sp ecient les r epertoires Des noms standards sont donn es aux chiers
50/96
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Les modes de gestion automatique
Administration des bases de donn ees sous Oracle 10g gestion des chiers, tablespaces et espace libre Les modes de gestion automatique
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Grandes lignes
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
53/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Grandes lignes
Introduction
Il faut toujours avoir ` a lesprit une politique de s ecurit e Assur ee par le DBA, ou un administrateur d edi e Principales t aches :
G erer les utilisateurs Aecter les ressources : tablespaces, quotas,... G erer les privil` eges et les r oles Surveiller lusage de la base de donn ees (Audit)
Sans oublier la s ecurit e du SE pour les chiers, et la s ecurit e physique des serveurs...
53/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil` eges aux utilisateurs
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil` eges aux utilisateurs Sassurer que remote os authentication=FALSE
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil` eges aux utilisateurs Sassurer que remote os authentication=FALSE Sassurer de la s ecurit e du SE
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7 8
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil` eges aux utilisateurs Sassurer que remote os authentication=FALSE Sassurer de la s ecurit e du SE Sassurer de la s ecurit e du r eseau (Ex. : SSL)
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7 8 9
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil` eges aux utilisateurs Sassurer que remote os authentication=FALSE Sassurer de la s ecurit e du SE Sassurer de la s ecurit e du r eseau (Ex. : SSL) Appliquer les correctifs de s ecurit e dOracle
http://otn.oracle.com/deploy/security/alerts.htm
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7 8 9
Ninstaller que ce qui est n ecessaire S ecuriser les compte par d efaut apr` es installation Utiliser des mots de passe s ecuris es, renouveler r eguli` erement Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil` eges aux utilisateurs Sassurer que remote os authentication=FALSE Sassurer de la s ecurit e du SE Sassurer de la s ecurit e du r eseau (Ex. : SSL) Appliquer les correctifs de s ecurit e dOracle
http://otn.oracle.com/deploy/security/alerts.htm
10
54/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Gestion des utilisateurs
Types dutilisateurs
55/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Gestion des utilisateurs
Etapes de cr eation
D ecider les quotas pour chaque tablespace Cr eer lutilisateur Accorder les r oles et privil` eges
56/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Gestion des utilisateurs
Modication et suppression
57/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Gestion des droits
Les prols
58/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Gestion des droits
Accord es avec lordre GRANT, retir es avec lordre REVOKE vues DBA SYS PRIVS, SESSION PRIVS, DBA TAB PRIVS, DBA COL PRIVS
59/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Gestion des droits
Les r oles
Ensembles de privil` eges, pour simplier leur gestion cr e es et supprim es comme des utilisateurs Accord es avec lordre GRANT, retir es avec lordre REVOKE Peuvent etre accord es/retir es dune session Quelques conseils
Un r ole pour chaque t ache dapplication Un r ole pour chaque type dutilisateur Attribuer aux r oles utilisateurs des r oles dapplication : Pas de privil` eges individuel
vues DBA ROLES, DBA ROLE PRIVS, ROLE ROLE PRIVS,... Attention Pour manipuler des objets via une proc edure, il faut poss eder explicitement les privil` eges requis. Il ne doivent pas etre accord es par un r ole.
60/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les audits
Pour surveiller des activit es cibl ees sur la base Possible sur toute action sur la base
Tentatives de login Acc` es aux objets Actions bases de donn ees
Enregistr e dans la table SYS.AUD$, ou dans le SE Activation dans les param` etre dinstance (AUDIT TRAIL)
61/96
Administration des bases de donn ees sous Oracle 10g Assurer la s ecurit e des donn ees Les audits
Exemples dAudit
Audit de logins
AUDIT SESSION WHENEVER NOT SUCCESSFULL
Audit dactions
AUDIT update table BY SCOTT
62/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees Grandes lignes
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
63/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees Grandes lignes
Introduction
La p er ennit e des donn ees est assur ee par : Les chiers de reprise
En cas de panne dinstance
Larchivage
R ealis e` a chaud par linstance Archive tous les chiers de reprise Seule solution pour s ecurit e totale Augmente la charge du DBA
63/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees Les sauvegardes
Sauvegarde ` a froid
La plus simple ` a mettre en oeuvre 1 : identier les chiers de donn ees/reprise/contr ole 2 : Arr eter la base de donn ees 3 : Sauvegarder tous les chiers avec le SE 4 : Red emarrer la base En cas de panne : il sut de reprendre ces chiers
Int eressant dans des bases avec peu de modications
64/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees Les sauvegardes
Sauvegarde ` a chaud
65/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees Archivage automatique
Assure une coh erence parfaite des donn ees en cas de panne Eectu e` a chaque basculement de groupe dans les logs Possibilit e de le lancer ponctuellement ` a la main
ALTER SYSTEM ARCHIVE LOG (d econseill e)
66/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees La restauration
En mode archivage
Restauration compl` ete ou non Perte de chiers de donn ees ou du chiers de contr ole
67/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees La restauration
1 : Fermer la base 2 : Restaurer tous les chiers de la sauvegarde la plus r ecente 3 : Ouvrir la base Si les emplacements on chang e, modier les d eclarations avant de monter la base
68/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees La restauration
A partir :
des chiers de reprise archiv es et de la sauvegarde la plus r ecente
69/96
Administration des bases de donn ees sous Oracle 10g Assurer la p erennit e des donn ees La restauration
Ouvrir la base D esactiver les tablespace (oine) R eparer la panne disque Restaurer seulement les chiers endommag es lancer la restauration
RECOVER TABLESPACE/DATAFILE
Activer le tablespace
70/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Introduction
1 Introduction 2 Oracle : les grands concepts 3 T aches el ementaires dadministration 4 gestion des chiers, tablespaces et espace libre 5 Assurer la s ecurit e des donn ees 6 Assurer la p erennit e des donn ees 7 Optimiser les performances
71/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Introduction
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Introduction
Traceur dapplication
Pour identier des surcharges par des applications ou utilisateurs pr ecis
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Planier les performances
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Planier les performances
74/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Planier les performances
Soigner la mod elisation des donn ees pour les parties principales Impl ementer un sch ema en 3NF au moins pour assurer la exibilit e
Optimiser avec vues mat erialis ees, clusters, colonnes calcul ees Bien organiser les index
Administration des bases de donn ees sous Oracle 10g Optimiser les performances La r esolution de probl` emes
Comparer les sympt omes avec les 10 erreurs fr equemment commises R ealiser une mod elisation conceptuelle du syst` eme lors de lapparition des sympt ome Lister toutes les solutions et les appliquer une ` a une jusqu` a lobtention du r esultat, ou lidentiaction des contraintes ext erieures conduisant ` a l echec.
76/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances La r esolution de probl` emes
Faire linventaire des probl` emes, des sympt omes, des changements r ecents
V erier l etat du mat eriel : CPU, disques, m emoire, r eseau de chaque tier D eterminer si le probl` eme est au niveau du CPU ou de lattente d ev` enement. Utiliser les vues dynamiques sur les performances du catalogue. Appliquer des mesures durgence pour stabiliser le syst` emes : suspendre une application, r eduire la charge, tuer un processus... v erier la stabilit e du syst` eme, r ecolter des statistiques, et suivre la proc edure compl` ete de r esolution
77/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances La r esolution de probl` emes
Multiplication des connexions ` a linstance (une par interaction) Mauvaise utilisation des curseurs et variables li ees
Les curseurs evitent de recalculer une requ ete pour usages multiples Les variables li ees permettent didentier des requ etes similaires Attention au SQL g en er e dynamiquement par les applications
3 4 5 6 7 8 9
78/96
Requ etes SQL inapropri e aux exigences Utilisation de param` etres dinstance non standards Mauvaise r epartition des E/S sur les disques Blocages dans les chiers de reprise Mauvaise gestion des blocks et des segments dannulation Parcours entier de grandes tables Trop de SQL r ecursif de la part de SYS (ex. allocation des extents)
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances de linstance
Gestion automatique des annulations conseill ee. Voir V$UNDOSTATS et V$ROLLSTATS Dimension des chier de reprise : un basculement toutes les 20 minutes... Cr eer susamment de tablespaces
Gestion locale recommand ee Ne pas oublier les tablespaces temporaires
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances de linstance
80/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances de linstance
Des rapports automatiques de statistiques peuvent etre g en er es en html par ORACLE Des diagnostiques et conseils automatiques sont g en er es ` a partir des stats
Son but est de minimiser DBTIME...
81/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances de linstance
Gestion de la m emoire
En g en eral, il est recommand e de laisser Oracle g erer la SGA
param` etre SGA TARGET di erent de 0 ne g` ere pas, notamment, le cache de reprise (param` etre LOG BUFFER)
Pour une gestion plus ne, on peut r ecolter des statistiques sur chaque partie de la SGA et g erer sa taille manuellement. Surveiller que le cache de reprise nentra ne pas de ralentissement
Stocker les chiers de logs sur des disques rapides Dans les scripts, ne pas valider ` a chaque op eration Lors de chargement de grands volumes de donn ees, utiliser NOLOGGING
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances de linstance
Penser au mode de gestion automatique des chiers Bien choisir la taille de blocks
8 kilo en g en eral eventuellement plus petit pour un syst` eme fortement transactionnel Plus grand en entreposage de donn ees
83/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Si n ecessaire, ma triser les choses en utilisant les HINT Structurer soigneusement les index, supprimer ceux qui sont inutiles Limiter les passes sur les donn ees (utiliser le case par exemple)
85/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Processus co uteux : a utiliser uniquement pour les requ etes probl ematiques Base son analyse sur quatre points :
les statistiques les proles SQL = informations avanc ees sur une requ ete, dans le dictionnaire les chemins dacc` es : index et vues la syntaxe SQL (ex. : UNION ALL plut o que UNION)
Peut- etre utilis e avec SQLAdvisor (graphique ou package PLSQL DBMS SQLTUNE) Possibilit e de r egler des ensembles de requ etes (SQL Tuning Sets)
86/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
87/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
n peut etre egal ` a 1, 100 ou 1000 FIRST ROWS est ` a utiliser en cas dinteraction directe avec lutilisateur Cest un param` etre de session On peut forcer loptimiseur avec un HINT On peut se baser sur le temps CPU (par d efaut) ou les E/S
88/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
n peut etre egal ` a 1, 100 ou 1000 FIRST ROWS est ` a utiliser en cas dinteraction directe avec lutilisateur Cest un param` etre de session On peut forcer loptimiseur avec un HINT On peut se baser sur le temps CPU (par d efaut) ou les E/S
89/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
FULL TABLE SCAN : parcours s equentiel complet dune table ROWID SCAN : Acc` es direct ` a un ensemble de tuples (apr` es un INDEX SCAN) INDEX SCAN : Acc` es ` a un index
1
Unique scan, range scan, full scan, index joins, bitmap joins
CLUSTER ACCESS : parcours dun cluster SAMPLE TABLE SCAN : acc` es ` a un extrait de la base, sp eci e dans la requ ete On peut toujours les forcer avec un HINT
90/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Jointure cart esienne : produit cart esien, pas de condition de jointure Toutes ces variantes existent en jointure externe.
91/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Stock ees dans le dictionnaire R ecolt ees automatiquement par un processus de fond
Pendant une fen etre temporelle d enie (par d efaut : 22h-18h + week-end) Cette fen etre peut- etre param etr ee
On peut lancer manuellement apr` es dimportantes modications Les op erations suivantes peuvent etre r ealis ees sur les stats :
92/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
Index Bitmap
Pour des valeurs ` a faible s electivit e sur des grandes tables Bien adapt e` a des grandes conjonctions de pr edicats
Tables organis ees sur lindex : la table est stock ee avec lindex On peut indexer les r esultats dune fonction sur une colonne (UPPER, LOWER, ...) On peut partitionner un index aussi bien quune table
94/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
EXPLAIN PLAN
Permet de visualiser le plan choisi par loptimiseur On peut d etecter rapidement les points co uteux du plan choisi La requ ete nest pas ex ecut ee !
V$SQL PLAN
Pour voir tous les plans dex ecution des requ etes r ecemment ex ecut ees On a le plan r eel, avec les co uts r eels, pas des estimations
95/96
Administration des bases de donn ees sous Oracle 10g Optimiser les performances Optimiser les performances SQL
1 2
Fixer les param` etres dinstance pour la collecte de trace Activer la collecte de la trace
Produis un chier avec les statistiques sur toutes les requ etes SQL
4 5
Interpr eter le chier g en er e (voir la doc de TKPROF) Eventuellement, on peut stocker ce r esultat dans la base
Un script pour cela est fourni par TKPROF
96/96