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 :

Mélange device de data et de logs


Sujet :

Sybase

Vue hybride

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 293
    Par défaut Mélange device de data et de logs
    suite a un problème de prod nous avons due faire un alter database pour augmenter le "coquille" de la base, malheureusement nous avons maintenant notre base avec l'option mix log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto                         49989.0 MB sa                            4 Nov 23, 2006
             select into/bulkcopy/pllsort, trunc log on chkpt, mixed log and data
    lors de l'alter nous avions ce méssage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    This command adds data space to disk 'toto_data20', which previously contained only log.  You must specify WITH OVERRIDE
    Visiblement nous avons mélangé log et data non ??? pour modifier les choses comment s'en sortir ?? un load sur un serveur "bis" va t'il suffir?
    Merci de vos précisions.
    THX d'avance

  2. #2
    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
    Premièrement, au vu du message (you must specify "with override") la personne qui a fait l'ALTER aurait peut-être dû se douter qu'il y avait un problème...

    Il est possible qu'on puisse récupérer cela en "bidouillant" dans master..sysusages, mais en général je préfère la méthode "propre":

    1. Exécute sp_helpdb <mabase> pour voir la taille de tous les fragments.
    2. Trouver l'order et le type de tous les fragments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select case when segmap = 4 then "log" else "data" end, size / 512 from master..sysusages where dbid = db_id(<mabase>) order by lstart
    (le size / 512 suppose que la base est en page de 2k - à ajuster si ce n'est pas le cas)
    3. Faire un dump de la base.
    4. Drop database <mabase>
    5. Créer la base, avec tous les fragments trouvés sous 2. (dans le bon ordre, et sur les bons devices).
    6. Load de la base.

    Pour une base de 50GB cela implique une intérruption de service de 2 heures environs (+/-, en fonction de la vitesse des disques, évidemment), le temps de faire le dump/create database/load.

    Michael

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 293
    Par défaut
    Merci pour ces informations, mais comme j'ai une deuxième machine identique a notre prod, si je refais mon dataserver en créant les devices qui vont bien séparant log et data et que je fais un dump de ma primaire pour faire un load sur cette secondaire nouvellement construite, est ce que cela va aller ou vais je avoir encore mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     toto                         50893.0 MB sa                            4 Jul 09, 2007
             select into/bulkcopy/pllsort, trunc log on chkpt, mixed log and data
    , ou cela me fait "retomber" sur nos pattes ??

  4. #4
    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
    Ce n'est pas une question de créer les devices correctes (même si cela a aussi son importance). Ce qui est important c'est que les fragments (les entrées dans master..sysusages) soient de la bonne taille et dans le bon ordre.

    Par example, voici une base qui a été créée en plusieurs fois:

    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
     
    [22] TOTO.master.1> select lstart, vstart, segmap, size / 512 from sysusages where dbid = db_id('toto') order by lstart;
     lstart      vstart      segmap
     ----------- ----------- ----------- -----------
               0    50331650           3         400
          204800    67108866           4         300
          358400    50536450           3         600
          665600    67262466           4         200
          768000    50843650           3         300
          921600    67364866           4         400
         1126400    50997250           3        1100
         1689600    67569666           4        2500
         2969600    51560450           3        2100
     
    (9 rows affected)
    Il y a donc 9 fragments - pour faire un load database dans un nouveau serveur je dois faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    create database toto on dev1 = 400 log on dev1_log = 300
    go
    alter database toto on dev1 = 600 log on dev1_log = 200
    go
    alter database toto on dev1 = 300 log on dev1_log = 400
    go
    alter database toto on dev1 = 1100 log on dev1_log = 2500
    go
    alter database toto on dev1 = 2100
    go
    Dans chaque ALTER DATABASE on peut spécifier les mêmes devices (si ils sont assez grands) ou des devices différend. L'important c'est que l'ordre de création des fragments soit respecté, et de comprendre qu'une base ASE est une suite de pages logiques (de 0 à ....) et que les entrées dans sysusages permettent de faire le mapping de la page logique sur la page physique (cad sur le device). La colonne lstart fait référence à la page logique (logical start), et la colonne vstart est utilisée pour trouver le device.

    En espérant que cela explique un peu le problème...

    Michael

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 293
    Par défaut
    oui oui tres clair de ta part merci de tes infos je vais mixer les deux création des devices recréation de la base avec les alter comme tu l'explique.
    Merci de ton aide.
    A+

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 293
    Par défaut
    Mickael je reviens vers toi car je suis entrain de reconstruire la base, lors de ma création je sépare bien sur des devices différents mes logs et mes data, Je fais mes alter sur les devices en question en ne croisant pas sur un même device log et data, pourtant lors d'un load avec le dump préallablement fait j'ai bien peur que ma base soit de nouveau en mix log et data ... Qu'en pense tu ?

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

Discussions similaires

  1. [DATA] Masquer exécution étape data dans la log
    Par Deciprog dans le forum SAS Base
    Réponses: 2
    Dernier message: 12/03/2010, 15h01
  2. Copie Data File Raw Device --> File en Aix 5.3 / 9i
    Par Merilka dans le forum Administration
    Réponses: 4
    Dernier message: 12/09/2007, 11h48
  3. [12.0.0.8]log device utilisé à 160% +tempdb rempli
    Par dngaya dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 23/08/2007, 20h45
  4. Redimensionner espace disque Data et Log
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/05/2006, 11h40
  5. Réponses: 2
    Dernier message: 30/08/2005, 14h11

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