Professional Documents
Culture Documents
1/96
Prrequis et objectifs e
Prrequis e
Mod`le relationnel (structure, contraintes, SQL) e
Objectifs
Conna les tches dun DBA tre a Conna les concepts et points cls de larchitecture Oracle tre e 10g Savoir eectuer les principales tches sous Oracle 10g a
2/96
3/96
Administration des bases de donnes sous Oracle 10g e Introduction Les mtiers autour des bases de donnes e e
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
4/96
Administration des bases de donnes sous Oracle 10g e Introduction Les mtiers autour des bases de donnes e e
4/96
Administration des bases de donnes sous Oracle 10g e Introduction Rles du DBA o
Rles du DBA o
Planier et crer des bases de donnes e e Grer lespace et implanter les schmas des donnes e e e Assurer la scurit, lintgrit et la prennit des donnes e e e e e e e Eectuer des rglages pour optimiser les performances e
5/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Architecture
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
6/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Architecture
Vue densemble
Deux architectures possibles:
client/serveur : des applications clientes envoient les requtes SQL et PL/SQL ` un serveur. e a Multitier : des serveurs dapplication all`gent la charge du e serveur en ralisant certains acc`s pour les clients. e e
Dans le cas de clusters de machines, Oracle 10g peut associer plusieurs instance ` une mme base de donnes. a e e
6/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts La connexion client/serveur
La connexion client/serveur
7/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Composants dune instance
La mmoire (1) e
8/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Composants dune instance
La mmoire (2) e
9/96
Administration des bases de donnes sous Oracle 10g e 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 dcharge des donnes modies e e e
10/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Composants dune instance
RECO (Recover)
Pour les reprises apr`s panne de transactions distribues e e
ARCn (Archiver)
Pour larchivage, lorsquil est activ e
...
11/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Composants dune base de donnes e
Structure physique
12/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Composants dune base de donnes e
Structure logique
13/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Les schmas pour Oracle e
Correspond ` un utilisateur : les deux portent le mme nom a e 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 donnes sous Oracle 10g e Oracle : les grands concepts Les schmas pour Oracle e
Les tuples sont cha es en utilisant le ROWID n A la cration dune table, on peut : e
spcier le tablespace e spcier la taille du segment e spcier la quantite despace libre laisse dans chaque bloc e e
15/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Identication du DBA sous Oracle
Le rle DBA o
Acc`s au catalogue, gestion des utilisateurs, de la mmoire... e e D`s la cration de la base, deux utilisateurs sont crs avec le e e ee rle DBA o
SYS/CHANGE ON INSTALL
Poss`de toutes les tables syst`mes, dont le dictionnaire e e Ne jamais rien crire sur ce compte ! e
SYSTEM/MANAGER
Pour crer des tables dadministration uniquement e
Il est fortement conseill de spcier dautres mots de passe e e dans la phase de cration. e Ne pas utiliser dans ladministration quotidienne
16/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Identication du DBA sous Oracle
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Le dictionnaire de donnes e
Informations du dictionnaire
18/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Le dictionnaire de donnes e
Structure du dictionnaire
Des tables de base, uniquement accdes par Oracle et SYS e e Des vues mises ` la disposition des utilisateurs (selon leurs a 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`s e Vues dadministration : DBA Views. Sur lensemble de la base, uniquement SYS. Vues dynamiques sur lactivit de la base : V $Views. e
19/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Synth`se e
20/96
Administration des bases de donnes sous Oracle 10g e Oracle : les grands concepts Synth`se e
Le processus serveur modie ventuellement les donnes dans e e le cache Puisquil y a validation, LGWR ecrit la transaction dans le chier de reprise
Les changements seront rpertoris dans les chiers de donnes e e e par DBWn Le rsultat, ou une conrmation, est envoy au processus e e utilisateur
21/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
22/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Prliminaires e
Deux possibilits e
Utiliser lassistant Oracle : graphique Crer manuellement ` laide de scripts e a
Prrequis : e
Oracle doit-tre install e e Vous devez tre administrateur du SE et de linstance Oracle e La mmoire principale et mmoire disque doit tre susante e e e
22/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Planier la base
Phase de reexion avant cration, pour faire les bons choix. e Rchir aux tables et indexes ` venir, estimer leur taille e e a Planier la distribution de ses chiers, lespace libre dans les blocks Dcider entre une gestion classique ou automatique des e chiers Choisir lencodage des caract`res (peut-tre surcharg par les e e e clients) Dterminer la taille des blocs de donnes e e Choisir le mode de gestion de lannulation
Tablespace ddi e e Segments dannulation
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Crer un chier de param`tre serveur SPFILE (` partir du e e a chier manuel) Lancer linstance : STARTUP NOMOUNT (Aucune vrication de cohrence ` ce niveau) e e a Crer la base de donnes : CREATE DATABASE... e e
24/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
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 donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Lancer les scripts de cration du dictionnaire (catalog.sql, e catproc.sql) et ventuellement dautres scripts optionnels e Crer une sauvegarde compl`te de linstallation dans cet tat e e e
25/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Oracle peut prendre en charge les chiers Spci dans les param`tres dinitialisation e e e Simplie les commandes Ladministrateur ne g`re que la partie logique : tablespace, e extents...
26/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
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 donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Remarques complmentaires e
Si la cration choue, visualier le chier dalertes e e
Arrter linstance e Supprimer les chiers crs pendant la tentative ee
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Crer une base de donnes e e
Conguration du rseau e
Ct serveur oe
Un processus dcoute utilisant un protocole rseau : e e listenerSID Un serveur BD Oracle = instance + base Les congurations (=services dcoute) sont enregistres dans e e listener.ora Editable ` la main, ou via outils graphiques a
Ct client oe
Congurations (services dacc`s) enregistres dans tnsname.ora e e Permet au client de se connecter de faon transparente c
29/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Dmarrer et arrter une base e e
ALTER SYSTEM ENABLE RESTRICTED SESSION : seuls les DBA peuvent ouvrir des sessions
30/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Dmarrer et arrter une base e e
31/96
ABORT est ` utiliser en dernier recours a ABORT ncessite une restauration de la base pour retrouver e sa cohrence e On peut suspendre une base de donnes : ALTER SYSTEM e SUSPEND/RESUME
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Gestion des processus
Le mode ddi est par dfaut e e e Le mode partag est prfrable, sauf : e ee
Lorsque lutilisateur envois des tches en batch a pour eectuer certaines tches de restauration a
32/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Gestion des processus
On peut tuer une session avec la commande ALTER SYSTEM KILL SESSION SI,SN
SI est lidentiant syst`me e SN est le numro de srie e e
rcuprer ces identiants dans la vu V$SESSION e e Les transactions en cours sont annules e
33/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Gestion des processus
Alertes du serveur
` partir de seuils : trop de validations, trop dacc`s disque, a e temps de rponse trop long... e ` partir dv`nements : une vue est trop ancienne, ... a e e Paramtrables via OEM ou package PL/SQL : e DBMS SERVER ALERTS Accessibles dans des vues du dictionnaire
34/96
Administration des bases de donnes sous Oracle 10g e Tches lmentaires dadministration a ee Gestion des processus
35/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de contrle o
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
36/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de contrle o
Ncessaire pour monter la base e Fortement recommand en cas de restauration e Gnr lors de la cration de la base e ee e
Avec au moins une rplication e On peut faire dautres rplications plus tard e
36/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de contrle o
Grandes lignes
On peut en spcier lors de la cration (nom par dfaut sinon) e e e Ils doivent tre rpliqus (multiplexage) sur des disques e e e spars e e
Lorsque linstance est arrte, crer la copie du chier ee e Dclarer le nouveau chier dans le chier de param`tres e e
Mme procdure pour le renommage e e Ils doivent tre sauvegards. Deux options : e e
ALTER DATABASE BACKUP CONTROLEFILE TO lename ALTER DATABASE BACKUP CONTROLFILE TO TRACE
gn`re un script CREATE CONTROL FILE... dans le chier e e trace
37/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de contrle o
Procdure : e
rpertorier tous les chiers donnes et reprise e e arrter linstance, sauvegarder les chiers, redmarrer en e e NOMOUNT CREATE CONTROL FILE (cf doc SQL), puis sauvegarde du nouveau chier Spcier les nouveaux chiers de contrle dans le chier de e o param`tres e Restaurer ventuellement la base, si des chiers ont t perdus e ee Ouvrir la base
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de contrle o
Suprression et visualisation
39/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de reprise
Fichiers journaux qui stockent tous les changements, pour la reprise apr`s panne e Organisation physique et logique :
Un groupe est un ensemble de chiers multiplexs e (membres) Il faut au moins deux groupes avec un chier chacun Un chier doit tre vu comme un ensemble denregistrements e Un enregistrement est un ensemble de vecteurs de changement
Un vecteur est cr pour chaque bloc de donnes modi ee e e Stocke aussi les informations dannulation
40/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de reprise
Fonctionnement
Acceds uniquement par le processus LGWR (Log Writer) e De faon circulaire : groupe apr`s groupe c e Dclenchement : validation, ou cache de reprise rempli e
Assigne un identiant unique ` lenregistrement cr a ee Si pas de validation : possibilit dannulation e
En n de boucle, les premiers chiers sont crass (attente e e synchronisation) Possibilit darchiver les chiers de reprise pleins e Si probl`me dcriture sur tout un groupe : linstance sarrte. e e e
Erreur reporte dans le chier dalerte e Il faut corriger et redmarrer e
41/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de reprise
Gnralits et conseils e e e
Si possible, un disque par chier de reprise
Archivage sur un autre disque Fichiers de donnes sur un autre disque e
Pour choisir la taille des chiers, penser ` larchivage a Commencer par deux groupes, puis vrier le chier de trace e
Si trop de blocages, augmenter le nombre de groupes
On peut crer ou supprimer des groupes ou des membres, e renommer des membres
sans dpasser MAXLOGFILES et MAXLOGMEMBERS e privil`ge ALTER DATABASE, en gnral base dmmonte. e e e e e
42/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de donnes e
Fichiers physiques o` sont stockes toutes les structures u e logiques Un chier de donnes est associ ` un tablespace e ea
Poss`de un numro unique dans la base (absolu) e e poss`de un numro unique dans le tablespace (relatif) e e
Au moins deux : tablespaces SYSTEM et SYSAUX Le nombre max est x par le param`tre DB FILES e e Certaines limites sont imposes par le SE e Les chiers temporaires sont des chiers de donnes un peu e spciaux e
43/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Fichiers de donnes e
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Tablespaces
Grandes lignes
Espace de stockage logique des objets Un tablespace = plusieurs chiers de donnes e
Un seul dans le cas des tablespace ` gros chier (bigle) a
Stocker un tablespace par disque, pour rduire les e concurrences E/S Pour chaque utilisateur il faut assigner un quota
45/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Tablespaces
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Tablespaces
47/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Tablespaces
Le tablespace dannulation
Stocke les oprations non valides. Utilises dans les e e e annulations, et les restaurations Jusqu` la version 8 : Rollback Segments a Maintenant : tablespace ddi ` lannulation et gr e ea ee automatiquement
Fortement recommand, mais pas par dfaut (param`tres du e e e PFILE)
48/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Tablespaces
Les oprations suivantes sont ralisables sur un tablespace : e e demander la non-gnration de log: NO LOGGING e e
Exemple : CREATE TABLE NOLOGGING
Placer en mode lecture seule Renommer Supprimer (pas de restauration possible !) Les transporter sur une autre base de donnes ou plateforme e
49/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Les modes de gestion automatique
Dcharge le DBA de la gestion des chiers physiques e Sapplique aux tablespace, chiers de reprise, de contrle, o darchivage, ... Autoris par des param`tres du PFILE : spcient les e e e rpertoires e Des noms standards sont donns aux chiers e
50/96
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Les modes de gestion automatique
Administration des bases de donnes sous Oracle 10g e gestion des chiers, tablespaces et espace libre Les modes de gestion automatique
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Grandes lignes
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
53/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Grandes lignes
Introduction
Il faut toujours avoir ` lesprit une politique de scurit a e e Assure par le DBA, ou un administrateur ddi e e e Principales tches : a
Grer les utilisateurs e Aecter les ressources : tablespaces, quotas,... Grer les privil`ges et les rles e e o Surveiller lusage de la base de donnes (Audit) e
Sans oublier la scurit du SE pour les chiers, et la scurit e e e e physique des serveurs...
53/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil`ges aux utilisateurs e
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil`ges aux utilisateurs e Sassurer que remote os authentication=FALSE
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil`ges aux utilisateurs e Sassurer que remote os authentication=FALSE Sassurer de la scurit du SE e e
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7 8
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil`ges aux utilisateurs e Sassurer que remote os authentication=FALSE Sassurer de la scurit du SE e e Sassurer de la scurit du rseau (Ex. : SSL) e e e
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7 8 9
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil`ges aux utilisateurs e Sassurer que remote os authentication=FALSE Sassurer de la scurit du SE e e Sassurer de la scurit du rseau (Ex. : SSL) e e e Appliquer les correctifs de scurit dOracle e e
http://otn.oracle.com/deploy/security/alerts.htm
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les 10 Commandements (dOracle)
Introduction
1 2 3 4 5 6 7 8 9
Ninstaller que ce qui est ncessaire e Scuriser les compte par dfaut apr`s installation e e e Utiliser des mots de passe scuriss, renouveler rguli`rement e e e e Sassurer que O7 DICTIONARY ACCESSIBILITY=FALSE Toujours accorder le minimum de privil`ges aux utilisateurs e Sassurer que remote os authentication=FALSE Sassurer de la scurit du SE e e Sassurer de la scurit du rseau (Ex. : SSL) e e e Appliquer les correctifs de scurit dOracle e e
http://otn.oracle.com/deploy/security/alerts.htm
10
54/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Gestion des utilisateurs
Types dutilisateurs
55/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Gestion des utilisateurs
Etapes de cration e
Dcider les quotas pour chaque tablespace e Crer lutilisateur e Accorder les rles et privil`ges o e
56/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Gestion des utilisateurs
Modication et suppression
57/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Gestion des droits
Les prols
58/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Gestion des droits
Les privil`ges e
Accords avec lordre GRANT, retirs avec lordre REVOKE e e vues DBA SYS PRIVS, SESSION PRIVS, DBA TAB PRIVS, DBA COL PRIVS
59/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Gestion des droits
Les rles o
Ensembles de privil`ges, pour simplier leur gestion e crs et supprims comme des utilisateurs ee e Accords avec lordre GRANT, retirs avec lordre REVOKE e e Peuvent tre accords/retirs dune session e e e Quelques conseils
Un rle pour chaque tche dapplication o a Un rle pour chaque type dutilisateur o Attribuer aux rles utilisateurs des rles dapplication : Pas de o o privil`ges individuel e
vues DBA ROLES, DBA ROLE PRIVS, ROLE ROLE PRIVS,... Attention Pour manipuler des objets via une procdure, il faut possder e e explicitement les privil`ges requis. Il ne doivent pas tre accords e e e par un rle. o
60/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e Les audits
Pour surveiller des activits cibles sur la base e e Possible sur toute action sur la base
Tentatives de login Acc`s aux objets e Actions bases de donnes e
Enregistr dans la table SYS.AUD$, ou dans le SE e Activation dans les param`tre dinstance (AUDIT TRAIL) e
61/96
Administration des bases de donnes sous Oracle 10g e Assurer la scurit des donnes e e e 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 donnes sous Oracle 10g e Assurer la prennit des donnes e e e Grandes lignes
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
63/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e Grandes lignes
Introduction
La prnnit des donnes est assure par : ee e e e Les chiers de reprise
En cas de panne dinstance
Larchivage
Ralis ` chaud par linstance e ea Archive tous les chiers de reprise Seule solution pour scurit totale e e Augmente la charge du DBA
63/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e Les sauvegardes
Sauvegarde ` froid a
La plus simple ` mettre en oeuvre a 1 : identier les chiers de donnes/reprise/contrle e o 2 : Arrter la base de donnes e e 3 : Sauvegarder tous les chiers avec le SE 4 : Redmarrer la base e En cas de panne : il sut de reprendre ces chiers
Intressant dans des bases avec peu de modications e
64/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e Les sauvegardes
Sauvegarde ` chaud a
Fichiers de donnes e
Sauvegarde avec le SE sur un chier OFFLINE Si le chier est ONLINE : on le prot`ge avec les commandes e BEGIN /END BACKUP
Fichiers de contrle o
Commande ALTER DATABASE
65/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e Archivage automatique
Assure une cohrence parfaite des donnes en cas de panne e e Eectu ` chaque basculement de groupe dans les logs ea Possibilit de le lancer ponctuellement ` la main e a
ALTER SYSTEM ARCHIVE LOG (dconseill) e e
66/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e La restauration
En mode archivage
Restauration compl`te ou non e Perte de chiers de donnes ou du chiers de contrle e o
67/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e La restauration
1 : Fermer la base 2 : Restaurer tous les chiers de la sauvegarde la plus rcente e 3 : Ouvrir la base Si les emplacements on chang, modier les dclarations e e avant de monter la base
68/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e La restauration
A partir :
des chiers de reprise archivs et e de la sauvegarde la plus rcente e
69/96
Administration des bases de donnes sous Oracle 10g e Assurer la prennit des donnes e e e La restauration
Ouvrir la base Dsactiver les tablespace (oine) e Rparer la panne disque e Restaurer seulement les chiers endommags e lancer la restauration
RECOVER TABLESPACE/DATAFILE
Activer le tablespace
70/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Introduction
1 Introduction 2 Oracle : les grands concepts 3 Tches lmentaires dadministration a ee 4 gestion des chiers, tablespaces et espace libre 5 Assurer la scurit des donnes e e e 6 Assurer la prennit des donnes e e e 7 Optimiser les performances
71/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Introduction
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Introduction
Traceur dapplication
Pour identier des surcharges par des applications ou utilisateurs prcis e
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Planier les performances
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Planier les performances
74/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Planier les performances
Soigner la modlisation des donnes pour les parties e e principales Implmenter un schma en 3NF au moins pour assurer la e e exibilit e
Optimiser avec vues matrialises, clusters, colonnes calcules e e e Bien organiser les index
Administration des bases de donnes sous Oracle 10g e Optimiser les performances La rsolution de probl`mes e e
Comparer les symptmes avec les 10 erreurs frquemment o e commises Raliser une modlisation conceptuelle du syst`me lors de e e e lapparition des symptme o Lister toutes les solutions et les appliquer une ` une jusqu` a a lobtention du rsultat, ou lidentiaction des contraintes e extrieures conduisant ` lchec. e a e
76/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances La rsolution de probl`mes e e
Vrier ltat du matriel : CPU, disques, mmoire, rseau de e e e e e chaque tier Dterminer si le probl`me est au niveau du CPU ou de e e lattente dv`nement. Utiliser les vues dynamiques sur les e e performances du catalogue. Appliquer des mesures durgence pour stabiliser le syst`mes : e suspendre une application, rduire la charge, tuer un e processus... vrier la stabilit du syst`me, rcolter des statistiques, et e e e e suivre la procdure compl`te de rsolution e e e
77/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances La rsolution de probl`mes e e
Multiplication des connexions ` linstance (une par a interaction) Mauvaise utilisation des curseurs et variables lies e
Les curseurs vitent de recalculer une requte pour usages e e multiples Les variables lies permettent didentier des requtes e e similaires Attention au SQL gnr dynamiquement par les applications e ee
3 4 5 6 7 8 9
78/96
Requtes SQL inapropri aux exigences e e Utilisation de param`tres dinstance non standards e Mauvaise rpartition des E/S sur les disques e Blocages dans les chiers de reprise Mauvaise gestion des blocks et des segments dannulation Parcours entier de grandes tables Trop de SQL rcursif de la part de SYS (ex. allocation des e extents)
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances de linstance
Gestion automatique des annulations conseille. Voir e V$UNDOSTATS et V$ROLLSTATS Dimension des chier de reprise : un basculement toutes les 20 minutes... Crer susamment de tablespaces e
Gestion locale recommande e Ne pas oublier les tablespaces temporaires
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances de linstance
80/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances de linstance
Des rapports automatiques de statistiques peuvent tre e gnrs en html par ORACLE e ee Des diagnostiques et conseils automatiques sont gnrs ` e ee a partir des stats
Son but est de minimiser DBTIME...
81/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances de linstance
Gestion de la mmoire e
En gnral, il est recommand de laisser Oracle grer la SGA e e e e
param`tre SGA TARGET dirent de 0 e e ne g`re pas, notamment, le cache de reprise (param`tre e e LOG BUFFER)
Pour une gestion plus ne, on peut rcolter des statistiques e sur chaque partie de la SGA et grer sa taille manuellement. e Surveiller que le cache de reprise nentra pas de ne ralentissement
Stocker les chiers de logs sur des disques rapides Dans les scripts, ne pas valider ` chaque opration a e Lors de chargement de grands volumes de donnes, utiliser e NOLOGGING
Administration des bases de donnes sous Oracle 10g e 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 gnral e e ventuellement plus petit pour un syst`me fortement e e transactionnel Plus grand en entreposage de donnes e
83/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
Si ncessaire, ma e triser les choses en utilisant les HINT Structurer soigneusement les index, supprimer ceux qui sont inutiles Limiter les passes sur les donnes (utiliser le case par exemple) e
85/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
Processus coteux : a utiliser uniquement pour les requtes u e problmatiques e Base son analyse sur quatre points :
les statistiques les proles SQL = informations avances sur une requte, dans e e le dictionnaire les chemins dacc`s : index et vues e la syntaxe SQL (ex. : UNION ALL plut que UNION) o
Peut-tre utilis avec SQLAdvisor (graphique ou package e e PLSQL DBMS SQLTUNE) Possibilit de rgler des ensembles de requtes (SQL Tuning e e e Sets)
86/96
Un ensemble de requtes e
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
87/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
n peut tre gal ` 1, 100 ou 1000 e e a FIRST ROWS est ` utiliser en cas dinteraction directe avec a lutilisateur Cest un param`tre de session e On peut forcer loptimiseur avec un HINT On peut se baser sur le temps CPU (par dfaut) ou les E/S e
88/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
n peut tre gal ` 1, 100 ou 1000 e e a FIRST ROWS est ` utiliser en cas dinteraction directe avec a lutilisateur Cest un param`tre de session e On peut forcer loptimiseur avec un HINT On peut se baser sur le temps CPU (par dfaut) ou les E/S e
89/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
FULL TABLE SCAN : parcours squentiel complet dune table e ROWID SCAN : Acc`s direct ` un ensemble de tuples (apr`s e a e un INDEX SCAN) INDEX SCAN : Acc`s ` un index e a
1
Unique scan, range scan, full scan, index joins, bitmap joins
CLUSTER ACCESS : parcours dun cluster SAMPLE TABLE SCAN : acc`s ` un extrait de la base, e a spci dans la requte e e e On peut toujours les forcer avec un HINT
90/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
Jointure cartsienne : produit cartsien, pas de condition de e e jointure Toutes ces variantes existent en jointure externe.
91/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
On peut lancer manuellement apr`s dimportantes e modications Les oprations suivantes peuvent tre ralises sur les stats : e e e e
92/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
Index Bitmap
Pour des valeurs ` faible slectivit sur des grandes tables a e e Bien adapt ` des grandes conjonctions de prdicats ea e
Tables organises sur lindex : la table est stocke avec lindex e e On peut indexer les rsultats dune fonction sur une colonne e (UPPER, LOWER, ...) On peut partitionner un index aussi bien quune table
94/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
EXPLAIN PLAN
Permet de visualiser le plan choisi par loptimiseur On peut dtecter rapidement les points coteux du plan choisi e u La requte nest pas excute ! e e e
V$SQL PLAN
Pour voir tous les plans dexcution des requtes rcemment e e e excutes e e On a le plan rel, avec les cots rels, pas des estimations e u e
95/96
Administration des bases de donnes sous Oracle 10g e Optimiser les performances Optimiser les performances SQL
1 2
Fixer les param`tres dinstance pour la collecte de trace e Activer la collecte de la trace
Produis un chier avec les statistiques sur toutes les requtes e SQL
4 5
Interprter le chier gnr (voir la doc de TKPROF) e e ee Eventuellement, on peut stocker ce rsultat dans la base e
Un script pour cela est fourni par TKPROF
96/96