Data">
Cours Administration Des BD 1
Cours Administration Des BD 1
Cours Administration Des BD 1
Système de gestion de base de données qui fournit une approche intégrée, complète et
ouverte de la gestion des informations. Il se compose d’une instance Oracle et des fichiers
de base de données.
1- Le client contacte le listener Oracle et choisit une instance (demande d’un nom de
service).
2- Le listener démarre un processus dédié appelé processus serveur.
3- Le listener envoie un accusé de réception au client avec l’adresse du processus serveur
dédié.
4- Le client établit une connexion avec le processus serveur dédié.
5- Le processus serveur se connecte à l’instance Oracle pour le compte du processus
utilisateur (création d’une session utilisateur)
Le processus utilisateur n’interagit pas directement avec le serveur Oracle. C’est le processus
serveur qui le fait.
-2-
Quand un utilisateur soumet une requête SQL, le processus serveur extrait des informations
stockées dans les tables du dictionnaire et les place dedans pour des besoins de réutilisation.
- Cache ”Library” :
Il conserve, à des fins de partage, des informations sur les commandes SQL et le code PL/SQL
récents soumis par des utilisateurs de la BD → Optimiser les ressources.
-3-
Géré par un algorithme LRU, il conserve des copies des blocs de données extraits des fichiers.
Il récupère les données et enregistre toutes les modifications apportées aux blocs de données
de la BD. Ces modifications constituent des entrées de journalisation.
• Point de reprise
• Seuil des tampons ”dirty” atteint
• Aucune mémoire tampon disponible
• Temps imparti dépassé
• Demande de ping RAC
• Tablespace hors ligne ou en lecture seule
• DROP ou TRUNCATE sur une table
• BEGIN BACKUP sur un tablespace
Processus LGWR (Log Writer) : écrit les entrées de journalisation sur le disque dans les cas
suivants :
• Validation
• Un tiers du cache est occupé
• La journalisation atteint 1 Mo toutes les trois secondes avant que le processus DBWn ne
procède à une opération d’écriture.
Processus CKPT (Check Point) : informe le processus DBWn des points de reprise pour lancer
la mise à jour, met à jour les entête de fichiers de données et de contrôle avec les informations
sur le point de reprise.
PMON (Process Monitor) : assure le nettoyage des processus utilisateur en cas d’échec
(session abandonnée) : annule la transaction, redémarre les répartiteurs interrompus, etc.
Chaque processus serveur ou en arrière-plan dispose de sa propre mémoire PGA privée qui lui
est exclusivement réservée.
Le dictionnaire de données :
Le dictionnaire de données Oracle est la description d’une BD, créé et mis à jour en même
temps qu’elle. Il contient le nom et les attributs de tous les objets de la base et ses
informations sont stockées dans des tables de base.
Il appartient à l’utilisateur SYS, mais les autres utilisateurs peuvent y accéder par le biais de
vues prédéfinies :
Préfixe DBA : vue de l’administrateur de la BD (ce que contient le schéma de chaque user).
Exemples :
Les vues V$ :
Ce sont des vues dynamiques qui enregistrent l’activité en cours de la BD. Elles sont
constamment mises à jour lorsque la BD est active et accessibles par un DBA.
Exemples :
Démarrage de la BD Oracle :
Paramètres d’initialisation :
Les paramètres d’initialisation permettent entre autres de spécifier le nom de la BD,
l’emplacement des fichiers de contrôle, le répertoire de destination des fichiers de données
(datafiles), la destination des fichiers de journalisation (redo log files), etc.
Paramètres statiques :
Ils ne peuvent être modifiés que dans le fichier de paramètres uniquement à l’aide des
commandes ALTER SYSTEM avec l’option SCOPE=’SPFILE’.
Un redémarrage de l’instance est nécessaire pour que les modifications prennent effet.
Paramètres dynamiques :
Ils peuvent être modifiées tant que la BD est en ligne et sont valides pour la durée de la session
ou dans les limites établies par le paramètre SCOPE.
Les modifications sont effectuées à l’aide des commandes ALTER SESSION et ALTER SYSTEM.
-6-
Pour démarrer une instance, le serveur Oracle doit lire le fichier de paramètres d’initialisation
qui contient les paramètres d’initialisation pour allouer la SGA et démarrer les processus
d’arrière-plan. Il existe deux types de fichier de paramètres d’initialisation :
C’est un fichier texte, indispensable dans les postes clients, qui ne peut être ouvert que lors
du démarrage de l’instance. S’il est modifié (manuellement ou pas) en cours, l’instance doit
être interrompue et redémarrée pour que les nouvelles valeurs des paramètres soient
effectives.
Créer un fichier au format texte à partir d’un fichier de paramètre au format binaire :
C’est un fichier binaire, accessible par le serveur de BD qui présente un moyen dynamique de
gérer les paramètres.
Les modifications apportées par le serveur et ne nécessitent pas une installation en copie dans
les postes clients en cas d’une connexion à distance.
Démarrage de la BD :
Lors du démarrage, les structures mémoires et les processus sont initialisés et démarrés.
Différents modes de démarrages sont possibles :
-7-
Démarre
Ouvre les fich de Mode Monte la BD Crée la SGA et démarre shutdown la BD et
données et log lecture mais n’y les processus en arrière- abort et un la place
seule ou permet pas plan mais ne permet restart de la en mode
Démarre l’instance et ouvre la BD écriture l’accès pas l’accès à la BD BD ouvert
La commande ALTER :
Pour que les données ne soient pas modifiées, on peut ouvrir la base en mode read-only :
Arrêt de la BD :
Fermer la BD :
- Quand la BD se ferme, Oracle écrit les changements de la BD buffer cache et les entrées
du buffer redo log dans les data files et redo log files.
- Les control files restent ouverts.
Arrêt de l’instance
- Libération de la SGA.
- Arrêt des background processes.
- Fermeture des fichiers trace et ALERT (journaux chronologiques des messages d’erreur).
-8-
- Le serveur attend la déconnexion de tous les utilisateurs avant de terminer l’arrêt (temps
d’attente peut être important).
- Oracle ferme et démonte la BD avant d’arrêter l’instance.
- Pas de restauration de l’instance lors du démarrage suivant (car toutes les informations
modifiées encore présentes dans la SGA sont écrites dans les data files et redo log files).
Arrêt TRANSACTIONNEL :
Arrêt IMMEDIATE :
Arrêt ABORT :
- Le serveur oracle n’attend pas la déconnexion des utilisateurs avant de terminer l’arrêt.
- Les transactions non commitées ne seront pas effectuées (rollback).
- L’instance sera fermée sans la fermeture des fichiers.
- Restauration de l’instance lors du démarrage suivant.
-9-
Segments : C’est un ensemble d’extensions. Chaque segment est dédié au stockage d’un type
particulier d’informations (tables, index, etc.)
-10-
Créer un TABLESPACE :
Supprimer un TABLESPACE :
Supprimer les objets stockés dans le tablespace : drop tablespace nom_tablespace including
contents
Compte utilisateur de la BD :
Compte utilisateur de la BD :
A chaque création d’un compte utilisateur de BD il faut définir un nom unique et une méthode
d’authentification. Les éléments pouvant être attribués par défaut sont : un tablespace par
défaut, quotas sur un ou plusieurs tablespaces, un tablespace temporaire, un profil utilisateur,
un statut de compte (verrouillé ou expiré), etc. Il ne peut pas être modifié.
Mode d’authentification qui nécessite le privilège SYSDBA ou SYSOPER (ce qui permet de
copier les mots de passe des utilisateurs du dictionnaire de données dans un external
password file qui peut être lu par l’instance (même si la BD n’est pas ouverte).
Associer à chaque utilisateur créer un mot de passe qu’il devra saisir lors de chaque connexion.
Externe :
Si l’option de sécurité avancée est autorisée, le service externe peut être un serveur Kerberos,
un serveur RADIUS, ou (dans l’environnement Windows), le service d’authentification natif de
Windows. Sinon l’authentification se fait par le système d’exploitation.
Global :
Ce mode d’authentification permet d’identifier les utilisateurs via Oracle Internet Directory.
Privilèges :
C’est le droit d’exécuter un type particulier d’instruction SQL ou d’accéder à l’objet d’un autre
utilisateur (commande GRANT ou REVOKE). Il existe deux types de privilèges utilisateur :
Privilèges système :
Privilèges objet :
Permettent à un utilisateur d’effectuer une action particulière sur un objet spécifique (Ex :
table, vue).
Rôles :
Accorder des privilèges à un rôle, puis accorder ce rôle à chaque utilisateur. → Gestion
simplifiée.
Rôles prédéfinis :
-13-
Créer un rôle :
Création d’un rôle SUPERDBA avec mot de passe et intégrant le rôle DBA et des privilèges
système :
Profils :
Un seul profil est affecté à un utilisateur à un instant donné.
Un profil gère les fonctionnalités de mots de passe (option toujours activée) et contrôle la
consommation des ressources (option activée si la valeur de paramètres d’initialisation
RESOURCE LIMIT est à TRUE. Sa valeur par défaut est FALSE).
Empêcher les utilisateurs dotés du privilège système ANY TABLE d’accéder aux tables de base
du dictionnaire. La valeur FALSE empêche également l’utilisateur SYS de se connecter sous un
autre compte que SYSDBA.
Le privilège d’exécution sur les packages suivants doit toujours être révoqué de PUBLIC :
Pour désactiver l’authentification à distance, il faut vérifier que la valeur FALSE (par défaut)
est affectée au paramètre d’initialisation d’instance REMOTE OS AUTHENT.
-15-
Audit standard de la BD :
L’audit se fait sur l’utilisation des privilèges, notamment l’accès aux objets. Il permet
d’identifier les commandes exécutées sur une
table, mais ne peut pas fournir des
informations sur les modifications faites.
DB : active l’audit, les enregistrements sont dans la table BD défini par SYS.aud$.
L’audit via la BD permet de visualiser les résultats par des requêtes simples contre les vues du
dictionnaire relatives à l’audit. Il faut aussi auditer les actions de la table SYS.AUD$ par audit
all on SYS.AUD$ by access.
Niveaux d’audit :
Vues d’audit :
DML trigger : permet d’enregistrer les valeurs de toutes les modifications de la BD. (Tâche
impossible pour l’audit intégré d’Oracle).
• Les critères d’audit : définit la condition à vérifier pour que l’instruction soit auditée.
• L’action d’audit : le nom d’une procédure à exécuter lorsque la condition est vérifiée.
- ADD_POLICY : crée une stratégie d’audit à l’aide du prédicat fourni en tant que condition
d’audit.
- DROP_POLICY : supprime une stratégie d’audit.
- ENABLE_POLICY : active une stratégie d’audit.
- DISABLE_POLICY : désactive une stratégie d’audit.
Vues d’audit :
ALL_AUDIT_POLICIES : Toutes les stratégies d’audit détaillé pour les objets auxquels
l’utilisateur actuel peut accéder.
USER_AUDIT_POLICIES : Toutes les stratégies d’audit détaillé pour les objets du schéma de
l’utilisateur actuel.
- Pour auditer toutes les instructions, il faut utiliser une condition NULL.
- Une erreur est générée lors de l’ajout d’une stratégie existante.
- La table ou la vue auditée doit déjà exister lorsqu’il y a création de la stratégie.
- Si la colonne d’audit n’existe pas dans la table, aucune ligne n’est auditée.
-18-
Il existe plusieurs méthodes pour charger des données dans les tables d’une BD Oracle :
Pour lancer Data Pump, il faut créer un Directory Oracle où il y aura stockage des exports.
Fichiers SQL : contiennent les instructions LDD de la création des objets de la BD.
EXPDP/ IMPDP :
Privilèges nécessaires :
• EXP FULL DATABASE et IMP FULL DATABASE : permet d’exporter l’intégralité d’une BD,
un Tablespace, un schéma autre que le sien ou une table située dans un autre schéma.
• Tous les utilisateurs qui possèdent le rôle DBA ont la possibilité d’effectuer un import/
export d’une BD.
SQL*Loader :
Log File :
C’est un fichier qui enregistre les activités SQL Loader durant un chargement de données :
• Les noms des fichiers CONTROL FILE, BAD FILE, DISCARD FILE, Input Data File.
• Les champs et types de données qui ont été chargées.
• Messages d’erreurs sur les enregistrements non chargés.
• Le nombre d’enregistrements lus dans le fichier de données ou rejetés en raison
d’erreurs ou de critères de sélection.
• Le temps de chargement.
Bad File :
SQL Loader enregistre les erreurs (de lecture ou de chargement d’un enregistrement) dans un
fichier BAD FILE : enregistrement non conforme au format dans le fichier de contrôle,
violations de contraintes d’intégrité, tablespace plein, etc.
Discard File :
Les enregistrements qui ne répondent pas aux conditions de sélection spécifiées dans le
Control File sont rejetés et écrits dans le fichier DISCARD FILE.
-20-
Control File :
Exemple :