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 :

Déplacement du journal de transaction


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 Déplacement du journal de transaction
    Bonsoir,
    Je viens de faire des tests sur la procédure stockée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_logdevice Ma_Database , Device_Log
    permettant de déplacer un journal de transaction d'un device vers un autre, fournie par Sybase.
    L'utilisation de la procédure ne déplace pas le journal de transaction mais en ajoute un. J'ai pourtant suivi la doc Sybase. Soit je n'ai pas tout compris, soit ça ne fonctionne pas comme je le pense. Ci-dessous, les résultats de la commande sp_helpdb sur la base avant et après l'application de la procédure :
    avant l'application de la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    1> sp_helpdb toto_db
    2> go
     name    db_size       owner dbid created      status
     ------- ------------- ----- ---- ------------ --------------
     toto_db       10.0 MB sa       6 Oct 30, 2009 no options set
     
    (1 row affected)
     device_fragments               size          usage                created                   free kbytes
     ------------------------------ ------------- -------------------- ------------------------- ----------------
     toto                                  5.0 MB data only            Oct 30 2009  8:56PM                   1756
     toto                                  5.0 MB log only             Oct 30 2009  8:56PM       not applicable
     
     --------------------------------------------------------------
     log only free kbytes = 5096
    (return status = 0)
    Détail du code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    alter database toto log on toto_log='5M'
    go
    sp_dboption toto_db , 'single' , true
    go
    sp_logdevice toto_db , toto_log
    go
    après l'application de la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    1> sp_helpdb toto_db
    2> go
     name    db_size       owner dbid created      status
     ------- ------------- ----- ---- ------------ -----------
     toto_db       15.0 MB sa       6 Oct 30, 2009 single user
     
    (1 row affected)
     device_fragments               size          usage                created                   free kbytes
     ------------------------------ ------------- -------------------- ------------------------- ----------------
     toto                                  5.0 MB data only            Oct 30 2009  8:56PM                   1756
     toto                                  5.0 MB log only             Oct 30 2009  8:56PM       not applicable
     toto_log                              5.0 MB log only             Oct 30 2009  8:57PM       not applicable
     
     --------------------------------------------------------------
     log only free kbytes = 10196
    (return status = 0)
    Par ailleurs, lorsque je lance la commande voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    In database 'toto_db', the log starts on device 'toto'.
    (return status = 0)
    Donc visiblement ma base va continuer à utiliser le device toto en tant que journal de transaction.
    Je ne vois pas comment libérer la partie du device toto, malgré l'utilisation de la procédure.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 137
    Par défaut
    Bonjour

    J'ai testé cette procédure avec une base toto_db identique à la tienne
    Cela fonctionne correctement

    Voici les ordres sql que j'ai lancé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    create database toto_db on toto=10
    alter database toto_db log on totolog=5
    sp_helpdb toto_db
    2> go
     name                     db_size       owner                    dbid   created            status                                                            
     ------------------------ ------------- ------------------------ ------ ------------------ ------------------------------------------------------------------------------------------------------
     toto_db                        15.0 MB sa                           15 Nov 02, 2009       single user, mixed log and data                                   
     
    (1 row affected)
     device_fragments               size          usage                created                   free kbytes
     ------------------------------ ------------- -------------------- ------------------------- ----------------
     toto                                 10.0 MB data and log         Nov  2 2009 12:46PM                   7812
     totolog                               5.0 MB log only             Nov  2 2009 12:48PM       not applicable
     
    sp_logdevice toto_db,totolog
     
    sp_helpdb toto_db
    2> go
     name                     db_size       owner                    dbid   created            status                                                            
     ------------------------ ------------- ------------------------ ------ ------------------ ------------------------------------------------------------------------------------------------------
     toto_db                        15.0 MB sa                           15 Nov 02, 2009       single user, mixed log and data                                   
     
    (1 row affected)
     device_fragments               size          usage                created                   free kbytes
     ------------------------------ ------------- -------------------- ------------------------- ----------------
     toto                                 10.0 MB data only            Nov  2 2009 12:46PM                   7812
     totolog                               5.0 MB log only             Nov  2 2009 12:48PM       not applicable
    Comment as-tu créer ta base initiale ?
    En effet, si tu as définie ta base initiale comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    create database toto_db on toto=10 log on toto=10
    alter database toto_db log on totolog=5
    La procedure sp_logdevice ne marche pas car tu as du log sur toto et totolog

    Il faut vraiment du 'data and log' sur le même device comme dans mon test

    jeeps64

  3. #3
    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 Jeeps64. J'ai pas vu cette nuance dans la doc de Sybase mais effectivement ça fonctionne.

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

Discussions similaires

  1. Déplacement journal de transaction sur base en Log Shipping
    Par tibal dans le forum Administration
    Réponses: 4
    Dernier message: 15/07/2010, 07h38
  2. Journal de transaction
    Par zamine81 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 01/08/2005, 14h05
  3. Réduction du Journal de transactions SQL Server
    Par Aki dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/10/2004, 09h15
  4. Automatisation de la purge du journal des transactions
    Par Nathan dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/09/2004, 08h05
  5. vider le journal des transactions
    Par coucoucmoi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/05/2004, 09h21

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