Long running Active sessions
Hi
Please find the following sessions are running since long time with the following query
begin dbms_session.reset_package; end;
Can anyone please assist why these sessions are running? whether it can be killed? if killed what would be the impact in the database level
SID SERIAL# USERNAME MACHINE TO_CHAR(LOGO PROGRAM COMMAND LAST_CALL_ET/60/60
144 29050 OPS$WWW dygkr12 02-OCT 15:49 httpd@dygkr12 (TNS V1-V3) No command 336.079722
658 18998 OPS$WWW dygkr14 29-SEP 15:07 httpd@dygkr14 (TNS V1-V3) Select 442.913889
536 35752 OPS$WWW dygkr11 24-SEP 12:27 httpd@dygkr11 (TNS V1-V3) No command 586.622778
216 58266 OPS$WWW dygkr14 23-SEP 10:24 httpd@dygkr14 (TNS V1-V3) No command 632.188056
176 16246 OPS$WWW dygkr11 22-SEP 07:26 httpd@dygkr11 (TNS V1-V3) No command 680.223333
207 56310 OPS$WWW dygkr14 19-SEP 11:14 httpd@dygkr14 (TNS V1-V3) No command 736.32
219 10033 OPS$WWW dygkr16 18-SEP 14:37 httpd@dygkr16 (TNS V1-V3) No command 762.048611
337 56796 OPS$WWW dygkr14 17-SEP 14:23 httpd@dygkr14 (TNS V1-V3) No command 789.255278
43 55724 OPS$WWW dygkr14 16-SEP 14:03 httpd@dygkr14 (TNS V1-V3) No command 819.035556
66 12876 OPS$WWW dygkr16 15-SEP 14:23 httpd@dygkr16 (TNS V1-V3) No command 849.465
399 40858 OPS$WWW dygkr15 10-SEP 12:22 httpd@dygkr15 (TNS V1-V3) No command 974.821111
528 14163 OPS$WWW dygkr15 07-SEP 06:23 httpd@dygkr15 (TNS V1-V3) Select 1063.28861
689 20987 OPS$WWW dygkr12 05-SEP 14:24 httpd@dygkr12 (TNS V1-V3) No command 1090.00528
226 30520 OPS$WWW dygkr12 05-SEP 14:40 httpd@dygkr12 (TNS V1-V3) No command 1090.05361
632 51223 OPS$WWW dygkr16 02-SEP 12:07 httpd@dygkr16 (TNS V1-V3) No command 1181.91111
634 34981 OPS$WWW dygkr12 02-SEP 06:33 httpd@dygkr12 (TNS V1-V3) No command 1190.3125
853 21149 OPS$WWW dygkr15 01-SEP 16:18 httpd@dygkr15 (TNS V1-V3) No command 1202.85056
17 25931 OPS$WWW dygkr11 01-SEP 09:33 httpd@dygkr11 (TNS V1-V3) No command 1218.88444
113 58494 OPS$WWW dygkr15 30-AUG 05:25 httpd@dygkr15 (TNS V1-V3) No command 1250.01194
669 56935 OPS$WWW dygkr16 30-AUG 00:16 httpd@dygkr16 (TNS V1-V3) No command 1255.41333
248 10267 OPS$WWW dygkr11 28-AUG 10:43 httpd@dygkr11 (TNS V1-V3) No command 1303.38
142 28322 OPS$WWW dygkr12 27-AUG 14:21 httpd@dygkr12 (TNS V1-V3) No command 1326.12806
173 58589 OPS$WWW dygkr15 27-AUG 09:03 httpd@dygkr15 (TNS V1-V3) No command 1339.37333
409 24619 OPS$WWW dygkr15 22-AUG 13:44 httpd@dygkr15 (TNS V1-V3) No command 1443.13611
414 29503 OPS$WWW dygkr16 22-AUG 08:53 httpd@dygkr16 (TNS V1-V3) No command 1454.47806
64 39617 OPS$WWW dygkr15 21-AUG 16:05 httpd@dygkr15 (TNS V1-V3) No command 1468.40833
333 24094 OPS$WWW dygkr14 28-JUL 14:43 httpd@dygkr14 (TNS V1-V3) No command 2040.09222
Please assist
Venkat
The script I used is
column username format a10
column program format a25
column machine format a10
column event format a35
Column command format a10
set line 10000
set pagesize 100
break on Instance skip page
select
sid,
serial#,
username,
machine,
to_char(logon_time,'DD-MON HH24:MI'),
program,
decode(command,
1,'Create table' , 2,'Insert',
3,'Select' , 6,'Update',
7,'Delete' , 9,'Create index',
10,'Drop index' ,11,'Alter index',
12,'Drop table' ,13,'Create seq',
14,'Alter sequence' ,15,'Alter table',
16,'Drop sequ.' ,17,'Grant',
19,'Create syn.' ,20,'Drop synonym',
21,'Create view' ,22,'Drop view',
23,'Validate index' ,24,'Create procedure',
25,'Alter procedure' ,26,'Lock table',
42,'Alter session' ,44,'Commit',
45,'Rollback' ,46,'Savepoint',
47,'PL/SQL Exec' ,48,'Set Transaction',
60,'Alter trigger' ,62,'Analyse Table',
63,'Analyse index' ,71,'Create Snapshot Log',
72,'Alter Snapshot Log' ,73,'Drop Snapshot Log',
74,'Create Snapshot' ,75,'Alter Snapshot',
76,'drop Snapshot' ,85,'Truncate table',
0,'No command', '? : '||command) command,
--event,
--PDML_STATUS, PDDL_STATUS, PQ_STATUS,
--server,
last_call_et/60/60
from v$session
where
username<>' ' and status='ACTIVE'
order by last_call_et
But I want to know y so many duplicate sessions are running with " begin dbms_session.reset_package; end; " queries
Venkat
Similar Messages
-
Problems running Activity Monitor - repairing privileges
Hello everyone,
My iBook had a strange moment, and I had to reinstall Mac OS X, which for me is still 10.3.9. However, I can no longer run Activity Monitor - the icon just bounces up and down a couple of times in the Dock, then vanishes. I've tried running it via a terminal, and received the following error message:
2007-09-18 13:16:34.841 Activity Monitor[10594] The tool is not setuid root - please repair the privileges
What is going on?
Thanks!
LianaHi
Welcome to Discussions.
Open Disk Utility, found in Application/Utilities, and click on Repair Permissions.
Then try to use Activity Monitor normally by clicking on its icon.
Message was edited by: roam -
Long Running SQL and ORDS Spawns Multiple Database Sessions
Hi all.
We have a strange situation when accessing a long running SQL Report (a single APEX Page).
The SQL takes about 15 mins to run but when I monitor what database sessions are spawned by the APEX Listener, I see multiple sessions all executing the same SQL. It appears that after 6 minutes, the APEX Listener spawns a new database session to execute the same SQL.
Has anyone seen this before and if so, is there a key setting I am missing as I don't want this to happen. I am new to the APEX Listener and WebLogic so apologies if this is the way it's meant to work but it seems odd that after a certain amount of time (6 minutes in my case) a new database session is spawned to do the same work.
We are running:
WebLogic: 10.3.0.6
APEX_LISTENER_VERSION 2.0.0.354.17.06
Datadate: 11.2.0.3.0 Production
APEX: 4.2.1.00.08
Cheers for any help.
DuncsHi Duncan,
With all respect, you should please rethink your interface. I would never consider writing a Web application with a request that knowingly takes 15 minutes to return the results. You can consider doing this asynchronously via DBMS_SCHEDULER and then alerting the user (via email, perhaps) that their results are ready. Or if you can precompute this in advance, consider using materialized views so that the user's response time is sub-second.
In an era where the patience of the average end-user is measured in single-digit seconds, it is impractical to ever expect an end-user to wait 15 minutes for their resultant Web page.
Joel -
Email Notification for long running session
Dear All,
I want to configure email notification for any long running session on my server which can be seen in SM66. Is there any possible way? Please suggest.
Regards,
PremHi Prem,
I hope you doing good.
Now, for the above query, I am not sure that we have any such MTE in CCMS for user specific session, however, a small custom code can be used to achieve such functions
Here, you have to use some f Function Modules using CALL FUNCTION/FM in your abap code.
These function modules are from TH* family like TH_DISPLAY_USER_LIST and TH_USER_INFO. Now the coder can file out the results based on some 'Threshold', which are in spool generated - convert this into PDF(if you want). Now schedules this custom program in background for every 10 mins, and notification will come through it on email ID or any DL.
How to send email from job - How to email output from Background Jobs
Regards,
Divyanshu -
Cannot deploy EAR. There are already active sessions
Hi WebDyn Pro's,
I'm running NW SP14
Sporadically, I cannot deploy my WebDynpro app to the NW server. In NWDS, I indicate to Deploy and run. I get an error in the console indicating:
<b>"Cannot log in. There are already active sessions. Session id 0 An administrator logged in via API /"</b>
I restarted the server and the NWDS workstations but that didn't help. I've had this same error in the past. Usually it goes away. I thought I solved it, but evidently not.
On the NW server, I cannot log into SDM GUI either. I get the same error.
As mentioned above, this error occurs sporadically. I can deploy just fine 50 times. And then all of sudden I start getting this error, even though no one has touched the server.
Thoughts?
Thanks,
KevinHi,
Have you checked if anyone else is actually using SDM to deploy?
There are some quite significant deployment tasks that my basis team perform which will occupy the SDM tool for a long time and stop me and my other developers from deploying anything.
I've also caused this problem myself when my SDM deployment has stalled - I've been deploying a custom B2B .ear file and the deployment has just got stuck in processing for ages. In the end I've had to kill the SDM task from Windows Task Manager but this causes SDM to think someone is still logged in so I've then had to restart the SDM service from the SAP Management Console.
If this is not the case I'd suggest raising it through OSS if you can't find any relevant messages on there.
Hope this helps,
Gareth Ryan. -
Long running threads (Jasper Reports) and AM-Pooling
Hi,
we are developing quite large application with ADF an BC. We have quite a lot of reports generated through Jasper that take quite long time to complete. The result is a PDF document that user gets on the UI so he can download it over download link. Reports that take over an hour to finish are never completed and returned to the user on UI. I think the problem is in AM-Polling because we are using default AM-Polling settings:
<AM-Pooling jbo.ampool.maxinactiveage="600000" jbo.ampool.monitorsleepinterval="600000" jbo.ampool.timetolive="3600000"/>
The AM is destroyed or returned to pool before reports finishes. How to properly configure those settings that even long running threads will do there jobs to the end.
We also modified web.xml as follows:
<session-config>
<session-timeout>300</session-timeout>
</session-config>
Any help appreciated.
Regards, TadejYour problem is not related to ADF ApplicationModules. AMs are returned to the pool no earlier than the end of request, so for sure they are not destroyed by the framework while the report is running. The AM timeout settings you are referring to are applicable only to idle AMs in the pool but not to AMs that have been checked out and used by some active request.
If you are using MS Internet Explorer, then most probably your problem is related to the IE's ReceiveTimeout setting, which defines a timeout for receiving a response from the server. I have had such problems with long running requests (involving DB processing running for more than 1 hour) and solved my problem by increasing this timeout. By default this timeout is as follows:
IE4 - 5 minutes
IE5, 6, 7, 8 - 60 minutes
I cannot find what the default value is for IE9 and IE10, but some people claim it is only 10 seconds, although this information does not sound reasonable and reliable! Anyway, the real value is hardly greater than 60 minutes.
You should increase the ReceiveTimeout registry value to an appropriate value (greater than the time necessary for your report to complete). Follow the instructions of MS Support here:
Internet Explorer error "connection timed out" when server does not respond
I have searched Internet for similar timeout settings for Google Chrome and Mozilla Firefox, but I have not found anything, so I instructed my customers (who execute long-running DB processing) to configure and use IE for these requests.
Dimitar -
ORABPEL-05002 for long running process
Hi everybody,
My question is related with a long running process I have designed and which, after running for a couple of days, ends by reporting the ORABPEL-05002 error:
===============================================================
ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.PerformMessage"; the exception is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
java.lang.Exception: No Exception - originate from:
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:152)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
===============================================================
Looking in the Manual Recovery screen, I can see an Activity I can recover. It's about an assign Activity where I'm doing a single boolean assignation.
Of course, together with the ORABPEL-05002 error I got also the 'Transaction was rolled back: time out' message. Note that I have modified the transaction-timeout value to 180000. The error occurs during the night, with no heavy load of the server.
Recovering the assign activity brings back the process in the running state.
My process pattern:
while (1 == 1) {
do activity;
wait_timeout();
So, I have the following questions:
1. Which is cause of this error?
2. How may I automatically recover this lost activity? RecoveryAgent?
Any suggestion is appreciated.
Regards,
amo
P.S: the full stack of error messages reported in domain.log:
===============================================================
<2006-09-18 08:08:34,101> <ERROR> <SRH.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
javax.ejb.EJBException: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
java.lang.Exception: No Exception - originate from:
java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
java.lang.Exception: No Exception - originate from:
at com.evermind.server.ejb.EJBUtils.makeException(EJBUtils.java:873)
at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.handleWorkItem(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:1479)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handle(PerformMessageHandler.java:45)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.Exception: No Exception - originate from:
at com.evermind.server.ejb.EJBUtils.makeException(EJBUtils.java:871)
... 10 more
javax.ejb.EJBException: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
java.lang.Exception: No Exception - originate from:
at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.handleWorkItem(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:1479)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handle(PerformMessageHandler.java:45)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
<2006-09-18 08:08:34,129> <ERROR> <SRH.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.PerformMessage"; the exception is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
java.lang.Exception: No Exception - originate from:
ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.PerformMessage"; the exception is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
java.lang.Exception: No Exception - originate from:
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:152)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
<2006-09-18 08:09:05,236> <ERROR> <SRH.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "activity manager": Scope not found.
The scope "BpSwt2.30995" has not been defined in the current instance.
ORABPEL-02094
Scope not found.
The scope "BpSwt2.30995" has not been defined in the current instance.
at com.collaxa.cube.engine.core.ScopeContext.getScope(ScopeContext.java:213)
at com.collaxa.cube.engine.core.WorkItem.setCubeInstance(WorkItem.java:259)
at com.collaxa.cube.engine.core.WorkItemFactory.init(WorkItemFactory.java:68)
at com.collaxa.cube.engine.core.WorkItemFactory.create(WorkItemFactory.java:58)
at com.collaxa.cube.engine.adaptors.common.BaseWorkItemPersistenceAdaptor.load(BaseWorkItemPersistenceAdaptor.java:147)
at com.collaxa.cube.engine.data.WorkItemPersistenceMgr.load(WorkItemPersistenceMgr.java:75)
at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5185)
at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5173)
at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2136)
at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
at IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
<2006-09-18 08:09:05,274> <ERROR> <SRH.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
ORABPEL-02094
Scope not found.
The scope "BpSwt2.30995" has not been defined in the current instance.
at com.collaxa.cube.engine.core.ScopeContext.getScope(ScopeContext.java:213)
at com.collaxa.cube.engine.core.WorkItem.setCubeInstance(WorkItem.java:259)
at com.collaxa.cube.engine.core.WorkItemFactory.init(WorkItemFactory.java:68)
at com.collaxa.cube.engine.core.WorkItemFactory.create(WorkItemFactory.java:58)
at com.collaxa.cube.engine.adaptors.common.BaseWorkItemPersistenceAdaptor.load(BaseWorkItemPersistenceAdaptor.java:147)
at com.collaxa.cube.engine.data.WorkItemPersistenceMgr.load(WorkItemPersistenceMgr.java:75)
at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5185)
at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5173)
at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2136)
at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
at IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
<2006-09-18 08:09:05,275> <ERROR> <SRH.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: Scope not found.
The scope "BpSwt2.30995" has not been defined in the current instance.
ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: Scope not found.
The scope "BpSwt2.30995" has not been defined in the current instance.
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:152)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
===============================================================These are the possible cause to the problem and their solutions:
Poor performance of the dehydration database If you are using Oracle Lite as dehydration store, please switch to use Oracle 9i or 10g. If Oracle 9i/10g is already in use, check the database parameter 'process' and 'session' to make sure it can handle the expected throughput.
OC4J has too few available connections to the dehydration database. Increase the maxConnection number of the BPELServerDataSource at the BPEL_HOME/integration/orabpel/system/appserver/oc4j/j2ee/home/config/data-sources.xml (for developer edition) or IAS_HOME/j2ee/OC4J_BPEL/config/data-sources.xml (mid-tier installation).
Size of message is too big Two ways to deal with this problem:
Increase the transaction timeout at PEL_HOME/integration/orabpel/system/appserver/oc4j/j2ee/home/config/server.xml (developer edition) or IAS_HOME/j2ee/OC4J_BPEL/config/server.xml (mid-tier installation)
Decrease the auditLevel from BPELConsole -> Manage BPEL Domain -> Configurations tab. Doing so will reduce the amount of data saved to the dehydration store.
Cheers
Anirudh Pucha -
Any way to get number of active sessions
Hi,
With the deprecation of the HttpSessionContext interface as of Servlet API
2.1 for security reasons, is there any way to know how many sessions are
currently active in a given WebLogic instance?
Thanks,
Sanjiv
You could make it a singleton. The overhead is nothing ... trust me. Run
WebLogic through a profiler if you don't ;-)
Good luck,
Cameron Purdy, LiveWater
"Sanjiv Gulati" <[email protected]> wrote in message
news:[email protected]...
> Thanks for sharing this technique. Although I haven't used the
> HttpSessionBindingListener interface myself, this will work as long as I
add
> an instance of SessionCounter in each new session. The only modifications
> I'll add to the code below would be a synchronized block within the
> valueBound and valueUnbound methods so that modifications to m_cSessions
are
> thread safe.
>
> The overhead associated with this approach will be the following:
> 1) For every session there will be an associated SessionCounter, and
> 2) Serialization of requests that end up invoking the valueBound &
> valueUnbound methods.
>
> But I guess this cannot be avoided.
>
> Thanks,
> Sanjiv
>
> Cameron Purdy <[email protected]> wrote in message
> news:[email protected]...
> > The only portable implementation is to have all requests go through your
> > servlet code (or JSP code) and check if the session is new
> > (HttpSession.isNew). If so, register a value with the session that
> > implements HttpSessionBindingListener. Something like:
> >
> > class SessionCounter implements HttpSessionBindingListener {
> > // count of active sessions
> > private static int m_cSessions;
> > // accessor for count of active sessions
> > public int getSessionCount() {
> > return m_cSessions;
> > }
> > // this object placed on a session
> > void valueBound(...) {
> > ++m_cSessions;
> > }
> > // this object removed from a session
> > void valueUnound(...) {
> > --m_cSessions;
> > }
> > // end class
> > }
> >
> > It is host-local ... meaning it only tracks one host in a cluster.
> > Actually, it only tracks sessions within one classloader on one host in
a
> > cluster, but don't worry about that distinction.
> >
> > And no, I've never done it, but it is apparent that you could, if you
> chose
> > to:
> >
> > 1) Count sessions
> > 2) Track all session instances
> > 3) Have session-level events, such as onCreate/onDestroy
> >
> > Hope it helps,
> >
> > Cameron Purdy, LiveWater
> >
> > "Sanjiv Gulati" <[email protected]> wrote in message
> > news:[email protected]...
> > > Hi,
> > >
> > > With the deprecation of the HttpSessionContext interface as of Servlet
> API
> > > 2.1 for security reasons, is there any way to know how many sessions
are
> > > currently active in a given WebLogic instance?
> > >
> > > Thanks,
> > > Sanjiv
> > >
> > >
> >
> >
>
>
-
Scalability Issues - Too Many Active Sessions?
Hello,
I'm having an issue with an application I built for one of the campuses at the college I work at. The application is a queuing system where there are stations for students to check in, admin stations where staff can see these students and "call" them, and displays outside each employees office that shows the student that was called. There are about 20 of these last type of display panels. I have the following code in my page footer to poll the DB for the most recent called student for a specific room:
<script type="text/javascript">
<!--
var refresh_region = function( workstation_in, div_in ) {
$.get(
'wwv_flow.show',
{"p_request" : 'APPLICATION_PROCESS=F_NEXT_STUDENT',
"p_flow_id" : $v('pFlowId'), //app id
"p_flow_step_id" : $v('pFlowStepId'), //page id
"p_instance" : $v('pInstance'), //session id
"x01" : workstation_in
function(data) {
$(div_in).html(data);
setTimeout(function() { refresh_region( workstation_in, div_in ) }, 5000);
refresh_region( '&P7_WORKSTATION_IN.', '#next_student_div' );
//-->
</script>The OnDemand process, F_NEXT_STUDENT runs the following query and returns the result:
select a.FIRST_NAME || ' ' || a.LAST_NAME
into full_name
from ONESTOP_QUEUE a
where a.WORKSTATION_ID_CALLED = in_workstation_id
and a.STATUS = 'CALLED'
and a.QUEUE_ID = (
select min( c.QUEUE_ID )
from ONESTOP_QUEUE c
where c.WORKSTATION_ID_CALLED = in_workstation_id
and c.STATUS = 'CALLED');However, when all of these display panels are turned on (and I use code like this in other pages for similar purposes) the application becomes sluggish and eventually unresponsive. At first we had the application running off a box with Oracle XE. We eventually migrated to a full blown 11g install with APEX Listener and GlassFish. My DBA says everything looks ok on the DB side so I've been trying to dig in other areas to see where the bottleneck may be. After inspecting the Active Sessions report in APEX, I saw that there's a ton of connections being generated (> 30,000). This doesn't seem like a good thing to me and I'm trying to figure out what I'm doing wrong.
At first I was using $.post() instead of $.()get. I was also using setInterval() instead of a setTimeout() loop. However, none of these changes seemed to really help the situation much. I'm at a loss for how else to improve the performance of this application. Any suggestions on what I can try?
Most of the app's functionality is on apex.oracle.com
WORKSPACE: SCCC_TEST
USER/PASS: TEST/test
Direct URL to the page (I pass in the worksation ID): http://apex.oracle.com/pls/apex/f?p=65890:7:0::::P7_WORKSTATION_IN:ADMISSIONS_1
Thanks in advance for any help.Hi Patrick,
UPDATE as of 3PM Eastern:
This afternoon all users lost the ability to connect to the application. My DBA is still reviewing logs but it seems that the error isn't on the DB side. The application came back up after he restarted the Apex listener. We found a bunch of the following error in the Glassfish server.log file:
[#|2013-02-25T14:34:39.021-0500|WARNING|oracle-glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=11;_ThreadName=Thread-2;|GRIZZLY0023: Interrupting idle Thread: http-thread-pool-80(73).|#]The max threads is currently set to 100.
After we came back up I went to page 4350:45 and cleared out all sessions. After a couple minutes I rechecked the number of sessions on this page:
Total Sessions: 27,674
Distinct Users over all sessions = 2
Sessions older than 15 minute(s) = 4Seems like way too many sessions to have after just a couple minutes.
End UPDATE
Again, thank you for taking the time to reply. Everything seems to be working fine for the past couple days, but I figured I'd provide some current data, especially since I'm still curious about all these "sessions".
Are we talking about page 4350:45 which shows the following information
Total Sessions: 9
Distinct Users over all sessions = 4
Sessions older than 1 day(s) = 0
Where does it show 17,400 sessions for you? It almost appears that your daily APEX jobs are not running which do normally purge old APEX sessions automatically. See http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35129/dbms_jobs001.htm
Yes, this was the page I was referring to. I just checked it now and it showed me the following:
Total Sessions: 10,236
Distinct Users over all sessions = 2
Sessions older than 1 day(s) = 0And it does appear that the APEX jobs are running since there are no sessions older than 1 day... unless I'm interpreting this information incorrectly.
Also, I was able to get some more data regarding page loading using the Debug info:
14763 7751818952614 nobody 101 7 show 46 4 seconds ago 0.0000
14760 7751818952614 nobody 101 7 show 46 9 seconds ago 0.5300
14757 7751818952614 nobody 101 7 show 46 14 seconds ago 0.0150
14754 7751818952614 nobody 101 7 show 46 19 seconds ago 0.0160
14751 7751818952614 nobody 101 7 show 46 24 seconds ago 0.0160
14748 7751818952614 nobody 101 7 show 46 29 seconds ago 0.0160
14745 7751818952614 nobody 101 7 show 46 34 seconds ago 0.0160
14742 7751818952614 nobody 101 7 show 46 39 seconds ago 0.0160
14739 7751818952614 nobody 101 7 show 46 44 seconds ago 0.0160
14736 7751818952614 nobody 101 7 show 46 49 seconds ago 0.0160
14733 7751818952614 nobody 101 7 show 46 54 seconds ago 0.0160
14730 7751818952614 nobody 101 7 show 46 59 seconds ago 0.0000
14727 7751818952614 nobody 101 7 show 46 64 seconds ago 0.0160
14724 7751818952614 nobody 101 7 show 46 69 seconds ago 0.0160
14721 7751818952614 nobody 101 7 show 46 74 seconds ago 0.0160
14718 7751818952614 nobody 101 7 show 46 79 seconds ago 0.0160
14715 7751818952614 nobody 101 7 show 46 84 seconds ago 0.0150
14712 7751818952614 nobody 101 7 show 46 89 seconds ago 0.5300
14709 7751818952614 nobody 101 7 show 46 94 seconds ago 0.0000
14706 7751818952614 nobody 101 7 show 46 99 seconds ago 0.0150
14703 7751818952614 nobody 101 7 show 46 104 seconds ago 0.0150
14700 7751818952614 nobody 101 7 show 46 109 seconds ago 0.0150
14697 7751818952614 nobody 101 7 show 46 114 seconds ago 0.0150
14694 7751818952614 nobody 101 7 show 46 119 seconds ago 0.0160
14691 7751818952614 nobody 101 7 show 46 2 minutes ago 0.5310
14688 7751818952614 nobody 101 7 show 46 2 minutes ago 0.5300
14685 7751818952614 nobody 101 7 show 46 2 minutes ago 0.5150
14682 7751818952614 nobody 101 7 show 46 2 minutes ago 0.5300
14679 7751818952614 nobody 101 7 show 46 2 minutes ago 0.5300
14676 7751818952614 nobody 101 7 show 46 2 minutes ago 0.5300
14673 7751818952614 nobody 101 7 show 46 3 minutes ago 0.0000
14670 7751818952614 nobody 101 7 show 46 3 minutes ago 0.5930
14667 7751818952614 nobody 101 7 show 46 3 minutes ago 0.5300
14664 7751818952614 nobody 101 7 show 46 3 minutes ago 0.5460So I'm seeing a page load time of ~0.016 or ~0.53. When I click on the details for one of the longer page view, I get the following:
0.00000 0.00000 S H O W: application="101" page="7" workspace="" request="APPLICATION_PROCESS=F_NEXT_STUDENT" session="7751818952614" 4
0.00000 0.04700 Reset NLS settings 4
0.04700 0.03100 alter session set NLS_LANGUAGE="AMERICAN" 4
0.07800 0.03100 alter session set NLS_TERRITORY="AMERICA" 4
0.10900 0.01600 alter session set NLS_CALENDAR="GREGORIAN" 4
0.12500 0.03100 alter session set NLS_SORT="BINARY" 4
0.15600 0.00000 alter session set NLS_COMP="BINARY" 4
0.15600 0.00000 ...NLS: Set Decimal separator="." 4
0.15600 0.00000 ...NLS: Set NLS Group separator="," 4
0.15600 0.00000 ...NLS: Set g_nls_date_format="DD-MON-RR" 4
0.15600 0.00000 ...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM" 4
0.15600 0.03100 ...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR" 4
0.18700 0.00000 NLS of database and client differs, characterset conversion needed 4
0.18700 0.01600 ...Setting session time_zone to -05:00 4
0.20300 0.03100 Reset NLS settings 4
0.23400 0.03100 alter session set NLS_LANGUAGE="AMERICAN" 4
0.26500 0.01600 alter session set NLS_TERRITORY="AMERICA" 4
0.28100 0.03100 alter session set NLS_CALENDAR="GREGORIAN" 4
0.31200 0.03100 alter session set NLS_SORT="BINARY" 4
0.34300 0.00000 alter session set NLS_COMP="BINARY" 4
0.34300 0.00000 ...NLS: Set Decimal separator="." 4
0.34300 0.00000 ...NLS: Set NLS Group separator="," 4
0.34300 0.00000 ...NLS: Set g_nls_date_format="DD-MON-RR" 4
0.34300 0.00000 ...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM" 4
0.34300 0.01600 ...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR" 4
0.35900 0.03100 ...Setting session time_zone to -05:00 4
0.39000 0.03100 Setting NLS_DATE_FORMAT to application date format: DD-MON-YYYY HH:MIPM 4
0.42100 0.01600 Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DD-MON-YYYY HH:MIPM 4
0.43700 0.03100 Setting NLS_TIMESTAMP_TZ_FORMAT to application timestamp time zone format: DD-MON-YYYY HH:MIPM 4
0.46800 0.00000 ...NLS: Set g_nls_date_format="DD-MON-YYYY HH:MIPM" 4
0.46800 0.00000 ...NLS: Set g_nls_timestamp_format="DD-MON-YYYY HH:MIPM" 4
0.46800 0.00000 ...NLS: Set g_nls_timestamp_tz_format="DD-MON-YYYY HH:MIPM" 4
0.46800 0.00000 NLS: wwv_flow.g_flow_language_derived_from=0: wwv_flow.g_browser_language=en 4
0.46800 0.00000 Application 101, Authentication: PLUGIN, Page Template: 61331314513900454147 4
0.46800 0.00000 Authentication check: No Authentication (NATIVE_DAD) 4
0.46800 0.00000 ...fetch session state from database 4
0.46800 0.01600 fetch items (exact) 4
0.48400 0.00000 ... sentry+verification success 4
0.48400 0.00000 ...Session ID 7751818952614 can be used 4
0.48400 0.01500 ...Application session: 7751818952614, user=nobody 4
0.49900 0.03100 ...Setting session time_zone to -05:00 4
0.53000 0.00000 Session: Fetch session header information 4
0.53000 0.00000 Run APPLICATION_PROCESS= request 4
0.53000 0.00000 ...Execute Statement: begin sys.htp.p( F_NEXT_STUDENT( in_workstation_id => apex_application.g_x01 ) ); end; 4
0.53000 0.00000 Stop APEX Engine detected 4
0.53000 - Final commit 4Again, not sure if I'm reading this correctly but it seems that the steps that are taking the most time seem to be related to NLS settings... and I have translating turned off. This is consistent with all of the longer page views. As a side note, my DBA did turn archive log mode back on this weekend.
Again, everything seems to be running smoothly at the moment so the above data is more to help satisfy my curiosity about the inner workings of Apex.
Regards,
Tadeusz
Edited by: tdsacilowski on Feb 25, 2013 3:04 PM -
Identifying the BW report behind a long-running DIA wp
Hello - if you see a long running work process in sm66/50...then i can correlate it to the oracle session w/ st04...and then i can see the actual query and explain plan, etc.
however, i am having trouble tying this back to the BW "report" which the user launched. i know it's a web report, and all i could find in st03 was RFC time.
i looked in se16 at RSDDSTAT for the timeframe in question, but couldn't find a record that correlated to what i saw running actively in sm66/50/st04. any other way to do this? (other than calling the end-user directly)
thanksHi Ben,
I believe now I understand your issue... and I only see two possible options:
1. Activate trace for the user that is getting the long-running process (you can do it from RSRTRACE, and those logs are not very big). If you see queries that have a very big time on CMD_PROCESS WAIT, then those are candidates to review.
The main problem with this option is that you can't catch the user instantly, cause user should log out and log in in order to activate the trace, and you'll need to constantly analyze his logs to catch the annoying query.
2. Debug the dialog process and find the WRITEQUERY execution (by using F7). There, on g_s_repkey you'll find query technical name on compid. The problem here is to get the authorization from your basis team to perform debugging on a production system (it is not recommended).
Maybe you can also try to analyze BW Statistics... let's see other opinions.
Hope this helps,
David. -
Active session count of an user
Hi,
Could you help me understand the concept of active user session count and the factors influencing the active sesssion count of an user
1) Does running multiple queries in a number of query windows in SQL developer lead to increase active session count?
2) Does a high degree of parallel option ( e.g. Parallel (Degree 8)) provided in a query lead to a higher session count?
3) Does the size of data processed in a query influence session count?
4) Does the complexity of a query influence session count?
5) Can a session remain active even after completion of a query and thereby increase the active sessioncount?
Regards
-Learnsequel910874 wrote:
Could you help me understand the concept of active user session count and the factors influencing the active sesssion count of an userThat depends on the client. Does the client use some form of multi-threading? If so, the client needs a separate and active Oracle session servicing each of its running threads.
The user may only initiate a single connection to the database - but the application remembers the authentication and connection details and can transparently establish multiple additional sessions. (a common behaviour by TOAD and SQL-Developer)
1) Does running multiple queries in a number of query windows in SQL developer lead to increase active session count?Yes - as an Oracle session is serialised. It can only execute a single client request at a time. Thus if the client has 3 windows/tabs with each running a SQL query - then 3 Oracle sessions are required to service that client.
2) Does a high degree of parallel option ( e.g. Parallel (Degree 8)) provided in a query lead to a higher session count?No. PX slave processes are database processes. They only "assist" a session at specific times. Then they can "assist" other sessions with other parallel query processing. The database has a configurable PQ processing pool of processes. You can specify the minimum number of processes to create in the pool at startup. You can specify the ceiling of the pool.
So no number of sessions can grow the number of PQ processes beyond the maximum size of the pool. And the pool is there to service all sessions. Not just a single session.
3) Does the size of data processed in a query influence session count?No.
4) Does the complexity of a query influence session count?No.
5) Can a session remain active even after completion of a query and thereby increase the active sessioncount?This is default behaviour. If that session terminates, the client looses its database connection.
In the case of a multi-threaded client, it can decide to close one or more of the transparent "background" sessions it created to the database, when no longer needing such a session. However, it will keep its initial (first) session open as its primary connection to the database. -
Using MDBs for long running transactions
Although MDBs are not the best vehicles for running long transactions, I am
forced to use them for one such scenario (let's say for lack of a better
pattern). In order to let my long running MDB (with Container Managed Tx)
do it's chores I increased the time-out value to a higher number rather than
using the default of 30 secs. Strangely, I was seeing
IllegalStateExceptions in stdout. So I created a brand new test MDB with a
Thread.sleep for 60 seconds, increased my MDBs timeout value to 120 secs,
made sure there was only one MDB in the pool and ran the test again. I
still see the below error after 30 seconds.
I guess I should probably open a support case, but I thought I'll post here
as well in case there's something I am missing.
<May 27, 2003 5:26:31 PM PDT> <Notice> <EJB> <Error marking transaction for
rollback: java.lang.IllegalStateException: Cannot m
ark the transaction for rollback. xid=64:bea55f200db2c786, status=Rolled
back. [Reason=weblogic.transaction.internal.TimedOutEx
ception: Transaction timed out after 34 seconds
Xid=64:bea55f200db2c786(-33600248),Status=Active,numRepliesOwedMe=0,numRepli
esOwedOthers=0,seconds since begin=34,seconds left=
30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread
Group for Queue: 'default'],ServerResourceInfo[JMS_hmJD
BCStore]=(state=started,assigned=none),SCInfo[wlcsDomain+wlcsServer]=(state=
active),OwnerTransactionManager=ServerTM[ServerCoor
dinatorDescriptor=(CoordinatorURL=wlcsServer+155.14.3.140:7501+wlcsDomain+,
Resources={})],CoordinatorURL=wlcsServer+155.14.3.1
40:7501+wlcsDomain+)]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=64:bea55f200db2c786, status=Rolled back. [Reason
=weblogic.transaction.internal.TimedOutException: Transaction timed out
after 34 seconds
Xid=64:bea55f200db2c786(-33600248),Status=Active,numRepliesOwedMe=0,numRepli
esOwedOthers=0,seconds since begin=34,seconds left=
30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread
Group for Queue: 'default'],ServerResourceInfo[JMS_hmJD
BCStore]=(state=started,assigned=none),SCInfo[wlcsDomain+wlcsServer]=(state=
active),OwnerTransactionManager=ServerTM[ServerCoor
dinatorDescriptor=(CoordinatorURL=wlcsServer+155.14.3.140:7501+wlcsDomain+,
Resources={})],CoordinatorURL=wlcsServer+155.14.3.1
40:7501+wlcsDomain+)]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(Tra
nsactionImpl.java:1486)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImp
l.java:466)
at
weblogic.ejb20.manager.BaseEJBManager.handleSystemException(BaseEJBManager.j
ava:255)
at
weblogic.ejb20.manager.BaseEJBManager.setupTxListener(BaseEJBManager.java:21
5)
at
weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:153)
at
weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:117)
at
weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java
:63)
at
com.xoriant.hm.ejb.session.HierarchyManagerBean_fzysig_EOImpl.getHierarchyId
(HierarchyManagerBean_fzysig_EOImpl.java
:1477)
at
com.ebiz.application.customerprofile.hm.CPXHMController.SynchronizeMHTH(Unkn
own Source)
at
com.ebiz.application.customerprofile.hm.CPHMOrgGroupMsgBean.onMessage(Unknow
n Source)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Hi Adarsh,
It may be that the transaction time-out setting in the descriptor
is not taking effect. The tx is still timing out after
the default 30 seconds, so the later attempt to call
"setRollbackOnly" fails as the transaction has already
rolled back The ignored descriptor setting is a known issue
in some earlier SPs, but I'm not sure when and where it
was fixed - so yes, contact customer support. The work-around
is to set the default transaction time-out for the entire server to a
higher value. (I'm not sure where to set this on the console,
but the relevant JTA MBean field is "TimeoutSeconds".)
Tom
Adarsh Dattani wrote:
> Although MDBs are not the best vehicles for running long transactions, I am
> forced to use them for one such scenario (let's say for lack of a better
> pattern). In order to let my long running MDB (with Container Managed Tx)
> do it's chores I increased the time-out value to a higher number rather than
> using the default of 30 secs. Strangely, I was seeing
> IllegalStateExceptions in stdout. So I created a brand new test MDB with a
> Thread.sleep for 60 seconds, increased my MDBs timeout value to 120 secs,
> made sure there was only one MDB in the pool and ran the test again. I
> still see the below error after 30 seconds.
> I guess I should probably open a support case, but I thought I'll post here
> as well in case there's something I am missing.
>
> <May 27, 2003 5:26:31 PM PDT> <Notice> <EJB> <Error marking transaction for
> rollback: java.lang.IllegalStateException: Cannot m
>
> ark the transaction for rollback. xid=64:bea55f200db2c786, status=Rolled
> back. [Reason=weblogic.transaction.internal.TimedOutEx
>
> ception: Transaction timed out after 34 seconds
>
> Xid=64:bea55f200db2c786(-33600248),Status=Active,numRepliesOwedMe=0,numRepli
> esOwedOthers=0,seconds since begin=34,seconds left=
>
> 30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread
> Group for Queue: 'default'],ServerResourceInfo[JMS_hmJD
>
> BCStore]=(state=started,assigned=none),SCInfo[wlcsDomain+wlcsServer]=(state=
> active),OwnerTransactionManager=ServerTM[ServerCoor
>
> dinatorDescriptor=(CoordinatorURL=wlcsServer+155.14.3.140:7501+wlcsDomain+,
> Resources={})],CoordinatorURL=wlcsServer+155.14.3.1
>
> 40:7501+wlcsDomain+)]
>
> java.lang.IllegalStateException: Cannot mark the transaction for rollback.
> xid=64:bea55f200db2c786, status=Rolled back. [Reason
>
> =weblogic.transaction.internal.TimedOutException: Transaction timed out
> after 34 seconds
>
> Xid=64:bea55f200db2c786(-33600248),Status=Active,numRepliesOwedMe=0,numRepli
> esOwedOthers=0,seconds since begin=34,seconds left=
>
> 30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread
> Group for Queue: 'default'],ServerResourceInfo[JMS_hmJD
>
> BCStore]=(state=started,assigned=none),SCInfo[wlcsDomain+wlcsServer]=(state=
> active),OwnerTransactionManager=ServerTM[ServerCoor
>
> dinatorDescriptor=(CoordinatorURL=wlcsServer+155.14.3.140:7501+wlcsDomain+,
> Resources={})],CoordinatorURL=wlcsServer+155.14.3.1
>
> 40:7501+wlcsDomain+)]
>
> at
> weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(Tra
> nsactionImpl.java:1486)
>
> at
> weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImp
> l.java:466)
>
> at
> weblogic.ejb20.manager.BaseEJBManager.handleSystemException(BaseEJBManager.j
> ava:255)
>
> at
> weblogic.ejb20.manager.BaseEJBManager.setupTxListener(BaseEJBManager.java:21
> 5)
>
> at
> weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:153)
>
> at
> weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:117)
>
> at
> weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java
> :63)
>
> at
> com.xoriant.hm.ejb.session.HierarchyManagerBean_fzysig_EOImpl.getHierarchyId
> (HierarchyManagerBean_fzysig_EOImpl.java
>
> :1477)
>
> at
> com.ebiz.application.customerprofile.hm.CPXHMController.SynchronizeMHTH(Unkn
> own Source)
>
> at
> com.ebiz.application.customerprofile.hm.CPHMOrgGroupMsgBean.onMessage(Unknow
> n Source)
>
> at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
>
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
>
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
>
>
>
-
Long-running transactions and the performance penalty
If I change the orch or scope Transaction Type to "Long Running" and do not create any other transaction scopes inside, I'm getting this warning:
warning X4018: Performance Warning: marking service '***' as a longrunning transaction is not necessary and incurs the performance penalty of an extra commit
I didn't find any description of such penalties.
So my questions to gurus:
Does it create some additional persistence point(s) / commit(s) in LR orchestration/scope?
Where are these persistence points happen, especially in LR orchestration?
Leonid Ganeline [BizTalk MVP] BizTalk Development ArchitectureThe wording may make it sound so but IMHO, if during the build of an orchestration we get carried away with scope shapes we end up with more persistence points which do affect the performance so one additional should not make soo much of a difference. It
may have been put because of end-user feed back where people may have opted for long running transactions without realizing about performance overheads and in subsequent performance optimization sessions with Microsoft put it on the product enhancement list
as "provide us with an indication if we're to incurr performance penalties". A lot of people design orchestration like they write code (not saying that is a bad thing) where they use the scope shape along the lines of a try catch block and what with
Microsoft marketing Long Running Transactions/Compensation blocks as USP's for BizTalk, people did get carried away into using them without understanding the implications.
Not saying that there is no additional persistence points added but just wondering if adding one is sufficient to warrant the warning. But if I nest enough scope shapes and mark them all as long-running, they may add up.
So when I looked at things other than persistence points, I tried to think on how one might implement the long running transaction (nested, incorporating atomic, etc), would you be able to leverage the .Net transaction object (something the pipeline
use and execute under) or would that model not handle the complexities of the Long Running Transaction which by very definiton span across days/months and keeping .Net Transaction objects active or serialization/de-serialization into operating context will
cause more issues.
Regards. -
LONG running qurries in oracle database
HI,
How to check LONG running qurries in oracle database ? and also can you please tell me how to check current runnning quries in DB.
Thanks,
Shyamu.A.you mean long ops...
SELECT sid, to_char(start_time,'hh24:mi:ss') stime,
message,( sofar/totalwork)* 100 percent
FROM v$session_longops
WHERE sofar/totalwork < 1if you want locked objects
select
object_name,
object_type,
session_id,
type, -- Type or system/user lock
lmode, -- lock mode in which session holds lock
request,
block,
ctime -- Time since current mode was granted
from
v$locked_object, all_objects, v$lock
where
v$locked_object.object_id = all_objects.object_id AND
v$lock.id1 = all_objects.object_id AND
v$lock.sid = v$locked_object.session_id
order by
session_id, ctime desc, object_name
/Query for currently running queries more than 60 secs...
select s.username,s.sid,s.serial#,s.last_call_et/60 mins_running,q.sql_text from v$session s
join v$sqltext_with_newlines q
on s.sql_address = q.address
where status='ACTIVE'
and type <>'BACKGROUND'
and last_call_et> 60
order by sid,serial#,q.piece -
Handling long running processes in APEX
Hello Experts,
I need your help!
I would like to call a long running PL-Proc from an Apex-App. So I build a page for the parameters with the wizzard - all fine.
Pressing the button starts the pl-proc - thats also fine.
Problem: While the PL-Proc is running, there is no activity signaled in the browser. There is no way to see, that something is running in the background.
After the pl-proc is finished, the branch to an other site took place - so the "after process" action is working as desired.
I tried "javascript:html_Submit_Progress(this);" - but this is not a solution because there is only a very short time to reload the page itself. The PL-Proc need much more time.
Is there a way to show the user, that background action is running?
Any Ideas?
Thanks for your help!
Kind regards,
FrankA few things to keep in mind. The animated gif solutions don't show a true progress bar indicator, it's just an animation on a loop. If the process takes too long, you will hit the session timeout value defined for Oracle HTTP Server.
Another thought is this. In the code that is the long running process, make calls to [dbms_application_info.set_session_longops|http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_appinf.htm#i996999] that indicate the real progress in the code. Then have a page that queries v$session_longops and refreshes every x (say 5 seconds). That page could even have an animated gif on it to indicate there is still activity.
Tyler Muth
http://tylermuth.wordpress.com
[Applied Oracle Security: Developing Secure Database and Middleware Environments|http://www.amazon.com/gp/product/0071613706?ie=UTF8&tag=tylsblo-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0071613706]
Maybe you are looking for
-
I purchased an explicit version of a song by mistake. I then went back on line and purchased the clean version. I've deleted it from my itunes library but when I sync it with my phone, it reappears. How do I remove it permanently? It almost seems
-
ITunes 7- Can't add album artwork
Lotta dsicussion about this topic, but I haven't seen my particular problem come up. When I try to manually add album artwork nothing happens. I've seen other people say they couldn't get it to work when they just dragged the artwork, but I can't get
-
Need to start process without SAP_BPM_SuperAdmin
We would like to give a class of users the ability to launch BPM processes without giving them SAP_BPM_SuperAdmin. The problem with doing that, is that they could access NWA and change the process repository, if they found there way there. Is there a
-
I can't on my iphone(3gs)
please help me!!!!! mistakenly my child press on restore button then after few second it is simply hang up and showing i-phone icon. i tried for restart but it is simply constant........please help me.
-
Printer issue with epson WF 2540
All of a sudden, I'm unable to see print when printing an Adobe PDF or a TextEdit file. I AM able to print from a screen grab. Yosemite 10.10.3 Apple says it's because Epson has not upgraded a driver for Yosemite. Epson says it's Apple's fault. Or mi