Establishing multiple WLEC connection pools
Running WLS 6.0 communicating with WLE 4.2:
I'm looking at setting up multiple connection pools to communicate with multiple
WLE application domains.
The code fragment below is from the BEA documentation and works fine if you know
the domain(pool) name. My code uses the "lookup" method in the InitialContext
class to get the pool name for single WLEC pool/domain configuration. Is there
a method to return a list of domain(pool) names?
Each WLEC connection pool has a Tobj_Bootstrap object that lets you access the
associated WLE domain. The WLEC component provides an object called BootstrapFactory
which provides access to the Tobj_Bootstrap object for a particular WLE domain.
Include the following code in your WebLogic Server client to connect to a WLE
domain:
Tobj_Bootstrap myBootstrap = Tobj_BootstrapFactory.getClientContext("myPool");
where
The getClientContext() method returns the Tobj_Bootstrap object that is associated
with myPool. If getClientContext() cannot find a WLEC connection pool with this
name, it returns null.
myPool is the name of a WLEC connection pool for the desired WLE domain. This
WLEC connection pool needs to be defined in the Administration Console.
Well ... It boiled down to ACLs.
"Sreeram" <[email protected]> wrote:
>
Hi
I have WLI application ( 7.0 ) and another J2EE appliction configured
on WLS (
7.0 ). If I have multiple jdbc connection pools configured to access
different
( or even the same ) databases, I am unable to get the connection to
execute a
sql query in the J2EE app. The connection pool gets initialized properly
during
the server startup and I can see them in the console but when I try to
acquire
a connection from the pool for execution of a jdbc stmt, I am unable
to obtain
a connection. Did any one succeed in configuring mulitple jdbc connection
pools
and WLI and another J2EE app to run together on WLS 7.0? Any suggestions
are welcome.
Thanks
Sreeram
Similar Messages
-
Multiple JDBC connection pools
Hi
I have WLI application ( 7.0 ) and another J2EE appliction configured on WLS (
7.0 ). If I have multiple jdbc connection pools configured to access different
( or even the same ) databases, I am unable to get the connection to execute a
sql query in the J2EE app. The connection pool gets initialized properly during
the server startup and I can see them in the console but when I try to acquire
a connection from the pool for execution of a jdbc stmt, I am unable to obtain
a connection. Did any one succeed in configuring mulitple jdbc connection pools
and WLI and another J2EE app to run together on WLS 7.0? Any suggestions are welcome.
Thanks
SreeramWell ... It boiled down to ACLs.
"Sreeram" <[email protected]> wrote:
>
Hi
I have WLI application ( 7.0 ) and another J2EE appliction configured
on WLS (
7.0 ). If I have multiple jdbc connection pools configured to access
different
( or even the same ) databases, I am unable to get the connection to
execute a
sql query in the J2EE app. The connection pool gets initialized properly
during
the server startup and I can see them in the console but when I try to
acquire
a connection from the pool for execution of a jdbc stmt, I am unable
to obtain
a connection. Did any one succeed in configuring mulitple jdbc connection
pools
and WLI and another J2EE app to run together on WLS 7.0? Any suggestions
are welcome.
Thanks
Sreeram -
Creating Multiple LibrarySession (Connection Pool), Using single LibraryService
Hello,
I am trying to create multiple LibrarySession with a single LibraryService, so that each user can pick a new session from a pool and release LibrarySession back to the pool, when the user task is been completed.
Question.
1. Is it possible to create LibrarySession Pool ?
2. If yes, Can any one suggest, whether there will be any improvement in the performance of the application by doing so, or Oracle IFS internally handles the connection pool mechanism for LibrarySession.
3. Does Oracle IFS handle LibrarySession pool internally.
If there is any code, which does similar action, please do forward.
Best Regards
Sujeem HariesSujeem, we do not pool LibrarySession instances for you. You may see a performance improvement if you maintain a LibrarySession pool, depending on the application. See the following post for more info:
Oracle Security & PAM
Please note that although LibrarySession instances are not pooled for you, the underlying database connections are pooled. -
Connection Pool establishment problem
Hi Experts,
we have one application with JCo mechanism. For this application,
we are using one properties file, which holds ABAP connection information. From this connection information(sapconn.props), we created connection pool and fetching data from the back end. Now my requirement is, instead of this properties file, we want to use one SLD, from this i would like to fetch connection information and establish a connection pool. How can we implement this one...?
Is there any API to read the ABAP connection informaation from visual admin (JCo RFC provider) ?
Thanks
mahaYour question has been answered in this [thread|connection establishment doubt;.
Please read the [rules|https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement], in particular - do not cross post.
-- Vladimir -
How to use my connection pool in multiple servlets?
I now have a functioning connection pool using these lines in a servlet:
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
========================
If I want to create additional servlets in the same web app which query the same database,
do I need to repeat this block of code in every servlet, or can I just put it in one servlet
and have other servlets access it in some way to get a connection? Should I change the code
above from a "private" Connection to a "public" Connection?
An example servlet is shown below. To put my question another way: If I want to
create a second servlet with a different set of queries, would I just make a copy of the first
servlet and then change only the queries, or is there a more efficient way to have multiple
servlets get connections from the pool?
Any suggestions are greatly appreciated.
Thank you.
Logan
************************************servlet example**********************************
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.util.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.Date;
import java.text.*;
import javax.naming.*;
import javax.sql.DataSource;
public class CraigsMain extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
// Process the http Get request
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String sql = "select formtitle from checkboxforms where cbformid = 157";
// error occurs at this line
Connection ocon = getConnection("java:comp/env/jdbc/CraigsList");
PreparedStatement pStmt = ocon.prepareStatement(sql);
ResultSet rs1 = pStmt.executeQuery();
rs1.next();
out.println("<br>" + rs1.getString(1));
rs1.close();
pStmt.close();
ocon.close();
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
=======================================================================sjasja, Thank you for the reply. What you are suggesting is exactly what I have been looking for. But I'm pretty weak on how to make this separate con pool servlet work. My first attempt is shown below. It doesn't compile this line, which is obviously wrong:
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Could you please help me with this servlet code? Thanks.
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class ConPoolInit extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
======================================= -
Shall I use one datasource for multiple connection pool?
Hi,
I need to clarrify that, Shall I use one Datasource for multiple connection pool in distributed transaction?
Thanks with regards
SureshNo. If its transactions across multiple databases you should use different datasources.
-
Multiple DataSource using single Connection Pool
Previously using Weblogic 6.1 we had a configuration where multiple Datasources used a single connection pool. Now that we are in the process of upgrading to Weblogic 9.1, we are attempting to recreate the same configuration.
The Weblogic 9.1 upgrade wizard appears to have created the relevent datasource & connection pool configuration files but when attempting to use these I am receiving the following errors:
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901758> <BEA-001508> <Destroying Connection Pool TestDSLegacyPool.>
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901758> <BEA-001155> <The following exception has occurred:
weblogic.common.ResourceException: Unknown Data Source TestDSLegacyPool
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownAndDestroyPool(ConnectionPoolManager.java:419)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:251)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
>
####<30-Jan-2007 11:18:21 o'clock GMT> <Error> <Deployer> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901773> <BEA-149205> <Failed to initialize the application 'TestDSLegacyPool' due to error weblogic.application.ModuleException: .
weblogic.application.ModuleException:
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:257)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:239)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.verifyPoolDeployment(DataSourceManager.java:607)
at weblogic.jdbc.common.internal.DataSourceManager.checkDSConfig(DataSourceManager.java:594)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:236)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
++++++++++++++++++++++++++++++++++++++++++++++++++
The configuration files content is :
TestDSLegacyPool-9290-jdbc.xml
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/910/domain.xsd">
<name>TestDSLegacyPool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>3</value>
</property>
<property>
<name>LegacyPoolName</name>
<value>Beach Brochure Browse Pool</value>
</property>
</internal-properties>
<jdbc-data-source-params>
<jndi-name>beachBrochureBrowseDS</jndi-name>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
CP-Beach_Brochure_Browse_Pool-1043-jdbc.xml
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/910/domain.xsd">
<name>Beach Brochure Browse Pool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>1</value>
</property>
</internal-properties>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@aserver:1522:adb</url>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>gf_user</value>
</property>
<property>
<name>dll</name>
<value>ocijdbc9</value>
</property>
<property>
<name>protocol</name>
<value>thin</value>
</property>
</properties>
<password-encrypted>{3DES}4UT5899x/Z4=</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>3</max-capacity>
</jdbc-connection-pool-params>
</jdbc-data-source>
Would anyone be able to point me in the right direction with this? Configuring the Datasources through the Admin Console creates a single Datasource configuration file that contains its relevent connection pool configuration, but the Weblogic Upgrade wizard creates a Datasource config file and a separate connection pool config file. What would I need to do to use the config files generated by the Weblogic Upgrade wizard?
Any help appreciated
Thanks
AndrewAndrew Harrison wrote:
Previously using Weblogic 6.1 we had a configuration where multiple Datasources used a single
connection pool. Now that we are in the process of upgrading to Weblogic 9.1, we are attempting
to recreate the same configuration.Hi, sorry to say, that is no longer possible:
http://e-docs.bea.com/wls/docs90/jdbc_admin/jdbc_intro.html#1044158
Simplified JDBC Resource Configuration
In WebLogic Server 9.0, the number of JDBC resource types was reduced to simplify JDBC configuration and to reduce the likelihood
of configuration errors. Instead of configuring a JDBC connection pool and then configuring a data source or tx data source to
point to the connection pool and bind to the JNDI tree, you configure a data source that encompasses a connection pool.
Note: Because of the new configuration design, you can no longer have multiple data sources that point to a single connection
pool. Instead, you can create additional data sources, each with its own pool of connections, or you can bind a single data source
to the JNDI tree with multiple names. See Binding a Data Source to the JNDI Tree with Multiple Names for more information.
Joe
>
The Weblogic 9.1 upgrade wizard appears to have created the relevent datasource & connection pool
configuration files but when attempting to use these I am receiving the following errors:
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE]
ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>
<1170155901758> <BEA-001508> <Destroying Connection Pool TestDSLegacyPool.>
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE]
ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>
<1170155901758> <BEA-001155> <The following exception has occurred:
weblogic.common.ResourceException: Unknown Data Source TestDSLegacyPool
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownAndDestroyPool(ConnectionPoolManager.java:419)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:251)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
####<30-Jan-2007 11:18:21 o'clock GMT> <Error> <Deployer> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901773> <BEA-149205> <Failed to initialize the application 'TestDSLegacyPool' due to error weblogic.application.ModuleException: .
weblogic.application.ModuleException:
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:257)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:239)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.verifyPoolDeployment(DataSourceManager.java:607)
at weblogic.jdbc.common.internal.DataSourceManager.checkDSConfig(DataSourceManager.java:594)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:236)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
++++++++++++++++++++++++++++++++++++++++++++++++++
The configuration files content is :
TestDSLegacyPool-9290-jdbc.xml
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/910/domain.xsd">
<name>TestDSLegacyPool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>3</value>
</property>
<property>
<name>LegacyPoolName</name>
<value>Beach Brochure Browse Pool</value>
</property>
</internal-properties>
<jdbc-data-source-params>
<jndi-name>beachBrochureBrowseDS</jndi-name>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
CP-Beach_Brochure_Browse_Pool-1043-jdbc.xml
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/910/domain.xsd">
<name>Beach Brochure Browse Pool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>1</value>
</property>
</internal-properties>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@aserver:1522:adb</url>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>gf_user</value>
</property>
<property>
<name>dll</name>
<value>ocijdbc9</value>
</property>
<property>
<name>protocol</name>
<value>thin</value>
</property>
</properties>
<password-encrypted>{3DES}4UT5899x/Z4=</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>3</max-capacity>
</jdbc-connection-pool-params>
</jdbc-data-source>
Would anyone be able to point me in the right direction with this? Configuring the Datasources
through the Admin Console creates a single Datasource configuration file that contains its relevent
connection pool configuration, but the Weblogic Upgrade wizard creates a Datasource config file and
a separate connection pool config file. What would I need to do to use the config files generated
by the Weblogic Upgrade wizard?
Any help appreciated
Thanks
Andrew -
Connection Pool - unable to establish connection for one or more OC4J inst.
Hi.
I'm using Oracle JDeveloper 10.1.3.1 to develop some app. Database is Oracle XE 10.2.0. Application server is Oracle Aplication Server 10.1.3.1
After create a needed code, I' v tried establish Connection Pool. When I' v tested connection, next errors was occurred:
Unable to establish connection for one or more OC4J instances<<
Home on admin.FRIEND-6843859F - Failed due to error: "Exception occurred testing connection. Exception: java.sql.SQLException: invalid arguments in call."<<"FRIEND-6843859F " is Computer name where Application server is installed.
--Database is started.
--App.server processes are started.
How can I solve this problem?
ThanxIf you are using ADF "BC" Jdev will not support more than one connection
I've tryied and always gives a errors. -
Multiple connection pools problem
Hi,
Here is the problem. We use several connection pools to access differents
schema of our database. We also have a connection pool
opened for Weblogic Commerce which connects to the Commerce schema in our
database. Here is a sample of our weblogic.properties file:
#========================================================
# WeblogicCommerce pool and data source
#========================================================
weblogic.jdbc.connectionPool.commercePool=\
url=jdbc:oracle:thin:@careon_dev:1521:careon,\
driver=oracle.jdbc.driver.OracleDriver,\
loginDelaySecs=1,\
initialCapacity=2,\
maxCapacity=10,\
capacityIncrement=1,\
allowShrinking=true,\
shrinkPeriodMins=15,\
testConnsOnReserve=true,\
props=user=WLCS_TEST;password=WLCS_TEST,\
testTable=WLCS_IS_ALIVE,\
refreshMinutes=5
weblogic.allow.reserve.weblogic.jdbc.connectionPool.commercePool=everyone,
CareonDev
weblogic.jdbc.DataSource.weblogic.jdbc.jts.commercePool=commercePool
#========================================================
# WeblogicCommerce Document Management pool
#========================================================
# This is the pool the beans reference
weblogic.jdbc.connectionPool.docPool=\
url=jdbc:beasys:docmgmt:com.beasys.commerce.axiom.document.ref.RefDocumentPr
ovider,\
driver=com.beasys.commerce.axiom.document.jdbc.Driver,\
loginDelaySecs=1,\
initialCapacity=2,\
maxCapacity=10,\
capacityIncrement=1,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,\
props=jdbc.url=jdbc:weblogic:pool:commercePool;\
jdbc.isPooled=true;\
weblogic.t3.waitForConnection=true;\
weblogic.t3.waitSecondsForConnection=999999999999;\
docBase=C:/WebLogicCommerce/dmsBase/;\
schemaXML=C:/WebLogicCommerce/dmsBase/doc-schema.xml
weblogic.allow.reserve.weblogic.jdbc.connectionPool.docPool=everyone,
CareonDev
# Add the show doc servlet
weblogic.httpd.register.ShowDocServlet=com.beasys.commerce.content.ShowDocSe
rvlet
#========================================================
# Careon's CDRpool and data source
#========================================================
weblogic.jdbc.connectionPool.cdrPool=\
url=jdbc:oracle:thin:@careon_dev:1521:careon,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=2,\
maxCapacity=10,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,\
testTable=dual,\
props=user=test;password=test
weblogic.allow.reserve.weblogic.jdbc.connectionPool.cdrPool=everyone,
CareonDev
Inpredictably, we obtain the following error:
java.sql.SQLException: Connection has already been created in this tx
context for pool named commercePool. Illegal attempt to create connection
from another pool: cdrPool
Does anybody have a solution or at least pointers ?
Many thanks,
OlivierGoh Yew Yap wrote:
>
Is there any workaround for this?Yes. In 6.0, presuming you use XA-compliant JDBC drivers
for the DBMS or DBMSes involved, transactions will be able
to involve any number of pools/DBMSes in a transaction.
For 5.1 and/or for DBMSes that do not have an XA-compliant
JDBC driver, you can write BMP beans that will do their own
JDBC access to all but one DBMS, using the non-transactional
pool driver, and you will be fully responsible for any
transactional state involving this under-the-covers JDBC.
This is easy to do in cases where a second DBMS is used
primarily for queries, not updates, so the non-JTS-managed
JDBC access can't corrupt that DBMS.
Joe
>
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Olivier Baujard wrote:
Hi,
Here is the problem.
Inpredictably, we obtain the following error:
java.sql.SQLException: Connection has already been created in this tx
context for pool named commercePool. Illegal attempt to create connection
from another pool: cdrPoolHi. This means that within a single JTS/EJB transaction, there weremultiple
beans and/or JSPs etc that got JDBC connections to do work, but not all ofthese
routines asked for a connection from the same pool. That's a requirementfor
5.1 or 4.5. The transaction coordinator and JTS driver cooperate to ensurethat
only one JDBC connection is really ever used in a given transaction. Ifmultiple
beans ask for a pool connection within a given tx, we ensure that theyreally get
the same connection. This is because JDBC drivers typically don'timplement
2-phase commit, so we must enforse that only one DBMS connection isinvolved so we
can just commit or roll back on it, and ensure transactional correctness.If a
bean asks for a connection from a different pool than a previous bean inthe same
tx, we know we can't give them the already-established connection, so wethrow
this exception.
For 6.0, for pools made with XA-compliant JDBC drivers, this will be OK.
Joe
We use several connection pools to access differents
schema of our database. We also have a connection pool
opened for Weblogic Commerce which connects to the Commerce schema in
our
database. Here is a sample of our weblogic.properties file:
#========================================================
# WeblogicCommerce pool and data source
#========================================================
weblogic.jdbc.connectionPool.commercePool=\
url=jdbc:oracle:thin:@careon_dev:1521:careon,\
driver=oracle.jdbc.driver.OracleDriver,\
loginDelaySecs=1,\
initialCapacity=2,\
maxCapacity=10,\
capacityIncrement=1,\
allowShrinking=true,\
shrinkPeriodMins=15,\
testConnsOnReserve=true,\
props=user=WLCS_TEST;password=WLCS_TEST,\
testTable=WLCS_IS_ALIVE,\
refreshMinutes=5
weblogic.allow.reserve.weblogic.jdbc.connectionPool.commercePool=everyone,
CareonDev
weblogic.jdbc.DataSource.weblogic.jdbc.jts.commercePool=commercePool
#========================================================
# WeblogicCommerce Document Management pool
#========================================================
# This is the pool the beans reference
weblogic.jdbc.connectionPool.docPool=\
url=jdbc:beasys:docmgmt:com.beasys.commerce.axiom.document.ref.RefDocumentPr
ovider,\
driver=com.beasys.commerce.axiom.document.jdbc.Driver,\
loginDelaySecs=1,\
initialCapacity=2,\
maxCapacity=10,\
capacityIncrement=1,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,\
props=jdbc.url=jdbc:weblogic:pool:commercePool;\
jdbc.isPooled=true;\
weblogic.t3.waitForConnection=true;\
weblogic.t3.waitSecondsForConnection=999999999999;\
docBase=C:/WebLogicCommerce/dmsBase/;\
schemaXML=C:/WebLogicCommerce/dmsBase/doc-schema.xml
weblogic.allow.reserve.weblogic.jdbc.connectionPool.docPool=everyone,
CareonDev
# Add the show doc servlet
weblogic.httpd.register.ShowDocServlet=com.beasys.commerce.content.ShowDocSe
rvlet
#========================================================
# Careon's CDRpool and data source
#========================================================
weblogic.jdbc.connectionPool.cdrPool=\
url=jdbc:oracle:thin:@careon_dev:1521:careon,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=2,\
maxCapacity=10,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,\
testTable=dual,\
props=user=test;password=test
weblogic.allow.reserve.weblogic.jdbc.connectionPool.cdrPool=everyone,
CareonDev
Inpredictably, we obtain the following error:
java.sql.SQLException: Connection has already been created in this tx
context for pool named commercePool. Illegal attempt to createconnection
from another pool: cdrPool
Does anybody have a solution or at least pointers ?
Many thanks,
Olivier--
PS: Folks: BEA WebLogic is in S.F. with both entry and advanced positionsfor
people who want to work with Java and E-Commerce infrastructure products.Send
resumes to [email protected]
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web ApplicationServer
Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a ComponentArchitecture
http://www.bea.com/press/awards_weblogic.html
PS: Folks: BEA WebLogic is in S.F. with both entry and advanced positions for
people who want to work with Java and E-Commerce infrastructure products. Send
resumes to [email protected]
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web Application Server
Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a Component Architecture
http://www.bea.com/press/awards_weblogic.html -
Multiple connection pools in the same DB physical source
Hi, I have this situation in BI Admin:
A single DB with 2 physical schema and 2 Connection Pools with OCI 10/11g.
Clicking on any table I can see the data after selecting the right connection pool for that table.
I created a Business Model based upon tables from one of the 2 physical schemas and a corresponding presentation layer. It is consistent and I can view the related subject area in Answers, but when I select a Dimension column (CONVERGENZA_NEGOZIO.STATO) and the fact measure ( Convergenza_Fact.INCASSO ) in viewing results I get this error:
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 942, message: ORA-00942: table or view does not exist at OCI call OCIStmtExecute. [nQSError: 17010] SQL statement preparation failed. (HY000)
SQL Issued: SELECT CONVERGENZA_NEGOZIO.STATO saw_0, Convergenza_Fact.INCASSO saw_1 FROM Convergenza ORDER BY saw_0
Is it caused by the multiple connection pools under the same DB?Yes I think that's correct, but only if you're going to use the same user to connect to them.
If you have a single user you're using to connect to a database to read data which happens to be over more than one schema, you'd use one connection pool.
However if you have entirely separate schemas (eg. different applications) and need to use a different user for each then you would use one connection pool per schema. Also if you thought you might move one of the schemas to another physical database at some point in the future it might be prudent to use a separate connection pool from the outset.
If you're still getting the error that the table cannot be found and your users have full permissions then logically the table that's being looked for does not exist, or you have not qualified it. What I mean by that is if you are connecting as USER2 and SELECT * FROM TABLE_A then the database will assume that you mean USER2.TABLE_A. If you mean USER1.TABLE_A then you need to make sure the qualification is in there.
In the admin tool check your Physical layer is set up correctly with your Physical Tables residing in the correct Physical Schemas. -
Query about multiple connection pools under one database
Hi,
I have s query about connection pool, now we have a requirement,
we have two schemas in one db, some data store in one schema, some in another schema,
all tables are the same, but data is different, we want to retrive all data under two schemas,
so we need two connection pools under one database,
I have set two system DSN, and each connection pool was mapping to one DSN,
but after I importing tables into RPD, when I view data, there is a dialog let me select connection pool. so If this, when we drag columns in answer, it will definitely get wrong.
so how to realize this function about multiple connection pools under one database and we can get data normally.Hi,
Try this step
1)Better to create two different DSN for the same database with different user id and password
2)now create multiple connection pool in the same database in u r RPD physical layer .
also refer this link : for imporving performance
http://obiee101.blogspot.com/2009/01/obiee-multiple-connection-pools.html
http://gerardnico.com/wiki/dat/obiee/connection_pool
Thanks
Deva -
Connection Pooling : Network Adapter could not establish the connection
Hi,
We have a client-server application wherein the server has a pooled connection to an Oracle 10i database. The application is developed in Java and we are using Oracle OracleConnectionCacheImpl API to manage the connection pooling( DYNAMIC pooling with a pool size of 5 and we are using ojdbc14.jar)
On certain occasions when activity is extremely high, the server attemtps to retrieve around 2 million datasets/records. The connection pool runs out of connections and we get the following error :
com.indigo.utils.DBEngineException: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at com.indigo.zclasses.DBTradingSource.getConnection(DBTradingSource.java:136)
at com.indigo.zclasses.DBTradingSource.getTicketMessages(DBTradingSource.java:8033)
at sun.reflect.GeneratedMethodAccessor749.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.indigo.basketserver.ServerSideUtil.ConfigUtil(ServerSideUtil.java:88)
at com.indigo.basketserver.RemoteServerImpl.ConfigUtil(RemoteServerImpl.java:543)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:418)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:521)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:325)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:171)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:149)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:95)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:63)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getNewPoolOrXAConnection(OracleConnectionCacheImpl.java:547)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getPooledConnection(OracleConnectionCacheImpl.java:404)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:298)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:268)
at com.indigo.zclasses.DBTradingSource.getConnection(DBTradingSource.java:127)
This is happens in Production and despite our exhaustive efforts,we have been unable to reproduce it in our Testing environment so far.
A large number of login attempts are seen in the Oracle login monitoring table, around 50,000 but we dont think that should be an issue. At the time, when this problem occurs, there are other processes making connection to the DB without any issues. Also, after sometime, the connection is restored and no exceptions are thrown.
Any insight into how we could simulate,resolve or monitor this issue would be greatly appreciated.
Thanks,
ZuberHi. This a long-known issue, and is caused by the DBMS listener's incoming
request buffer becoming overloaded by many simultaneous connection
requests. It will fail some of them. I have seen this with a simple java
program that calls Driver.connect() identically 20 times in a tight loop.
Some of the calls will fail in this way, while others will succeed. The
solution BEA's pool has, is to have a delay option to have the thread
sleep a bit (half-second to a secod or so) between successive connection
requests. After that, don't close connections until they're broken. Keep
them and re-use them.
HTH,
Joe Weinstein at BEA Systems -
Connection pooling & multiple apps in single instance - many sessions
Any feedback would be much appreciated from anyone with experience already with this situation and/or can provide some insight on this:
Adhering to the trend of consolidating instances, we have a single consolidated instance with multiple apps. With connection pooling (we use apache & mod_perl), I suppose you have an option of creating some oracle db accounts that can be shared among multiple apps - that benefits you in reducing the numbers of total pooled db connections to the instance - but one very big drawback is that you have some apps, if sharing generic db userids, having access to tables they have no need to access.
On another hand, you have the option (which is the approach we've taken thus far and, in my view, is definitely the way to go) of a distinct oracle account for each app - on the downside, that could produce many more total db sessions (& os processes) on the server as each new set of unique persistent pooled connections are created - but it benefits you in terms of security - which has a lot of weight - since each app account only has access to what it needs & nothing beyond that (the "least privilege" concept).
We're not an "amazon.com" so we haven't had to deal with thousands of sessions within an instance so there's an element of the unknown here for us - some questions I have are: How can I accurately predict how many db sessions (& os processes) this particular solaris server can support? I realize kernel parameters need to be set high enough for this sort of environment but simply setting the parameters cannot be a true indication of what the server can support. How much memory is required for thousands of sessions? I'm trying to gauge how many sessions & processes we can currently support - and at what point we'll need additional memory, or an updated server, or at what point we need to start thinking about an additional server environment for new apps.
I realize connection pooling is, by it nature, reducing the overall sessions required but as each unique db account is created, there will be set of persistent sessions out there and that will grow.
Also if you have any insight on other things to think about when heading into the direction of lots of sessions (beyond kernel settings, other OS or db parameters that need to be reviewed, or some features to enable).
I'm rambling so I'll stop right there; sorry about the length of the post. It's possible that the things to look at and consider are pretty straight-forward.
Thanks in advance for any feedback on any of the above.
-Rick Papaj
[email protected]You better check the documentation available on OTN
http://download-west.oracle.com/docs/cd/B25221_03/web.1013/b14432/threadpool.htm
There are several options you can setup with pooling.
hope this helps. -
Connection pool not re-establishing connections, throwing exception instead
Hello,
I've just set up a connection pool on the sun java system application server 8 for a MySQL database using the official mysql-connector/j 5.0. Everything is working great, except when the connections timeout (or i kill them all manually from the database server) and then request a page that needs to use the DataSource object, the following exception is thrown:
Exception thrown: com.mysql.jdbc.CommunicationsException -- Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3047)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1166)
at com.mysql.jdbc.jdbc2.optional.StatementWrapper.executeQuery(StatementWrapper.java:705)
at beans.MySessionBean.businessMethod(MySessionBean.java:73)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:70)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
** END NESTED EXCEPTION **
Last packet sent to the server was 16 ms ago.What could be wrong?
Thank you.The code is here:
public String businessMethod() {
//TODO implement businessMethod
try
InitialContext ic = new InitialContext();
Object obj = ic.lookup("jdbc/MyDS");
System.out.println("Object is: " + obj + " | Class is: " + obj.getClass().getName());
DataSource ds = (DataSource)obj;
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a,b FROM test");
String ret = "";
while(rs.next())
ret += rs.getString(1) + " - " + rs.getString(2) + "<br/>";
conn.close();
return ret;
catch(Exception e)
return "Exception thrown: " + e.getClass().getName() + " -- " + e.getMessage();
}On the server, it is set up as XADataSource. I don't really have a big need for distributed transactions, but does it hurt badly to use it anyways? Could it be causing this problem? -
Multiple sources in a single Connection Pool
Hi Folks,
I have a requirement to import data from two diffrent data sources( for example : Two diffrent database of Oracle in two diffrent servers) using a single connection pool to the physical layers of OBIEE RPD. Can anyone please suggest whether this is possible or not? If yes please provide the steps.DB Links is an Oracle feature, not an OBIEE. You have to create your DB link in one of the schemas in DB1 so you can connect from there to DB2. Then you can simply create a query that joins data from both DBs:
SELECT * FROM DUAL d1, DUAL@DB2 d2
WHERE d1.dummy = d2.dummy
Search on Google as this is a very popular and simple feature to use. It will allow you to use one connection pool that's connection to two DBs.
Maybe you are looking for
-
Invalid SQL Query with DBMS_JOB.SUBMIT inside
Probably a simple thing, but I can't seem to find the problem in here. I get an error that INVALID SQL STATEMENT. I guess I'm messing something up with the lots of ' chars. If anyone could point out where did I failed I'd be really grateful. create o
-
My wife and I each have an itunes account. We just got a new imac, and want to put all of our media on it. Can we share songs and media from two diffrent accounts on the imac, our iphones, and the ipad2?
-
I have a Windows 7 laptop using I tunes 64 and all my music files are on an external disc. I rarely use I tunes and at one point moved all my files (including the music files) from one external disc to another without considering what affect this wou
-
Sound Blaster Live 24-bit PCI Sound Card and Creative Sound Blaster PCI Card not detect
Ok here is my problem. I bought a Creative Sound Blaster PCI sound card a while back and it was working fine but recently when I would boot up my computer and try to play music say off of Winamp it says Bad DirectSound Driver. When I check device man
-
How to go for multiple business group
Dear All. This is a very common and perhaps very old question now. But I just want to check what is the common process to go through to achieve multiple business groups. We are in oracle 12.1.XX and have single business group but now looking to imple