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 :

[ASE][12.0] Réorganisation de bases


Sujet :

Sybase

  1. #1
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut [ASE][12.0] Réorganisation de bases
    Bonjour,

    J'ai un projet utilisant Sybase ASE v12.

    Outre les BDD système (master, tempb, sybsystemproc, etc...), j'ai 5 BDD utilisateur.

    A force d'extensions, celle-ci se trouvent par exemple avec 10 devices de données (24 Go) et 3 de journaux (3x100 Mo).

    Quel moyen ai-je pour réorganiser cette base ? Je voudrai avoir en fait 3 devices de données (8 Go, taille de mes disques physiques) et 1 device de journaux de 300 Mo.

    Merci d'avance pour vos conseils 8)
    Ludovic

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    Ca dépend de la dissémination dans sysusages.

    Si vous avez des segments de même contenu et concomittants, vous pouvez recréer une base avec moins de devices, mais en maintenant la structure par segment, puis dump/load.

    Sinon vous pouvez utiliser sybmigrate ou... bcp !
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Compléments
    Merci pour cette réponse 8)

    Donc si j'ai des segments de données "contigus", je peux en recréer un seul de la somme de leurs tailles.

    Si ma structure est par exemple : data1 - log1 - data2 - data3 - data4 - log2 - data5 - data6 - data7 - log3 - data8 - data9 - data10, je peux faire data1 - log1 - data234 - log2 - data567 - log3 - data8910. Le tout en utilisant le dump. Il retrouvera bien au bon endroit un device de données ou un device de journaux.

    Sinon, si je veux obtenir datab1 - datab2 - datab3 - logb1, je dois passer par un bcp :
    Ludovic

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    C'est exact. Kifkif si vous avez des segments d'index.

    En fait, vous devez faire les regroupements par segmap dans la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select  vstart, name, segmap 
    from sysdevices, sysusages
    where dbid = db_id('Votre Base')
    and vstart between low and high
    order by vstart
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut segmap
    Voici le résultat :

    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
    1> select vstart, name, segmap
    2> from sysdevices, sysusages
    3> where dbid = db_id('n4_tfi_aa')
    4> and vstart between low and high
    5> order by vstart
    6> go
     vstart      name                           segmap      
     ----------- ------------------------------ ----------- 
       436207616 dv_n4_tfi_aa_dat_01                     11 
       452984832 dv_n4_tfi_aa_dat_02                     19 
       469762048 dv_n4_tfi_aa_log_01                      4 
       486539264 dv_n4_tfi_aa_dat_03                     11 
       503316480 dv_n4_tfi_aa_dat_04                     19 
       637534208 dv_n4_tfi_aa_dat_05                     11 
       654311424 dv_n4_tfi_aa_dat_06                     19 
      1526726656 dv_n4_tfi_aa_log_02                      4 
      1543503872 dv_n4_tfi_aa_dat_07                     11 
      1560281088 dv_n4_tfi_aa_dat_08                     11 
      1577058304 dv_n4_tfi_aa_dat_09                     19 
      1593835520 dv_n4_tfi_aa_log_03                      4 
      1677721600 dv_n4_tfi_aa_dat_10                     11 
      1694498816 dv_n4_tfi_aa_dat_11                     11 
      1711276032 dv_n4_tfi_aa_dat_12                     19 
     
    (15 rows affected)
    Ludovic

  6. #6
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Création
    Script de création actuel :

    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
    29
    30
    31
    32
    33
    CREATE DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_01 = 1024
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_02 = 1024
            LOG ON dv_n4_tfi_aa_log_01 = 100
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_03 = 2048
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_04 = 2048
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_05 = 3072
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_06 = 1024
            LOG ON dv_n4_tfi_aa_log_02 = 100
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_07 = 3072, dv_n4_tfi_aa_dat_08 = 3906
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_09 = 1953
            LOG ON dv_n4_tfi_aa_log_03 = 100
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_10 = 2048, dv_n4_tfi_aa_dat_11 = 1100
    go
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_12 = 400
    go
    Ludovic

  7. #7
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    Au niveau du script de création, il n'y a pas de problème à regrouper. Ce qui m'inquiète, ce sont ces multiples segmaps (vous devez sans doute dissocier les indexes aussi) et le fait que de faire le premier CREATE sans spécifier de LOG on directement va créer un segment mixte au début !!!

    Que donne un sp_helpdevice dv_n4_tfi_aa_dat_01 ?

    A la limite, recréez en concaténant par blocs DATA/LOG, dump/load puis positionnement d'un segment d'index spécifique et recréation de tous les indexes.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  8. #8
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Résultat
    Voici le résultat :

    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
    1> sp_helpdevice dv_n4_tfi_aa_dat_01
    2> go
     device_name                    physical_name                                 
             description                                                                                                                                                                                                                                               
             status cntrltype device_number
             low                                                                             
             high                                                                             
     ------------------------------ ----------------------------------------------
             --------------------------------------------------------------------------------
             ------ --------- -------------
             --------------------------------------------------------------------------------
             -------------------------------------------------------------------------------- 
     dv_n4_tfi_aa_dat_01            /dev/vx/rdsk/applidg/lv_n4_tfi_aa_dat_01      
             special, dsync off, physical disk, 1024.00 MB                                                                                                                                                                                                             
                  2         0            26
                                                                                    436207616
                                                                                    436731903 
     
    (1 row affected)
    (return status = 0)
    Via Sybase Central, il apparaît dans le champ Future Allocations : Data
    Ludovic

  9. #9
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Final
    J'aimerai avoir au final un script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_01 = 8192
            LOG ON dv_n4_tfi_aa_log_01 = 300
    go
     
    ALTER DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_02 = 8192, dv_n4_tfi_aa_dat_03 = 8192
    go
    Ludovic

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    Ce ne sera pas possible sans replacement des données (via bcp ou insert select).

    Vous pourriez même avoir en final cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE DATABASE n4_tfi_aa
            ON dv_n4_tfi_aa_dat_01 = 8192,
                 dv_n4_tfi_aa_dat_02 = 8192, 
                 dv_n4_tfi_aa_indx_01 = 8192
            LOG ON dv_n4_tfi_aa_log_01 = 300
    go
    Ensuite, ce qui srait pas mal, ce serait de dissocier data et index
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  11. #11
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Données et index
    En effet, votre découpage de base est encore plus propre. Je suis concient que pour arriver à cette "perfection", un simple dump ne sera pas suffisant. Je devrai utiliser un outils qui s'affranchit de la structure de la base (outils bcp ?).

    Comment décide-t-on de la taille des index par rapport à celle des données ? N'existe-t-il pas que 2 type de devices sous ASE ?

    Ma base aurait donc 2x8Go de données, 1 Go d'index et 300 Mo de journaux ?

    PS : Que vous inspire le résultat du sp_helpdevice dv_n4_tfi_aa_dat_01 ?

    Merci encore pour toutes ces réponses rapides
    Ludovic

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    Pour les indexes, ça dépend essentiellement de leur utilisation. Pour du décisionnel, il n'est pas rare que 3*Data ~= 1*Index. Pour de l'OLTp, c'est index ~= 0.8*data... mais avec les indexes clusters, ça fausse un peu la donne (il faut les mettre d'un côté ou de l'autre)

    Pour vous faire une opinion plus correcte, prenez une de vos grosses tables et faites un sp_spaceused.

    Par défaut, il n'y a pas de segment spécifique d'index. Il faut se le créer puis le lier à un device particulier, puis supprimer le data par défaut de ce device particulier.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  13. #13
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Résultat
    Voici le spaceused sur cette base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    1> use n4_tfi_aa
    2> go
    1> sp_spaceused
    2> go
     database_name                  database_size 
     ------------------------------ ------------- 
     n4_tfi_aa                      23019.0 MB    
     reserved        data            index_size      unused          
     --------------- --------------- --------------- --------------- 
     21857714 KB     15788958 KB     6035484 KB      33272 KB        
    (return status = 0)
    8)
    Ludovic

  14. #14
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    Attention : faites un spaceused d'une table avec un index cluster uniquement histoire de voir où il est stocké.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  15. #15
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    Un index noncluster stocke ses pages d'indexes dans un segment d'index éventuel, et ses pages de données dans le segment de données.

    Un index cluster stocke ses pages d'indexes dans un segment d'index éventuel, mes ses pages de données sont en fait les feuilles de l'arbre d'index. Donc reste à savoir si elles sont stockées dans les données ou dans un éventuel segment d'index.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  16. #16
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    les clusters sont ceux qui apparaissent dans sysindexes avec un indid=1
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  17. #17
    Lps
    Lps est déconnecté
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Vérification
    Je vais vérifier tout ça !
    Ludovic

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

Discussions similaires

  1. [ASE][12.0] Agrandissement de base
    Par Lps dans le forum Sybase
    Réponses: 3
    Dernier message: 24/08/2012, 11h05
  2. [ASE 12.0.0.4] bases offline
    Par dngaya dans le forum Adaptive Server Enterprise
    Réponses: 0
    Dernier message: 20/08/2007, 12h38
  3. [ASE][TSQL?] taille dump (ou base)
    Par Jean.Cri1 dans le forum Sybase
    Réponses: 4
    Dernier message: 12/10/2006, 15h46
  4. [ASE][12.0] Réplication de base
    Par Lps dans le forum Sybase
    Réponses: 3
    Dernier message: 03/02/2006, 14h28
  5. [8i][9i] Réorganisation des bases
    Par Débéa dans le forum Oracle
    Réponses: 2
    Dernier message: 01/02/2006, 13h41

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