Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 20/04/2011, 19h33   #1
Invité régulier
 
Inscription : mars 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 48
Points : 7
Points : 7
Par défaut PLSQL pour les objets d'une base

Bonjour les amis ,

je veux en fait savoir détecter les modifications effectuées en termes d'objets (ajout d'un trigger ,renommage d'une colonne ,modification d'un type de données d'une colonne ...etc )au niveau d'une base de données A et les répercuter vers une base de données B avec plsql
SALMHSN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 13h06   #2
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
--> Oracle Streams
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/04/2011, 13h12   #3
Invité régulier
 
Inscription : mars 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 48
Points : 7
Points : 7
Merci pour ta réponse ,
oui mais oracle streams c'est le fait de configurer certains paramètres pour que oracle tout seul fait ce genre de réplication moi je veux faire çà à la main via un code plsql et je sais pas comment je peux procéder
avez vous une autre idée ??
SALMHSN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 13h43   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
Bon, si tu veux tout faire toi-même, tu crées un trigger DDL et tu exécutes le code capturé.

B
Code :
1
2
3
4
CREATE procedure p(stmt varchar2) IS begin 
 ... dba_jobs.submit blabla stmt
end;
/
A
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE DATABASE link l USING 'TINF25';
CREATE OR REPLACE TRIGGER tr after ddl ON schema
declare sql_text ora_name_list_t;
stmt VARCHAR2(4000) := '';
n number;
begin
n:=ora_sql_txt(sql_text);
FOR i IN 1..n
loop
stmt:=substr(stmt||sql_text(i),1,4000);
end loop;
p@l(stmt);
end;
/
Mais pourquoi vouloir réinventer la roue?
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/04/2011, 15h24   #5
Invité régulier
 
Inscription : mars 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 48
Points : 7
Points : 7
merci pour la réponse mais j'ai pas bien compris le fonctionnement du trigger
merci de m'éclaircir un peu .

je veux réinventer la roue parce que je veux synchroniser les objets de A vers la base B à l'aide de plsql

en fait je veux pas que l'exécution du code plsql du A vers B soit dans un temps réel mais lorsque l'admin veut synchroniser la base A avec B à un temps x il va exécuter la procédure plsql qui permet de faire la synchro des objets de la base
SALMHSN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 07h13   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
ok, dans ce cas tu captures tous les ddl dans un fichier sql que ton admin execute (ou tu crees un job que ton admin executeras)

mais streams permet aussi ca, tu demarres le processus de capture, mais pas celui d'apply
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2011, 13h39   #7
Invité régulier
 
Inscription : mars 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 48
Points : 7
Points : 7
merci bcp mais j'ai pas compris comment je peux capture les ddl ...etc
avez vous un exemple qui peut m'être utile ?
SALMHSN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2011, 14h50   #8
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
http://laurentschneider.com/wordpres...l-changes.html
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider 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 10h29.


 
 
 
 
Partenaires

Hébergement Web