+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 9
    Points : 4
    Points
    4

    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
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 9
    Points : 4
    Points
    4

    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 Expert

    Inscrit en
    janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 307
    Points : 1 750
    Points
    1 750

    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
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 9
    Points : 4
    Points
    4

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •