Dba 1 Chakraoui Med
Dba 1 Chakraoui Med
Dba 1 Chakraoui Med
Pr Mohamed CHAKRAOUI
Plan
Installation du SGBD Oracle;
Découvrir l’architecture du serveur Oracle ;
Découvrir l’outil d’administration Oracle SQL*Plus;
Gérer une instance Oracle;
Gérer les fichiers d’une base de données Oracle;
Gérer les unités de stockage logique;
Voir la différence entre les versions dernières versions d’Oracle;
Création d’une base de données .
…
Pr Mohamed CHAKRAOUI
Webographie
https://fr.wikipedia.org/wiki/Oracle_(entreprise)
https://www.editions-
eni.fr/open/mediabook.aspx?idR=7b598a5dd2dc3c9b11f4897259948d3
9
https://docs.oracle.com/database/121/ADMQS/GUID-DBC8C390-D3B7-
40A6-B625-26AE44AA45E1.htm#ADMQS021
https://www.oracle.com/virtualization/technologies/virtual-
appliances.html
Pr Mohamed CHAKRAOUI
Préparation de l’environnement de
travail
Installation d’racle 19c et 12g voir TP1
Pr Mohamed CHAKRAOUI
Préparation de l’environnement de
travail
Système d’exploitation
Unix, linux, Windows…
Nombre de bit 32, 64
Pr Mohamed CHAKRAOUI
Prérequis / Linux
User avec groupe DBA
\TMP espace temporaire(500 mb)
Package Kernel
Sécurité Kernel (20% de CPU)
Protocol X (exemple : Xmanager)
Pour Windows il faut un user admin et non pas un user a un rôle
admin
Il faut choisir le binaires d’Oracle selon le OS + le nombre de bit
Pr Mohamed CHAKRAOUI
Variables d’environnements
Comme tous les OS (à ma connaissance),
Windows possède des variables
d’environnement qui sont accessibles pour
tout le système. Par exemple : USERNAME
contient le nom du user connecté,
COMPUTERNAME contient le nom de l’ordi,
OS le nom de l’OS.
Lister les variables d’environnement:
Dans une console Windows (Menu démarrer >
Excécuter > cmd), il suffit de taper set pour voir
la liste des variables d’environnement actuelle.
Pr Mohamed CHAKRAOUI
Variables d’environnements
Voir la valeur d’une variable:
set NOM_DE_LA_VARIABLE
Donc l’exemple ci-dessous affichera : C:\Program Files
set ProgramFiles
Pr Mohamed CHAKRAOUI
Variables d’environnements
A noter
Ces modifications ne marcheront que dans la console
courante. En clair, si vous avez une autre fenêtre de console
ouverte à côté : cela ne changera rien pour elle ! Pire, si on
ferme la fenêtre où l’on a fait les modifications : celles-ci
sont perdues !
Du coup, le mieux c’est de faire un clic droit sur le poste de
travail > Propriétés > Onglet Avancés et de cliquer sur
« Variables d’environnement » pour gérer ça grâce à
l’interface de Windows. Les modifications sont enregistrées,
mais il faut quand même recharger toutes les consoles et
programmes Windows ouverts pour utiliser ces
modifications… Super !
Pr Mohamed CHAKRAOUI
Préparation de l’environnement
sous Windows
Set ORACLE_HOME=E:\APP\oracle\...\dbhome
le produit oracle (le chemin d’installation d’oracle)
Set ORACLE_SID=NCDB
là ou on spécifie le nom de la base de données en question
Un seul serveur oracle peut contenir plusieurs BDD
Cette variable spécifie la BDD qu’on veut utiliser
Set PATH=E:\APP\oracle\...dbhome\bin
Pr Mohamed CHAKRAOUI
Préparation de l’environnement
sous Linux
export ORACLE_HOME=/u01/app/oracle/product/…/dbhome
$ export ORACLE_SID=NCDB
$ sqlplus / as sysdba
SQL> show user;
SQL>select name, open_mode from v$database;
Pr Mohamed CHAKRAOUI
Historique
Oracle Corporation est une entreprise
américaine créé en 1977
sous le nom Consultancy Software
Devlopment Laboratories
then renamed to Relational Software Inc.
En 1979, RSI introduced Oracle V2 as the
first commercially available SQL-based
RDBMS
En 1983, RSI became Oracle Systems
Corporation and then Oracle Corporation
Pr Mohamed CHAKRAOUI
Historique
Fondateur: Larry Ellison né le 17 août 1944 à New York (États-Unis)
En 2009 Oracle a racheté Sun Microsystems
Oracle Version 3, released in 1983, was the first relational database to
run on mainframes , minicomputers, and PCs. The database was written
in C, enabling the database to be ported to multiple platforms.
Version 4 introduced multiversion read consistency, Version 5, released
in 1985, supported client/server computing and distributed database
systems.
Version 6 brough enhancements to disk I/O, row locking, scalability, and
backup and recovery also, Version 6 introduced the first version of the
PL/SQL langage, a proprietary procedural extension to SQL
Pr Mohamed CHAKRAOUI
Historique
Oracle 7, released in 1992, introduced PL/SQL stored procedures and
triggers.
Oracle8 Database, released in 1997as the object-relational database,
supporting many new data types. Additionally, Oracle8 supported partitioning
of a large tables.
Oracle8i was released in 1999, provided native support for internet
protocols and server-side support for java. Oracle 8i (internet) was designed
for Internet computing, enabling the database to be deployed in a
multitierenvironment.
Oracle9i Database introduced Oracle RAC in 2001, enabling multiple
instances to access a single database simultaneously. Additionally, Oracle XML
Database (Oracle XML DB) introduced the ability to store and query XML.
Pr Mohamed CHAKRAOUI
Historique
Oracle Database 10g introduced grid computing in 2003. A computer
architecture that coordinates large number of servers and storage to act as a
single large computer
Oracle 11g, released in 2007, introduced a host of new features that enabled
administrators and developpers to adapt quickly to changing business
requirements, the key to adaptability is simplifying the information
infrastructure by consolidating information and using automation
whereverpossible.
Oracle Database 12c, released in 2013, was designed for the Cloud, featuring
a new Multitenant architecture, In-Memory column storage, and support for
json documents. Oracle Database 12c helps customers make more efficient
use of their IT resources, while continuing to reduce costs and improve
service levels for users.
Pr Mohamed CHAKRAOUI
Quelques produits oracle
Oracle WebLogic Server (un serveur d’applications)
Oracle E-Business Suite (un progiciel de gestion intégré)
Oracle SQL Developer (un logiciel de manipulation des BD)
Oracle Database (un système de gestion de base de données)
…
Pr Mohamed CHAKRAOUI
Système de gestion de base de données relationnel (SGBDR)
Devenu un SGBDRO à partir de la version 8
Environnement multiplateforme
Le produit principal d’Oracle est passé depuis la version 1 ò la version
21c en 2022
Chaque version est commercialisée sous différentes éditions
Oracle est le leader du marché des SGBDR
Avec une part de marché allant jusqu’à 48.6% en 2007 selon
GAARTNER GROUP
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
Introduction
Pr Mohamed CHAKRAOUI
Introduction
Oracle Database
Le produit principal d’Oracle est passé depuis 1977 de la version 1 à la version 21c en 45
ans. Chaque version est commercialisée sous différentes éditions:
Enterprise Edition: inclut toutes les fonctionnalités d’Oracle.
Standard Edition: basique, destinée aux serveurs à 4 processeurs.
Standard Edition One: basique, destinée aux serveurs biprocesseurs.
Personal Edition: uniquement sur Windows, destinée aux développeurs.
Express Edition: édition gratuite, fonctionne sur des machines à 1 processeur.
Lite Edition: destinée aux machines mobiles.
Pr Mohamed CHAKRAOUI
Introduction
Pr Mohamed CHAKRAOUI
Introduction
Oracle Database
Version. Release. Patch. Sous patch
Exemple: 10 . 2.0 . 1.0. 1.0
Exp: 10g première version : 10.0
Note: Release presque après un an de travail.
Les niveaux
DBA1: L’architecture d’racle, l’administration…
Tuninig : la performance…
DBA2: Buckup, restauration…
Pr Mohamed CHAKRAOUI
Les SGBDs
MySQL: open Source
Postgre: Open source
SQL server: Créer par Microsoft
DB2: Créer par IBM
Sybase: Créer par Sybase
Oracle: créer par Oracle
…
Pr Mohamed CHAKRAOUI
Comparaison des SGBDs
SQL Server:
On connait pas qu’est-se-qui se passe derrière l’application de Microsoft
C’est une application fermée
On ne peut utilisé ces produits que sur des plateformes fourni par Microsoft elle-
même
Pareil pour DB2
Point fort d’oracle DB
Oracle est un produit non fermé
Oracle est produit tunnable
Oracle est un produit portable
Pr Mohamed CHAKRAOUI
Types de requêtes SQL
Data manipulation langage Select Delete
(DML Insert merge
Update
Create Rename
Data definition langage (DDL Alter Truncate
Drop Comment
Commit
Transaction control Rollback
savepoint
Pr Mohamed CHAKRAOUI
Rôles du DBA
Installer les logiciels oracle
Un serveur, des applications clientes
En fonction de la configuration système disponible
Si fonctionnement en réseau: composants réseaux d’oracle
Version :
- Select * from PRODUCT_COMPONENT_VERSION ||
- Select * from V$VERSION
Pr Mohamed CHAKRAOUI
Architecture d’Oracle
Database
2. Instance
Ensemble de processus et de zones mémoires (mémoire centrale) qui
permettent de gérer la base de données.
Pr Mohamed CHAKRAOUI
Disque
C’est la partie dans laquelle oracle stocke les données d’une façon
permanente.
Exemple de fichiers:
Fichier d’installation
Fichier de stockage
Fichier de paramétrage
…
Pr Mohamed CHAKRAOUI
Processus en arrière plan
Ce sont des processus qui s’éxécutent en arrière plan, ils font des taches
pendant l’éxécution des requêtes
Assurent le fonctionnement interne du SGBD Oracle (gestion de la
mémoire, écriture dans les fichiers.. ).
Exemple de PAP: LGWR…
Pr Mohamed CHAKRAOUI
Types de donnée
Meta data : données de dictionnaire
Data user: données d’utilisateur
Exemple:
Client
Code Nom
Cl1 Ahmed
Cl2 Ali
Pr Mohamed CHAKRAOUI
Types de donnée
Donnée de dictionnaire: Meta data
Ce sont des données de la structure de la BDD(table, view, champs,…) ou les
informations qui identifient les utilisateurs (privilèges …)
Elles contiennent toutes les informations de toutes les composantes logiques
et physiques de la base de données ainsi que de l’instance
Pr Mohamed CHAKRAOUI
Oracle utilise
Pr Mohamed CHAKRAOUI
Introduction
-SQL*Plus
-iSQLPlus
- OEM (DB Control)
- Oracle Discoverer, Oracle Reports, Oracle Forms
- PL/SQL
Pr Mohamed CHAKRAOUI
Architecture générale
Fichier Mémoire
Oracle
Processus Programme
Pr Mohamed CHAKRAOUI
Schéma client et serveur
Base de données
Mémoire RAM
Demande Connexion
Connexion
Disque
Pr Mohamed CHAKRAOUI
Le paquet
Package/ paquet:
Adresse IP (ou bien le nom de la machine)
Le port (par défaut 1521)
Le nom de la base de données (SID)
Username/password
La requête
Pr Mohamed CHAKRAOUI
Les Moyens de transports
Pour se connecter à une base de données, on a besoins de transférer les
données vers le serveur Oracle
Ces Moyens de transport sont des processus qui font le transport d’un
paquet entre les composants
Ils transfert les données depuis oracle client vers le serveur de la base
de données
Notez que dans oracle on a la notion de moyen de transport
Exemple de moyen de transport entre le client et le serveur d’oracle:
Processus client: créer par oracle
ODBC: installé par défaut sur Windows (il se base aussi sur processus client)
JDBC: driver de Java
Pr Mohamed CHAKRAOUI
Architecture d’Oracle
Database
Base de données :
Instance : mémoire + processus
Deux type de configurations du serveur a propos de l’instance:
Single database instance: 1 to 1
One to many: par exemple 3 BDD pour 3 instances
RAC: many to one: plusieurs instance accèdes à une seule BDD gain de
performance +availability (disponibilité).
Oracle Real Application Clusters (RAC) permet aux clients d’exécuter une seule base de données
Oracle Database sur plusieurs serveurs afin d’optimiser la disponibilité et de permettre une
évolutivité horizontale, tout en accédant au stockage partagé. Les sessions utilisateur qui se
connectent aux instances Oracle RAC peuvent basculer et relire en toute sécurité les
modifications pendant les pannes, sans aucune modification des applications des utilisateurs
finaux, ce qui masque l’impact des pannes aux utilisateurs finaux.
Pr Mohamed CHAKRAOUI
Processus clientListener
Processus client:
Oracle client déclenche le processus client
C’est un moyen de transport
Il recherche sur la machine puis le port …
Pr Mohamed CHAKRAOUI
Processus client
Il crée un Tunnel de communication lors de la première connexion.
Le processus client travail une seule fois et dans la première
connexion
Pr Mohamed CHAKRAOUI
Vue détaillée
Processus 1
Programme2
Processus 2 …
Disque
Pr Mohamed CHAKRAOUI
SGA et PGA
Mémoire
SGA PGA
COmposant1 Composant3
Composant2 …
Pr Mohamed CHAKRAOUI
Architecture d’Oracle
Database
Pr Mohamed CHAKRAOUI
Processus serveur
Ses rôles principaux sont:
traiter la demande du client quand un client est connecté à une BDD
oracle construit un processus serveur (s’il y’a 5 utilisateurs sont connectés,
oracle construit 5 processus utilisateurs dedicated server process 1 to 1)
mais si il y’a 10.000 utilisateurs connectés 10.000 processus serveurs? Et
10.000 PGA ? shared server process (1 to many)
Run and parse(syntaxique, sémantique et shared pool check) la requête SQL
et établit le plan d’éxécution
Exécute le code pl/sql, chargement des données a partir du fichier physique
dans la zone mémoire (Buffer Cach)
Renvoie le résultat
Donc j’ai besoin d’une mémoire pour manipuler ces tache PGA
PGA est une mémoire pour faire le travail du processus serveur( pour
servir le processus serveur)
Pr Mohamed CHAKRAOUI
Processus serveur
Pr Mohamed CHAKRAOUI
Instance: la SGA
Pr Mohamed CHAKRAOUI
L’instance
Pr Mohamed CHAKRAOUI
L’instance
PGA
SGA
PGA
PGA
Processus 1 Processus 2 Processus 3 Processus ...
Serveur de BD
Pr Mohamed CHAKRAOUI
La mémoire PGA
En dehors de la SGA, chaque processus serveur possède une zone mémoire
privée appelée PGA (program global area).
La zone mémoire allouée pour le fonctionnement de chaque processus
utilisateur au niveau du serveur
Lorsque le processus utilisateur se déconnecte (fin de session), le processus
serveur associé prend fin et la mémoire PGA est libérée
Mémoire privée des différents processus distribuée au moment de la
connexion d’un client ( 10% de SGA sinon 10Mo comme taille).
Pour un processus serveur la PGA contient:
Des informations sur la session
Des informations sur le traitement des requêtes de la session
Les variables de session
Pr Mohamed CHAKRAOUI
Mémoire PGA
Paramétrage de la PGA:
PGA est dynamique et est
configurée par le système
PGA_AGGREGATE_TARGET
Affichage des paramètres PGA:
Select component, current_size from
V$MEMORY_DYNAMIC_COMPONENTS;
Show parameter PGA
alter system set
pga_aggregate_target=100M;
Pr Mohamed CHAKRAOUI
SGA et PGA
Pr Mohamed CHAKRAOUI
Architecture de l’instance
Paramétrer la taille de la SGA:
La SGA doit représenter au moins 2% de la taille totale de la base de
données (physique)
Si (SGA_TARGET>0) alors Gestion automatique par ASM
database buffer cache: DB_CACHE_SIZE
Large pool: LARGE_POOL_SIZE
Shared pool: SHARED_POOL_SIZE
Java pool: JAVA_POOL_SIZE
Pr Mohamed CHAKRAOUI
Architecture de l’instance
Augmenter la taille de la SGA:
Select COMPONENT, CURRENT_SIZE from V$MEMORY_DYNAMIC_COMPONENTS;
SHOW PARAMETER SGA;
Select * from V$SGA;
Taille maximale: alter SYSTEM set sga_max_size=tailleM SCOPE=SPFILE;
Taille maximale: alter SYSTEM set sga_target=tailleM SCOPE=SPFILE;
Pr Mohamed CHAKRAOUI
SGA: Shared Pool
C’est un espace mémoire dans lequel oracle exécute ses traitements
Elle est allouée au démarrage de l’instance et libérée lors de son
arrêt.
Elle inclut 6 zones mémoires principales
Exemple des opérations:
Vérification de la syntaxe
Exécution des requêtes
Pr Mohamed CHAKRAOUI
Shared Pool
Pr Mohamed CHAKRAOUI
DB Buffer Cache
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
Redo Log Buffer
Contient les informations sur les transactions exécutées.
Le Redo Log Buffer est écrit de manière séquentielle (les transactions
y sont mélangées) et cyclique (taille limitée de la zone mémoire
oblige).
Chaque modification correspond à une entrée Redo. Cette dernière
est constituée de plusieurs vecteurs, chacun correspond à un bloc de
données modifié (ancienne + nouvelle valeur).
Le contenu du Redo Log Buffer est écrit dans les fichiers journaux.
La taille du Redo Log Buffer est définie via le paramètre
LOG_BUFFER
Pr Mohamed CHAKRAOUI
Autres zones mémoire
Le JAVA Pool : Stocke les objets et applications Java les plus récemment utilisés
lorsque la machine virtuelle Java JVM optionnelle est utilisée. Paramètre
JAVA_POOL_SIZE.
Le Large Pool : Stocke des données lors de l’exécution d’opérations volumineuses. Il
est utilisé dans le cas d’une configuration serveur partagé. Paramètre
LARGE_POOL_SIZE.
Le Streams Pool : C’est le cache des données relatives à la queue de messages
utilisées par Oracle. Paramètre STREAMS_POOL_SIZE.
A noter que dans la SGA, il y a une petite zone mémoire appelée SGA fixe. Elle
inclut des infos sur l’état de la base, l’instance, les verrous…
Les vues V$SGA et V$SGA_DYNAMIC_COMPONENTS.
Pr Mohamed CHAKRAOUI
La gestion automatique de la
SGA
Dictionary
PGA Cache
Library
SGA Cache
PGA
DB Buffer Shared Redo Log
Cache Pool Buffer
PGA
Processus 1 Processus 2 Processus 3 Processus ...
Streams
Java Pool Large Pool
Pool
Pr Mohamed CHAKRAOUI
La PGA
C’est une zone mémoire privée dédiée aux utilisateurs. Elle est créée
pour chaque processus serveur.
Elle stocke des informations spécifiques aux utilisateurs, tel que les
variables hôtes, les variables de session, l’état des curseurs utilisés,
des informations de tri etc.
La PGA totale allouée à tous les processus serveur est appelée PGA
agrégée.
Le paramètre PGA_AGGREGATE_TARGET définit la taille de la PGA
agrégée, c’est Oracle qui se charge de la répartir entre les différentes
processus serveur.
Pr Mohamed CHAKRAOUI
La PGA
Pr Mohamed CHAKRAOUI
Les processus
Pr Mohamed CHAKRAOUI
Les processus utilisateur et
serveur
Pr Mohamed CHAKRAOUI
Les processus utilisateur et
serveur
Le processus serveur (PS) reçoit les requêtes utilisateur, les exécute et renvoie le
résultat.
Un serveur BD est soit en mode DÉDIÉ, soit en mode PARTAGÉ.
En mode dédié, on dédie un PS à chaque utilisateur.
En mode partagé, on partage un PS pour un ensemble d’utilisateurs.
Le mode par défaut est le mode dédié. Pour activer le mode partagé, il faut
modifier la valeur de SHARED_SERVERS (par défaut =0).
La valeur de SHARED_SERVERS indique le nombre de processus serveur
partagés.
Rappelons qu’une zone de mémoire PGA est allouée à chaque PS.
Pr Mohamed CHAKRAOUI
PGA SGA
User Process
Shared Streams
Server Java Pool Large Pool
Pool
Process
DB Buffer Shared Redo Log
Cache Pool Buffer
D000
Dictionary
Cache
User Process
PGA Library
Cache
Dedicated
Server
Process
User Process
Base de Données
Pr Mohamed CHAKRAOUI
Serveur de Base de Données Oracle
Les processus
Ils permettent une interaction entre les différents
composants du serveur ainsi qu’avec les utilisateurs
Il existe trois types de processus:
Les processus client ou utilisateur
Les processus serveur
Les processus d’arrière plan
Pr Mohamed CHAKRAOUI
Les processus d’arrière plan
Pr Mohamed CHAKRAOUI
Connexion et session
Lorsque le client est lié au serveur, on parle d’une connexion.
Session:
Chaque client, après la première connexion il crée une session dans
la BDD. (Lorsque l’utilisateur s’identifie, il ouvre une session)
La session est identifiée par : SID et serial SERIAL#
Plusieurs sessions peuvent être ouvertes en même temps
Elle ne doivent pas dépasser un nombre de paramètres(un nombre
maximal de sessions)
Le PMON supprime la session après déconnexion
Le DBA peut supprimer toute session suivant ses souhait
Pr Mohamed CHAKRAOUI
Le DB Writer (DBWn)
Pr Mohamed CHAKRAOUI
Le DB Writer (DBWn)
Un bloc est dit « dirty »si son contenu a changé. Oracle n ’autorise
pas de nouvelle données à prendre cette place, tant que ce contenu
n’a pas été écrit sur disque.
Le DBWn se déclenche (en écrivant les blocs dirty les moins
récemment utilisées sur le disque) par ces deux événements:
1. Le PS ne trouve pas de tampons « clean » après avoir scanné un nombre seuil de
tampons.
2. Après une certaine période pour faire avancer le point de reprise. Le point de reprise
est la position dans les fichiers de journaux à partir de laquelle l’instance est
récupérable. Cette position est déterminée par le plus ancien tampon dirty dans le
cache de données
Pr Mohamed CHAKRAOUI
Le DB Writer (DBWn)
Pr Mohamed CHAKRAOUI
Dediacted server
Pr Mohamed CHAKRAOUI
Shared server
Pr Mohamed CHAKRAOUI
Le LOG Writer (LGWR)
Pr Mohamed CHAKRAOUI
Le System Monitor (SMON)
Ou le processus de monitoring
En action lors d’un arrêt brutal de la base de données:
Il lit les informations contenu dans le segment UNDO( contient les
données en attente de validation) puis les annule : ROLLBACK
SMON récupère dans les fichiers REDO LOG les modifications validés
mais pas encore écrit dans les fichiers de données et les insère:
ROLLFORWARD
Le SMON en action lors d’un fonctionnement normal de la base de données:
SMON surveille l’activité de la base de données
SMON libère toutes les ressources de la base de données (segments
temporaires).
Pr Mohamed CHAKRAOUI
Le System Monitor (SMON)
SMON corrige les plantages de l’instance
Vérifie la synchronisation des données
Rejouer les transactions qui se trouves dans le REDO LOG BUFFER
Valide les transactions valides
Annule les transactions non validées
Libère toutes les ressources e la BDD
Pr Mohamed CHAKRAOUI
Le Process Monitor (PMON)
Ou le processus de monitoring
En action lors d’un échec d’un processus utilisateur
Il annule la transaction (ROLLBACK)
PMON nettoie le cache de tampons de la base de données
PMON libère les zones mémoire allouées et annule les ressources affectées aux threads de
la transaction.
Analyse et détecte les processus utilisateurs
Pr Mohamed CHAKRAOUI
Redo Log
Pr Mohamed CHAKRAOUI
Redo Log
Ils stockes les données en binaire, donc on peut pas les modifier
Pr Mohamed CHAKRAOUI
Redo Log
Pr Mohamed CHAKRAOUI
LGWR
LOG Writer
Pr Mohamed CHAKRAOUI
Groups –Redo log
Pr Mohamed CHAKRAOUI
Groups –Redo log
Pr Mohamed CHAKRAOUI
Groups –Redo log
Pr Mohamed CHAKRAOUI
Groups –Redo log
Pr Mohamed CHAKRAOUI
Groups –Redo log
Pr Mohamed CHAKRAOUI
Switch entre les groupes
Ou bien basculement:
Le suitche entre les groupes se fait automatiquement si le groupe
est plein
On peut faire manuellement via une commande sql
Raison su switch:
Si on veut supprimer un groupe
Switch, changer d’emplacement et puis le supprimer
ARC se déclenche automatiquement s’il y’a un groupe plein
pour l’archiver
Pr Mohamed CHAKRAOUI
Switch entre les groupes
Pr Mohamed CHAKRAOUI
REDO LOG
Pr Mohamed CHAKRAOUI
ARCHIVE (ARCn)
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
ARC
Pr Mohamed CHAKRAOUI
ARC
Pr Mohamed CHAKRAOUI
Streams pool
Zone mémoire pour la gestion des flux
C’est l’espace mémoire dans lequel Oracle streams travaille
Espace pour la synchronisation et pas pour la restauration
La synchronisation: en temps réel
C’est le cache de données relatif à la queue de message utilisée par
Oracle
Une autre société a développé un autre produit pour la
synchronisation qui s’appel GOLDENGATE
Il se base sur oracle streams
Il est payant
Pr Mohamed CHAKRAOUI
Oracle goldenGate
Oracle GoldenGate is a software product that allows you to
replicate, filter, and transform data from one database to another
database.
Using Oracle GoldenGate, you can move committed
transactions across multiple heterogeneous systems in your
enterprise. Oracle GoldenGate enables you to replicate data
between Oracle databases to other supported heterogeneous
database, and between heterogeneous databases. In addition,
you can replicate to Java Messaging Queues, Flat Files, and to
Big Data targets in combination with Oracle GoldenGate for Big
Data.
Pr Mohamed CHAKRAOUI
Les processus d’arrière plan
Pr Mohamed CHAKRAOUI
PMON SMON
PGA SGA
User Process
Shared Streams
Server Java Pool Large Pool
Pool
Process
DB Buffer Shared Redo Log
Cache Pool Buffer
D000
Dictionary
Cache
User Process
PGA Library
Cache
Dedicated
Server
Process
User Process
Base de Données
PrServeur
Mohamed CHAKRAOUI
de Base de Données Oracle
Le fast COMMIT & le SCN
La notion de fast COMMIT est liée à l’écriture différée des blocs dirty confirmés
sur les fichiers de données.
Dans le cas où après un COMMIT, seules les entrées Redo de la transaction
confirmée sont écrites sur les fichiers de journalisation (les blocs dirty ne sont
pas écrits sur les fichiers de données par le DBWn), cela s’appelle Fast COMMIT.
Le SCN (System Change Number) est un code affecté à toute transaction
confirmée par un COMMIT.
Le SCN est inscrit sur les entrées redo de la transaction confirmée sur les
fichiers de journalisation.
Ce système de codage est fondamental pour la restauration des données en cas
de crash du système.
Pr Mohamed CHAKRAOUI
Base de données
Base de Données
Pr Mohamed CHAKRAOUI
Fichier de contrôle
Fichier de contrôle
Pr Mohamed CHAKRAOUI
Fichier de données
Fichiers de données
Pr Mohamed CHAKRAOUI
Fichiers de journalisation
Les fichiers de journalisation contiennent toutes les modifications
effectuées sur les données depuis une certaine durée.
En cas de crash du système, ou d’altération des fichiers de données, on
peut reconstituer les données à partir des fichiers journaux.
L’écriture sur les fichiers journaux est multiplexée et cyclique.
L’ensemble des fichiers multiplexés (qui contiennent donc les mêmes
informations) sont appelés membres et forment un groupe.
L’écriture est multiplexée à l’intérieur d’un groupe, et cyclique entre les
groupes.
La vue V$LOGFILE contient les informations des fichiers journaux.
Pr Mohamed CHAKRAOUI
Fichiers de journalisation
Groupe 1
DELETE DELETE
UPDATE UPDATE
INSERT INTO INSERT INTO
UPDATE UPDATE
UPDATE… UPDATE…
INSERT INTO INSERT INTO
Membre 1 Membre 2
Groupe 2
Membre 1 Membre 2
Pr Mohamed CHAKRAOUI
Archives des fichiers
journaux
Pr Mohamed CHAKRAOUI
Autres fichiers
Ce sont les fichiers qui ne font pas partie de la base de données mais qui
sont utilisés par le serveur Oracle pour des opérations telles que le
démarrage d'une instance ou l'authentification des utilisateurs.
Il existe trois types de fichiers :
Les fichiers de paramètre (Parameter File) : Il définissent les caractéristiques de
l'instance. Lors du démarrage d'une instance, le serveur Oracle va
lire les paramètres d'initialisation du fichier de paramètres. On retrouve des
informations telles que le nom de la base de données, la taille de la mémoire à
allouer, le nom des fichiers de contrôle ainsi que les autres paramètres système.
Le fichier de mots de passe (Password File) : Il est utilisé pour authentifier les
utilisateurs privilégiés.
Les fichiers de redo log archivés (Archived Redo Log Files) : Ils contiennent des
copies off-line des fichiers de redo log. Ils sont utilisés lors d'une récupération
suite à une défaillance d'un média. Les fichiers de redo log sont sauvés lorsqu'ils
sont pleins, cette fonctionnalité n'est disponible que lorsque la base de données
est en mode "ARCHIVELOG".
Pr Mohamed CHAKRAOUI
Les fichiers de paramètres
Un fichier de paramètres inclut l’ensemble des paramètres de configuration du serveur BD.
L’instance lit ce fichier et fonctionne selon les valeurs des paramètres qui y sont spécifiés.
Il existe deux types de fichiers de paramètres:
Pr Mohamed CHAKRAOUI
Les fichiers de paramètres
d
Pr Mohamed CHAKRAOUI
Le fichier mot de passe
Oracle doit authentifier le DBA avant que la base ne soit ouverte, et donc
le mot de passe DBA est enregistré hors de la BD dans un fichier de mot de
passe
L’authentification du DBA se fait via le système d’exploitation
(REMOTE_LOGIN_PASSWORDFILE=none), ou bien via le fichier de mot de
passe (REMOTE_LOGIN_PASSWORDFILE=exclusive ou shared).
none : Authentification via le SE uniquement
exclusive : utilisation d’un fichier de mot de passe dédié à une seule
BD. Possibilité de donner le rôle SYSDBA ou SYSOPER à d’autres
utilisateurs
shared : utilisation d’un fichier de mot de passe partagé par plusieurs
BDs. Seul SYS peut utiliser les privilèges SYSDBA ou SYSOPER
Pr Mohamed CHAKRAOUI
CHECKPOINT
A checkpoint is a database event which synchronizes the modified
data blocks in memory with the data files on disk.
It also updates the datafile headers and control file with the latest
checkpoint System Change Number (SCN).
We need checkpoint to:
Establish data consistency
Enable faster database recovery
Pr Mohamed CHAKRAOUI
SCN (System change number )
A system change number (SCN) is an internal timestamp for a
Instance
committed version of the database.
recovery
select
The Oracle Database server uses the SCN clock value to guarantee
Roll Forward
Roll back transaction consistency.
For example, when a user commits a transaction, the database DML
records an SCN for this commit in the redo log.
Backup and
Recovery The server uses SCNs to coordinate distributed transactions among
different databases. DLL
For example, the server uses SCNs in the following way:
1. An application establishes a connection using a database link.
Read COMMIT
2. The distributed transaction commits with the highest global SCN among
Consistency
all the databases involved.
3. The commit global SCN is sent to all databases involved in the
transaction.
Pr Mohamed CHAKRAOUI
When will a checkoint
occur?
1) at each switch of the redo log files.
2) once the number of seconds defined in the
LOG_CHECKPOINT_TIMEOUT is reached.
3) once the current redo log file reaches the size:
LOG_CHECKPOINT_INTERVAL*size of IO OS blocks
Example: 10000*512= 5.120.000 (5M)
4) Directly by the ALTER SYSTEM SWITCH LOGFILE command.
5) directly with the ALTER SYSTEM CHECKPOINT command.
Pr Mohamed CHAKRAOUI
CHECKPOINT
Recors checkpoint
Information (SCN)
into the control file
and each data file
header.
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
Asynchronous I/O
Synch I/O = Blocking I/O where a process waits (does not return) till the OS
completes the I/O
Asynch I/O = Non-Blocking I/O where a process does not wait for the OS to
complete the I/O, but rather continues with its processing and the OS sends back
a signal to the process to indicate the I/O completion.
DISK_ASYNCH_IO controls whether I/O to datafiles, control files, and logfiles is
asynchronous (that is, whether parallel server processes can overlap I/O requests
with CPU processing during table scans). If your platform supports asynchronous
I/O to disk, Oracle recommends that you leave this parameter set to its default
value. However, if the asynchronous I/O implementation is not stable, you can set
this parameter to false to disable asynchronous I/O. If your platform does not
support asynchronous I/O to disk, this parameter has no effect.
If you set DISK_ASYNCH_IO to false, then you can increase DB_WRITER_PROCESSES
or use DBWR_IO_SLAVES to simulate asynchronous I/O.
Pr Mohamed CHAKRAOUI
DB_WRITER_PROCESSES
DB_WRITER_PROCESSES specifies the initial number of
Database Writer Processes for an instance. This parameter is
useful for systems that modify data heavily.
Default value: 1 or CPU_COUNT / 8, whichever is greater. If the
number of processor groups is less than 100 but greater than the
number of Database Writer Processes, then the number of
Database Writer Processes is adjusted to be a multiple of the
number of processor groups. If the number of Database Writer
Processes is greater than or equal to the number of processor
groups, then there is no adjustment.
Range of values: 1 to 100
There can be 1 to 100 Database Writer Processes. The names of the first 36
Database Writer Processes are DBW0-DBW9 and DBWa-DBWz. The names of
the 37th through 100th Database Writer Processes are BW36-BW99.
Pr Mohamed CHAKRAOUI
DBWR_IO_SLAVES
If it is not practical to use multiple DBWR processes, then
Oracle Database provides a facility whereby the I/O load can
be distributed over multiple slave processes. The DBWR
process is the only process that scans the buffer cache LRU
list for blocks to be written out. However, the I/O for those
blocks is performed by the I/O slaves. The number of I/O
slaves is determined by the parameter DBWR_IO_SLAVES.
Pr Mohamed CHAKRAOUI
DBWR_IO_SLAVES
DBWR_IO_SLAVES is intended for scenarios where you
cannot use multiple DB_WRITER_PROCESSES (for example,
where you have a single CPU). I/O slaves are also useful
when asynchronous I/O is not available, because the
multiple I/O slaves simulate nonblocking, asynchronous
requests by freeing DBWR to continue identifying blocks in
the cache to be written. Asynchronous I/O at the operating
system level, if you have it, is generally preferred. DBWR I/O
slaves are allocated immediately following database open
when the first I/O request is made. The DBWR continues to
perform all of the DBWR-related work, apart from
performing I/O. I/O slaves simply perform the I/O on behalf
of DBWR. The writing of the batch is parallelized between
the I/O slaves.
Pr Mohamed CHAKRAOUI
BACKUP_TAPE_IO_SLAVES
BACKUP_TAPE_IO_SLAVES specifies whether I/O server
processes (also called slaves) are used by Recovery Manager
to back up, copy, or restore data to tape. When the value is
set to true, Oracle uses an I/O server process to write to or
read from a tape device. When the value is set to false (the
default), Oracle does not use I/O server process for backups.
Instead, the shadow process engaged in the backup accesses
the tape device.
Pr Mohamed CHAKRAOUI
Le Check Point (CKPT)
Le CKPT est lancé lorsque le système a besoin de faire un check point
(point de vérification).
Lorsqu’un point de vérification est déclenché, le CKPT envoie un
message au DBWn pour qu’il écrive tous les blocs dirty sur les fichiers
de données.
Une fois le DBWn termine sa tâche, le CKPT écrit le SCN de la dernière
transaction confirmée dans les entêtes des fichiers de données ainsi
que dans le fichier de contrôle.
En cas de crash, les transactions récupérées à partir des fichiers
journaux sont celles dont le SCN est supérieur à celui écrit dans le
fichier de contrôle.
Pr Mohamed CHAKRAOUI
Exemple
1. Insert…;
1 2. Update…;
1 2 3 4
2 Le DBW est déclenché !
5 CRASH !!! 3
4 3. Update…;
Un 5 commit;
sage
nvoyé DB Buffer Cache LOG Buffer 4. Insert…;
GWR
Pr Mohamed CHAKRAOUI
Les tablespaces
Une base de données Oracle possède au minimum 4
tablespace:
Tablespace SYSTEM dictionnaire de données
Tablespace SYSAUX system auxiliaire composants oracle
Tablespace UNDO segments d’annulations
Tablespace TEMPORAIRE segments temporaires
Pr Mohamed CHAKRAOUI
Le tablespace UNDO
Le tablespace UNDO, comme son nom l'indique, est réservé
exclusivement à l'annulation des commandes DML (Data Manipulate
Language) (UPDATE, INSERT, etc...).
Lorsqu'on exécute l'ordre DELETE par exemple, Oracle commence par
copier les lignes à supprimer dans le tablespace UNDO et ensuite
indique que les blocs contenant les données dans le tablespace
d'origine sont libres.
Un ROLLBACK permet de revenir en arrière alors que le COMMIT
supprimera les lignes du tablespace UNDO.
Pr Mohamed CHAKRAOUI
Création d’un tablespace
CREATE TABLESPACE nom_tablespace
DATAFILE ‘chemin d’accès du fichier’ SIZE valeur [K|M]
[MINIMUM EXTENT valeur [K|M] ]
[MAXIMUM EXTENT valeur [K|M] ]
[DEFAULT STORAGE
( [INITIAL valeur [K|M]]
[NEXT valeur [K|M]]
[MINEXTENTS nombre]
[MAXEXTENTS nombre]
[PCTINCREASE pourcentage]) ;
Pr Mohamed CHAKRAOUI
Structure de stockage
C’est l’espace occupé par un objet base Database
Pr Mohamed CHAKRAOUI
Le segment d’annulation
Pr Mohamed CHAKRAOUI
Le segment d’annulation
La nouvelle image est enregistrée dans un segment table, l’ancienne dans un segment d’annulation.
Au cas où un ROLLBACK est effectué, c’est cette image qu’on utilisera pour rétablir les données.
Pr Mohamed CHAKRAOUI
Le segment d’annulation
Nouvelle valeur
ou ancienne?
11:58
Update table1
set col1=A2
Ancienne valeur Where col2=A1;
12:01
Select col1 From table1
Where col2=A1;
Pr Mohamed CHAKRAOUI
Le segment d’annulation
Pr Mohamed CHAKRAOUI
Le segment d’annulation
Read consistency
Statement read consistency
Transaction read consistency
Statement read consistency:
Select starts 10am During this 1 hour
on 12 Nov 22 period, other users
--- could have
Ends at 11am on performed DMLs on
12th Nov 22 the same table
All rows as it
was at 10 am
on 12th Nov 22
Pr Mohamed CHAKRAOUI
Le segment temporaire
Pr Mohamed CHAKRAOUI
Logique vs Physique
Database
Fichier de
Tablespace
données
Segment
Extension
Pr Mohamed CHAKRAOUI
Extension
Extent1
Un segment est à son tour composé d’extensions
Représente un objet de BDD comme table, index …
Une extension est un ensemble de blocs
Blocks
appartenant à un même fichier de données
Par contre un segment peut s’étaler sur
plusieurs fichiers à travers ses extensions. Segment
Extent1
La taille d’un bloc de données est définie
par le paramètre DB_BLOCK_SIZE
Blocks Extent2
Pr Mohamed CHAKRAOUI
Segments
A segment is created when you create a database object
A segment is the smallest unit of storage that end-user will deal with
When a database object, like table, is created a segment is created
in the database
Initially, fix number of extents are given to that segment
The initial number of extents given to a segment, can be controlled
The size of initial extents (number of blocks ) could be controlled as
well
When the segment gets full, more extents are added to the segment
The number of extents that are added can be controlled
The size of the new extents could be controlled as well
The segment keeps on growing as new data comes in
Pr Mohamed CHAKRAOUI
Blocks
Operating system Byte Byte
Operating system block
Block Usually 1
Bit byte
represents
one caracter
like A, b,1,2
Bytes etc
Block consist
of fixed
number of
bytes per
file system
Pr Mohamed CHAKRAOUI
Blocks
A block is the smallest unit that will be read into the memory(CM)
Minimum
one block
will be read
into
Hard disk memory
Memory
Block Block
Block Block Block Block
Block Block
Pr Mohamed CHAKRAOUI
Database
Db block size have to be multiple of OS block size
Example : if os block size is 512 then DB block size could be 512, 1024 or
2048 ect.
Minimum one OS
block will go into
memory when
hard disk (any
thing other than
atabase) is read
Block Block Hard disk
Memory
Block Block Block Block
Block Block
When even an OS block size will go into the memory when hard disk is read, but when DB is read which is
nothing but a program on the hard disk but since DB instance running in the memory will read the DB,
when these is read minimum one DB block will travel from hard disk into the memory. So one DB block
would be one equal to one OS block or could be equal to two OS block or could be equal to 3 OS block
Pr Mohamed CHAKRAOUI
Exemple
Segment A (Extent 1) Segment A (Extent 2)
Database
Segment
Segment C (Extent 1)
Extension
Fact01.dbf Fact02.dbf
Bloc de données Bloc SE
Pr Mohamed CHAKRAOUI
Dictionnaire de données –
Les vues dynamiques
Nom de la vue Description
V$VERSION Nom du composant logiciel et no de version du noyau
Oracle
V$DATABASE Informations de la base de données.
V$INSTANCE Informations sur l’instance.
V$SGA Informations résumées sur la SGA.
V$SGA_DYNAMIC_COMPON Informations détaillées sur les zones mémoire de la SGA.
ENTS
V$PARAMETER Information sur les différents paramètres de l’instance et de
la BD.
V$OPTION Informations des composantes optionnelles installées sur le
serveur BD.
V$SQL Informations des requêtes SQL exécutées par tous les
Pr Mohamed CHAKRAOUI
utilisateurs de la BD.
Fonctionnement d’Oracle –
Requête SELECT (1)
Pr Mohamed CHAKRAOUI
Fonctionnement d’Oracle –
Requête UPDATE
Pr Mohamed CHAKRAOUI
Fonctionnement d’Oracle –
Commande COMMIT
Pr Mohamed CHAKRAOUI
Fonctionnement d’Oracle –
Commande ROLLBACK
Pr Mohamed CHAKRAOUI
Démarrage de l’instance (1)
Pr Mohamed CHAKRAOUI
Démarrage de l’instance (2)
II. Démarrage de la base de données
- L’administrateur précise une BD à monter
- L’instance ouvre le fichier de contrôle dont le chemin est la valeur du
paramètre CONTROL_FILES
- Les chemins des fichiers de données et journaux sont lus, mais pas ouverts
- État MOUNT : seuls SYSDBA et SYSOPER peuvent interroger la BD
- La vue V$DATABASE est interrogeable, mais pas les vues statiques, puisque
la base n’est pas ouverte
- Exemple de tâches : restauration, activation du mode ARCHIVELOG,
déplacement des fichiers de données et de journaux
STARTUP MOUNT [nom_BD]
Pr Mohamed CHAKRAOUI
Démarrage de l’instance (3)
III. Ouverture de la base de données
- Ouverture des fichiers de données et journaux. État OPEN : tous les utilisateurs
peuvent accéder à la BD. Toutes les vues du DD sont accessibles
- Si un tablespace a été mis en OFFLINE lors de l’arrêt, il le sera aussi à l’ouverture
de la BD
- Si le dernier arrêt a été anormal, alors une opération de récupération est effectuée
par SMON
STARTUP OPEN [nom_BD]
- Il est possible d’ouvrir la BD en mode READ ONLY
ALTER DATABASE OPEN READ ONLY
- Pour remettre la BD en mode READ WRITE
ALTER DATABASE OPEN READ WRITE
Pr Mohamed CHAKRAOUI
Démarrage de l’instance (4)
Pr Mohamed CHAKRAOUI
Démarrage de l’instance (5)
Pr Mohamed CHAKRAOUI
Arrêt de la base de données
(1)
Pr Mohamed CHAKRAOUI
Arrêt de la base de données
(2)
Pr Mohamed CHAKRAOUI
Arrêt de la base de données
(3)
Pr Mohamed CHAKRAOUI
Arrêt de la base de données
(4)
Pr Mohamed CHAKRAOUI
Etapes de démarrage de la BDD
Pr Mohamed CHAKRAOUI
Gestion de l’instance
Pr Mohamed CHAKRAOUI
Gestion de l’instance
Pr Mohamed CHAKRAOUI
Gestion de l’instance
L’ensemble des paramètres sont consultables sur V$PARAMETER
L’attribut ISSYS_MODIFIABLE peut avoir la valeur :
1.FALSE: le paramètre est statique, sa modification s’applique après redémarrage
2.IMMEDIATE: le paramètre est dynamique, et modifié pour la session courante
3.DEFERRED: le paramètre est dynamique, et modifié pour la session future
Pr Mohamed CHAKRAOUI
Gestion de l’instance
Pour modifier un paramètre statique sur un SPFILE
1. Si le serveur en arrêt
Démarrer en NOMOUNT, ALTER SYSTEM ensuite, redémarrage
2. Si le serveur fonctionne
ALTER SYSTEM avec un SCOPE=SPFILE ensuite, redémarrage
Différence entre les vues des paramètres
V$PARAMETER : valeurs actuelles des paramètres dans la session courante.
V$SYSTEM_PARAMETER : valeurs actuelles des paramètres dans l’instance (toutes
sessions confondues)
V$SPPARAMETER : contenu du fichier SPFILE avec lequel le serveur a démarré.
Contenu vide si le serveur a démarré avec un PFILE
Pr Mohamed CHAKRAOUI
L’environnement oracle
mutualisé(multitenant)
L’architecture mutualisée permet à une BDD oracle de fonctionner
comme un conteneur BD mutualisé (CDB) qui peut avoir 0, 1 ou
plusieurs BDD PDBs (pluggable)
Une PDB est une collection portable de schémas, et des objets de
schéma.
Donc grâce a cette option, une instance Oracle peut héberger
plusieurs bases.
Pr Mohamed CHAKRAOUI
Les composants d’un CDB
ROOT:
Root nommé CDB$ROOT stocke les métadonnées et les utilisateurs
communs fournis par Oracle.
Un CDB a exactement un seul Root
SEED
Nommé PDB$SEED est un modèle que vous pouvez utiliser pour créer une
nouvelle PDB.
Un CDB a exactement un seul seed
PDBs
Une PDB apparait aux utilisateurs et aux applications comme si elle était une
non-CDB
Pr Mohamed CHAKRAOUI
Les composants d’un CDB
Chacun de ces composants est appelé conteneur(container).
Chaque conteneur possède un ID unique et un nom dans un CDB.
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
Pr Mohamed CHAKRAOUI
L’environnement oracle
mutualisé(multitenant)
Les avantages mis en avant sont :
Il y a une entière compatibilité avec les bases non-CDB : aucune modification
de code n'est nécessaire
Meilleure utilisation des ressources de la machine (mutualisation de la
mémoire partagée et des metadata oracle)
Upgrade plus facile car on upgrade la CDB. Autre methode : on plug la PDB
sur une CDB déjà upgradée
Support d'Oracle RAC sur une CDB
Support de DataGuard sur une CDB
Support d'EM sur une CDB
Support du Resource Manager sur une CDB
Séparation des metadatas utilisateur des metadatas Oracle (tablespaces
SYSTEM et SYSAUX séparés)
Remarque : l'accès aux metadata des objets Oracle depuis une PDB se fait
par des pointeurs internes vers les metadatas de la CDB.
Pr Mohamed CHAKRAOUI
Quel est l’intérêt ?
Pr Mohamed CHAKRAOUI
Quel est l’intérêt ?
Moins de ressources (1 seule instance)
Moins de RAM
Moins de CPU (car moins de processus)
Moins de STOCKAGE (1 seule fois le dictionnaire interne)
Plus de souplesse
Duplication d’une base de données « pluggable » en 1 ligne de commande sous
« sqlplus »
On peut « attacher » ou « détacher » une « Pluggable Database » d’un « Container » à
un autre indépendamment de la version Oracle du « Container » (c’est d’ailleurs une
technique de migration supportée)
On peut donner des droits d’administration uniquement des « Pluggable Database »
aux administrateurs d’application correspondants (nouveau rôle)
Les patchs ne s’appliquent qu’aux « containers »
Réduction des couts
Moins de ressources = moins de « hardware » et moins de ressources humaines(DBAs)
Moins de « hardware » = moins de licences
Délégation possible d’une partie de l’administration des bases de données (aux
responsables applicatifs)
Pr Mohamed CHAKRAOUI
SYSAUX TABLESPACE
The SYSAUX tablespace stores data for auxiliary applications such as
the Log Miner, Work space Manager, Oracle Data Mining, Oracle
Streams, and many other Oracle tools.
This tablespace is automatically created if you use the DataBase
Creation Assistant(DBCA) software to build an Oracle database.
Like the SYSTEM tablespace, SYSAUX requires a higher level of security
and it cannot be dropped or renamed.
Do not allow user objects to be stored in SYSAUX. This tablespace
should only store system specific objects.
This is a permanent tablespace.
Pr Mohamed CHAKRAOUI