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

Sybase Discussion :

Pb de dump transaction / "figeage"


Sujet :

Sybase

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Points : 68
    Points
    68
    Par défaut Pb de dump transaction / "figeage"
    Bonjour

    Suite a un traitement important (au niveau volumetrie), je constate un remplissage de la log de la base. Une commande de delete reste alors en cours.

    Je tente de faire un dump tran...sans succés. Pire, le dump tran passe en sleeping et ne rend jamais la main.

    J'ai constaté aussi un process au status 'PLC sleep' et lancant la commande 'CHECKPOINT SLEEP' sur la base incriminée (Sasns doute un process systeme)

    Le probleme s'est deja posé plusieurs fois et le seul moyen de "corriger le probleme" a été de redémarrer le serveur SYBASE. Le probleme est que la base ne remontait pas direcetement, j'ai du updater la table sysdatabases (status=-32768), puis redémarrer le serveur SYBASE, puis reloader un dump.

    Merci d'avance de votre aide

    jeeps64

    Rq : Sybase version 12.5.3 sur Windows

  2. #2
    Membre chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Le problème est que si le delete qui rempli le tranlog est encore en cours alors on ne peut pas tronquer le tranlog.

    Solutions:

    1. Splitter le delete en plusieurs batch, p.ex. avec une boucle.
    2. Aggrandir la taille du tranlog...

    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
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Points : 68
    Points
    68
    Par défaut
    Le dump tran, meme si il ne fait rien, doit quand meme tourner or la il ne tourne pas du tout.

    Pour info, je n'arrive pas a killer le process de delete en cours (il est en status 'sleeping'). Dans l'errorlog, il me dit bien qu'il le kill mais en fait il le fait pas.

  4. #4
    Membre chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Je ne sais pas exactement quel est le problème - j'ai eu un problème similaire il y a quelques années, et il était du à un problème interne de la base (mauvais calcul de l'espace log dispo).

    A priori il faudrait vérifier la cohérence de la base (dbcc, vérification que la taille du syslog via sp_helpdb soit cohérente, etc).

    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

  5. #5
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Points : 68
    Points
    68
    Par défaut
    Bonjour

    J'ai fait les dbcc checkstorage et checkdb sur la base...vierge
    Puis un dbcc checktable sur la table "à deleter"...lui aussi vierge

    En ce qui concerne la log de la base, elle a l'air clean

    Je vais tenter de dropper / recreer la base et les devices ce soir.
    Je seche complet la

    Merci encore des infos


    jeeps64

  6. #6
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Points : 473
    Points
    473
    Billets dans le blog
    1
    Par défaut
    Le dump tran est aussi une commande loggée et il se peut alors que si ta log est completement pleine il ne puisse etre effectué.
    Il faut alors utiliser l'option with no_log pour effectuer le dump tran dont la réalisation ne sera plus conditionnée par le taux de remplissage de la log.

    C'est peut etre ton probleme.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Points : 68
    Points
    68
    Par défaut
    J'ai de nouveau reproduit le probleme
    Et en effet, le dump tran db with no_log a fonctionné...je n'y avais pas pensé

    Merci beaucoup

    Bonne journée

  8. #8
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Points : 68
    Points
    68
    Par défaut
    J'ai de nouveau reproduit le probleme
    Et en effet, le dump tran db with no_log a fonctionné...je n'y avais pas pensé

    Merci beaucoup

    Bonne journée

  9. #9
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Points : 68
    Points
    68
    Par défaut
    Bonjour

    Mon probleme est en cours de resolution
    En effet, le dump tran with no_log a fonctionné
    En travaillant sur les traitements qui tournaient au moment du probleme, je me suis rendu compte que l'un d'entre eux faisait une transaction non loguée
    Une fois cette commande modifiée, les threshold se sont déclenchés correctement et plus de probleme

    Merci a tous

    jeeps64

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

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