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 :

Connaître l'activité d'une table sans passer les statistiques


Sujet :

Adaptive Server Enterprise Sybase

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut Connaître l'activité d'une table sans passer les statistiques
    Bonsoir,

    Je cherche à trouver une manière de connaître l'activité d'une table (insert, update et delete) sans avoir à passer les statistiques. On m'a dit que c'était possible mais malgré des recherches tant sur le site de Sybase que sur le Net, je n'ai toujours pas trouvé.
    Merci pour toutes les bonnes idées.

  2. #2
    Membre chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Qu'est-ce que tu entends par "statistiques"?
    Et quelle version?

    En 15.x tu as la fonction "datachange", qui donne un ratio de modification depuis le dernier update statistique.

    Autrement tu as master..monOpenObjectActivity (si les tables MDA sont implémentées).

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

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

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

    Qu'est-ce que tu entends par "statistiques"?
    Je parle de l'update statistics.
    Et quelle version?
    La version de mon ASE est 12.5.3.

    Les MDA étant implémentées, je vais jeter un oeil sur le contenu de la table monOpenObjectActivity.
    En fonction de ce que je vais y voir, je reviendrai peut-être à la pêche aux infos.

    Merci pour ton aide.

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut
    Michael,

    J'ai interrogé le table monOpenObjectActivity comme tu me l'avais conseillé et vois effectivement les tables ayant eu des modifications récentes. Par contre, seule les colonnes ci-dessous sont renseignées :
    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
    DBID	ObjectID	IndexID	DBName	ObjectName
    31515	1232004389	0	sybmgmtdb	js_seqsql
    31515	1456005187	0	sybmgmtdb	js_history
    31515	1312004674	0	sybmgmtdb	js_callouts
    31515	1056003762	0	sybmgmtdb	js_scheduledjobs
    31515	832002964	0	sybmgmtdb	js_schedules
    31515	608002166	0	sybmgmtdb	js_jobs
    1	960003420	0	master		spt_values
    1	2096007467	0	master		monOpenObjectActivity
    31515	1232004389	2	sybmgmtdb	js_seqsql_12320043892
    31515	1456005187	2	sybmgmtdb	jsh_exid_index
    31515	1312004674	2	sybmgmtdb	idx_jsc_calloutid
    31515	1312004674	3	sybmgmtdb	idx_jsc_sjobid
    31515	1056003762	2	sybmgmtdb	js_schedul_10560037622
    31515	1056003762	3	sybmgmtdb	idx_sjob_name
    31515	832002964	2	sybmgmtdb	js_schedul_8320029642
    31515	832002964	3	sybmgmtdb	idx_sched_name
    31515	608002166	2	sybmgmtdb	js_jobs_6080021662
    31515	608002166	3	sybmgmtdb	idx_job_name
    1	960003420	1	master		spt_valuesclust
    Les autres colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LogicalReads	PhysicalReads	APFReads	PagesRead	PhysicalWrites	PagesWritten	RowsInserted	RowsDeleted	RowsUpdated	Operations	LockRequests	LockWaits	OptSelectCount	LastOptSelectDate	UsedCount	LastUsedDate	HkgcRequests	HkgcPending	HkgcOverflows
    restent vides, alors que ce que je souhaite, c'est connaitre le contenu de quelques unes de ces colonnes sans avoir à lancer les statistiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RowsInserted	RowsDeleted	RowsUpdated	Operations
    Comment puis-je faire ?

  5. #5
    Membre chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Assure-toi d'avoir "per object statistics" mis à "true":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sp_configure "per object statistics active", 1
    go
    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut
    Michael,

    J'ai suivi ton conseil et ai configuré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sp_configure "per object statistics active", 1
    go
    Maintenant les NULL sont remplacés par des 0 même après des insert, update ou delete. Y aurait-il d'autres paramètres à ajuster ?

  7. #7
    Membre chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Assure toi que tes paramètre "number of open objects" et "number of open indexes" soient suffisamment grands.

    Quand tu tourne "sp_monitorconfig 'all'" il faut que la colonne "reused" soit à zero.

    (quand un descripteur est réutilisé les datas dans monOpenObjectActivity sont perdus...)

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut
    Michael

    Lorsque tu dit
    Assure toi que tes paramètre "number of open objects" et "number of open indexes" soient suffisamment grands.
    Quelles doivent être ces valeurs pour un environnement de test où l'activité est quasi nulle, en dehors des quelques requètes ?

    De plus, pour
    Quand tu tourne "sp_monitorconfig 'all'" il faut que la colonne "reused" soit à zero.
    Cette colonne doit elle être à 0 pour toutes les lignes retournées ou pour une en particuliers ?


    La notion de descripteur m'échappe un peu
    quand un descripteur est réutilisé les datas dans monOpenObjectActivity sont perdus...
    Peux-tu m'en dire un peu plus ?


  9. #9
    Membre chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Chaque fois qu'on accède à une table ou index ASE "ouvre" cette table/index, et lui associe un "descripteur" (pointeur en mémoire). Le nombre de pointeurs disponible est défini par les paramètres "number of open objects" (pour les tables) et "number of open indexes" (pour les indexes).

    Si ASE doit ouvrir un nouvel objet, mais que tous les descripteurs sont déjà en utilisation alors ASE doit dabord fermer un descripteur (ce qui implique aussi de vider toutes les pages en cache pour cet objet), puis ouvrir le nouvel objet.
    La colonne "num reuse" de sp_monitorconfig (pour "number of open objects"/"number of open indexes") permet de savoir si, depuis le démarrage du serveur, le nombre total d'objets a été atteint.

    Par rapports à monOpenObjectActivity - lorsqu'un descripteur doit être fermé les données qui lui sont associées (nombre d'accès, etc) sont remises à zero.

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

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

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

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 04/12/2013, 21h22
  2. [AC-2007] Requête Ajoût avec donnée d'une table, sans passer par le SQL
    Par charlhub dans le forum Access
    Réponses: 4
    Dernier message: 08/01/2012, 19h49
  3. Réponses: 9
    Dernier message: 08/06/2010, 01h09
  4. Supprimer une entrée d'une table sans casser les relations
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 05/10/2007, 13h02
  5. Réponses: 7
    Dernier message: 28/03/2007, 13h57

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