Sie können eine Oracle-Datenquelle auswählen, wenn Sie anstelle des Verbindungspoolings des Anwendungsservers
das Caching-Feature der Oracle-Verbindung verwenden möchten.
Das Caching von Verbindungen für Oracle-Datenbanken ist dem Verbindungspooling im Anwendungsserver sehr ähnlich.
Informationen zu diesem Vorgang
Derzeit unterstützt Oracle Verbindungscaching nur mit Datenquellen, die die Implementierungsklasse
"oracle.jdbc.pool.OracleDataSource" und nicht die Klasse "oracle.jdbc.pool.OracleConnectionPoolDataSource" oder "oracle.jdbc.xa.client.OracleXADataSource" verwenden.
Standardmäßig sind die Oracle-JDBC-Provider im Anwendungsserver so konfiguriert, dass sie
die Klasse "oracle.jdbc.pool.OracleConnectionPoolDataSource" für Datenquellen ohne XA-Unterstützung
bzw. die Klasse "oracle.jdbc.xa.client.OracleXADataSource" für XA-Datenquellen verwenden.
Zum Aktivieren des Oracle-Features für das Caching von Verbindungen müssen Sie
einen neuen JDBC-Provider im Anwendungsserver konfigurieren und verwenden, der die Klasse "oracle.jdbc.pool.OracleDataSource"
implementiert.
Fehler vermeiden: Das Oracle-Feature für das Caching von Verbindungen unterstützt kein XA.
gotcha
Vorgehensweise
- Erstellen Sie eine Datenquelle und einen benutzerdefinierten JDBC-Provider.
- Klicken Sie auf .
- Wählen Sie in der Dropdown-Liste Geltungsbereich einen Server aus.
- Klicken Sie auf Neu.
- Geben Sie den Namen und den JNDI-Namen für die Datenquelle ein. Klicken Sie auf Weiter.
- Erstellen Sie einen JDBC-Provider. Wählen Sie Neuen
JDBC-Provider erstellen aus, und klicken Sie auf Weiter.
- Definieren Sie die erforderlichen Eigenschaften für den JDBC-Provider. Verwenden Sie die folgenden Konfigurationseinstellungen:
- Datenbanktyp: Benutzerdefiniert
- Name der Implementierungsklasse: oracle.jdbc.pool.OracleDataSource
Klicken Sie auf Weiter.
- Geben Sie den Klassenpfad für ojdbc6.jar ein, und klicken Sie auf
Weiter.
- Geben Sie im Feld Name der Helper-Klasse für Datenspeicher den Wert com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper ein.
Klicken Sie auf Weiter.
- Definieren Sie die Sicherheitsaliasnamen für diese Datenquelle, und klicken Sie auf Weiter.
- Beenden Sie den Assistenten.
- Speichern Sie die Konfigurationsänderungen.
- Konfigurieren Sie die erstellte Datenquelle.
- Klicken Sie auf den Namen der Datenquelle. Die Konfigurationsanzeige erscheint.
- Wählen Sie Angepasste Eigenschaften aus, und erstellen oder ändern
Sie die Eigenschaften für diese Datenquellen. Geben Sie die folgenden angepassten Eigenschaften ein, oder aktualisieren Sie sie:
Name |
Wert |
disableWASConnectionPooling |
true Fehler vermeiden: Außerdem müssen Sie das Attribut
"maximumPoolSize" in den Verbindungspooleinstellungen von WebSphere Application Server
auf 0 setzen, damit Oracle die Poolgrenzen steuern kann. gotcha
|
connectionCachingEnabled |
true |
connectionCacheName |
Cachename |
removeExistingOracleConnectionPoolIfExists |
true Fehler vermeiden: Die Eigenschaft "removeExistingOracleConnectionPoolIfExists"
muss auf true gesetzt werden, damit der Anwendungsserver alle vorhandenen
Oracle-Verbindungspools mit identischen Namen entfernt.
Andernfalls schlägt die Methode "getConnection" der Oracle-Datenquelle fehl, wenn der Name des erstellten pools
mit dem Namen eines vorhandenen Pools identisch ist.
Wenn Sie beispielsweise eine Testverbindung ausführen, erstellt der Testverbindungsprozess einen
Oracle-Verbindungspool, der eine ordnungsgemäße Funtionsweise des Anwendungsservers zur Laufzeit verhindert.
gotcha
|
URL |
Oracle-URL |
Fehler vermeiden: Die Reihenfolge, in der die angepassten Eigenschaften definiert werden, ist von Bedeutung.
Die Definitionsreihenfolge kann ein Problem darstellen, weil der Anwendungsserver
die Eigenschaften als Sammlung übergibt und die Einhaltung der Eigenschaftenreihenfolge nicht gewährleistet ist.
Falls ein solches Problem auftritt,
wenden Sie sich an Oracle, und verweisen Sie auf den Oracle-Programmfehler mit der Nummer 6638862.
gotcha
- Klicken Sie auf Anwenden oder OK.
- Speichern Sie die Änderungen in der Anwendungsserverkonfiguration.
- Starten Sie den Anwendungsserver erneut.
Ergebnisse
Oracle zeigt keine Nachricht an, wenn die Poolerstellung fehlschlägt. Stattdessen wird eine normale und es wird stattedessen does not display a message if the pool creation fails,
Verbindung zurückgegeben. Mithilfe der Funktion "Verbindung testen" in der Administrationskonsole
können Sie prüfen, ob der Oracle-Verbindungspool für die Datenquelle erstellt wurde.
Aktivieren Sie zuerst die Traceerstellung mit der Tracezeichenfolge
"RRA=all" für den Server, in dem Ihre Anwendung ausgeführt wird.
Starten Sie anschließend eine Testverbindung. Starten Sie eine zweite Testverbindung.
Beide Testverbindungen müssen funktionieren. Überprüfen Sie das Traceprotokoll.
Wenn der Oracle-Verbindungspool erfolgreich erstellt wurde, zeigt der Trace, dass die zweite
Testverbindung aufgrund der ersten Testverbindung festgestellt hat, dass der Oracle-Verbindungscache vorhanden ist,
und diesen Cache erfolgreich entfernen konnte, damit er vom zweiten Test erneut erstellt werden kann.