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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 47
    Points : 22
    Points
    22

    Par défaut pool de connexion jdbc avec apache

    bonjour,

    nous sommes en train de developper une appli intranet en jsp avec le driver jdbc et oracle 8i.

    on essai de mettre en place un pool de connexions et on nage un peu dans le potage.


    sans mettre en place le pool, je vois a travers la vue v$session la demande connexion de l'utilisateur à travers Apache.

    mais une fois le pool active, je n'arrive pas à visualiser les historiques pour verifier si une demande a ete faite.

    j'ai 2 questions :
    comment fonctionne un pool avec jdbc ?
    comment visualiser les historiques des sessions oracle ?

    merci de votre reponse.

  2. #2
    Expert Oracle confirmé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2003
    Messages
    410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2003
    Messages : 410
    Points : 849
    Points
    849

    Par défaut

    Bonjour,

    Il n'y a pas d'historique de sessions sous Oracle. En fait, la vue v$session vous montre toutes les connexions à la base de données à l'instant t.

    Par session, on entend aussi bien toutes les connexions utilisateurs (que ce soit du SQL*Plus, du Toad, du client, des batchs, du pool de connexion) que les processus d'arrière plan Oracle (PMON, SMON, DBWR, LGWR...) Pour les distinguer, il faut regarder la colonne TYPE de v$session (les premiers figurent en USER, les autres en BACKGROUND).

    Au niveau du pool, je ne connais pas Apache, mais sous Weblogic on donne l'URL de connexion à la base de données, et on indique combien on veut de connexions créées au lancement du serveur J2EE, quel est le nombre max de connexions, de quelle manière il s'étend, et sa période de rafraîchissement).

    Enfin pour finir, pour savoir à quelle heure une session a été créée, il faut regarder la colonne LOGON_TIME de v$session

  3. #3
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 2 937
    Points : 3 142
    Points
    3 142

    Par défaut

    Bonjour

    Pour le fonctionnement du pool, avez-vous pris connaissance de cette doc ?
    http://download-east.oracle.com/otn_...kage-tree.html
    Cependant, étant donné que c'est le JDBC qui gère ce pool, vous aurez sûrement plus de chances du côté du forum Java.

    Sinon, en ce qui concerne les sessions, il y a deux cas de figure :
    • soit la session existe toujours sur le serveur Oracle, dans ce cas, c'est simple : DBA Studio vous permet de connaitre les dernières commandes
    • soir la session n'existe plus et dans ce cas, il vous faudra mettre en place l'audit...


    Leo.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 47
    Points : 22
    Points
    22

    Par défaut

    peut on verifier la connexion par l'historique des requetes alors.

    est-ce enregistre dans les REDO log et si oui comment les vusualiser en 8i

    merci

  5. #5
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 2 937
    Points : 3 142
    Points
    3 142

    Par défaut

    Citation Envoyé par de LANFRANCHI
    peut on verifier la connexion par l'historique des requetes alors.

    est-ce enregistre dans les REDO log et si oui comment les vusualiser en 8i

    merci
    Si votre requête est simple à isoler, vous pouvez commencer par chercher dans v$SQLText.
    Par contre, les redo log sont les journaux internes à Oracle qui servent à journaliser les transactions; de toute façon, il n'existe pas de manière de les lire comme ça, simplement.

    Mais pourquoi votre produit ne réalise tout simplement pas une insertion dans une table bidon ? vous saurez alors si la connection a eue lieue ou pas ?

  6. #6
    Membre émérite
    Avatar de bouyao
    Inscrit en
    janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 1 778
    Points : 2 484
    Points
    2 484

    Par défaut redo

    Dans les Redo on n'enregistre pas les conexions ,
    Oracle enregistre les données modifiées de la base dans les Redos.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 47
    Points : 22
    Points
    22

    Par défaut

    merci à tous

    je vais me servir de la solution de l'insert.

  8. #8
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 2 937
    Points : 3 142
    Points
    3 142

    Par défaut

    Vous pouvez même perfectionner un peu ceci avec un trigger after logon on database qui vous permettra de journaliser les connections....

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 47
    Points : 22
    Points
    22

    Par défaut

    j'ai trouve un exemple de trigger à mettre en place mais j'ai une erreur
    sur le sys.v_$session
    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
     
    CREATE OR REPLACE TRIGGER LOGON_GRILLE
    AFTER LOGON ON DATABASE
    DECLARE
    	PRAGMA AUTONOMOUS_TRANSACTION;
    BEGIN
    	IF ( sys_context('userenv','sessionid') != 0 ) then
    	INSERT INTO system.logon_grille
    		( SELECT USER,
    		sys_context('userenv','sessionid'),
    		sys_context('userenv','os_user'),
    		sys_context('userenv','host'),
    		sys_context('userenv','ip_address'),
    		program,
    		sysdate
    		FROM sys.v_$session
    		WHERE AUDSID = sys_context('userenv','sessionid') );
    	COMMIT;
    END IF;
    END;
    je me connecte en tant que system, et je cree le trigger
    à la compile l'objet sys.v_$session n'est pas reconnu

    et lorsque qu'un utilisateur se connecte , la session est refusee du fait de l'erreur sur le trigger

    1) je pensais que le trigger n'etait pas actif tans qu'il y avait des erreurs
    2) manque t-il un grant sur l'utilisateur sur le trigger , sur la table

    merci de votre reponse

  10. #10
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 2 937
    Points : 3 142
    Points
    3 142

    Par défaut

    Il vaut mieux utiliser v$session.

    pour vous en sortir, une connection AS SYSDBA permet d'éviter le déclenchement des triggers AFTER LOGON

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

Discussions similaires

  1. Connexion JDBC avec JBuilder9
    Par mboubidi dans le forum JBuilder
    Réponses: 3
    Dernier message: 04/03/2008, 14h45
  2. Pb de connexion JDBC avec Firebird 2.0
    Par Cassios dans le forum Connexion aux bases de données
    Réponses: 8
    Dernier message: 14/09/2006, 15h53
  3. Probleme de connexion JDBC avec une base de donne mysql
    Par sultan_kafila dans le forum JDBC
    Réponses: 19
    Dernier message: 12/04/2006, 08h25
  4. [ Tomcat ][ Servlet ] Pool de connexion jdbc mssqlserver
    Par Néo-Tony dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 01/02/2006, 17h30
  5. Réponses: 2
    Dernier message: 16/01/2006, 11h38

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