Professional Documents
Culture Documents
Oracle 10g
Page 2
1 Introduction
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 3
Produits et gamme
n Produits
1 Introduction n Oracle Database
n Oracle Application Server
n Oracle Developer Suite
Architecture Oracle
n Oracle Enterprise Manager Grid control
n Gamme
Stockage physique n Edition Personnelle
et logique
n Edition Standard One
n Edition Standard
n Edition Entreprise
Utilisateurs et rôles
Les outils
Page 4
Principales nouveautés
Stockage physique
et logique n Evolution des outils
n Automatisation n Data pump
n Automatic Storage n Scheduler
management (ASM)
n Oracle Entreprise Manager
n Automatic Workload
Utilisateurs et rôles Database Control (DC)
Repository
n …
n Autodiagnostic de la base
n Réglage de la mémoire
partagée
Concurrence d’accès
n Collection des statistiques
n …
Les outils
Page 5
2 Architecture Oracle
Introduction
Instance
2 Architecture Oracle Mémoire
Stockage physique
et logique
Processus
Utilisateurs et rôles
Base de données
---- ---
--- Paramètres
---
Concurrence d’accès
---
d’initialisation
---
---
Contrôle
Les outils
Data Journalisation
Page 6
La base de données
---- ---
---
Introduction ---
---
---
---
Stockage physique
et logique
Les outils
è Ma_base.domaine.fr
Page 7
Fichier de contrôle
---- ---
---
Introduction ---
---
---
---
Data Journalisation
Stockage physique
n Contenu binaire
et logique n Maintenu à jour par Oracle
n Décrit la base
Utilisateurs et rôles n Contient
n Le nom de la base
n La date et l’heure de la création
n L’emplacement des autres fichiers de la base
Concurrence d’accès
n Le numéro de séquence en cours
n …
Les outils
è Présence indispensable ; il est conseillé de maintenir plusieurs
copies (multiplexage)
Page 8
Fichiers de journalisation
---- ---
---
Introduction ---
---
---
---
Data Journalisation
Stockage physique
et logique
Fichier de données
---- ---
---
Introduction ---
---
---
---
Data Journalisation
Stockage physique
et logique
Concurrence d’accès
n 2 tablespaces au strict minimum
n SysAux : apparu en 10g ; s’appuie sur au moins 1 fichier
n System : s’appuie sur au moins 1 fichier
¨ Ne devraient contenir aucune donnée applicative
Les outils
Page 10
Organisation du stockage
d’espace ---
Introduction ---
Contrôle
Extent :
Ensemble de bloc contigu Journalisation
Data
d’un même segment
2 Architecture Oracle
Segment :
Nom générique pour un objet Tablespace Data01
‘conteneur’ de données
Stockage physique Ex : Une table, un index
et logique Data01.dbf Data02.dbf
Segment A Extent 1
Segment A Extent 2
Segment C Extent 1
Segment D Extent 1
Les outils
Page 11
Système de stockage
2 Architecture Oracle
n Utilisation de ASM :
n Nouveauté 10g
Stockage physique
n Gestionnaire de volume dédié à Oracle
et logique n Utilise une instance ASM
n Nécessite le patch 3555863 sous Windows
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 12
Notion de schéma
Utilisateurs et rôles Nb :
n Les objets appartiennent à un schéma
n Les objets sont définis dans le dictionnaire
Concurrence d’accès
n Les segments stockent leur données dans des tablespaces
Les outils
Page 13
Règles de nommage
Stockage physique
et logique
n Définir une convention de nommage
Utilisateurs et rôles
n Idée : commencer le nom par un code suivi de sa désignation
¨ Ex :
T001_Societes
Concurrence d’accès
T002_Contacts
V001_Meilleures_ventes
¨ Utiliser des synonymes
Les outils T001_Societes -> T001
T002_Contacts -> T002
V001_Meilleures_ventes -> V001
Page 14
L’instance
Introduction
SGA PGA
Instance
2 Architecture Oracle
Mémoire
Stockage physique
et logique
Concurrence d’accès
Les outils
Page 15
La PGA
Mémoire
2 Architecture Oracle
Concurrence d’accès
n Est intégrée à la SGA dans un contexte de serveur partagé
n Depuis la 9i gérée automatiquement et globalement via le
paramètre :
Les outils
PGA_AGGREGATE_TARGET
è Paramètres obsolètes :
è Sort_area_size, Hash_area_size, Bitmap_merge_area …
Page 16
La SGA
Mémoire
2 Architecture Oracle
SGA PGA
Introduction
(A) Mémoire
2 Architecture Oracle
n Principalement composée de
Stockage physique
¨ Library Cache :
et logique ¨ Le code ascii SQL et PL-SQL
¨ La version ‘parsée’
¨ Le version exécutable (choisie par Oracle)
Utilisateurs et rôles
¨ Le Dictionary Cache
¨ Description des objects (tables, utilisateurs, …)
¨ Description des droits
Concurrence d’accès
n Taille :
¨ Définie par le paramètre : Shared_pool_size
Les outils ¨ Ordre de grandeur < Go
Page 18
(A) Mémoire
2 Architecture Oracle
n Contient les blocs de données récemment utilisés des :
n Tables
Stockage physique n Index
et logique
n Annulation
n Paramètres
Concurrence d’accès n Db_cache_size : cache pour les blocs de taille standard
n Db_Keep_cache_size : cache de données pérennes
n Db_Recycle_cache_size : cache de données éphémères
Les outils
Page 19
Introduction
SGA PGA
(M) Mémoire
2 Architecture Oracle
Stockage physique
et logique
n Espace de journalisation des modifications
¨ Contient :
n L’image avant
Utilisateurs et rôles
n L’image après
¨ Est vidé sur disque (fichier de journalisation) très fréquemment via
Concurrence d’accès
le processus LGWR
SGA PGA
Introduction
Mémoire
2 Architecture Oracle
Mémoire
2 Architecture Oracle
Concurrence d’accès n Permet depuis la 9i de modifier l’allocation Ram sans arrêt de
l’instance.
Les outils
n Gestion Dynamique = ASSM
n Nouveauté 10g : réparti la RAM en fonction des structures (A)
n Paramétrée par SGA_TARGET
Page 22
2 Architecture Oracle
Stockage physique
et logique
Utilisateurs et rôles
n 1 processus = 1 rôle précis
n Généralement démarrés et arrêtés avec l’instance
Concurrence d’accès n Il a une trentaine de processus possibles
n Si un processus est lancé en plusieurs exemplaires son nom se
termine par son N°
Les outils
Page 23
Processus DBW
2 Architecture Oracle
n Database Writer
Stockage physique n ‘Descend’ blocs ‘dirty’ dans les fichiers de donnés
et logique
n Blocs dirty = blocs qui ont été modifiés en RAM
Processus LGWR
2 Architecture Oracle
n Log Writer
Les outils
Page 25
Processus CKPT
2 Architecture Oracle
n Check point
Stockage physique n Inscrit un point de contrôle dans les entêtes des fichiers de
et logique
données et de contrôle
Concurrence d’accès
Les outils
Page 26
Processus SMON
2 Architecture Oracle
n System Monitor
Stockage physique n Chargé de faire la « récupération » de l’instance et, dans le cas
et logique
de tablespace gérés par le dictionnaire (historique), de libérer
les segments temporaires et de réassembler l’espace libre
contigu.
Utilisateurs et rôles
n Activé
Concurrence d’accès
n Lors du démarrage
n Périodiquement pour la gestion des TS gérés par le dictionnaire
Les outils
Page 27
Processus ARC
2 Architecture Oracle
n Archiver
Concurrence d’accès
Les outils
Page 28
Processus CJQ
2 Architecture Oracle
n Job Queue
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 29
Processus PMON
2 Architecture Oracle
n Process Monitor
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 30
Processus Serveur
Introduction
2 Architecture Oracle
n Ne sont pas des processus d’arrière plan !
Stockage physique n Chargés de traiter les requêtes des utilisateurs et notamment
et logique
de « monter » les données en RAM
Les outils
Page 31
Le fichier de paramètres
Introduction
Paramètres
d’initialisation
2 Architecture Oracle
n Lu pour pouvoir démarrer
l’instance
n Décrit notamment où se situe # exemple de fichier pfile
Stockage physique
et logique
le fichier contrôle
Db_name = ma_base
Instance_name = domaine.fr
Control_files =
n Stocke les différents ("d:\control01.ctl"
Utilisateurs et rôles paramètres ,"e:\control02.ctl")
Sga_target = 1G
Les outils
Pga_aggregate_target = 10M
…
Page 32
Introduction
SGA PGA
Instance
2 Architecture Oracle Mémoire
Utilisateurs et rôles
Paramètres
Base de données
Contrôle
Les outils
Data Journalisation
Page 33
Oracle en action
Introduction
SGA PGA
Commit;
-----
----
-----
Utilisateurs et rôles
Update T1
Commit;
Concurrence d’accès Set col1= ‘a’; Contrôle
Data Journalisation
Les outils
Page 34
Introduction
Architecture Oracle
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 35
n Tablespace :
Introduction ¨ Espace, sur disque, de stockage des données
¨ Composé d’un ou plusieurs fichiers (os)
Architecture Oracle
n Segment :
¨ Objet défini dans la base comme étant conteneur
¨ Table
Stockage physique
3 ¨ Index
et logique
¨ Rollback segment
¨ …
Utilisateurs et rôles
n Extent :
¨ Ensemble de blocs physiquement contigus d’un segment donné
Concurrence d’accès
n Blocs :
¨ Élément unitaire de gestion de l’espace (RAM ou disque) d’Oracle
Les outils
Page 36
Objets logiques
n Segments
Introduction ¨ Tables
n Relationnelles
¨ Partitionnées
¨ Organisées en cluster
¨ Organisées en Index
Architecture Oracle
n XML
¨ Index
n Btree
3
Stockage physique n Bitmap
et logique
n Partitionnés (voir : tables partitionnées)
¨ Autres segments
n Rollback segment
Utilisateurs et rôles n Deferred segment
n LOBsegment
n …
n Objets (non segment)
Concurrence d’accès
¨ Vues
¨ Synonymes
¨ Séquence
Les outils ¨ Fonctions / procédures / déclencheurs / Packages
¨ …
Page 37
Organisation du stockage
Introduction
A C D
(Table) B (Table) (Table)
Architecture Oracle
(Index)
Stockage physique
3
et logique
Tablespace Data01
Data01.dbf Data02.dbf
Segment A Extent 1
Utilisateurs et rôles
Segment A Extent 2
Segment B Extent 1
Segment C Extent 1
Concurrence d’accès
Segment D Extent 1
Segment B Extent 2
Les outils
Espace non alloué
Page 38
3
Stockage physique
et logique n SYSTEM
¨ Contient le dictionnaire
Utilisateurs et rôles
n SYSAUX
¨ Existe depuis la version 10
¨ Est une extension de System
Concurrence d’accès
Les outils
Page 39
Caractéristiques d’un TS
n Type :
Introduction n Permanent : pour les objets permanents
n Temporaire : pour les objets temporaires
n Rollback : pour stocker les rollback segments (RBS) (on ne peut y créer
que des RBS)
Architecture Oracle
n Conseil :
Utilisateurs et rôles
¨ Créer des TS gérés localement avec gestion automatique des
extensions
CREATE Tablespace nom Datafile
Concurrence d’accès …
Extent management local autoallocate
…
Les outils
Page 40
Introduction
Architecture Oracle
Stockage physique
3
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 41
Création de table
3
Stockage physique
et logique
n Table temporaire
Create global temporary table nom
(col type [null] [, col type [null]])
Utilisateurs et rôles
On commit [delete|preserve] rows
[Tablespace ts]
Concurrence d’accès
¨ Rq : la structure de la table est permanente, les lignes sont
temporaires soit à la transaction (delete) soit à la session
(preserve)
Les outils
Page 42
Introduction
Description Objectif
Architecture Oracle
Organisées en Index Les lignes sont écrites dans Optimiser les temps de
les blocs en respectant réponse lors des tri.
l’ordre
Les outils
Page 43
Les outils
n Portée d’un index
¨ Une colonne
¨ Plusieurs colonnes
Page 44
Index Btree
Select lettre from alphabet where lettre = ‘Q’;
Introduction
A@
J@
S@
A@ J@ S@
Architecture Oracle D@ M@ V@
G@ P@ Y@
A@ D@ G@ J@ M@ P@ S@ V@
B@ E@ H@ K@ N@ Q@ T@ W@ Y@
Stockage physique C@ F@ I@ L@ O@ R@ U@ X@ Z@
3
et logique
Create INDEX I_lettre on alphabet(lettre);
Utilisateurs et rôles
A Z E R T Y U K
Concurrence d’accès Q S D F G H J O M
W X C V B N I L P
Index Bitmap
Select * from factures where type = ‘A’ or finies = ‘N’;
Architecture Oracle
F 1 1 1 . 0 1 0 . 1 1 0
A 0 0 0 . 1 0 1 . 0 0 1 A 0 0 0 . 1 0 1 . 0 0 1
Stockage physique
3
et logique O 1 1 1 . 1 1 0 . 0 1 0
N 0 0 0 . 0 0 1 . 1 0 1 N 0 0 0 . 0 0 1 . 1 0 1
Utilisateurs et rôles
A ou N 0 0 0 . 1 0 1 . 1 0 1
Concurrence d’accès
Utilisateurs et rôles
Introduction
Authentification
Stockage physique
et logique
Utilisateurs et rôles
Schéma Profil
Concurrence d’accès
Les outils
Privilèges
Page 47
Modes d’authentification
Les outils
Page 48
n Création
Introduction
CREATE USER nom
IDENTIFIED [By pwd| externally]
[DEFAULT TABLESPACE nom_ts]
[TEMPORARY TABLESPACE nom_ts]
Architecture Oracle [QUOTA [UNLIMITED|X [K|M] ] ON nom_ts]
[PROFILE nom_p]
[PASSWORD EXPIRE]
Stockage physique
[ACCOUNT [LOCK|UNLOCK];
et logique
n Modification
ALTER USER nom
4 Utilisateurs et rôles IDENTIFIED [By pwd| externally]
[DEFAULT TABLESPACE nom_ts]
[TEMPORARY TABLESPACE nom_ts]
[QUOTA [UNLIMITED|X [K|M] ] ON nom_ts]
Concurrence d’accès [PROFILE nom_p]
[PASSWORD EXPIRE]
[ACCOUNT [LOCK|UNLOCK];
Les outils
n Suppression
DROP USER nom [cascade];
Page 49
Architecture Oracle
4 Utilisateurs et rôles
--vérification
Les outils
Page 50
Dba_users
Introduction Username
User_ID
Password
Account_status
Lock_date
Expiry_date
Default_tablespace
Architecture Oracle
Temporary_tablespace
Created
Profile
Initial_rsrc_consumer_group
External_name Dba_ts_quotas
Stockage physique
et logique Tablespace_name
Username
Bytes
Max_bytes
Blocks
Max_blocks
4 Utilisateurs et rôles Dropped
Concurrence d’accès
Les outils
Page 51
Les profils
[FAILED_LOGIN_ATTEMPTS] x|UNLIMITED|DEFAULT]
[PASSWORD_LIFE_TIME] x|UNLIMITED|DEFAULT]
Concurrence d’accès
[PASSWORD_REUSE_TIME] x|UNLIMITED|DEFAULT]
[PASSWORD_REUSE_MAX] x|UNLIMITED|DEFAULT]
[PASSWORD_LOCK_TIME] x|UNLIMITED|DEFAULT]
Les outils
[PASSWORD_GRACE_TIME] x|UNLIMITED|DEFAULT]
[PASSWORD_VERIFY_FUNCTION function|NULL|DEFAULT]
Page 53
Architecture Oracle
n Affectation
¨ lors de la création de l’utilisateur
CREATE USER nom
Stockage physique
et logique […]
[PROFILE nom_p]
[…];
4 Utilisateurs et rôles
¨ Après …
ALTER USER nom
Concurrence d’accès
[…]
[PROFILE nom_p]
[…];
Les outils
n Suppression d’un profil
Drop profile nom_p [cascade];
Page 54
Dba_profiles
Introduction
Profile
Resource_name
Resource_type
limit
Architecture Oracle
Dba_users
Concurrence d’accès
Les outils
Page 55
Grant ordre_sql
to utilisateur
4 Utilisateurs et rôles [With admin option];
Grant privilège
on objet
Les outils
to utilisateur
[With grant option];
Page 56
Privilèges système
Architecture Oracle
n Create session
¨ Donne le droit à un utilisateur de se connecter
Stockage physique
n Sysoper
et logique ¨ Droits courants de gestion (ex: startup, alter database, …)
n Sysdba
4 Utilisateurs et rôles ¨ Droits de sysoper « with admin option » + create database
¨ Donnés par défaut à sys
¨ Privilège nécessaire pour certaine tâche d’administration
Concurrence d’accès ¨ Stocké dans le fichier de mot de passe (sinon authentification OS)
Les outils
n Informations sur l’attribution des privilèges système
¨ Dba_sys_privs
¨ V$pwfile_users
Page 57
Révocation de privilèges
Stockage physique
n Privilège Objet
et logique Revoke [privilège|all privileges]
on objet
From utilisateur;
4 Utilisateurs et rôles
¨ Le privilège est retiré au compte indiqué AINSI qu’à tous ceux
pour qui le droit à été accordé via ce compte (grantor)
Concurrence d’accès
Nb :
¨ Un compte peut obtenir les droits via des rôles.
Les outils
¨ Revoke n’est pas deny.
Page 58
Proc Proc
Introduction Vue ------ ------
------ ------
Schéma 1
Architecture Oracle
Stockage physique n Donner les privilèges sur les vues et procédures aux utilisateurs
et logique
Les vues et procédures accèdent aux tables.
Les utilisateurs n’ont pas de privilèges sur les tables
4 Utilisateurs et rôles
n Prévoir l’usage de :
¨ Synonymes
Concurrence d’accès ¨ Déclencheurs ‘instead of’ (pour certaines vues)
¨ D’étudier la clause
AUTHID [Current_user|definer]
pour certaines procédures
Les outils
Page 59
4 Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 60
VPD et FGA
Stockage physique
et logique
4 Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 61
Définition de rôle
Architecture Oracle
n Un rôle peut être attribué à un autre rôle.
Stockage physique
et logique
n Syntaxe :
Create role nom
[identified by pwd
4 Utilisateurs et rôles
|identified externally
|using nom_package
|not identified]
Concurrence d’accès
n Limitations
¨ Un rôle appartient à personne
¨ Un rôle n’est pas associé à un schéma
Les outils
¨ Un développeur doit avoir le droit direct (pas au travers un rôle)
d’accès aux objets cités dans ces procédures ou vues
Page 62
Attribuer/Révoquer un rôle
Grant nom_role
Introduction to [utilisateur|Public|nom role]
[with admin option];
Architecture Oracle
n NB :
¨ attribuer un rôle :
n prédéterminer les rôles possibles pour un compte
Stockage physique
et logique ¨ activer un rôle :
n indiquer le ou les rôles effectifs
¨ Attribuer n’est pas activer !
4 Utilisateurs et rôles
Revoke nom_role
Concurrence d’accès
from [utilisateur|Public|nom role];
Les outils
Page 63
Les outils
Page 64
Rôles prédéfinis
Utilisateurs et rôles
¨ Alter system disconnect session ‘sid, serial#’
4
[immediate|post_transaction];
Concurrence d’accès
Les outils
Page 66
La concurrence d’accès
Introduction
Architecture Oracle
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 67
Transaction
n Définitions :
Introduction n Ensemble d’écritures indissociables (atomiques)
n Est finie par l’ordre COMMIT ou ROLLBACK
n L’ensemble des écritures sont rendues permanentes ou sont ignorées
Architecture Oracle
n Une transaction commence dès qu’une autre fini ; pas d’ordre/marque
de début de transaction
Stockage physique
n Fonctionnement
et logique n Durant une transaction les informations sont écrites dans les blocs
n Les verrous empêchent l’accès aux autres transactions à ces verrous
¨ Les demandes de lecture sont dirigées vers les rollback segments (RBS)
Utilisateurs et rôles ¨ Les demandes d’écritures sont mises en attente
n Lors de la fin de transaction
¨ COMMIT : les verrous sont levés ; les données sont disponibles pour tous
¨ ROLLBACK : les images avant sont recopiées depuis les RBS et les verrous
5 Concurrence d’accès sont levés ; les données initiales sont disponibles
Remarques
UPDATE employees
SET salary = 120000 WHERE last_name = 'Greene';
Concurrence d’accès
SAVEPOINT greene_sal;
COMMIT;
Page 69
Verrous
V$_lock
Introduction
Addr
Kaddr
Sid
Type
Id1
Architecture Oracle Id2
Lmode
Request
Ctime
Block
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Niveaux d’isolations
Stockage physique
n Serializable
et logique ¨ Garanti que les données lues sont les mêmes tout au long de la
transaction. Aucune transaction concurrente.
Utilisateurs et rôles
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
ALTER SESSION SET ISOLATION_LEVEL SERIALIZABLE
Concurrence d’accès
n Lecture seule
N’autorise aucune écriture sur les données accédées.
¨
Les outils
SET TRANSACTION READ ONLY
Page 72
Architecture Oracle
è il se peut que les données à lire soient effacées des RBS
(car trop anciennes !)
Stockage physique
et logique
n Solutions
Utilisateurs et rôles ¨ En amont :
n limiter la durée des transactions au strict utile
n ponctuer chaque ordre DML par Commit (sauf si transaction de
plusieurs ordres)
Concurrence d’accès
¨ En aval :
n Augmenter la taille disponible pour les informations d’annulations
Les outils
Page 73
Deadlock
Utilisateurs et rôles
n Conseils
n Plus les transactions sont courtes moins le deadlock est probable
n Organiser les transactions pour quelle utilisent les ressources dans le
même ordre
Concurrence d’accès 1. Relationnel (parent-enfant)
2. Alphabétique (client ; adr_facture ; adr_livraison)
3. Dans l’ordre des lignes (order by)
n Prévoir, dans le code, la re-tentative
Les outils
Page 74
Exercice
Concurrence d’accès
Les outils
Page 75
Les outils
Introduction
Architecture Oracle
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 76
Outils graphiques
Architecture Oracle
n Différents assistants
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 77
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 78
SQL*loader
Introduction Décrit la
source et la
Contient la destination
source
Architecture Oracle
Reçoit les
lignes en
Journalisation erreur (bad)
Stockage physique
et logique
Reçoit les
lignes non
retenues
Utilisateurs et rôles
Concurrence d’accès
Les outils
Page 79
Architecture Oracle
n Vérification d’un segment
Stockage physique
et logique
Utilisateurs et rôles
Concurrence d’accès
Les outils