Configuration de la mise en cache de connexions Oracle dans le serveur d'applications

Vous pouvez choisir de configurer une source de données Oracle afin qu'elle utilise la fonction de mise en cache de connexions d'Oracle au lieu d'utiliser le regroupement (mise en pool) des connexions du serveur d'applications. La mise en cache de connexions des bases de données Oracle est semblable au regroupement de connexions dans le serveur d'applications.

Pourquoi et quand exécuter cette tâche

Actuellement, Oracle ne prend en charge la mise en cache de connexions qu'avec des sources de données qui utilisent la classe d'implémentation oracle.jdbc.pool.OracleDataSource au lieu de la classe oracle.jdbc.pool.OracleConnectionPoolDataSource ou oracle.jdbc.xa.client.OracleXADataSource. Par défaut, les fournisseurs JDBC Oracle du serveur d'applications sont configurés pour utiliser la classe oracle.jdbc.pool.OracleConnectionPoolDataSource pour les sources de données autres que XA ou la classe oracle.jdbc.xa.client.OracleXADataSource pour les sources de données XA. Pour activer la mise en cache de connexions d'Oracle, vous devez configurer et utiliser un nouveau fournisseur JDBC dans le serveur d'applications qui implémente la classe oracle.jdbc.pool.OracleDataSource.
Eviter les incidents Eviter les incidents: La fonction de mise en cache de connexions d'Oracle ne prend pas en charge XA.gotcha

Procédure

  1. Créez une source de données et un fournisseur JDBC défini par l'utilisateur.
    1. Cliquez sur Ressources > JDBC > Sources de données.
    2. Sélectionnez un serveur dans la liste déroulante Portée.
    3. Cliquez sur Nouveau.
    4. Entrez le nom et le nom JNDI de la source de données. Cliquez sur Suivant.
    5. Créez un fournisseur JDBC. Sélectionnez Création d'un nouveau fournisseur JDBC, puis cliquez sur Suivant.
    6. Définissez les propriétés requises pour le fournisseur JDBC. Utilisez les paramètres de configuration suivants :
      • Type de base de données : défini par l'utilisateur
      • Nom de la classe d'implémentation : oracle.jdbc.pool.OracleDataSource
      Cliquez sur Suivant.
    7. Entrez le chemin de classes menant à ojdbc6.jar et cliquez sur Suivant.
    8. Pour Nom de classe auxiliaire du magasin de données, entrez com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper. Cliquez sur Suivant.
    9. Définissez les alias de sécurité de cette source de données, puis cliquez sur Suivant.
    10. Terminez l'assistant.
    11. Sauvegardez les modifications de configuration.
  2. Configurez la source de données que vous avez créée.
    1. Cliquez sur le nom de la source de données. Le panneau de configuration s'affiche.
    2. Sélectionnez Propriétés personnalisées, puis créez ou modifiez les propriétés de cette source de données. Entrez ou mettez à jour les propriétés personnalisées suivantes :
      Nom Valeur
      disableWASConnectionPooling true
      Eviter les incidents Eviter les incidents: Vous devez également attribuer la valeur 0 à l'attribut maximumPoolSize dans les paramètres du pool de connexions de WebSphere Application Server pour permettre à Oracle de contrôler les limites du pool.gotcha
      connectionCachingEnabled true
      connectionCacheName votre_nom_cache
      removeExistingOracleConnectionPoolIfExists true
      Eviter les incidents Eviter les incidents: La propriété removeExistingOracleConnectionPoolIfExists doit être mise à true pour que le serveur d'applications puisse supprimer tous les pools de connexions Oracle existants portant le même nom. Sinon, la source de données Oracle fait échouer la méthode getConnection si le pool créé porte le même nom qu'un pool existant.

      Par exemple, si vous exécutez une connexion test, le processus de test crée un pool de connexions Oracle qui empêche le serveur d'applications de fonctionner correctement à l'exécution.

      gotcha
      URL URL_Oracle
      Eviter les incidents Eviter les incidents: L'ordre de définition des propriétés personnalisées est important. Il peut poser un problème, car le serveur d'applications transmet les propriétés en tant qu'ensemble et l'ordre n'est pas garanti. Si vous rencontrez ce problème, contactez Oracle et signalez l'erreur Oracle #6638862.gotcha
  3. Cliquez sur Valider ou sur OK.
  4. Sauvegardez les modifications apportées à la configuration du serveur d'applications.
  5. Redémarrez le serveur d'applications.

Résultats

Oracle n'affiche aucun message si la création du pool échoue. Une connexion normale sera renvoyée à la place. Vous pouvez vérifier que le pool de connexions Oracle a été créé en utilisant, dans la console d'administration, la fonction de connexion test pour la source de données. Activez d'abord la trace avec la chaîne de trace "RRA=all" pour le serveur qui exécute votre application. Lancez ensuite une connexion test. Lancez une seconde connexion test. Les deux connexions test doivent fonctionner. Examinez le journal de trace.

Si le pool de connexions Oracle a été créé correctement, la trace indique que la seconde connexion test a détecté l'existence du cache de connexions Oracle, conséquence de la première connexion test, et qu'elle a réussi à le supprimer afin qu'il puisse être recréé par le second test.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_oracleracconnpool
Nom du fichier : tdat_oracleracconnpool.html