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

Adaptive Server Enterprise Sybase Discussion :

Space available in the log segment has fallen critically low in database 'tempdb'


Sujet :

Adaptive Server Enterprise Sybase

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut Space available in the log segment has fallen critically low in database 'tempdb'
    Bonjour,

    Je souhaite savoir quel est le code de la transaction qui rempli mon tempdb.
    Quelqu'un peut'il m'indiquer comment faire ?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut
    En récupérant par exemple le 'sqltext' de la transaction restée ouverte (master..syslogshold) à l'aide d'une procédure de seuil.

  3. #3
    Membre Expert

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    Aussi disponible dans les tables MDA (monSysSQLText, monProcessSQLText, etc) pour ASE 12.5.0.3 et suivants...

    Michael

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Bonjour,
    Les tables MDA ne sont pas installées sur mes Dataservers.
    En récupérant par exemple le 'sqltext' de la transaction restée ouverte (master..syslogshold) à l'aide d'une procédure de seuil.
    Comment puis-je récupérer le sqltext à partir de le table master..syslogshold ?

    Je ne sais pas comment utiliser le contenu de ces colonnes dbid, reserved, spid, page, xactid, masterxactid, starttime, name, xloid afin de récupérer la transaction.
    Merci de votre aide.

  5. #5
    Membre Expert

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    Si je me souviens bien, c'est une command dbcc (dbcc sqltext(spid)) - donc pas facile de récupérer cela dans un select, par example.

    Par ailleur je conseille fortement l'installation des tables MDA, même si elles ne sont enclenchées que de façon ponctuelle pour trouver des problèmes.

    Michael

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Merci Michael.

    C'est bien dbcc sqltext(spid) après avoir fait un dbcc traceon(3604).


  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Bonsoir,

    Comment savoir de manière sûre le SPID de la transaction à l'origine du blocage, lorsqu'on à de nombreuses transactions bloquées, sp_who avec LOG SUSPEND ?
    Je regarde dans la table syslogshold, mais là aussi il y a du monde, dans sysprocesses idem ?

    Merci d'avance pour votre aide.

  8. #8
    Membre éprouvé
    Inscrit en
    Août 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 134
    Par défaut
    Pour récupérer le spid qui bloque:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            declare @holdingSpid int
            select  @holdingSpid = spid
            from    master..syslogshold
            where   dbid = db_id('tempdb')  -- si c'est la tempdb que vous cherchez
    Ensuite vous pouvez faire un sp_showplan, dbcc sqltext(<spid>) et un select dans sysprocesses (cf la doc sybase sur cette table) pour avoir un maximum d'infos.

    Il est a noter qu'il est possible depuis la 12.5.4 (ESD 5 je crois, peut être plus tôt) de savoir l'espace utilisé par un process en tempdb avec la fonction pssinfo.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select convert(int,PSSinfo(<spid>,"tempdb_pages")
    Renvoie le nombre de pages que le spid utilise en tempdb.

  9. #9
    Membre Expert

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    C'est pas vraiment simple. Il faut avoir un peu de jugeotte :-)

    Mais en général on doit pouvoir déterminer le process via le texte des tables MDA, ou via dbcc sqltext().

    Michael

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Merci.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/08/2014, 10h58
  2. Réponses: 2
    Dernier message: 07/12/2009, 08h11
  3. Eclipse: An error has occured see the log file
    Par taha1 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/08/2009, 03h25
  4. The log file for database 'base' is full
    Par freud dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 01/11/2006, 23h12
  5. [JDOM] The Content already has an existing parent
    Par F-GISD dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 21/07/2005, 10h26

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