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 :

[ASE15]Espace disque insuffisant pour executer un query sur une DB


Sujet :

Sybase

  1. #1
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut [ASE15]Espace disque insuffisant pour executer un query sur une DB
    Bonjour,

    Je viens d'installer sybase ASE, developper edition (version 15). J'ai laissé la config par défaut et installer uniquement le serveur sybase. J'ai crée une db qui contient quelque chose comme 8 tables. Lorsque j'essaye maintenant d'executer des requetes sur cette base (ajout de procédure stockée, trigger ou autre) voyez ce qu'il me répond :

    Gateway:~# 00:00000:00011:2006/12/11 11:09:04.39 server Space available in the log segment has fallen critically low in database 'pizzaNet'. All future modifications to this database will be suspended until the log is successfully dumped and space becomes available.
    00:00000:00004:2006/12/11 11:09:40.11 server 1 task(s) are sleeping waiting for space to become available in the log segment for database pizzaNet.
    00:00000:00013:2006/12/11 11:09:40.84 server Error: 2812, Severity: 16, State: 5
    00:00000:00013:2006/12/11 11:09:40.84 server Stored procedure 'sp_thresholdaction' not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).
    Note : ceci est obtenu sur la console du serveur.

    Je veut bien que la version soit limitée, mais à ce point ...

    Enfin bref, comment modifier la config du serveur pour éviter ce genre de problème ?

    Merci d'avance.

  2. #2
    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
    Solution à court terme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sp_dboption <nom_de_la_base>, 'trunc. log on checkpoint', true
    go
    Explication:

    Les opérations DML (modifications des données) sont loggées dans la table "syslogs". Celle-ci est une queue circulaire, et si on ne fait rien elle se remplis. Une fois pleine on ne peut plus faire de modifications dans la base.

    Il faut donc régulièrement vider la table syslogs. Si on n'a aucun besoin de ces logs on peut tronquer syslogs automatiquement (via la commande sp_dboption ci dessus). Sinon on utilise la commande "DUMP TRAN".

    Il faudrait lire le chapitre aproprié dans le manuel d'administration système (Chapitre 11 dans le PDF sag2 [Developing a Backup and Recovery Plan])

    Michael

  3. #3
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    Désolé de relancé ce vieux thread, mais j'ai de nouveau des problèmes.
    En fait, j'ai mit en place un serveur de développement, je me fou vraiment completement des logs et de l'historique que Sybase pourrait crée, cependant malgré l'option
    sp_dboption dbu2bin030, 'trunc. log on checkpoint', true
    la table syslogs se rempli toute seule et lorsque j'arrive à environ 2000 tuples, ca bloque, plus moyen d'enregistrer quoi que ce soit.

    Y a t'il un moyen pour éviter que cette table ne se remplisse ?

  4. #4
    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
    La table syslogs (le "transaction logs" de la base) va contenir toutes les modifications qui sont enregistrées. Si "trunc. log on checkpoint" est mis à vrai, alors les transactions COMMITTEES sont clearées régulièrements (à chaque checkpoint).

    Donc, si on a une transaction qui s'applique à un grand nombre de tuples il faut agrandir l'espace "log" de la base, ou alors splitter l'opération en plusieurs sous-transactions.

    On a tout à fait le même type de problème avec Oracle p.ex. (le message dans ce cas est "snapshot too old" qui indique que le redo log n'est pas assez grand pour contenir toute la transaction).

    Michael

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 569
    Points
    19 569
    Billets dans le blog
    25
    Par défaut
    et je te conseille ce merveilleux article, pile dans le mille : http://fadace.developpez.com/ase/log/

  6. #6
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut
    Merci pour le lien.

    En suivant le tuto, j'ai effectivement réussi à résoudre le problème, merci.

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

Discussions similaires

  1. [SQL SERVER 2005] Espace disque insuffisant pour un RESTORE
    Par ben_harper dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/03/2009, 11h39
  2. Réponses: 5
    Dernier message: 30/12/2006, 02h16
  3. Espace disque alloué pour les entiers
    Par stos dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 30/10/2006, 15h17
  4. Espace disque dur pour installer Linux
    Par frizou11 dans le forum Matériel
    Réponses: 5
    Dernier message: 20/09/2006, 19h32
  5. Espace disque insuffisant
    Par JeanMarc_T2k dans le forum Bases de données
    Réponses: 8
    Dernier message: 19/04/2006, 19h53

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