Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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 11/08/2011, 09h44   #1
Invité régulier
 
Homme Emmanuel
Exploitant d'applications
Inscription : août 2007
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Âge : 24
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Exploitant d'applications
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : août 2007
Messages : 14
Points : 6
Points : 6
Par défaut "Mélanger" une table dans une base de données ORACLE

Bonjour,
je voudrais anonymiser une base de données ORACLE (qui est installée sur un serveur UNIX)
Pour cela, le parti que l'on a pris, c'est de "mélanger" les noms entre eux, mélanger les prénoms entre eux etc ...
j'aurais aimé avoir votre avis et un peu d'aide sur la procédure à suivre.
A noter que la table contenant les champs nom, prénom etc... contient environ 180 000 enregistrements.
Personnellement, je pensais faire comme suit :
Citation:
positionnement aléatoire --> récupération du nom dans une variable (nom1), récupération de la position dans une autre variable(position1)
positionnement aléatoire -->récupération du nom dans une variable (nom2), update du nom par la variable nom1
positionnement à position1 --> update du nom par la variable nom2
est-ce la bonne méthode ?
la base que je dois traitée sera indisponible pour les utilisateurs durant la manipulation, je n'ai donc pas de problèmes de "surcharge" de la base.

que me conseillez vous ?

En vous remerciant de votre réponse.

Cordialement
Manu59410 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 10h20   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
ce serais pas plus simple de remplacer les caractères un à un en passant par un CHR(RANDOM)... enfin, c'est l'idée quoi
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 10h28   #3
Invité régulier
 
Homme Emmanuel
Exploitant d'applications
Inscription : août 2007
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Âge : 24
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Exploitant d'applications
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : août 2007
Messages : 14
Points : 6
Points : 6
l'élément, c'est que cette base doit servir de base de formation...
et on veut que les éléments restent crédibles ...
(pas de zfotlik naujeg en nom et prénom par exemple ...)
Manu59410 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 11h36   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 810
Points : 5 810
Si je bien compris votre demande : faite une fonction qui génère des valeurs valides de la clé primaire de la table de départ d’une manière aléatoire et utilisez ensuite la fonction une première fois pour piquer un nom de la table de départ et une deuxième fois pour le prénom, etc. et générez une nouvelle table. Ou lisez 10000 lignes dans un tableau PL/SQL mélangez les donnés et écrivez le résultat dans la nouvelle table.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/08/2011, 14h17   #5
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Avez vous pensé au Data Masking d'Oracle?

https://apex.oracle.com/pls/apex/f?p...28499015368785

Par contre, il me semble qu'il n'est disponible qu'à partir de la version 11gR2
__________________
Bien Cordialement
www.hourim.wordpress.com
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 14h49   #6
Rédacteur
 
Inscription : décembre 2002
Messages : 2 387
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 387
Points : 3 265
Points : 3 265
Citation:
Envoyé par Mohamed.Houri Voir le message
Avez vous pensé au Data Masking d'Oracle?
C'est vrai que c'est une solution, pour peu qu'on soit prêt à ouvrir le portefeuille pour se payer cette option...
__________________
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 11/08/2011, 15h10   #7
Invité régulier
 
Homme Emmanuel
Exploitant d'applications
Inscription : août 2007
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Âge : 24
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Exploitant d'applications
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : août 2007
Messages : 14
Points : 6
Points : 6
tout d'abord, merci pour vos réponses.
Pour le data masking, étant donné la non gratuité de cet outil, cela m'est impossible.
Qui plus est, ma base est une base oracle 10G.
enfin, le but n'est pas de masquer ou de rendre illisible les données, mais bien de les modifier (ou de les mélanger) pour conférer aux personnes inscrites dans la base un certain anonymat.

mnitu, je pense que je vais faire comme vous le suggérez, je posterai mon script, ainsi ça permettra à d'autres personnes de faire la même chose.

Encore merci
Manu59410 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h42   #8
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Citation:
Envoyé par Mohamed.Houri Voir le message
Par contre, il me semble qu'il n'est disponible qu'à partir de la version 11gR2
Salut,

Il est disponible dans la version 10g Release 4 (10.2.0.4.0).
__________________
Publications: http://schelabi.developpez.com/
salim11 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 10h51.


 
 
 
 
Partenaires

Hébergement Web