You are on page 1of 79

Administration pour développeurs

Oracle 10g
Page 2

1 Introduction

n  Pré requis à l’administration:


1 Introduction

n  Langage SQL et PL/SQL

Architecture Oracle n  Avoir « pratiqué » Oracle

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

n  Source de téléchargement


n  http://www.oracle.com/technology/index.html
Concurrence d’accès

Les outils
Page 4

Principales nouveautés

n  Simplification n  Evolution de la structure


1 Introduction n  Installation n  Tablespace SYSAUX
n  Mise à niveau n  Tablespace bigfile
n  « Easy connect » n  Groupe de tablespace
n  Conseillers temporaires
n  … n  Compactage des lignes dans
Architecture Oracle
un segment
n  …

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 ---
---
---
---

2 Architecture Oracle Paramètres Contrôle


d’initialisation
Data Journalisation

Stockage physique
et logique

n  La base de donnée possède un nom défini par le paramètre


Utilisateurs et rôles
DB_NAME = ma_base
n  Le nom complet est préfixé par le nom de domaine défini par le
paramètre
Concurrence d’accès
DB_DOMAIN = domaine.fr

Les outils
è Ma_base.domaine.fr
Page 7

Fichier de contrôle

---- ---
---
Introduction ---
---
---
---

2 Architecture Oracle Contrôle

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 ---
---
---
---

2 Architecture Oracle Contrôle

Data Journalisation

Stockage physique
et logique

n  Enregistrent les modifications


Utilisateurs et rôles
n  Organisés en groupes (2 au minimum)
n  Le groupe est régulièrement réutilisé
n  Un groupe peut être multiplexé (notion de membre ; 1 au minimum !)
Concurrence d’accès n  Un « tour de roue » = switch
n  Un groupe inactif contient les données reproduites dans la base
n  Utilisés lors de la « récupération » d’une instance ou d’un
Les outils
média
Page 9

Fichier de données

---- ---
---
Introduction ---
---
---
---

2 Architecture Oracle Contrôle

Data Journalisation

Stockage physique
et logique

n  Contiennent les données des segments


Utilisateurs et rôles
n  Regroupés en « tablespace »
n  Bigfile : jusqu’à 32 To mais n’utilise qu’1 seul fichier
n  Smallfile : tablespace traditionnel de 1 ou plusieurs fichiers

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

Bloc : ---- ---


---
Allocation élémentaire ---

d’espace ---
Introduction ---

Taille {4, 8, 16, 32 Ko} ---

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

Utilisateurs et rôles Segment B Extent 1

Segment C Extent 1

Segment D Extent 1

Concurrence d’accès Segment B Extent 2

Espace non alloué

Les outils
Page 11

Système de stockage

n  Utilisation du système de fichiers de l’OS


Introduction

n  Utilisation de partition « raw device »

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

n  Désigne l’ensemble des objets d’un utilisateur


Introduction

n  Tout utilisateur est potentiellement associé à un schéma


è il n’existe pas d’ordre pour créer un schéma
2 Architecture Oracle

n  Permet une organisation logique de l’ensemble des objets


Stockage physique créés dans Oracle
et logique

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

n  30 caractères au max


