Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    juillet 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 1
    Points : 0
    Points
    0

    Par défaut [RS] Pb Replication Server

    Bonjour,
    Je cherche un moyen de purger la base log du serveur de réplication sybase, sachant que les diverses commandes du type :
    dump tran with no log ou dump tran with truncate only ne fonctionnent pas.

    C'est une version 12.5

    Merci.

  2. #2
    Rédacteur/Modérateur

    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 la log ne se purge pas c'est vraisemblablement qu'une transaction est encore ouverte.

    On peut voir l'état avec:

    Code :
    1
    2
     
    SELECT * FROM master..syslogshold
    ce qui donne quelque chose comme ceci:

    Code :
    1
    2
    3
    4
    5
    6
     
     dbid   reserved    spid   page        xactid           masterxactid     starttime           name                                                    xloid
     ------ ----------- ------ ----------- ---------------- ---------------- ------------------- ------------------------------------------------------------------- -----------
          8           0      0      198787   0x000000000000   0x000000000000 Jul 27 2006 12:54AM $replication_truncation_point                                                 0
          4           0    111     2629258   0x00281e8a0000   0x000000000000 Jul 27 2006 11:03AM $upd                                                            222
          4           0      0     2629190   0x000000000000   0x000000000000 Jul 27 2006 11:03AM $replication_truncation_point                                                 0
    On notera la transaction ouverte du SPID 111.
    Si la replication est enclenchée il peut aussi y avoir une très grande opération (p.ex. un UPDATE avec une clause WHERE peu restrictive). Cette opération est exécutée comme une seule transaction, mais doit être répliquée ligne par ligne (cad un UPDATE pour chaque ligne modifiée dans la base source). Ce genre de chose peu s'exécuter très lentement et faire en sorte que la log de la base source se remplisse...

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  3. #3
    Membre du Club
    Inscrit en
    décembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : décembre 2005
    Messages : 48
    Points : 53
    Points
    53

    Par défaut

    Si vous ne souhaitez pas répliquer le contenu du log (par exemple si vous avez loadé votre primary database sur un ASE ne faisant par partie d'un Sytème de réplication), il faut supprimer le second point de troncature du log (celui du Replication Server).
    Attention, vous en pourrez plus répliquer les données contenues dans le log.

    dbcc settrunc("ltm","ignore") permet de désactiver le second point de troncature.

  4. #4
    Rédacteur/Modérateur
    Avatar de fadace
    Homme Profil pro Fabien Celaia
    Administrateur de base de données
    Inscrit en
    octobre 2002
    Messages
    3 941
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien Celaia
    Âge : 44
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : octobre 2002
    Messages : 3 941
    Points : 15 895
    Points
    15 895

    Par défaut

    Je rajouterai même :
    • dbcc gettrunc() pour voir si le 2e point de troncature existe (sinon l'adresse retournée est 0)
    • Il y a toujours moyen de remettre le pointeur avec un dbcc settrunc('ltm','valid')... mais là, il faut savoir ou l'on met ses pieds
    Sr DBA Oracle / Sybase / MS-SQL / MySQL / DB2 / Postgresql / Informix
    Administrateur SAP
    Mes articles

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre actif
    Inscrit en
    mars 2006
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 293
    Points : 152
    Points
    152

    Par défaut

    On peut aussi , mais on pert une transaction, faire un truncate de la table rslastcommit ....
    Bourrin peut être mais efficasse ...

  6. #6
    Invité de passage
    Profil pro
    Administrateur de base de données
    Inscrit en
    juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : juillet 2011
    Messages : 3
    Points : 4
    Points
    4

    Par défaut

    "dbcc gettrunc" sans les paranthèses

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
  •