Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2010, 23h00   #1
Membre du Club
 
Avatar de taha1
 
Femme
débutantE ^ ^
Inscription : mai 2009
Messages : 106
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : débutantE ^ ^

Informations forums :
Inscription : mai 2009
Messages : 106
Points : 69
Points : 69
Par défaut historique d'une table

Bonjour,

J'ai un processus qui modifie une table (je n'ai pas accès au code source de ce processus mais je connais la table qu'il modifie) par contre ça m'intéresserai d'avoir une idée sur le temps qu'il met à modifier cette table (date de début, date de fin des opérations ...), est il possible de remonter à l'historique des modifications de cette table sous Oracle ?

Merci d'avance
taha1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 09h44   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Si vous êtes au moins en V10, la vue FLASHBACK_TRANSACTION_QUERY peut être appropriée.
Sinon, logminer, ou la mise en trace et tkprof.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 14h18   #3
Membre chevronné
 
Avatar de 13thFloor
 
Homme
DBA Oracle freelance
Inscription : janvier 2005
Messages : 558
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 45
Localisation : France

Informations professionnelles :
Activité : DBA Oracle freelance

Informations forums :
Inscription : janvier 2005
Messages : 558
Points : 718
Points : 718
Le package dbms_fga peut te rendre service.
Tu définis l'objet et les commandes SQL à auditer et Oracle logue les opérations dans la vue dba_fga_audit_trail.

Exemple :
Code :
1
2
3
4
5
6
exec dbms_fga.add_policy (object_schema=>'SCOTT',object_name=>'TA_TABLE',policy_name=>'MA_REGLE', statement_types => 'SELECT, INSERT, UPDATE, DELETE');
 
SELECT session_id, timestamp , db_user, userhost, object_name, object_schema, policy_name, 
       scn, sql_text, statement_type 
  FROM dba_fga_audit_trail
WHERE object_name='TA_TABLE';
Pour stopper l'audit :
Code :
exec dbms_fga.drop_policy (object_schema=>'SCOTT',object_name=>'TA_TABLE',policy_name=>'MA_REGLE');
13thFloor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 20h58   #4
Membre du Club
 
Avatar de taha1
 
Femme
débutantE ^ ^
Inscription : mai 2009
Messages : 106
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : débutantE ^ ^

Informations forums :
Inscription : mai 2009
Messages : 106
Points : 69
Points : 69
merci je vais essayer vos solutions par contre j'ai une autre question : j'ai un trigger qui met à jour une table, et en même temps j'ai un autre processus qui utilise cette table, ma question est : est ce que le trigger peut rendre ma table "corrompue" le temps qu'il finisse sa mise à jour ou est ce qu'il la bloque jusqu'à ce qu'il termine ?
merci encore


Pour dbms_fga, je ne peux pas tester ce que ça donne chez moi puisque j'ai Oracle Database 10g Express Edition Release alors que le Fine-grained Auditing est présent juste dans l'Entreprise Edition ( dommage pour moi), il me donne cette erreur : ORA-00439: fonction non activée : Fine-grained Auditing pas juste
taha1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 16h01   #5
Membre chevronné
 
Avatar de 13thFloor
 
Homme
DBA Oracle freelance
Inscription : janvier 2005
Messages : 558
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 45
Localisation : France

Informations professionnelles :
Activité : DBA Oracle freelance

Informations forums :
Inscription : janvier 2005
Messages : 558
Points : 718
Points : 718
Citation:
Envoyé par taha1 Voir le message
j'ai une autre question : j'ai un trigger qui met à jour une table, et en même temps j'ai un autre processus qui utilise cette table, ma question est : est ce que le trigger peut rendre ma table "corrompue" le temps qu'il finisse sa mise à jour ou est ce qu'il la bloque jusqu'à ce qu'il termine ?
Que fait cet autre processus ? Si c'est de la lecture, pas de souci, les données accédées seront lus dans le cache/fichier ou dans les undo (pour les données en cours de modification par le trigger).
Si c'est de l'update, pas de souci tant que la table n'est pas verrouillée en mode exclusif. Dans ce cas il faudra attendre la fin de la transaction.
Le verrouillage se fait par défaut au niveau ligne.
13thFloor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h09.


 
 
 
 
Partenaires

Hébergement Web