Introduction n  Doit commencer par une lettre
n  Peut utiliser {A-Z} {a-z} {0-9} {_ $ #}
n  Ne doit pas être un mot réservé
2 Architecture Oracle

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

Utilisateurs et rôles Processus

Concurrence d’accès

Les outils
Page 15

La PGA

Introduction SGA PGA

Mémoire
2 Architecture Oracle

n  Program Global Area


Stockage physique n  Mémoire non partagée allouée aux différents processus
et logique
n  Contient :
n  SQL work area (zone de travail)
Utilisateurs et rôles n  Informations de session
n  Variables de session
n  Informations sur le traitement des requêtes

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

Introduction SGA PGA

Mémoire
2 Architecture Oracle

n  System Global Area


Stockage physique
n  Mémoire partagée
et logique
n  Eventuellement redimensionnable à chaud (depuis la 9i)
n  Eventuellement gérée automatiquement (depuis la 10g)
Utilisateurs et rôles n  Contient 6 zones principales :
n  Shared Pool
¨  Library Cache
¨  Dictionary Cache
Concurrence d’accès
n  Database Buffer Cache
n  Redo Log Buffer
n  Java Pool
Les outils n  Large Pool
n  Streams Pool
Page 17

SGA – Shared Pool

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

SGA – Database buffer Cache

Introduction SGA PGA

(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

Utilisateurs et rôles n  Montés du disque grâce aux processus serveurs

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

SGA – Redo Log Buffer

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

n  Est paramétré par : LOG_BUFFER


Les outils
Page 20

SGA – Autres pools

SGA PGA
Introduction

Mémoire

2 Architecture Oracle

n  JAVA_POOL_SIZE (A)


Stockage physique
et logique
n  Zone facultative
n  24 Mo par défaut
n  Utilisée avec la machine virtuelle Java
Utilisateurs et rôles
n  LARGE_POOL_SIZE (A)

n  Zone facultative


n  Utilisée si Oracle est en mode « serveur partagé »
Concurrence d’accès

n  STREAMS_POOL_SIZE (M)

n  Zone facultative


Les outils
Page 21

Granule et gestion automatique

Introduction SGA PGA

Mémoire
2 Architecture Oracle

n  Granule = allocation unitaire de RAM pour la SGA


n  Taille de la granule
Stockage physique
et logique n  Si taille de la SGA <= 128Mo è 4 Mo
n  Sinon è 8 Mo / Windows
è 16 Mo / autres systèmes
Utilisateurs et rôles n  Utilisation d’un nb entier de granules de manière à couvrir le
besoin

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

Les processus d’arrière plan

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

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

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

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

Utilisateurs et rôles n  Peut y avoir jusqu’à 20 processus

n  Est notamment activé :


Concurrence d’accès n  S’il n’y a plus de blocs libres ou non-dirty en RAM
n  Lors du ‘checkpoint’
n  A la fermeture propre de l’instance
Les outils
n  …
Page 24

Processus LGWR

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

2 Architecture Oracle
n  Log Writer

Stockage physique n  Descend le Redo_log_Buffer dans le « fichier de


et logique
journalisation » courant

Utilisateurs et rôles n  Activé par :


n  Commit
n  Saturation de 1/3 du Redo_log_Buffer
n  Préalablement à DBWn
Concurrence d’accès
n  Toutes les 3s

Les outils
Page 25

Processus CKPT

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

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

Utilisateurs et rôles n  Activé par :


n  Basculement de fichier journal = Switch
n  DBWn

Concurrence d’accès

Les outils
Page 26

Processus SMON

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

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

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

2 Architecture Oracle
n  Archiver

Stockage physique n  Recopie le fichier journal quand il devient inactif


et logique

n  N’est présent que si Oracle est en mode ARCHIVELOG


Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 28

Processus CJQ

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

2 Architecture Oracle
n  Job Queue

Stockage physique n  Lance les travaux programmés en démarrant un processus


et logique
esclave (Jnnn)

Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 29

Processus PMON

DBWn LGWR CKPT SMON ARCn CJQn PMON


Introduction

Processus d’arrière plan

2 Architecture Oracle
n  Process Monitor

Stockage physique n  Chargé du nettoyage des processus utilisateurs plantés


et logique
n  Rollback des transactions en cours
n  Libération des ressources

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

Utilisateurs et rôles n  Oracle en serveur dédié :


n  1 Processus par connexion
n  Oracle en serveur partagé :
Concurrence d’accès n  1 Processus pour plusieurs connexion
n  1 connexion peut utiliser n’importe lequel des processus partagés

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")

n  Format texte (statique) …


à init***.ora
Statistics_level = typical
Concurrence d’accès
n  Format binaire (dynamique)
Compatible = 10.0.0
à spfile***.ora
(depuis 9i) …

Sga_target = 1G
Les outils
Pga_aggregate_target = 10M


Page 32

Résumé des composants

Introduction
SGA PGA

Instance
2 Architecture Oracle Mémoire

Stockage physique DBWn LGWR CKPT SMON ARCn CJQn PMON


et logique
Processus

Utilisateurs et rôles

Paramètres
Base de données

---- --- d’initialisation


---
---
Concurrence d’accès
---
---
---

Contrôle
Les outils

Data Journalisation
Page 33

Oracle en action

Introduction
SGA PGA
Commit;

val avant ‘ab’ ; val après ‘a’


val avant ‘ab’ ; val après ‘a’
val avant ‘ab’ ; val après ‘a’

2 Architecture Oracle Mémoire


Operation
complete

Stockage physique DBWn LGWR CKPT SMON ARCn CJQn PMON


et logique
Processus

-----
----
-----
Utilisateurs et rôles

Update T1
Commit;
Concurrence d’accès Set col1= ‘a’; Contrôle

Data Journalisation
Les outils
Page 34

Stockage physique et logique

Introduction

Architecture Oracle

Stockage physique
et logique

Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 35

Objets physiques : Définitions

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

Tablespaces par défaut : SYSTEM et SYSAUX

n  Ne pas écrire dans les Tablespaces par défaut


Introduction ¨  Il faut donc, soit :
n  préciser le TS lors de la création d’objet
n  Imposer que l’administrateur désigne les différents types de TS
associés à chaque utilisateur
Architecture Oracle

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  Mode de gestion des extensions


Stockage physique
n  Par le dictionnaire
3
et logique n  Localement

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

DC : Espace disque logique

Introduction

Architecture Oracle

Stockage physique
3
et logique

Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 41

Création de table

n  Table permanente


Introduction Create table nom
(col type [null] [, col type [null]])
[Tablespace ts]
Architecture Oracle

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

Création de tables optimisées

Introduction

Description Objectif

Architecture Oracle

Partitionnées La table est découpée en Œ Optimiser les temps de


Stockage physique plusieurs segments physiques réponse en écourtant les
3
et logique distincts. « table scan ».
Les index peuvent suivre le  Faciliter la gestion de
découpage et/ou non. l’espace lors des
historisations
Utilisateurs et rôles Organisées en cluster 2 tables se trouvent écrites Optimiser les temps de
dans le même bloc. réponse lorsque les 2 tables
Nécessite la création d’un sont intimement associées
« cluster ».
Concurrence d’accès

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

Gestion des index

n  Classification des index


Introduction ¨  Index de structure
n  Sont associés à une contrainte d’unicité (index b-tree)
n  Sont défini à la création de la base, ne sont pas remis en cause
¨  Index de performance
Architecture Oracle
n  Sont remis en cause au cours du temps

n  Type d’indexation


Stockage physique
3
et logique ¨  Index b-tree
n  OLTP / OLAP
n  Utiles si faible cardinalité et requêtes restrictives
n  Sous types possibles :
Utilisateurs et rôles
¨  Normal
¨  À clé inversée
¨  Index bitmap
Concurrence d’accès
n  OLAP
n  Utiles si forte cardinalité

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

Create table alphabet (lettre char(1));


Les outils Insert into alphabet values(‘A’);
Insert into alphabet values(‘Q’); …
Page 45

Index Bitmap
Select * from factures where type = ‘A’ or finies = ‘N’;

Introduction Create bitmap INDEX I_type on factures(type);


Create bitmap INDEX I_finies on factures(finies);

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

001,F,O 045,A,O 094,F,N


13 Les outils
002,F,O 046,F,O 135,F,O
003,F,O … … 047,A,N … … 096,A,N
Page 46

Utilisateurs et rôles

Introduction
Authentification

Architecture Oracle Rôles Définition

Stockage physique
et logique

Utilisateurs et rôles

Schéma Profil
Concurrence d’accès

Les outils
Privilèges
Page 47

Modes d’authentification

n  Identification Oracle


Introduction ¨  SQL> connect nom/pwd

n  Identification par l’OS


Architecture Oracle
¨  Le paramètre REMOTE_OS_AUTHENT doit être à TRUE

¨  SQL> connect /


Stockage physique
et logique

¨  Mise en correspondance du nom de session OS et du nom de


connexion Oracle (préfixé par OPS$)
4 Utilisateurs et rôles
¨  Le préfixe est géré par le paramètre
OS_Authentifation_prefix
¨  Sous Windows le nom de l’annuaire fait partie du nom de l’utilisateur
OPS$DOMAINE\UTILISATEUR
Concurrence d’accès OPS$MACHINE\UTILISATEUR

Les outils
Page 48

Gestion des utilisateurs

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

Définition de paramètres par défaut

n  Chaque utilisateur est (normalement) associé à un TS


Introduction n  La création d’objet est implicitement faite dans ce TS
n  La désignation du TS par défaut ne donne pas pour autant le droit
d’écrire

Architecture Oracle

n  Le défaut, pour tout utilisateur (au cas où on prévoit d’oublier de


Stockage physique préciser un TS par utilisateur)
et logique

Alter database default tablespace nom;

4 Utilisateurs et rôles
--vérification

Select property_name, property_value


Concurrence d’accès from database_properties
Where property_name = ‘DEFAULT_PERMANENT_TABLESPACE’;

Les outils
Page 50

Informations sur les utilisateurs

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

n  Ensemble nommé de


Introduction

¨  limitations de ressources


n  Temps CPU
Architecture Oracle n  Nb de lectures logiques
n  Nb de sessions simultanées par utilisateur
n  Temps d’inactivité
Stockage physique n  Durée de la session
et logique
n  Si configuration en serveur partagé : Qté de mémoire privée en SGA

¨  Paramètres de sécurité


4 Utilisateurs et rôles
n  Seuil de verrouillage
n  Délais de verrouillage
n  Durée de vie des mots de passe
Concurrence d’accès n  Durée de vie de la période de grâce
n  Historique des mots de passe
n  Complexité
Les outils
Page 52

Créer / modifier un profil

[CREATE|ALTER] PROFILE nom LIMIT


Introduction [SESSIONS_PER_USER x|UNLIMITED|DEFAULT]
[CPU_PER_SESSION x|UNLIMITED|DEFAULT]
[CPU_PER_CALL x|UNLIMITED|DEFAULT]
Architecture Oracle [CONNECT_TIME x|UNLIMITED|DEFAULT]
[IDLE_TIME x|UNLIMITED|DEFAULT]
[LOGICAL_READS_PER_SESSION x|UNLIMITED|DEFAULT]
Stockage physique
et logique [LOGICAL_READS_PER_CALL x|UNLIMITED|DEFAULT]
[COMPOSITE_LIMIT x|UNLIMITED|DEFAULT]
[PRIVATE_SGA x [K|M]|UNLIMITED|DEFAULT]
4 Utilisateurs et rôles

[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

Mise en place des profils

n  Activation de la limitation via les profils


Introduction Alter system set ressource_limit = [True|false]
[SCOPE = [memory|spfile|both]]

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

Informations sur les profils

Dba_profiles
Introduction
Profile
Resource_name
Resource_type
limit

Architecture Oracle

Dba_users

Stockage physique Username


User_ID
et logique
Password
Account_status
Lock_date
Expiry_date
Default_tablespace
4 Utilisateurs et rôles Temporary_tablespace
Created
Profile
Initial_rsrc_consumer_group
External_name

Concurrence d’accès

Les outils
Page 55

Gérer les droits

n  Ordres DCL


Introduction ¨  Grant …
¨  Revoke …

Architecture Oracle n  Privilège système


¨  Droits d’exécuter un ordre SQL
¨  Si le droit porte sur un ordre indépendamment du schéma on peut
Stockage physique préciser ANY (ex : grant create [any] table …)
et logique

Grant ordre_sql
to utilisateur
4 Utilisateurs et rôles [With admin option];

n  Privilège sur les objets


Concurrence d’accès ¨  Droits d’accéder à un objet (en dehors du propriétaire)

Grant privilège
on objet
Les outils
to utilisateur
[With grant option];
Page 56

Privilèges système

n  Select any dictionary


Introduction ¨  Permet d’accéder aux vues DBA_ sans être DBA
¨  Nécessaire pour utiliser DC

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

n  Privilège Système


Introduction Revoke [privilège|all privileges]
From utilisateur;

Architecture Oracle ¨  Le privilège est retiré au compte indiqué

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

Notion de base ‘Fermée’

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

Accéder aux objets des autres schémas

n  Select * from schema.objet@dblink


Introduction

¨  Schema : nom du schéma dans lequel est stocké l’objets


Architecture Oracle

¨  Objet : nom de l’objet


Stockage physique
et logique ¨  @dblink : nom du contexte de sécurité qui permet l’accès à une
autre instance

4 Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 60

VPD et FGA

n  Fonctionnalités avancées dans la gestion des droits via le


Introduction package DBMS_RLS

¨  VPD = virtual private database


Architecture Oracle

¨  FGA = fine-grained access

Stockage physique
et logique

4 Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 61

Définition de rôle

n  Ensemble nommé de privilèges


Introduction

n  Un utilisateur peut adhérer à un ou plusieurs 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

Activation/Désactivation d’un rôle

n  On ne peut activer que des rôles attribués


Introduction

n  par défaut :


¨  Alter user utilisateur
Architecture Oracle
default role
[nom_role[,nom_role]
|all [except nom_role]
Stockage physique |none];
et logique

n  en cours de session


4 Utilisateurs et rôles ¨  Set role
[nom_role[,nom_role]
|all [except nom_role]
|none];
Concurrence d’accès

Les outils
Page 64

Rôles prédéfinis

n  Oracle propose un très grand nombre de rôles prédéfinis


Introduction ¨  Ne pas donner plus de droits que voulu
¨  Etudier l’opportunité d’utiliser les rôles prédéfinis par rapport à
créer les siens
Architecture Oracle
n  Informations sur les privilèges accordés par rôle prédéterminé :
¨  Documentation Oracle
Stockage physique ¨  Dba_sys_privs : privilèges système
et logique n  Session_privs
n  System_privilege_map
¨  Dba_tab_privs : privilèges objets
4 Utilisateurs et rôles n  Dba_col_privs
n  Table_privilege_map
¨  Dba_roles : liste des roles
n  Dba_appliccation_roles
Concurrence d’accès
n  Dba_role_privs
n  Role_sys_privs
n  Role_tab_privs
Les outils n  Role_role_privs
n  Session_roles
Page 65

Superviser les utilisateurs

n  Liste des utilisateurs connectés


Introduction ¨  V$session

n  Liste des opérations en cours de plus de 6s


Architecture Oracle
¨  V$session_longops

Stockage physique n  Déconnecter un utilisateur


et logique
¨  Alter system kill session ‘sid, serial#’;

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

Les écritures sont isolées par des verrous


Les lectures sont possibles dans les RBS
Début de Fin de
transaction transaction
Les outils
Page 68

Remarques

n  COMMIT est implicite


Introduction n  À chaque ordre DDL
n  Avec l’ordre Truncate table
n  Lors d’une déconnexion explicite
Architecture Oracle
n  Rollback est implicite
n  Sur perte de connexion
Stockage physique n  À la sortie d’un programme précompilé (Pro*, …)
et logique

n  Cas particulier : SAVEPOINT


n  Permet de revenir à une UPDATE employees
Utilisateurs et rôles
marque prédéterminée SET salary = 7000 WHERE last_name = 'Banda';

de la transaction SAVEPOINT banda_sal;

UPDATE employees
SET salary = 120000 WHERE last_name = 'Greene';
Concurrence d’accès
SAVEPOINT greene_sal;

SELECT SUM(salary) FROM employees;

ROLLBACK TO SAVEPOINT banda_sal;


Les outils
UPDATE employees
SET salary = 12000 WHERE last_name = 'Greene';

COMMIT;
Page 69

Verrous

n  Le verrouillage est implicite et automatique


Introduction

n  Verrous DML


n  La transaction pose :
Architecture Oracle ¨  1 verrou partagé au niveau de la table
¨  1 verrou exclusif sur chaque ligne modifiée
n  La contention des verrous peut être facilement observable
Stockage physique
et logique
n  Verrous DDL
n  Ordres DDL : Create ; Alter ; Drop
¨  La transaction pose 1 verrou exclusif sur l’objet
Utilisateurs et rôles
n  Ordres DCL (et exceptions)
¨  La transaction pose 1 verrou partagé
n  La contention de ces verrous est rare du fait de la brièveté de la
Concurrence d’accès
transaction (commit intégré)

n  Oracle ne transforme pas un verrou ligne en verrou table (pas


Les outils
d’escalade)
Page 70

Suivi des 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

Remarque : la commande lock permet de verrouiller explicitement.


Les outils
Page 71

Niveaux d’isolations

n  Read committed


Introduction ¨  Niveau par défaut

SET TRANSACTION ISOLATION LEVEL READ COMMITTED


Architecture Oracle ALTER SESSION SET ISOLATION_LEVEL READ COMMITTED;

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

Snapshot too old

n  Les images avant sont conservées dans les RBS


Introduction n  Les RBS sont limités en taille
n  Les informations dans les RBS sont effacées cycliquement

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

n  Interblocage : plusieurs transactions ayant verrouillé des


Introduction ressources attendent mutuellement la libérations des
ressources des autres transactions
n  Conséquences :
Architecture Oracle n  Oracle tue l’ordre bloquant d’une transaction
n  Une trace est écrite dans le dossier pointé par USER_DUMP_DEST
n  Une exception est levée pour la transaction tuée (ORA-60)
Stockage physique n  La transaction doit être Rollbakée et rejouée
et logique
n  Les autres transactions se poursuivent

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

n  Lancez 2 consoles clientes (connect scott/tiger@emm)


Introduction

¨  Vérification de la cohérence


n  Console 1 : modifiez une ligne de la table emp
Architecture Oracle n  Console 2 : affichez toutes les lignes de emp
n  Console 1 : Commit;
n  Console 2 : affichez toutes les lignes de emp
Stockage physique
et logique
¨  Deadlock
n  Console 1 : modifiez le salaire de MARTIN
n  Console 2 : modifiez la commission de SMITH
Utilisateurs et rôles
n  Console 1 : modifiez le salaire de SMITH
n  Console 2 : modifiez la commission de MARTIN

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

n  Database control


Introduction

n  Enterprise manager

Architecture Oracle
n  Différents assistants

Stockage physique
et logique

Utilisateurs et rôles

Concurrence d’accès

Les outils
Page 77

Outils d’import / export

n  Nouveaux programmes : impdp et expdp


Introduction ¨  Remplacent imp et exp
¨  Depuis et vers 9.2 et supérieur
¨  Utilisent le package DBMS_DATAPUMP
Architecture Oracle ¨  Peut utiliser une « table externe »

n  Imp et Exp


Stockage physique
et logique ¨  Existent toujours …

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

Dbverify : Vérification de l’intégrité physique

n  Vérification des blocs d’un fichier de données


Introduction

Architecture Oracle
n  Vérification d’un segment

Stockage physique
et logique

Utilisateurs et rôles

Concurrence d’accès

Les outils

You might also like