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

Réplications Sybase Discussion :

REP env - comment supprimer une colonne sur ASE primaire?


Sujet :

Réplications Sybase

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut REP env - comment supprimer une colonne sur ASE primaire?
    Bonjour,

    Tout d'abord désolé si ma question est trivial. Je debute dans l'univers de la Replication.
    Notre environment de prod:
    1- REP server 15.5 avec RSSD installé sur un ASE 15.5
    2- 2 serveurs ASE 15.5 ESD#3
    3- 3 dbs repliquées avec la methode MSA (sp_reptostandby 'all' pour les 3 dbs) avec rep definition and subscriptions.
    4- Downtime max : 15 mins

    Comment puis-je supprimer une colonne d'une table (qui n'est pas une clé primaire ou étrangere) dans un environment repliqué comme décrit au-dessus?
    Dans ma compréhension, si je supprime une colonne d'une table, la replication va générer une erreur comme le REP server utilise les noms de colonnes dans la clause WHERE pour répliquer les données sur l'ASE secondaire.
    Y-a-t-il une methode simple d'exclure cette colonne de la replication puis la supprimer des 2 serveurs ASE? Y-a-t-il dans le REP server une classe d'erreur correspondant a la situation que je pourrais rendre non critique?
    Malheureusement je ne peux pas suspendre la replication, supprimer la colonne sur le secondaire, 'resumer' la replication puis faire un failover de
    l'activité sur le secondaire (technique employée quand on fait des upgrade/migration de l'application/db) car la replication va générer des erreurs.

    Merci
    Vincent

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Ma question ne semble pas etre très populaire. Peut-etre que c'est un signe pour dire que MSA n'est pas adapté à des changements de schemas, en particulier les suppressions de colonnes.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Si - on peut tout à fait la configurer pour repliquer le DDL (comme un warm standby).

    Malheureusement je n'ai pas (plus?) l'experience hands-on pour te donner des solutions adaptées spécifiquement à ton probleme.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci Michael!

    1) J'ai commencé par un faire un test simple sur un environnement de test. Supprimer une colonne d'une table sur le primaire pour voir si cela replique.
    En lancant "alter table .... drop ", un warning apparait indiquant que l'option 'SELECT INTO' est necessaire pour ca....hum pas une bonne nouvelle sur un environnement repliqué. J'ai donc ouvert un Sybase Case. La réponse est sans appel:
    "Alter table drop column is not supported (CR 366077). The reason is that under the covers this kind of alter table will use an SELECT INTO, which is not allowed in at multi-statement transaction either."

    2) Concernant mon cas particulier (drop column sur un standby avant de "resumer" la réplication), je crois que 2 cas s'offrent a moi.
    - créer un rep def pour cette table ou manque la colonne, cette rep def ayant priorité sur MSA.
    - ne pas supprimer la colonne. apres l'upgrade, "resumer" la réplication, quand tout est ok, faire un failover de l'activité sur ce nouveau PRIMARY upgradé, puis supprimer la colonne avant de faire le db dump qui servira a reconstruire le nouveau STANDBY.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment supprimer une connexion sur SqlDevelopper ?
    Par achraf dev dans le forum Sql Developer
    Réponses: 0
    Dernier message: 08/05/2015, 15h07
  2. Réponses: 9
    Dernier message: 17/02/2009, 19h48
  3. Comment nettoyer une colonne sur un tableau
    Par Tinien dans le forum Excel
    Réponses: 1
    Dernier message: 30/09/2008, 18h00
  4. [TDrawGrid]Comment afficher une colonne sur quatre ?
    Par Laurent Dardenne dans le forum Composants VCL
    Réponses: 5
    Dernier message: 11/02/2006, 17h42
  5. [excel]comment supprimer une colonne vide...
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/10/2005, 14h10

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