Connaitre la date d'une data capture chargée dans un env. de tests - usage de ORA_ROWSCN
Il est utile dans les campagnes de tests connaitre la ( les ) date (s) des data captures chargées dans un env de tests dans des tables Oracle.
Pour les personnes en charges des tests il est utile de savoir si il ont chargé correctement un jeux de données de tests ou bien une data capture / data image et aussi quand cette action il a eu lieu.
Exemple : table TEST est chargée avec plusieurs data issues des env. de Prod / PProd etc.
En utilisant la pseudo colonne ORA_ROWSCN nous pouvons savoir la date de chargement de ces donnés d'un façon globale au niveau de cette table et non pas au niveau ligne ( on sait que ORA_ROWSCN fonctionne par block non par ligne ) car ce n'est pas notre objectif.
Exemple : Nous souhaitons savoir si il y a eu chargement de data le 2/05/2016 et aussi si il y a d'autre data présentes dans cette table de tests. Si ces conditions sont remplies alors on sait que les données nécessaires pour nos tests sont à priori chargées :
SELECT MAX(SCN_TO_TIMESTAMP(ORA_ROWSCN)) FROM TEST
Nous donne la dernière date de chargement de données dans la table TEST
Ex résultat : 08/05/16 02:55:43,000000000
et
SELECT DISTINCT(SCN_TO_TIMESTAMP(ORA_ROWSCN)) FROM TEST
Nous donne les dates de chargements de données dans la table.
Ex. résultats :
07/05/16 04:06:15,000000000
07/05/16 03:40:10,000000000
08/05/16 02:55:43,000000000
Utile pour vérifier si il y a eu des chargements de data de tests dans un env. de tests.
connaitre la date d'une data capture chargée dans un env. de tests
Il existe un moyen simple d'audite le chargement de données dans une table
de la base de test, en créant un trigger de type after insert, et une table
de sauvegarde d'informations afin de consigner toutes les données relatives au date
et heure, et l' utilisateur qui a initié l'action ..
voici un petit exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
create table sauv_infos (
utilisateur varchar2(20),
date_chargement varchar2(20));
create or replace trigger trig_sauv_infos
after insert on sauv_infos for each row
begin
insert into sauv_infos values
(user,to_char(sysdate,'dd/mm/yyyy hh24:mi:ss');
end;
/ |
Tu peux développer cette exemple afin de bien surveiller le chargement .