IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

PLSQL pour les objets d'une base


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 49
    Points : 32
    Points
    32
    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

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    --> Oracle Streams

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    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 ??

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

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

    B
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create procedure p(stmt varchar2) is begin 
     ... dba_jobs.submit blabla stmt
    end;
    /
    A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    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

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    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

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    merci bcp mais j'ai pas compris comment je peux capture les ddl ...etc
    avez vous un exemple qui peut m'être utile ?

  8. #8
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/05/2012, 17h34
  2. recompiler les objets d'une base de données
    Par fouad77fr dans le forum Administration
    Réponses: 3
    Dernier message: 03/09/2007, 14h11
  3. Réponses: 3
    Dernier message: 20/04/2007, 17h26
  4. Grouper les objets d'une base de données
    Par Daniel-Gérald dans le forum Access
    Réponses: 2
    Dernier message: 11/01/2007, 20h45
  5. norme pour nommer les objets d'une bd
    Par katou3 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/07/2005, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo