OC4J AQ/JMS - Logging DriverManagerConnectionPoolConnection not closed
Hi,
Since I do not directly utilise JDBC resource, I cannot work out how I might investigate this supposed leak.
Every now and then (and it does appear to happen sporadically - I cannot identify a pattern), I get the
messages.
DriverManagerConnectionPoolConnection not closed, check your code!
I turned the logging on (using -Djdbc.connection.debug=true), and the following exceptions is thrown:
Created at:
java.lang.Throwable: DriverManagerConnectionPoolConnection created
at com.evermind.sql.DriverManagerConnectionPoolConnection.<init>(DriverManagerConnectionPoolConnection.java:27)
at com.evermind.sql.DriverManagerPooledConnection.getNewLogicalConnection(DriverManagerPooledConnection.java:341)
at com.evermind.sql.DriverManagerPooledConnection.getConnection(DriverManagerPooledConnection.java:117)
at com.evermind.sql.OrionPooledDataSource.getConnection(OrionPooledDataSource.java:235)
at com.evermind.sql.DriverManagerXADataSource.getNonAutoCommitConnection(DriverManagerXADataSource.java:285)
at com.evermind.sql.DriverManagerXAConnection.start(DriverManagerXAConnection.java:101)
at com.evermind.server.TransactionEnlistment.<init>(TransactionEnlistment.java:45)
at com.evermind.server.ApplicationServerTransaction.enlistResource(ApplicationServerTransaction.java:247)
at com.evermind.sql.OrionCMTConnection.tryToDelistEnlist(OrionCMTConnection.java:308)
at com.evermind.sql.OrionCMTConnection.intercept(OrionCMTConnection.java:112)
at com.evermind.sql.FilterConnection.getTypeMap(FilterConnection.java:135)
at com.evermind.sql.FilterConnection.getTypeMap(FilterConnection.java:136)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:1240)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:981)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:918)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:834)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:905)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:797)
at java.lang.Thread.run(Thread.java:479)
Here is the ejb.jar sections of interest:
<transaction-type>Container</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
<resource-ref>
<res-ref-name>jms/MessageQueueConnectionFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-env-ref>
<resource-env-ref-name>jms/MessageSendQueue</resource-env-ref-name>
<resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
</resource-env-ref>
<resource-env-ref>
<resource-env-ref-name>jms/MessageStatusQueue</resource-env-ref-name>
<resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
</resource-env-ref>
Here is the orion-ejb.jar <enterprise-beans> definition:
<enterprise-beans>
<message-driven-deployment name="MessagingServer" destination-location="java:comp/resource/CallistaMessagingJMSContext/Queues/CORQ_MSG_SEND_QUEUE" connection-factory-location="java:comp/resource/CallistaMessagingJMSContext/QueueConnectionFactories/jmsFactory" max-instances="100">
<resource-ref-mapping name="jms/MessageQueueConnectionFactory" location="java:comp/resource/CallistaMessagingJMSContext/QueueConnectionFactories/jmsFactory" />
<resource-env-ref-mapping name="jms/MessageSendQueue" location="java:comp/resource/CallistaMessagingJMSContext/Queues/CORQ_MSG_SEND_QUEUE" />
<resource-env-ref-mapping name="jms/MessageStatusQueue" location="java:comp/resource/CallistaMessagingJMSContext/Queues/CORQ_MSG_STATUS_QUEUE" />
</message-driven-deployment>
</enterprise-beans>
The orion-application.xml has the following resource provider mapping for the OJMS Context:
<resource-provider class="oracle.jms.OjmsContext" name="CallistaMessagingJMSContext">
<description> OJMS/AQ </description>
<property name="datasource" value="jdbc/ejb/CallistaMessageOwnerDS" />
</resource-provider>
Here is the matching 'jdbc/ejb/CallistaMessageOwnerDS' datasource definition for the JMS:
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="CallistaMessageOwnerJDBCDatasource"
location="jdbc/CallistaMessageOwnerCoreDS"
xa-location="jdbc/xa/CallistaMessageOwnerXADS"
ejb-location="jdbc/ejb/CallistaMessageOwnerDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="*********"
password="****"
url="jdbc:oracle:thin:@myhost.com.au:1529:ORCL"
inactivity-timeout="30"
/>
I would appreciate any input into any mistakes I may have made (perhaps I need to use a different datasource, or define it in a different way)
Any help - including an indication that this is an error I can safely ignore :-) would be appreciated.
Thanks
Jason
I'm have the same issue. I'm currently trying to seen if the Oracle 9.2.0.5.0 patch corrects the issue (waiting for the file down load). There is a known issue in Oracle and cleaning up Inactive connections. I assuming the two are related ... I hope it works.
Similar Messages
-
DriverManagerConnectionPoolConnection not closed with TopLink cahce synch
We're using TopLink in several JVMs and have configured cache synchronisation over JMS. The JMS topic runs on Oracle AQ. Every once in a while we get the follwoing error from OC4J:
DriverManagerConnectionPoolConnection not closed, check your code!
Now this could be some connection we forget to close, but we do use TopLink for all our databasecommunication. I also see that every time it shows up the last steps of the stacktrace involves the TopLink cache and the AQ classes:
05/05/12 11:42:27 com.evermind.sql.DriverManagerConnectionPoolConnection@10e3c8c was Created at:
05/05/12 11:42:27 java.lang.Throwable: DriverManagerConnectionPoolConnection created
05/05/12 11:42:27 at com.evermind.sql.DriverManagerConnectionPoolConnection.<init>(DriverManagerConnectionPoolConnection.java:29)
05/05/12 11:42:27 at com.evermind.sql.DriverManagerPooledConnection.getNewLogicalConnection(DriverManagerPooledConnection.java:375)
05/05/12 11:42:27 at com.evermind.sql.DriverManagerPooledConnection.getConnection(DriverManagerPooledConnection.java:121)
05/05/12 11:42:27 at com.evermind.sql.OrionPooledDataSource.getConnection(OrionPooledDataSource.java:347)
05/05/12 11:42:27 at com.evermind.sql.OrionCMTConnection.setConnection(OrionCMTConnection.java:191)
05/05/12 11:42:27 at com.evermind.sql.OrionCMTConnection.intercept(OrionCMTConnection.java:141)
05/05/12 11:42:27 at com.evermind.sql.OrionCMTConnection.setAutoCommit(OrionCMTConnection.java:479)
05/05/12 11:42:27 at com.evermind.sql.ConnectionBCELProxy.setAutoCommit(ConnectionBCELProxy.java:105)
05/05/12 11:42:27 at oracle.jms.AQjmsDBConnMgr.extraInit(AQjmsDBConnMgr.java:740)
05/05/12 11:42:27 at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:568)
05/05/12 11:42:27 at oracle.jms.AQjmsDBConnMgr.<init>(AQjmsDBConnMgr.java:367)
05/05/12 11:42:27 at oracle.jms.AQjmsConnection.<init>(AQjmsConnection.java:246)
05/05/12 11:42:27 at oracle.jms.AQjmsTopicConnectionFactory.createTopicConnection(AQjmsTopicConnectionFactory.java:214)
05/05/12 11:42:27 at oracle.toplink.remote.jms.JMSClusteringService.createRemoteConnection(JMSClusteringService.java:67)
05/05/12 11:42:27 at oracle.toplink.remote.jms.JMSClusteringService.retreiveRemoteSessions(JMSClusteringService.java:199)
05/05/12 11:42:27 at oracle.toplink.remote.jms.JMSClusteringService.run(JMSClusteringService.java:177)
05/05/12 11:42:27 at oracle.toplink.remote.jms.JMSClusteringService.initialize(JMSClusteringService.java:164)
05/05/12 11:42:27 at oracle.toplink.remote.CacheSynchronizationManager.initialize(CacheSynchronizationManager.java:112)
05/05/12 11:42:27 at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:534)
05/05/12 11:42:27 at org.springframework.orm.toplink.SessionFactoryBean.afterPropertiesSet(Unknown Source)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1072)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:343)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:859)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:688)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:574)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:477)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:306)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:574)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:477)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:306)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
05/05/12 11:42:27 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
05/05/12 11:42:27 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
05/05/12 11:42:27 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:317)
05/05/12 11:42:27 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:80)
05/05/12 11:42:27 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
05/05/12 11:42:27 at org.springframework.context.access.ContextJndiBeanFactoryLocator.createBeanFactory(ContextJndiBeanFactoryLocator.java:40)
05/05/12 11:42:27 at org.springframework.beans.factory.access.JndiBeanFactoryLocator.useBeanFactory(JndiBeanFactoryLocator.java:68)
05/05/12 11:42:27 at org.springframework.ejb.support.AbstractEnterpriseBean.loadBeanFactory(AbstractEnterpriseBean.java:115)
05/05/12 11:42:27 at org.springframework.ejb.support.AbstractStatelessSessionBean.ejbCreate(AbstractStatelessSessionBean.java:63)
For those of you familiar with the Spring Framework you'll notice I'm invoking an SLSB throug it, and that thet start of the stackrace is missing, but this error also shows up in other contexts. This is only one of them. They all have in common the AQ and Cache sync lines.
Anyone have any ideas? Is it even tied to TopLink or might it be an AQ issue?
Anders,What version of OC4J are you using?
If you are using a 10.1.3 preview release, this may be an issue with OC4J connection pooling in that preview release.
You could try using AS JMS and TopLink connection pooling to determine which is causing the issue. -
DriverManagerConnectionPoolConnection not closed
I am using the Oc4J connection pooling mechanism(data-source.xml) . I do a connection.close() everytime I am done with the Connection . But still I keep getting this "DriverManagerConnectionPoolConnection not closed, check your code!" all the time
Any clues whats going wrongI already do that. But it does not help.
The problem probably comes from the fact that I use BLOBSo save some binary data :
[simplified version of my code:]
//Allocate a LOB using a stored proc (my prefered method, BLOB.createTemporary(...) throws a NullPointerException if used on a Pooled Connection)
OracleCallableStatement cs = (OracleCallableStatement)connection.prepareCall(
"{Call dbms_lob.createTemporary(?,false)}");
cs.registerOutParameter(1, Types.BLOB);
cs.executeUpdate();
BLOB myBlob = cs.getBLOB(1);
cs.close();
// fill the BLOB with some binary data
OutputStream outputStream = myBlob.getBinaryOutputStream();
outputStream.write(byteArray);
outputStream.flush();
outputStream.close();
// use it in an insert
preStatement = (OraclePreparedStatement)connection.prepareStatement(
INSERT_SQL);
preStatement.setBLOB(1, myBlob);
// execute the insert
preStatement.executeUpdate();
preStatement.close();
// free the BLOB
OracleCallableStatement cs2 = (OracleCallableStatement)connection.prepareCall(
"{Call dbms_lob.freetemporary(?)}");
cs2.setBLOB(1, myBlob);
cs2.executeUpdate();
cs2.close();
/// all this being enclosed try/finally very similar to the one in your sample
/// Also note that no Exception/Error are thrown (they are all caught and logged)
If the problem comes from the way Oracle Pooled connections manage BLOBs it there any other way I could use to save some binary data ?
Thanks for any answer,
Benoit -
DriverManagerConnectionPoolConnection not closed, check your code!
DriverManagerConnectionPoolConnection not closed, check your code!
I keep getting these, both from custom jdbc calls (finally {close res, stmt, con} ALWAYS) as well as on CMP entity beans.... Not always, but periodicly! ... Running OC4J9.0.4.0.1 ...
Suggestions ???Sorry Steven Button
I did not mean to offend any one, but don't you go through some frustrating moments when you feel you have tried all possible combinations and u need help from other techies and they do not respond, Once again I am sorry if I have offended anybody.
Here is my hardware/software in production
1) IBM AIX
2) Standalone OC4J 9.0.4.0.0
3) JDK 1.4.2_07
4) Database 10.1.0.2.0
I have also set the following debug flags for the JVM,
-Djdbc.connection.debug=true and
-Ddatasource.verbose=true
Yesterday one interesting thing happened
For some reason our database server connection from application server went down for a few minutes.
After the network connection was restored, in the admin console for OC4J I see more logical connections (Open JDBC Connections count(6) is more than initial pool size(5)).
When I saw the log file I see the same "Check your code" message. But one more interesting thing got logged thanks to "-Ddatasource.verbose=true", this flag will log the pool size of the connection pool in the application log file.
The number that got logged was the correct number of pool size(which is 5).
Example
My initial pool size was "5", the admin console showed the pool size after network failure as "6", which is wrong.
But the -Ddatasource.verbose=true logged the pool size as "5" which is correct.
Can anyone help me with respect to that?
Message for Avi Abrami
Here is the sample finally block we use through out the application code.
try {
} catch (Exception ex) {
// we log the error in the application log file.
} finally {
try
if (lobj_resultset != null)
lobj_resultset.close();
lobj_resultset = null;
} catch (Exception exrs)
try
if (lobj_stmt != null)
lobj_stmt.close();
lobj_stmt = null;
} catch (Exception exstmt)
try
if (lobj_conn != null)
lobj_conn.close();
lobj_conn = null;
} catch (Exception exconn)
As you can see the main catch block will log the appropriate errors encountered in the try block. Thanks for your suggestion, I will give it a try by not ignoring the catch block exceptions in the finally block.
There is one more think,
it is my understanding that if an 'Error' is raised like OutOfMemoryError rather than an Exception
like 'SQLException' then that will not get caught since I am using catch (Exception ex) and not catch (Throwable throw).
But even if I do not catch an 'Error', it is my belief that the finally block will still get executed.
So say the try block for some reason raises an OutOfMemoryError , since in my code I use catch (Exception ex), my code execution will go to finally block and not the catch block, that still should release the connection back to the pool should it not?.
Any help / advise is appreciated.
I have also raised a TAR with oracle and will keep this forum posted with what happens with that.
But, guys I really need help, suggestions, directions from u all. -
JMS session is not closed even after calling close()
Hi All,
I am using JMS to receive and publish topics for a process,in my java code i
am creating new JMS Session on demand(ie., whenever a new topic is
received) after processing the topic i am closing the session with close(),but
still the session is not closed.In a period of time more sessions are created
and FD leaks occurs which stops the process functionality.
Later i moved the on demand session code to a static block, its working fine
and no FD leak occurs.
Is this a known behavior or any java bug is there to point this issue,please
help me regarding this.
Thanks,
Ants BalajeiYou should try avoid creating sessions on demand but cache/pool them...
http://activemq.apache.org/how-do-i-use-jms-efficiently.html
James
http://www.iona.com/
Open Source the Enterprise Way -
DataSourceConnection was not closed!
I'm developing with Jdev 9.0.3_1 testing with the embebed OC4J. I've some CMP EntityBeans and sometimes I get the following error message "DataSourceConnection was not closed! DriverManagerConnectionPoolConnection not closed, check your code! (Use -Djdbc.connection.debug=true to find out where the leaked connection was created)"
I don't open or close connections explicitly.
Any idea?
Thanks in advance.
Julio.This message is as a result of a bug in 9.0.3 with CMP/CMR without specifying a transaction attributes for entity bean methods. These are fixed in 9.0.4, please try this in 9.0.4 Developers preview
regards
Debu -
JMS Error when using OJMS/AQ in OC4J 9.0.2 but not in OC4J 9.0.3
Hi,
I tried to use OJMS/AQ as the JMS provider in OC4J 9.0.2 and OC4J 9.0.3. Resource providers in both the containers point to the same Oracle database (9.0.1.3.0) using the same user account.
JMS works fine with OC4J 9.0.3 but not with OC4J 9.0.2.
During the start-up of 9.0.2 container, it successfully connects with Oracle AQ, finds queues in AQ but finally comes back with an error message saying "JMS Error: invalid arguments in call". It does not provide any more information about the error.
Does any one have got any clue why this error message occur during startup? Any assistance is appreciated.
The following is the definition of Resource provider in config/application.xml:
<resource-provider class="oracle.jms.OjmsContext" name="ispojms">
<description> OJMS/AQ </description>
<property name="url" value="jdbc:oracle:thin:@Hduna1.corporatetesth.nsw.edu.au:1527:ISP"></property>
<property name="username" value="ISPDBA"></property>
<property name="password" value="******"></property>
</resource-provider>
The user ISPDBA is given all privileges for AQ in Oracle DB.
The Message Driven Bean's definition in deployment descriptors:
Ejb-jar.xml:
<ejb-jar>
<enterprise-beans>
<message-Long postings are being truncated to ~1 kB at this time.Hi Balaji,
What most likely is happening is that you have mismatched versions of apapi.jar (client side) and the database, thus the reason for the "invalid arguments in call" error you're seeing.
If you're using 9.0.1.3 of the database it should be patched with patch #2416054. Go to Metalink and do a search for this patch to find it. You can then use the apapi.jar that comes with the patched version of the DB or the apapi.jar that comes with v9.0.3.
By the way, v9.0.3 and 9.0.1.3 + patch is a J2EE 1.3 compatible JMS server.
I'm guessing that you used the apapi.jar that came with v9.0.2 with the v9.0.1.3 database and that you've probably already applied the above patch. If you have then just take the apapi.jar that came with v9.0.3 and use it in your v9.0.2 environment.
In short:
v9.0.3 apapi.jar matches with v9.0.1.3 + patch
v9.0.3 apapi.jar also matches with v9.0.1.4
v9.0.2 apapi.jar matches with v9.0.1.3
Hope this helps...
John
Hi,
I tried to use OJMS/AQ as the JMS provider in OC4J 9.0.2 and OC4J 9.0.3. Resource providers in both the containers point to the same Oracle database (9.0.1.3.0) using the same user account.
JMS works fine with OC4J 9.0.3 but not with OC4J 9.0.2.
During the start-up of 9[i]Long postings are being truncated to ~1 kB at this time. -
TopLink logical connection not closed
Hi everybody,
I have a problem when using db adapter for polling databases tables. This is using TopLink to access database's data.
My process was running w/o errors till I have started to use external data source defined in OAS.
My oc4j-ra.xml file contains:
============================================================
<connector-factory location="eis/DB/TestData" connector-name="Database Adapter">
<config-property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<config-property name="connectionString" value=""/>
<config-property name="userName" value=""/>
<config-property name="password" value=""/>
<config-property name="minConnections" value="5"/>
<config-property name="maxConnections" value="5"/>
<config-property name="minReadConnections" value="1"/>
<config-property name="maxReadConnections" value="1"/>
<config-property name="usesExternalConnectionPooling" value="true"/>
<config-property name="dataSourceName" value="jdbc/TESTDS"/>
<config-property name="usesExternalTransactionController" value="true"/>
<config-property name="platformClassName" value="oracle.toplink.internal.databaseaccess.Oracle9Platform"/>
<config-property name="usesNativeSequencing" value="true"/>
<config-property name="sequencePreallocationSize" value="50"/>
<config-property name="tableQualifier" value=""/>
<config-property name="defaultNChar" value="false"/>
<config-property name="usesBatchWriting" value="true"/>
</connector-factory>
============================================================
Once I have switched to this oc4j-ra.xml configuration file I got the following error in files logs (using the -Djdbc.connection.debug=true flag)
============================================================
06/09/25 11:40:46 OrionCMTConnection not closed, check your code!
06/09/25 11:40:46 Logical connection not closed, check your code!
06/09/25 11:40:46 Created at:
06/09/25 11:40:46 java.lang.Throwable: OrionCMTConnection created
06/09/25 11:40:46 at com.evermind.sql.OrionCMTConnection.<init>(OrionCMTConnection.java:121)
06/09/25 11:40:46 at com.evermind.sql.OrionCMTConnectionFinalize.<init>(OrionCMTConnectionFinalize.java:42)
06/09/25 11:40:46 at com.evermind.util.ClassOptimizerFactory.getOrionCMTConnection(ClassOptimizerFactory.java:80)
06/09/25 11:40:46 at com.evermind.sql.OrionCMTDataSource.getConnection(OrionCMTDataSource.java:237)
06/09/25 11:40:46 at com.evermind.sql.OrionCMTDataSource.getConnection(OrionCMTDataSource.java:227)
06/09/25 11:40:46 at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:102)
06/09/25 11:40:46 at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)
06/09/25 11:40:46 at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1323)
06/09/25 11:40:46 at oracle.toplink.internal.databaseaccess.DatabaseAccessor.incrementCallCount(DatabaseAccessor.java:1198)
06/09/25 11:40:46 at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:633)
06/09/25 11:40:46 at oracle.toplink.publicinterface.Session.executeCall(Session.java:793)
06/09/25 11:40:46 at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
06/09/25 11:40:46 at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:115)
06/09/25 11:40:46 at oracle.toplink.internal.queryframework.CallQueryMechanism.executeSelectCall(CallQueryMechanism.java:194)
06/09/25 11:40:46 at oracle.toplink.internal.queryframework.CallQueryMechanism.selectAllRows(CallQueryMechanism.java:565)
06/09/25 11:40:46 at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:733)
06/09/25 11:40:46 at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:708)
06/09/25 11:40:46 at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:447)
06/09/25 11:40:46 at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:493)
06/09/25 11:40:46 at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:125)
06/09/25 11:40:46 at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1958)
06/09/25 11:40:46 at oracle.toplink.threetier.ClientSession.internalExecuteQuery(ClientSession.java:390)
06/09/25 11:40:46 at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)
06/09/25 11:40:46 at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1038)
06/09/25 11:40:46 at oracle.toplink.publicinterface.Session.executeQuery(Session.java:876)
06/09/25 11:40:46 at oracle.tip.adapter.db.inbound.DestructivePollingStrategy.poll(DestructivePollingStrategy.java:211)
06/09/25 11:40:46 at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:247)
06/09/25 11:40:46 at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:213)
06/09/25 11:40:46 at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
06/09/25 11:40:46 at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:267)
06/09/25 11:40:46 at java.lang.Thread.run(Thread.java:534)
============================================================
Any clue on this?
Thankfully,
amoThanks Marc,
I have finally noticed that was not related with some TopLink error.
So, is there any other way to refer in the DBAdapter to an OAS datasource?
Regards,
amo -
Javax.jms.JMSException: QueueConnection not started
Hi,
I want use oc4j like jms server, so I put in jms.xml this configuration :
<jms-server port="9127">
<queue-connection-factory location="jms/simpleQueueConnectionFactory" port="9127" host="127.0.0.1"/>
<queue name="Simple Queue" location="jms/simpleQueue"/>
</jms-server>
and I try to post a message to JMS server with my webapp, and one exception occured :
javax.jms.JMSException: QueueConnection not started
this is my piece of code which post the JMS message (like example on http://otn.oracle.com/sample_code/tech/java/codesnippet/j2ee/p2p/PointToPoint_in_OC4J.html) :
QueueConnectionFactory connectionFactory = (QueueConnectionFactory)new InitialContext().lookup ("java:comp/env/jms/simpleQueueConnectionFactory");
QueueConnection connection = connectionFactory.createQueueConnection();
connection.start();
QueueSession queueSession = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue)new InitialContext().lookup("java:comp/env/jms/simpleQueue");
QueueSender sender = queueSession.createSender(queue);
Message message = queueSession.createMessage();
message.setJMSType("theMessage");
message.setLongProperty("time", System.currentTimeMillis());
message.setStringProperty("subject", "Test Message Now");
message.setStringProperty("message", "Hi");
sender.send(message);
How can I get more JMS log ? because in jms.log I have only :
25/10/02 12:04 9.0.3.0.0 Started
25/10/02 12:05 9.0.3.0.0 Stopped (JVM termination)
My start command line for oc4j is (http://otn.oracle.com/tech/java/oc4j/htdocs/oc4j-logging-debugging-technote.html):
java -Djms.debug=true -jar oc4j.jar -userThreads -verbosity 5
thank you
best regards
jeromeHi Jerome,
At this time Oracle recommends you use OJMS (AQ/JMS) as the J2EE 1.3 compatible JMS provider in Oracle9iAS v9.0.2 and v9.0.3. A future release of 9iAS will contain a lightweight JMS provider (OC4J/JMS) that is J2EE 1.3 compatible.
See the Metalink note below...
http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=205305.1 -
Logs are not getting applied in the standby database
Hello,
I have created a physical standby database and in it the logs are not getting applied..
following is an extract of the standby alert log
Wed Sep 05 07:53:59 2012
Media Recovery Log /u01/oracle/oradata/ABC/archives/1_37638_765704228.arc
Error opening /u01/oracle/oradata/ABC/archives/1_37638_765704228.arc
Attempting refetch
Media Recovery Waiting for thread 1 sequence 37638
Fetching gap sequence in thread 1, gap sequence 37638-37643
Wed Sep 05 07:53:59 2012
RFS[46]: Assigned to RFS process 3081
RFS[46]: Allowing overwrite of partial archivelog for thread 1 sequence 37638
RFS[46]: Opened log for thread 1 sequence *37638* dbid 1723205832 branch 765704228
Wed Sep 05 07:55:34 2012
RFS[42]: Possible network disconnect with primary database
However, the archived files are getting copied to the standby server.
I tried registering and recovering the logs but it also failed..
Follows some of the information,
Primary
Oralce 11R2 EE
SQL> select max(sequence#) from v$log where archived='YES';
MAX(SEQUENCE#)
37668
SQL> select DEST_NAME, RECOVERY_MODE,DESTINATION,ARCHIVED_SEQ#,APPLIED_SEQ#, SYNCHRONIZATION_STATUS,SYNCHRONIZED,GAP_STATUS from v$archive_dest_status where DEST_NAME = 'LOG_ARCHIVE_DEST_3';
DEST_NAME RECOVERY_MODE DESTINATION ARCHIVED_SEQ# APPLIED_SEQ# SYNCHRONIZATION_STATUS SYNCHRONIZED GAP_STATUS
LOG_ARCHIVE_DEST_3 MANAGED REAL TIME APPLY ABC 37356 0 CHECK CONFIGURATION NO RESOLVABLE GAP
Standby
Oralce 11R2 EE
SQL> select max(sequence#) from v$archived_log where applied='YES';
MAX(SEQUENCE#)
37637
SQL> select * from v$archive_gap;
no rows selected
SQL> select open_mode, database_role from v$database;
OPEN_MODE DATABASE_ROLE
READ ONLY WITH APPLY PHYSICAL STANDBY
Please help me to troubleshoot this and get the standby in sync..
Thanks a lot..the results are as follows..
SQL> select process, status, group#, thread#, sequence# from v$managed_standby order by process, group#, thread#, sequence#;
PROCESS STATUS GROUP# THREAD# SEQUENCE#
ARCH CLOSING 1 1 37644
ARCH CLOSING 1 1 37659
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
ARCH CONNECTED N/A 0 0
MRP0 WAIT_FOR_GAP N/A 1 37638
RFS IDLE N/A 0 0
RFS IDLE N/A 0 0
RFS IDLE N/A 0 0
RFS RECEIVING N/A 1 37638
RFS RECEIVING N/A 1 37639
RFS RECEIVING N/A 1 37640
RFS RECEIVING N/A 1 37641
RFS RECEIVING N/A 1 37642
RFS RECEIVING N/A 1 37655
RFS RECEIVING N/A 1 37673
RFS RECEIVING N/A 1 37675
42 rows selected.
SQL>
SQL> select name,value, time_computed from v$dataguard_stats;
NAME VALUE TIME_COMPUTED
transport lag +00 02:44:33 09/05/2012 09:25:58
apply lag +00 03:14:30 09/05/2012 09:25:58
apply finish time +00 00:01:09.974 09/05/2012 09:25:58
estimated startup time 12 09/05/2012 09:25:58
SQL> select timestamp , facility, dest_id, message_num, error_code, message from v$dataguard_status order by timestamp
TIMESTAMP FACILITY DEST_ID MESSAGE_NUM ERROR_CODE MESSAGE
05-SEP-12 Remote File Server 0 60 0 RFS[13]: Assigned to RFS process 2792
05-SEP-12 Remote File Server 0 59 0 RFS[12]: Assigned to RFS process 2790
05-SEP-12 Log Apply Services 0 61 16037 MRP0: Background Media Recovery cancelled with status 16037
05-SEP-12 Log Apply Services 0 62 0 MRP0: Background Media Recovery process shutdown
05-SEP-12 Log Apply Services 0 63 0 Managed Standby Recovery Canceled
05-SEP-12 Log Apply Services 0 64 0 Managed Standby Recovery not using Real Time Apply
05-SEP-12 Log Apply Services 0 65 0 Attempt to start background Managed Standby Recovery process
05-SEP-12 Log Apply Services 0 66 0 MRP0: Background Managed Standby Recovery process started
05-SEP-12 Log Apply Services 0 67 0 Managed Standby Recovery not using Real Time Apply
05-SEP-12 Log Apply Services 0 68 0 Media Recovery Waiting for thread 1 sequence 37638 (in transit)
05-SEP-12 Network Services 0 69 0 RFS[5]: Possible network disconnect with primary database
05-SEP-12 Network Services 0 70 0 RFS[6]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 71 0 RFS[14]: Assigned to RFS process 2829
05-SEP-12 Remote File Server 0 72 0 RFS[15]: Assigned to RFS process 2831
05-SEP-12 Network Services 0 73 0 RFS[9]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 74 0 RFS[16]: Assigned to RFS process 2833
05-SEP-12 Network Services 0 75 0 RFS[1]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 76 0 RFS[17]: Assigned to RFS process 2837
05-SEP-12 Network Services 0 77 0 RFS[3]: Possible network disconnect with primary database
05-SEP-12 Network Services 0 78 0 RFS[2]: Possible network disconnect with primary database
05-SEP-12 Network Services 0 79 0 RFS[7]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 80 0 RFS[18]: Assigned to RFS process 2848
05-SEP-12 Network Services 0 81 0 RFS[16]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 82 0 RFS[19]: Assigned to RFS process 2886
05-SEP-12 Network Services 0 83 0 RFS[19]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 84 0 RFS[20]: Assigned to RFS process 2894
05-SEP-12 Log Apply Services 0 85 16037 MRP0: Background Media Recovery cancelled with status 16037
05-SEP-12 Log Apply Services 0 86 0 MRP0: Background Media Recovery process shutdown
05-SEP-12 Log Apply Services 0 87 0 Managed Standby Recovery Canceled
05-SEP-12 Remote File Server 0 89 0 RFS[22]: Assigned to RFS process 2900
05-SEP-12 Remote File Server 0 88 0 RFS[21]: Assigned to RFS process 2898
05-SEP-12 Remote File Server 0 90 0 RFS[23]: Assigned to RFS process 2902
05-SEP-12 Remote File Server 0 91 0 Primary database is in MAXIMUM PERFORMANCE mode
05-SEP-12 Remote File Server 0 92 0 RFS[24]: Assigned to RFS process 2904
05-SEP-12 Remote File Server 0 93 0 RFS[25]: Assigned to RFS process 2906
05-SEP-12 Log Apply Services 0 94 0 Attempt to start background Managed Standby Recovery process
05-SEP-12 Log Apply Services 0 95 0 MRP0: Background Managed Standby Recovery process started
05-SEP-12 Log Apply Services 0 96 0 Managed Standby Recovery starting Real Time Apply
05-SEP-12 Log Apply Services 0 97 0 Media Recovery Waiting for thread 1 sequence 37638 (in transit)
05-SEP-12 Log Transport Services 0 98 0 ARCa: Beginning to archive thread 1 sequence 37644 (7911979302-7912040568)
05-SEP-12 Log Transport Services 0 99 0 ARCa: Completed archiving thread 1 sequence 37644 (0-0)
05-SEP-12 Network Services 0 100 0 RFS[8]: Possible network disconnect with primary database
05-SEP-12 Log Apply Services 0 101 16037 MRP0: Background Media Recovery cancelled with status 16037
05-SEP-12 Log Apply Services 0 102 0 Managed Standby Recovery not using Real Time Apply
05-SEP-12 Log Apply Services 0 103 0 MRP0: Background Media Recovery process shutdown
05-SEP-12 Log Apply Services 0 104 0 Managed Standby Recovery Canceled
05-SEP-12 Network Services 0 105 0 RFS[20]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 106 0 RFS[26]: Assigned to RFS process 2930
05-SEP-12 Network Services 0 107 0 RFS[24]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 108 0 RFS[27]: Assigned to RFS process 2938
05-SEP-12 Network Services 0 109 0 RFS[14]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 110 0 RFS[28]: Assigned to RFS process 2942
05-SEP-12 Network Services 0 111 0 RFS[15]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 112 0 RFS[29]: Assigned to RFS process 2986
05-SEP-12 Network Services 0 113 0 RFS[17]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 114 0 RFS[30]: Assigned to RFS process 2988
05-SEP-12 Log Apply Services 0 115 0 Attempt to start background Managed Standby Recovery process
05-SEP-12 Log Apply Services 0 116 0 MRP0: Background Managed Standby Recovery process started
05-SEP-12 Log Apply Services 0 117 0 Managed Standby Recovery starting Real Time Apply
05-SEP-12 Log Apply Services 0 118 0 Media Recovery Waiting for thread 1 sequence 37638 (in transit)
05-SEP-12 Network Services 0 119 0 RFS[18]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 120 0 RFS[31]: Assigned to RFS process 3003
05-SEP-12 Network Services 0 121 0 RFS[26]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 122 0 RFS[32]: Assigned to RFS process 3005
05-SEP-12 Network Services 0 123 0 RFS[27]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 124 0 RFS[33]: Assigned to RFS process 3009
05-SEP-12 Remote File Server 0 125 0 RFS[34]: Assigned to RFS process 3012
05-SEP-12 Log Apply Services 0 127 0 Managed Standby Recovery not using Real Time Apply
05-SEP-12 Log Apply Services 0 126 16037 MRP0: Background Media Recovery cancelled with status 16037
05-SEP-12 Log Apply Services 0 128 0 MRP0: Background Media Recovery process shutdown
05-SEP-12 Log Apply Services 0 129 0 Managed Standby Recovery Canceled
05-SEP-12 Network Services 0 130 0 RFS[32]: Possible network disconnect with primary database
05-SEP-12 Log Apply Services 0 131 0 Managed Standby Recovery not using Real Time Apply
05-SEP-12 Log Apply Services 0 132 0 Attempt to start background Managed Standby Recovery process
05-SEP-12 Log Apply Services 0 133 0 MRP0: Background Managed Standby Recovery process started
05-SEP-12 Log Apply Services 0 134 0 Managed Standby Recovery not using Real Time Apply
05-SEP-12 Log Apply Services 0 135 0 Media Recovery Waiting for thread 1 sequence 37638 (in transit)
05-SEP-12 Network Services 0 136 0 RFS[33]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 137 0 RFS[35]: Assigned to RFS process 3033
05-SEP-12 Log Apply Services 0 138 16037 MRP0: Background Media Recovery cancelled with status 16037
05-SEP-12 Log Apply Services 0 139 0 MRP0: Background Media Recovery process shutdown
05-SEP-12 Log Apply Services 0 140 0 Managed Standby Recovery Canceled
05-SEP-12 Remote File Server 0 141 0 RFS[36]: Assigned to RFS process 3047
05-SEP-12 Log Apply Services 0 142 0 Attempt to start background Managed Standby Recovery process
05-SEP-12 Log Apply Services 0 143 0 MRP0: Background Managed Standby Recovery process started
05-SEP-12 Log Apply Services 0 144 0 Managed Standby Recovery starting Real Time Apply
05-SEP-12 Log Apply Services 0 145 0 Media Recovery Waiting for thread 1 sequence 37638 (in transit)
05-SEP-12 Network Services 0 146 0 RFS[35]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 147 0 RFS[37]: Assigned to RFS process 3061
05-SEP-12 Network Services 0 148 0 RFS[36]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 149 0 RFS[38]: Assigned to RFS process 3063
05-SEP-12 Remote File Server 0 150 0 RFS[39]: Assigned to RFS process 3065
05-SEP-12 Network Services 0 151 0 RFS[25]: Possible network disconnect with primary database
05-SEP-12 Network Services 0 152 0 RFS[21]: Possible network disconnect with primary database
05-SEP-12 Remote File Server 0 153 0 Archivelog record exists, but no file is found
05-SEP-12 Remote File Server 0 154 0 RFS[40]: Assigned to RFS process 3067
05-SEP-12 Network Services 0 155 0 RFS[37]: Possible network disconnect with primary database -
SAP Production Order not closing
Hi there,
I am running the COHV with Complete parameter in the background, and it does pick up several TECO orders from the past, like say from 2009 which are not closed but it does not process them to CLSD status.
I am seeing some entries in COHV, CO1P, COFC transactions - I picked a few randomly to check.
The order qty is not always equal to the delivered qty - Again a random test
The consumption qty on the components is not always equal to the required qty, which leaves reservation open - random check
Is all the above causing my order not to close ? where do I see the error log, when I try to close the order. I wrote the above issues based on my random check.
Thank youHi SAP Process,
When you run COHV to close the orders, you can see the log with the list of orders that have not been closed.
To see in detail what has happened you will need to check order by order.
Other option will we to evaluate each situation separatelly. You can check COGI, CO1P, see open reservations, check if you have TR or TO if you use WM, etc.. Once each situation is cleaned, you will be able to closed most of your production orders. It is quite common to create a custom report to make all these checks (COGI, TR/TOs, etc) and closed the orders.
Kind Regards,
Mariano -
Remote Log Targets not working in ACS
Dear all
I have 2 x ACS boxes configured as Primary & secondary.
In ACS1 - In monitoring and reports-> option I can see the User authentication, authorization and Accounting activities logs. I want to configure ACS2 as remote log server.
For that in ACS1, in System administration->Log configuration-> remote log targets->new
Added as - ACS2- 1.1.1.2 - in Advance options -
Port-20514 (default is 514, need to change to 20514 , Instructions from Cisco),
Facility mode - Level6
Maximum length -1024
In logging categoris - in Global - Edit "AAA Audit" - remote syslog Targets - i have added - Logcollector (ACS1) and ACS2.
In Log collector optin --> ACS1 is configured.
After this , i open ACS2 - Monitoring and reports optin to view the logs but when ever i click - it is diverting to ACS1.
if i change log collector in ACS1 as ACS2, i can see the logs on ACS2. so at a time i can see logs only one ACS box.
I would like to view the logs in both ACS boxes. can any one help me please.As per Cisco, you can not able to User 2 ACS boxes simultanously to recevie log messages. Remote Log targets for Syslog Server.
so, i can't use simultanously 2 x acs boxes , i need to go for syslog server.
Chapter 19, "Understanding Logging"
Configuring Remote Log Targets
You can configure specific remote log targets (on a syslog server only) to receive the logging messages for a specific logging category. See Chapter 19, "Understanding Logging" for more information on remote log targets. See Configuring Logging Categories, page 18-25 for more information on the preconfigured ACS logging categories.
Closing this ticket.. answered by Mohammed Feroz. -
Provisioning log is not available on Access request type Change Account
Hi,
So I have and issue when I try to submit a request to add a role to a user and I'm trying to understand what could be the reason for it. Basically I have a workflow that works perfectly for a "Change Request". I can see that all the steps are executed and then at the end of the request when is suppose to do the actual role assignment I see the message "Provisioning log is not available" then the approval path is finish and the request is closed but when I take a look at the user in the back end the role is not assign. In terms of access I have try giving SAP_ALL to WF-Batch, nothing shows in Yellow or Red on SLG1 and in SPRO->AC-> User Provisioning -> Define request Type I see "Change Account" with SAP_GRAC_ACCESS_REQUEST. What else can I do to troubleshoot this error?
Note: I when back to the to the AC 10.0 Pre-Implementation From Post-Installation to First Access Request and everythings looks right in terms of the AC Configuration settings.Hi Jonathan,
In my question I was referring to SPRO - GRC/access control/user provisioning / maintain provisioning settings. Those need to be setup (min. global provisioning settings) in order to have role being assigned to user at the end of path.
Change account option you can see under request type is referring to change user master data(e.g. password/ account validity / details).
Is this system maintain by CUA? If so settings have to be different (see CUA settings in SPRO)
I would recommend moving to SP14 as in SP13 there were many bugs, by the way I believe the worst SP ever since beginning of AC is SP13 (maybe due to number), as it destroys many working functionality.
Filip -
Database Connections Not Closing
I'm using iBatis for PostgreSQL database access and frequently have problems with connections not being closed. Here is a copy of my sqlMapConfig file:
============================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<properties resource="ibatis.properties" />
<settings
lazyLoadingEnabled="true"
cacheModelsEnabled="true"
enhancementEnabled="false"
useStatementNamespaces="false"
/>
<transactionManager type="JDBC" commitRequired="true">
<dataSource type="DBCP">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="maxActive" value="10"/>
<property name="maxIdle" value="5"/>
<property name="maxWait" value="5000"/>
<property name="logAbandoned" value="true"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="1"/>
<property name="Driver.logUnclosedConnections" value="true"/>
</dataSource>
</transactionManager>
<sqlMap resource="job-sqlMap.xml" />
</sqlMapConfig>
============================
Due to the logAbandoned and removeAbandoned settings, I get a report in my log file whenever there is a connection that was not properly closed. Here is one of those log entries:
23:22:51.483 (10) Finalizing a Connection that was never closed:
java.lang.Throwable: Connection was created at this point:
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:175)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:84)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
at edu.calpoly.lib.multimedia.big.db.AutomaticPeriodUpdateIBatisImplDBHandler.getGamesWithAutomaticUpdatePolicy(AutomaticPeriodUpdateIBatisImplDBHandler.java:154)
at edu.calpoly.lib.multimedia.big.game.AutoUpdateThread.run(AutoUpdateThread.java:155)
The file: AutomaticPeriodUpdateIBatisImplDBHandler.java contains an iBatis call on line # 154:
--> list = sqlMap.queryForList("getGamesWithAutoPolicy", null);
from the map file:
<select id="getGamesWithAutoPolicy" resultClass="java.util.HashMap">
<![CDATA[
SELECT gameid, policy
FROM update_policy
]]>
</select>
Here is the code for the entire method that uses this transaction:
============================
public List getGamesWithAutomaticUpdatePolicy() throws BIGDatabaseFacadeException
List list = new ArrayList();
try
sqlMap.startTransaction();
list = sqlMap.queryForList("getGamesWithAutoPolicy", null);
sqlMap.commitTransaction();
catch(SQLException sqle)
throw new BIGDatabaseFacadeException(sqle);
finally
try
sqlMap.endTransaction();
catch(SQLException sqle)
throw new BIGDatabaseFacadeException(sqle);
return list;
============================
I know that this should be handled as an automatic transaction, but I tried adding the start, commit and end transaction commands in my desperate attempt to fix this problem (but it still didn't help).
Here is my code for creation of sqlMap -
--> sqlMap = SqlMapClientBuilder.buildSqlMapClient(Resources.getResourceAsReader("sqlMaps.xml"));
Except for the fact that occasionally connections are not closed, overall my database access using iBatis works very well.
In the course of trying to fix this problem I've worked to update all my lib files to the latest versions, and here is current status:
My iBatis lib file: ibatis-2.3.4.726.jar
My JDBC driver: postgresql-8.4-701.jdbc3.jar
Required commons files:
commons-dbcp-1.2.2.jar
commons-pool-1.5.3.jar
Note that I tried adding --> commitRequired="true" to the transactionManager in sqlMaps.xml, hoping it might help, but no joy.
Please help me figure out why my database connections often do not close. Thank you very much!I'm sorry, but I don't understand what you mean by "close the session." I believe iBatis is supposed to take care of all that automatically. My understanding is that all the user does is create the sqlMapClient and then use it along with various map files to query and update the database. iBatis does the rest.
-
BI Publisher not closing connection pool connections?
Hi:
I'm using Oracle WLS 10.3.3, BIP 10.1.3.4.1.
I have reports that were using JDBC data sources defined in BIP and I can run them all day with no problems. I created a JDBC connection pool in the WLS, created a JNDI name for it and then got BIP to recognize the JNDI data source. Finally, I modified the report data template to use the JNDI data source. It all works -- for a time. But after 20 or so executions I get an error that there are no more resources (connections). I went into the WLS and configured "inactive connection timeout" to 15 seconds or so. This eventually gives me another connection but doesn't prevent the lock-up.
Why are the connections no being re-used? I am the only user, it should be using a connection, putting it back into the pool, and then re-using that still open connection for my next query. Is there another setting I need to set in WLS? Do I need to somehow tell the report to close the connection? I wouldn't think the transaction mode for the connection matters, but I could set that as well if I need to.
Thanks.the reason, i asked you to upgrade the BIP patch
DB CONNECTION IS NOT PROPERLY CLOSED,
BI PUBLISHER NOT CLOSING DB CONNECTIONS USED FOR 'LIST OF VALUES' PARAMETERS
there are few fixes related to Db connection in latest patch.
you can get the latest 10.1.3.4.1 patch for just BIP alone, not OBIEE
I would suggest you to log an SR and prove it to Support.
their first suggestion wud be like mine ;)
Maybe you are looking for
-
How can I tell if one of my iBooks has an update available?
I was listening to a podcast where the author of a particular iBook, which I have purchased, stated that there was an updated version available. My questions are: Is there some way to know that there is an update to an iBook I have purchased and have
-
Problem with the 3d part of photoshop CS5
Dear everybody, im trying to follow a PS tutorial on the web, which is quite good i think (http://psd.tutsplus.com/tutorials/3d/create-a-shiny-earth-with-photoshop-3d-layers/comment -page-1/#comments) , but i run upon a problem which is next: At part
-
Even after i reset my iTunes password i still cant access my account?
Even after resetting my itunes password I still cant access my account
-
How do I remove Canon " My Image Garden" from the desktop when turning on my computer ?
How do I remove Canon " My Image Garden" from the desktop when turning on my computer ? I have the icon but the program starts up and I have to delete it manually from the desktop to clear my screen for other work...
-
Compare physical db with CASE model
I'm using Designer Release 6.0 for PC. I'd like to compare (diff) my Designer db server model with my physical implementation residing on our server. We sometimes have developers change the physical db without changing the CASE tool (ERD, tables, etc