Vous êtes sur la page 1sur 8

Nom: ACHKARI BEGDOURI

Prénom: Achraf
Filière: GINF2

Compte Rendu
Administration et sécurité des bases de données

Question de cours:
1)
Oracle utilise le concept logique des ‘Tablespaces’ comme l’unité la plus grande
de stockage, ou tous le données de la base sont stocké, les Tablespaces sont
constitués des segments avec 4 différents type:
- segment de table
- segment d’index
- segment d’annulation
- segment temporaires
et ces segments sont de même composés des « extents » dans lesquelles on
trouve les blocs qui est l’unité la plus petit de stockage dans oracle
2)
- La sécurité interne de la base de donnée dans le cas de plusieurs utilisateurs sur
la même base
- la sécurité externe : les attaques externes
- la pertes des données pour des raisons physique
3)
- Démarrage de l’instance : réservation de la mémoire et démarrage des
processus
- Lire les fichiers de contrôle
- Lire les fichiers de données
4)
- On va utiliser le mode « Transactionnel » : les clients qui font des transactions
sont autorisés à les terminer.
PS :
-Immédiate : les requetés des clients en cours d’exécution sont autorisés à
continuer. Tt transaction non comité sera rollbacker.
- Normal : DECONNECT THEM AAAAALLLL ! .

5)
- Dictionnaire Cache : utilisé pour chercher les noms d’objet et valider l’accèes
- Library Cache : Conserve des informations sur les dernières instruction SQL et
PL/SQL exécutées.
- Redo Logo Buffer : c’est le tampon de journalisation qui enregistres toutes la
modification apportée au blocs de données de la base
- Shared Pool : c’est le mémoire qui contient la « Library Cache » et le « Cache
Dictionnary »
6)
- l’audit chez oracle est une techniques qui permet de détecter des violations de
sécurité potentielles en révélant des modelés suspects au anormaux d’utilisation
du système, et sous oracle il existe 2 type d’audit :
Audit par trigger : créer des triggers en utilisant le PL/SQL pour tracer tous les
actions du DML sur une base définie.
Audit par la commande « AUDIT » : c’est un audit automatique mis en place par
oracle dans la version 11g, pour tracer automatiquement les actions
7)
SMON ( System Monitor) :
- Récupération de l’instance
- Fusion de l’espace libre
- Libération des segments temporaires
LGWR (Log Writer) : écrit dans les cas suivants
- Validation
- Un tiers du cache est occupé
- Avant que le processus DBWn ne procède une opération d’écriture
8)
PGA (Process Global Area) : Mémoire réservée à chaque processus utilisateur qui
se connecte et elle est allouée lorsqu’un processus est créée et libéré à la fin du
processus
9)
- l’intégrité
- confidentialité
- disponibilité
- non répudiation
- l’authentification

Exercice 2:
1)
Creation de la Tablespace ‘USER_Lambda’

Création du profile ‘P_Lambda’

Création d’utilisateur USER_Lambda

2)
Création de la tablespace TableAlpha
Création de l’utilisateur Alpha

3)
On ne peut pas donner l’accès pour accéder à une colonne d’une table
sur oracle, alors Il faut passer par une vue.
D’abord il faut donner au utilisateur USER_Lambda le privilége de créer
une vue :

Après créer une vue sur USER_Lambda:

Donner le privilège de sélectionne la vue à la table Alpha:


Exercice 3:
1) Création du USER1 avec les PS connect et resource

On se connecte en tant que USER1 :

2) DBA_USERS, DBA_PROFILES

3) On se connecte avec SYSTEM pour utiliser la vue dba_profiles

4)
5)

6)
Exercice 4:
1)
le trigger pour toutes les colonnes :
create or replace trigger emp_journal_trigger
before delete or update or insert
on emp
for each row
begin
case
when inserting then
insert into emp_journal values(:new.id,:new.name,:new.age,:new.salary,'is
erting',sysdate);
when updating then
insert into emp_journal values(:new.id,:new.name,:new.age,:new.salary,'up
dating',sysdate);
when deleting then
insert into emp_journal values(:old.id,:old.name,:old.age,:old.salary,'de
leting',sysdate);
end case;
end;

Les résultats dans la table produit_journal

Le trigger pour une seule colonne :


create or replace trigger NomProd_Trace_Trigger
before delete or update or insert
on Produit
for each row
declare
traceid int;
rowcount int;
begin
select count(*) into rowcount from NomProd_Trace;
if (rowcount > 0) then
select max(NomProdTraceId) into traceid from NomProd_Trace;
traceid := traceid + 1;
else
traceid := 0;
end if;
case
when inserting then
insert into NomProd_Trace
values (traceid, null, :new.NomProd, 'INSERT', sysdate);
when updating then
if (:old.NomProd != :new.NomProd) then
insert into NomProd_Trace
values (traceid, :old.NomProd, :new.NomProd, 'UPDATE', sysdate);
end if;
when deleting then
insert into NomProd_Trace
values (traceid, :old.NomProd, null, 'DELETE', sysdate);
end case;
end;

Les résultats dans la table NomProd_Trace

2) depuis la version 10g, oracle à retirer la possibilité de tracer le select


sur les table en utilisant les triggers, en la remplaçant par la nouvelle
commande ‘AUDIT’

Vous aimerez peut-être aussi