Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/03/2007, 08h33   #1
Membre habitué
 
Inscription : mars 2006
Messages : 293
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 293
Points : 140
Points : 140
Par défaut [ASE]Visualisation du code sql

J'ai mis les table MDA mais je ne trouve pas ou se trouve le code sql qui est éxécuté en ce moment, je pensais que c'était dans les tables monProcessSQLText ou monSysSQLText mais rien de spécial ou plustôt que des "1"...
une idée ???
arona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 08h46   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
monProcessSQLText contient le SQL des requêtes actives actuellement. Le contenu de cette table est très furtif, puisque les données disparaissent dès que la requête se termine.

monSysSQLText contient des données "historiques" (en faite c'est un tuyaux avec une longueur définie, et qui se vide quand on le lis).

Pour que le SQL soit monitoré il faut que les paramètres sp_configure suivants soient positionnés: "SQL batch capture", "sql text pipe active", "sql text pipe max messages" et "max SQL text monitored".

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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 08h52   #3
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

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

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
sinon, essayez sp__showplan
ou utilisez le monitor server
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 09h19   #4
Membre habitué
 
Inscription : mars 2006
Messages : 293
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 293
Points : 140
Points : 140
Merci de ces explication mais cela ne résoud pas mon problème... Quel est mon problème vas tu me demander !! et bien j'ai des utilisateur qui s'occupe d'un progiciel s'appuyant sur une BDD sybase, ils ont lancé une augmentation de niveau et vous vous en doutez cela fait des upgrades dans les bases, comme leur traitements est lancé depuis Dimanche matin je voulais trouver le code sql afin de trouver sur quel collones tapait cette upgrade afin que je puisse mettre des indexs ... Vila comme la table fait 40 millions de rows un ou deux indexes pourraient être pas mal ... Si vous avez une autre idée je suis preneur
arona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 09h25   #5
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Dans ce cas, la première chose à identifier est le ou les SPID qui sont actifs et qui font le traitement d'upgrade.

Ensuite, exécute sp_showplan sur ce (ou ces) SPID, pour voir le plan d'exécution et les tables qui sont affectées. Si c'est un upgrade il s'agit probablement d'une ou plusieurs procedures SQL qui s'exécutent en boucle, ce qui peut évidement rendre l'analyse plus complexe.

Une fois que tu as le showplan il faudra voir ce qui peut être lent dans l'opération, et peut être que qqch d'aussi simple comme un update statistics pourrait améliorer la situation.

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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 11h00   #6
Membre habitué
 
Inscription : mars 2006
Messages : 293
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 293
Points : 140
Points : 140
j'ai bien les options défini a ce que tu explique mais j'ai eu leur requète. Je vous la "colle" ici, mais une rapide lecture et moi je préconiserai la création d'un index non unique et passer le requète, car détruire l'index pour le reconstruire en unique je pense que c'est pas top. votre avis ??
Code :
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
34
35
36
37
38
CREATE TABLE TB_ALLOCATION_AUDIT_TRAIL
(
 TIMESTAMP              DT_TIMESTAMP            NOT NULL,
 AUDIT_ID               DT_ALLOCATION_AUDIT_ID  NOT NULL,   /* PRIMARY KEY */
 CL_USER_ID             integer                 NULL,
 CL_EVENT               char(5)                 NULL,
 CL_EVENT_TIME          datetime                NULL,
 CL_TRADE_ID            DT_TRADE_ID             NULL,
 CL_TRADE_VERSION       integer                 NULL,
 CL_ALLOCATION_ID       DT_ALLOCATION_ID        NULL,
 CL_ALLOCATION_VERSION  integer                 NULL,
 CL_DESCRIPTION         varchar(160)            NULL,
 CL_AUDIT_ID            integer                 NULL,       /* Obsolete */
 UPDATE_COUNT           int                     NULL,
 UPDATE_USER            DT_USER_NAME            NULL,
 UPDATE_DATE            datetime                NULL
)
go
 
IF @@error = 0
begin
    print "TB_ALLOCATION_AUDIT_TRAIL: table created."
end
go
 
IF NOT EXISTS
(
    SELECT 1 FROM sysindexes
    WHERE name = "TB_ALLOCATION_AUDIT_TRAIL_1"
)
begin
    CREATE UNIQUE INDEX TB_ALLOCATION_AUDIT_TRAIL_1 ON TB_ALLOCATION_AUDIT_TRAIL
    ( AUDIT_ID )
end
go
 
GRANT SELECT ON TB_ALLOCATION_AUDIT_TRAIL TO FDA_GRP_REPORT
go
arona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 11h25   #7
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Euh... sans connaitre la requête, et sans connaitre le SHOWPLAN il est difficile de faire une recommendation!

:-)

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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 11h57   #8
Membre habitué
 
Inscription : mars 2006
Messages : 293
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 293
Points : 140
Points : 140
Oui oui je sais c'était juste pour commenter mon discour.... . Non je ne demande plus de conseil pour cette requète
Non par contre quel configuration serveur peu amélioré les perfs pour tout ce qui concersn les select ?? outre le paramétrage mémoir pour les % de prock stock???
arona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 12h52   #9
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Améliorer les perfs pour les selects... à priori la cache, et d'avoir un pool 16k "suffisant". Si une table est petite et très utilisée on peut créer une cache juste pour cette table pour s'assurer qu'elle est toujours en mémoire.

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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 13h39   #10
Membre habitué
 
Inscription : mars 2006
Messages : 293
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 293
Points : 140
Points : 140
mouais c'est grosso modo ce que j'ai fais. Merci pout tout.
slt
arona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2007, 13h51   #11
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 10
Points : 10
Points : 10
Citation:
Envoyé par fadace
sinon, essayez sp__showplan
ou utilisez le monitor server

Bonjour,

Il Il y a aussi une commande trés pratique pour connaître le code sql en court d'exécution:

dbcc traceon(3604)
dbcc sqltext(spid)

A voire
Gauthde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2007, 14h36   #12
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Pour ceux qui sont à la pointe du progrès (cad en 15.0.2!) on peut maintenant créer des fichiers traces pour sa propre session, ou pour une autre session:

Code :
1
2
3
 
SET trace <nom_fichier> FOR <spid>
go
Ensuite si on met set showplan, etc ces informations sont directements placées dans le fichier trace.

Evidemment c'est une fonctionallité qui n'est pas vraiment d'actuallité pour la pluspart d'entre nous (puisque on est encore assez peu nombreux à être en 15.x), mais c'est peut être un argument de plus pour aller dans cette direction.

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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h55.


 
 
 
 
Partenaires

Hébergement Web