2010-10-30 3 views
3

Je voudrais créer un moniteur d'événements sur DB2 z/OS 9.2 J'ai passé beaucoup de temps à essayer de résoudre ce problème.DB2 création d'un moniteur d'événements

Je suggère donc que ce lien: http://www.ibm.com/developerworks/data/library/techarticle/0303kolluru/0303kolluru.html

et essayer de faire ces étapes:

db2 => connect to dbname user username using password 
db2 => update monitor switches using statement on 
db2 => create event monitor rkmon for statements write to file '/tmp' 
db2 => set event monitor rkmon state=1 

mais quand je mets la commande suivante: créer un événement moniteur rkmon pour les déclarations écrire dans le fichier «/tmp » Db2 jetez-moi une erreur:

"DB2ADMIN" does not have the privilege to perform operation "CREATE EVENT MONITOR".. SQLCODE=-552, SQLSTATE=42502, DRIVER=3.58.81 

donc, alors j'essayer d'ajouter un certain privilège à mon utilisateur db2admin:

grant DBADM to db2admin 

mais obtenir une autre erreur:

The name "DBADM" cannot be used because the specified identifier is reserved for system use.. SQLCODE=-707, SQLSTATE=42939, DRIVER=3.58.81 

Maintenant, je n'ai aucune idée de ce que shoould-je faire pour résoudre ce problème.

Peut-être, il y a une autre façon de journaliser les requêtes sql envoie à mon db2?

(Je développe certaines applications Java en utilisant Hibernate et DB2, et parfois la façon la plus rapide de résoudre certains problèmes est de voir ce que les requêtes sql est envoyé à DB).

Des idées?

Merci

Répondre

2

Je pense que la clause « base de données » est obligatoire dans l'instruction GRANT. Essayez:

grant DBADM on database to user db2admin 
+0

bon conseil. J'ouvre la ligne de commande et sans connecter db essayer les droits de GRANT: – chris

+0

Mais je suis arrivé cette erreur: 'Une connexion de base de données n'exist.' pas et ce qui est logique, donc je me connecte à ma base de données avec: 'se connecter à l'utilisateur mydatabase utilisateur db2admin mot de passe xxx' puis essayez d'accorder, mais l'erreur db2 est: ' DB2ADMIN.MYDATABASE est un nom indéfini. SQLSTATE = 42704' Et c'est aussi logique, je suis connecté à la base de données et être à l'intérieur, donc ma base de données ne voit pas ce chemin. Je n'ai qu'un seul utilisateur, créé lors de l'installation de mon DB2. Une idée de comment résoudre ce problème? – chris

+0

Oups, j'ai donné la syntaxe LUW. La syntaxe de DB2 for z/OS est différente. Essayez GRANT DBADM sur la base de données mydatabase TO db2admin. http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db29.doc.sqlref/db2z_sql_grantdatabaseprivileges.htm – Leons