Kill the Blocker
Hi all,
11.2.0.1
We have been long bothered by a blocking process that prevents our batch process to successfully complete during midnight.
This script helped me to identify the blocker, but did not provide the serial#r for killing the process.
select distinct s1.username ||'@'|| s1.machine ||'(INST=' || s1.inst_id ||' SID= '|| s1.sid ||')
is blocking '|| s2.username || '@' || s2.machine || ' (INST=' || s1.inst_id||' SID='||s2.sid ||')'
AS blocking_status, s2.program,s3.sql_id, s3.sql_text from gv$lock l1, gv$session s1, gv$lock l2, gv$session s2, v$sql s3
where s1.sid=l1.sid
and s2.sid=l2.sid
and l1.block=1
and l2.request >0
and l1.id1=l2.id1
and l2.id2=l2.id2
and s2.sql_id = s3.sql_id;
It this regard, to prove that I am not "lazy" I am revising the script and tell me if it correct by testing at your respective db.
Here is my revised script:
select distinct 'alter system kill session '||''''||s1.sid||','||s1.serial#||',@'||s1.inst_id||'''' from gv$lock l1, gv$session s1, gv$lock l2, gv$session s2, v$sql s3
where s1.sid=l1.sid
and s2.sid=l2.sid
and l1.block=1
and l2.request >0
and l1.id1=l2.id1
and l2.id2=l2.id2
and s2.sql_id = s3.sql_id;
Please check it it will kill the right process?
Thanks a lot,
zxy
yxes2013 wrote:
You did not check it
You did not even noticed the redundant conditions which Nicolas has observed.
and l2.id2=l2.id2
Please check if it can be removed or there has been substitute or overwritten conditions missing?
Thanks
Troll.
Similar Messages
-
How to kill the blocking session
hi expert,
when i m going to run the below query
Update rcv_transactions_interface rti set rti.processing_mode_code ='BATCH' where rti.interface_transaction_id = 3671265
it gives the error:
ORA-00054 resource busy and acquire with NOWAIT specified.
i find out the blocking session by using the blow query;
SELECT a.SESSION_ID, a.SESSION_SERIAL#, min(A.SAMPLE_TIME) start_time,max(A.SAMPLE_TIME) end_time,a.inst_id, a.blocking_session,a.user_id,s.sql_text,A.EVENT,O.OBJECT_NAME,max(A.SAMPLE_TIME) - min(A.SAMPLE_TIME)
FROM GV$ACTIVE_SESSION_HISTORY a ,gv$sql s, dba_objects o
where a.sql_id=s.sql_id
and A.CURRENT_OBJ# = O.OBJECT_ID
and blocking_session is not null
and a.user_id != 0 -- exclude SYS user
and a.sample_time > sysdate - 7
and a.event = 'enq: TX - row lock contention'
group by a.SESSION_ID, a.SESSION_SERIAL#, a.inst_id,a.blocking_session,a.user_id,s.sql_text,A.EVENT,O.OBJECT_NAME
it gives the output
SESSION_ID
SESSION_SERIAL#
START_TIME
END_TIME
INST_ID
BLOCKING_SESSION
USER_ID
SQL_TEXT
EVENT
OBJECT_NAME
MAX(A.SAMPLE_TIME)-MIN(A.SAMPLE_TIME)
369
45,849
9/4/2013 8:29:33.119 AM
9/4/2013 11:40:27.508 AM
1
554
173
SELECT POL.UNIT_PRICE FROM PO_LINES POL WHERE POL.PO_LINE_ID = :b1
enq: TX - row lock contention
PO_LINES_ALL
+00 03:10:54.389000
554
18,872
9/4/2013 8:29:33.119 AM
9/4/2013 11:40:27.508 AM
1
365
173
SELECT POL.UNIT_PRICE,POL.QUANTITY,POL.UNIT_MEAS_LOOKUP_CODE,POL.AMOUNT FROM PO_LINES POL WHERE POL.PO_LINE_ID = :b1
enq: TX - row lock contention
JA_IN_PO_LINE_LOCATION_TAXES
+00 03:10:54.389000
572
168
9/4/2013 8:29:33.119 AM
9/4/2013 11:40:27.508 AM
1
554
173
select line_location_id into :b0 from po_line_locations_all where line_location_id=:b1 for update of line_location_id
enq: TX - row lock contention
PO_LINE_LOCATIONS_ALL
+00 03:10:54.389000
581
4,973
9/4/2013 10:49:38.157 AM
9/4/2013 10:50:39.259 AM
1
572
173
Update rcv_transactions_interface rti set rti.processing_mode_code ='BATCH' where rti.interface_transaction_id = 3671265
enq: TX - row lock contention
RCV_TRANSACTIONS_INTERFACE
+00 00:01:01.102000
my problem is in the above output among 4 which i have to delete so sove my issue.
its very urgent for me.
plz plz suggest me and how can i kill the session.
thanks & regards
pritesh ranjanpriteshranjan wrote:
hi expert,
when i m going to run the below query
Update rcv_transactions_interface rti set rti.processing_mode_code ='BATCH' where rti.interface_transaction_id = 3671265
it gives the error:
ORA-00054 resource busy and acquire with NOWAIT specified.
i find out the blocking session by using the blow query;
SELECT a.SESSION_ID, a.SESSION_SERIAL#, min(A.SAMPLE_TIME) start_time,max(A.SAMPLE_TIME) end_time,a.inst_id, a.blocking_session,a.user_id,s.sql_text,A.EVENT,O.OBJECT_NAME,max(A.SAMPLE_TIME) - min(A.SAMPLE_TIME)
FROM GV$ACTIVE_SESSION_HISTORY a ,gv$sql s, dba_objects o
where a.sql_id=s.sql_id
and A.CURRENT_OBJ# = O.OBJECT_ID
and blocking_session is not null
and a.user_id != 0 -- exclude SYS user
and a.sample_time > sysdate - 7
and a.event = 'enq: TX - row lock contention'
group by a.SESSION_ID, a.SESSION_SERIAL#, a.inst_id,a.blocking_session,a.user_id,s.sql_text,A.EVENT,O.OBJECT_NAME
it gives the output
SESSION_ID
SESSION_SERIAL#
START_TIME
END_TIME
INST_ID
BLOCKING_SESSION
USER_ID
SQL_TEXT
EVENT
OBJECT_NAME
MAX(A.SAMPLE_TIME)-MIN(A.SAMPLE_TIME)
369
45,849
9/4/2013 8:29:33.119 AM
9/4/2013 11:40:27.508 AM
1
554
173
SELECT POL.UNIT_PRICE FROM PO_LINES POL WHERE POL.PO_LINE_ID = :b1
enq: TX - row lock contention
PO_LINES_ALL
+00 03:10:54.389000
554
18,872
9/4/2013 8:29:33.119 AM
9/4/2013 11:40:27.508 AM
1
365
173
SELECT POL.UNIT_PRICE,POL.QUANTITY,POL.UNIT_MEAS_LOOKUP_CODE,POL.AMOUNT FROM PO_LINES POL WHERE POL.PO_LINE_ID = :b1
enq: TX - row lock contention
JA_IN_PO_LINE_LOCATION_TAXES
+00 03:10:54.389000
572
168
9/4/2013 8:29:33.119 AM
9/4/2013 11:40:27.508 AM
1
554
173
select line_location_id into :b0 from po_line_locations_all where line_location_id=:b1 for update of line_location_id
enq: TX - row lock contention
PO_LINE_LOCATIONS_ALL
+00 03:10:54.389000
581
4,973
9/4/2013 10:49:38.157 AM
9/4/2013 10:50:39.259 AM
1
572
173
Update rcv_transactions_interface rti set rti.processing_mode_code ='BATCH' where rti.interface_transaction_id = 3671265
enq: TX - row lock contention
RCV_TRANSACTIONS_INTERFACE
+00 00:01:01.102000
my problem is in the above output among 4 which i have to delete so sove my issue.
its very urgent for me.
plz plz suggest me and how can i kill the session.
thanks & regards
pritesh ranjan
According to the above, your session_id is 581 which is blocked by session_id 572 so you need to kill the 3rd session in the list.
Thanks,
Hussein -
How to see and clear the blocked threads
Where can I see how many threads are currently running and how many threads are blocked and how many are in idle status.
Where can I see all these information and if I want to kill the blocked threads how to do that
Thanks in advanceThis can be found in Weblogic Log folder..
-
Stored Procedure killed the root blocker in rac 10g
Hi every one,
I need the procedure that killed root blocker in RAC environmental 10g,
I found the stored procedure for 11g which simple but 10g required some expertise
because I want to just exec [procedure] it will kill root blocker either locally and remote node
thanks a lot
Edited by: user11688837 on Jan 30, 2013 10:08 AMI Checked your link as for regarding 11g RAC its find. But for the regarding 10g it will never work on
remote node you have to used only and only dbms_job.sumbit to kill remote node.
your kind information please rectify the commend that it will work on local node not on remote node in 10g
'ALTER SYSTEM KILL SESSION '||a.sid||','||a.serial#||''' IMMEDIATE;' as "10g Command to kill session",
thankyou
Edited by: user11688837 on Jan 30, 2013 10:06 AM
Edited by: user11688837 on Jan 30, 2013 10:26 PM -
In one of our production DB we are experiencing huge bottlenecks due to locks. I am using OEM lock monitor to detect and identify the problematic lock. I am trying this out randomly as OEM list all the blocking locks. . Most times I am not able to analyse the problematic locks because of support calls from production. I just have time to kill the sessions and get the platform ready. Is there a script that I can use to identify the session that is blocking other sessions ? How do we do analysis during situations like this? At least I am interested in finding the root cause of the problem so we request the developers to fix it.
- BMP&1 --><sid of any session>.if the sid provided is waiting for other sessions, it will show you the blocking session id.
Try this one (Not tested):
SELECT bs.username "Blocking User", bs.username "DB User",
ws.username "Waiting User", bs.SID "SID", ws.SID "WSID",
bs.sql_address "address", bs.sql_hash_value "Sql hash",
bs.program "Blocking App", ws.program "Waiting App",
bs.machine "Blocking Machine", ws.machine "Waiting Machine",
bs.osuser "Blocking OS User", ws.osuser "Waiting OS User",
bs.serial# "Serial#",
DECODE (wk.TYPE,
'MR', 'Media Recovery',
'RT', 'Redo Thread',
'UN', 'USER Name',
'TX', 'Transaction',
'TM', 'DML',
'UL', 'PL/SQL USER LOCK',
'DX', 'Distributed Xaction',
'CF', 'Control FILE',
'IS', 'Instance State',
'FS', 'FILE SET',
'IR', 'Instance Recovery',
'ST', 'Disk SPACE Transaction',
'TS', 'Temp Segment',
'IV', 'Library Cache Invalidation',
'LS', 'LOG START OR Switch',
'RW', 'ROW Wait',
'SQ', 'Sequence Number',
'TE', 'Extend TABLE',
'TT', 'Temp TABLE',
wk.TYPE
) lock_type,
DECODE (hk.lmode,
0, 'None',
1, 'NULL',
2, 'ROW-S (SS)',
3, 'ROW-X (SX)',
4, 'SHARE',
5, 'S/ROW-X (SSX)',
6, 'EXCLUSIVE',
TO_CHAR (hk.lmode)
) mode_held,
DECODE (wk.request,
0, 'None',
1, 'NULL',
2, 'ROW-S (SS)',
3, 'ROW-X (SX)',
4, 'SHARE',
5, 'S/ROW-X (SSX)',
6, 'EXCLUSIVE',
TO_CHAR (wk.request)
) mode_requested,
TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2
FROM Gv$lock hk, v$session bs, v$lock wk, v$session ws
WHERE hk.BLOCK = 1
AND hk.lmode != 0
AND hk.lmode != 1
AND wk.request != 0
AND wk.TYPE(+) = hk.TYPE
AND wk.id1(+) = hk.id1
AND wk.id2(+) = hk.id2
AND hk.SID = bs.SID(+)
AND wk.SID = ws.SID(+)
AND (bs.username IS NOT NULL)
AND (bs.username <> 'SYSTEM') -
Unable to Kill the Consolidation task for HFM application
User is unable to kill the Consolidation task in HFM application. Consolidation process which usually takes 2 mins has been showing status as running @79% since 4-6 hrs. User ID is has the provisioning manager, lock Data and unlock data provisions in Shared Services. The stop task button in the Running Tasks list is not enabled . Our Support team has advanced user access which is not also able to stop the task. Please note Admin access is restricted and not allowed for such tasks.
I would check the HFM Log to see if you find anything referring to locked / blocked records.
If your HFM app is killed in the middle of consolidating or performing other activities that requires it to 'lock' a segment of memory in the database, that 'lock' is still held on those data points when the application restarts.
If you then try to perform another consolidation and it hits one of those locked data points, it will sit there for a very long amount of time waiting for the 'lock' to clear.
I forget the exact error message that you will find in the log AND I forget the timeout period; however, it sucks having to wait through that.
The other possibility that comes to mind is that the consolidation really aborted and the status didn't update. (once again check the logs)
Charles -
The web site in question is for our local newspaper. The problem occurs when I am returning from a discussion thread (by Disqus) to the article it's attached to. Also when I attempt to return to the home page from an article. Sometimes just letting it sit for a while will produce the problem. At that point I cannot open a new tab, switch to another open tab, close tabs, click on any menu bar items or close the app. The tab I was in shows the spinning wheel and says connecting. I must use Task Manager to kill the process. I tried installing version 31.0 with no result.
Application Basics
Name: Firefox
Version: 31.0
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
Crash Reports for the Last 3 Days
All Crash Reports
Extensions
Name: Adblock Plus
Version: 2.6.4
Enabled: true
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
Name: Adblock Plus Pop-up Addon
Version: 0.9.2
Enabled: true
ID: [email protected]
Name: Flashblock
Version: 1.5.17
Enabled: true
ID: {3d7eb24f-2740-49df-8937-200b1cc08f8a}
Name: Image and Flash Blocker
Version: 0.7
Enabled: true
ID: [email protected]
Name: Webroot Filtering Extension
Version: 1.0.0.40
Enabled: true
ID: [email protected]
Name: Consumer Input
Version: 9948
Enabled: false
ID: ConsumerInput@Compete
Name: TopArcadeHits
Version: 1.0
Enabled: false
ID: {0113D088-8ED1-468C-B225-585A9C53B5E3}
Graphics
Adapter Description: Intel(R) G33/G31 Express Chipset Family
Adapter Drivers: igdumd64 igdumdx32
Adapter RAM: Unknown
Device ID: 0x29c2
Direct2D Enabled: Blocked for your graphics driver version. Try updating your graphics driver to version 8.1500.1000.1930 or newer.
DirectWrite Enabled: false (6.2.9200.16571)
Driver Date: 9-11-2009
Driver Version: 8.15.10.1912
GPU #2 Active: false
GPU Accelerated Windows: 0/1 Basic
Vendor ID: 0x8086
WebGL Renderer: Google Inc. -- ANGLE (Intel(R) G33/G31 Express Chipset Family Direct3D9Ex vs_0_0 ps_2_0)
windowLayerManagerRemote: false
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
AzureSkiaAccelerated: 0
Important Modified Preferences
browser.cache.disk.capacity: 358400
browser.cache.disk.smart_size_cached_value: 358400
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 3
browser.places.smartBookmarksVersion: 7
browser.sessionstore.upgradeBackup.latestBuildID: 20140716183446
browser.startup.homepage: http://search.conduit.com/?ctid=CT3310511&octid=CT3310511&SearchSource=61&CUI=UN32943663548444182&UM=2&UP=SPB3F4BFFF-D3A
browser.startup.homepage_override.buildID: 20140716183446
browser.startup.homepage_override.mstone: 31.0
dom.mozApps.used: true
extensions.lastAppVersion: 31.0
font.internaluseonly.changed: true
network.cookie.prefsMigrated: true
places.database.lastMaintenance: 1408714969
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.npqtplugin: 2
print.printer_EPSON_NX420_Series.print_bgcolor: false
print.printer_EPSON_NX420_Series.print_bgimages: false
print.printer_EPSON_NX420_Series.print_colorspace:
print.printer_EPSON_NX420_Series.print_command:
print.printer_EPSON_NX420_Series.print_downloadfonts: false
print.printer_EPSON_NX420_Series.print_duplex: 185
print.printer_EPSON_NX420_Series.print_edge_bottom: 0
print.printer_EPSON_NX420_Series.print_edge_left: 0
print.printer_EPSON_NX420_Series.print_edge_right: 0
print.printer_EPSON_NX420_Series.print_edge_top: 0
print.printer_EPSON_NX420_Series.print_evenpages: true
print.printer_EPSON_NX420_Series.print_footercenter:
print.printer_EPSON_NX420_Series.print_footerleft: &PT
print.printer_EPSON_NX420_Series.print_footerright: &D
print.printer_EPSON_NX420_Series.print_headercenter:
print.printer_EPSON_NX420_Series.print_headerleft: &T
print.printer_EPSON_NX420_Series.print_headerright: &U
print.printer_EPSON_NX420_Series.print_in_color: true
print.printer_EPSON_NX420_Series.print_margin_bottom: 0.5
print.printer_EPSON_NX420_Series.print_margin_left: 0.5
print.printer_EPSON_NX420_Series.print_margin_right: 0.5
print.printer_EPSON_NX420_Series.print_margin_top: 0.5
print.printer_EPSON_NX420_Series.print_oddpages: true
print.printer_EPSON_NX420_Series.print_orientation: 0
print.printer_EPSON_NX420_Series.print_page_delay: 50
print.printer_EPSON_NX420_Series.print_paper_data: 1
print.printer_EPSON_NX420_Series.print_paper_height: 11.00
print.printer_EPSON_NX420_Series.print_paper_name:
print.printer_EPSON_NX420_Series.print_paper_size_type: 0
print.printer_EPSON_NX420_Series.print_paper_size_unit: 0
print.printer_EPSON_NX420_Series.print_paper_width: 8.50
print.printer_EPSON_NX420_Series.print_plex_name:
print.printer_EPSON_NX420_Series.print_resolution: 0
print.printer_EPSON_NX420_Series.print_resolution_name:
print.printer_EPSON_NX420_Series.print_reversed: false
print.printer_EPSON_NX420_Series.print_scaling: 1.00
print.printer_EPSON_NX420_Series.print_shrink_to_fit: true
print.printer_EPSON_NX420_Series.print_to_file: false
print.printer_EPSON_NX420_Series.print_unwriteable_margin_bottom: 0
print.printer_EPSON_NX420_Series.print_unwriteable_margin_left: 0
print.printer_EPSON_NX420_Series.print_unwriteable_margin_right: 0
print.printer_EPSON_NX420_Series.print_unwriteable_margin_top: 0
privacy.sanitize.migrateFx3Prefs: true
privacy.sanitize.timeSpan: 4
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1406752907
JavaScript
Incremental GC: true
Accessibility
Activated: true
Prevent Accessibility: 0
Library Versions
NSPR
Expected minimum version: 4.10.6
Version in use: 4.10.6
NSS
Expected minimum version: 3.16.2 Basic ECC
Version in use: 3.16.2 Basic ECC
NSSSMIME
Expected minimum version: 3.16.2 Basic ECC
Version in use: 3.16.2 Basic ECC
NSSSSL
Expected minimum version: 3.16.2 Basic ECC
Version in use: 3.16.2 Basic ECC
NSSUTIL
Expected minimum version: 3.16.2
Version in use: 3.16.2
Experimental Features
--------------------- -
How to kill the hanged JFrame in swing?
How to kill the hanged frame in swing?
I am opening multiple JFrame and working on them.These frames are plcaed in JDesktopPane.
If one frame is hanged up then i could not work on others .
I need to kill the hanged frame.
Assist me.am opening multiple JFrame and working on them.These frames are plcaed in JDesktopPaneWell, a JFrame, can't be added to a JDesktopPane, so your question doesn't even make sense.
As was suggested earlier, if your GUI is unresponsive, then that means you are blocking the GUI EDT and the GUI can't respond to events. Don't do this.
Read the Swing tutorial on Concurrency to understand why this happens and to learn the proper way to write GUI code so it won't happen. -
Timeout: Tuxedo kills the service but not the database connection
Hi all,
I am experiencing some performance problems on my system due an efficient SQL and a Tuxedo improper timeout handling.
A service is using a "problematic" SQL (we will tune it but it's not the main problem). After 60 seconds from the execution, Tuxido kills the services for a timeout.
At this point I would like Tuxedo to notify DB2 database as well in order to stop processing the SQL. Instead the SQL continues running on the database (also if the service is killed) and this produce a gradual slow down of the performances.
In the UBBCONFIG, we are using a service configuration like the following timeout configuration:
.RESOURCES
SCANUINIT 5
SANITYSCAN 6
BLOCKTIME 12
.SERVICES
DEFAULT: SVCTIMEOUT=45
service1 SVCTIMEOUT=60 TRANTIME=60
service2 SVCTIMEOUT=60 TRANTIME=60
Note: not all the services are listed in the .SERVICES section and we are using the default NOTIFY as well as an OPENINFO.
Can you please help me in finding a configuration to kill both the services and the database?
Thanks in advance,
BenedettoHi Benedetto.
First of all, Tuxedo doesn't kill services, it kills servers. Your UBBCONFIG file specifies three timeouts, BLOCKTIME, SVCTIMEOUT, and TRANTIME.
BLOCKTIME specifies how long a Tuxedo API that needs a response will wait for that response. If the response isn't received in that period of time, Tuxedo will return TPETIME to the caller. As with any failure, if the request was part of a transaction, the transaction is marked rollback only. Note, this timeout does not affect the request, whether sitting in a server's IPC queue or currently executing in a server.
SVCTIMEOUT is a much more severe timeout and determines how long Tuxedo will allow a service implementation to execute. If a service implementation doesn't reply within the SVCTIMEOUT period, Tuxedo will issue an OS level KILL request to kill the process. If the server is marked restartable, Tuxedo will then try to restart the server assuming none of the restart limits have been reached. Killing the server causes the request to be lost within the server so the caller will stay blocked until BLOCKTIME is reached at which point the above actions will take place.
TRANTIME is the amount of time Tuxedo allows a transaction to remain active and viable. When this period expires, Tuxedo will mark the transaction as timed out with the only option being rollback. As well, Tuxedo aborts any API requests that would normally cause messaging to occur, i.e., making a tpcall() within a timed out transaction will fail without any attempt to call the service.
So in your case, the issue is partially that you have the values of your timeouts in somewhat reverse order. Typically we see BLOCKTIME being the smallest value, with TRANTIME typically larger than BLOCKTIME, and SVCTIMEOUT larger even still, although there are good reasons for exceptions to this guideline. Part of the reasoning behind this is that killing a server is a significant thing and its usually best to try and let the server complete whatever its doing, if if the work has been timed out either due to BLOCKTIME or TRANTIME, since the cost of killing and restarting a server is significant.
Tuxedo will notify the database of the transaction status when the application finally issues a tpcommit() or a tpabort() request, but not until then. Although, if SVCTIMEOUT is hit, then killing the server should cause the database connection to be lot.
If you could describe the behavior you are seeing and the relevant portions of your ULOG we can try to make some sense of what is happening.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
Ps -ef | grep ora anyother method to check & kill the inactive process?
ps -ef | grep ora
kill -9 <87653>
How i can monitor /check & kill the inactive process?
because process are going very high in my DB?You can create a user profile to limit the idle time of sessions.
PMON will garbage clean periodically.
sample profile:
create profile
my_profile
limit
sessions_per_user 2 --
cpu_per_session 10000 -- hunderth of seconds
cpu_per_call 1 -- hunderth of seconds
connect_time unlimited -- minutes
idle_time 30 -- minutes
logical_reads_per_session default -- db blocks
logical_reads_per_call default -- db blocks
-- composite_limit default --
private_sga 20M --
failed_login_attempts 3 --
password_life_time 30 -- days
password_reuse_time 12 --
password_reuse_max unlimited --
password_lock_time default -- days
password_grace_time 2 -- days
password_verify_function null; -
How can a thread kill another blocked thread?
Hello All,
As the title mentioned, lets say i have a main class in which i created a new thread but for some reason, this thread is blocked so i want to find a way to kill this thread from the main class (the interrupt function is not working), is there a workarround to do this?
Thank you in advanceHello,
First of all, thanks for you interventions, i think i should clearify my case:
I have a website which has a "Search the site" feature where a user can search the site for specific keywords
The search engine is an external jar which we use by calling its API, but for some reason this search engine becomes blocked sometimes so my jsp which is calling this API gets also blocked and any subsequent search gets also blocked in the end the number of java threads becomes very high in my system!
i want to find a way so that if the piece of code calling the search API didnt get excuted during a specific period, i want to kill the thread calling the search API
lets say the search form is submitted to the following jsp
// Here we have a SearchThread extends Thread
/* i launched a new Thread to do the search independatly from the main process*/
SearchThread task = new SearchThread("search_input");
task.start();
/* In the searchThread class we have a run method containing the following line which calls the search API, for some reason , this line never returns and keeps the thread in Running state and so the run() method never returns and so the thread will neve be dead :( */
SearchLoginSession = new SearchLoginSession (configFile, true);
Notes:
1) the stop is deprecated i cant use it
2) the suspend method will suspend it and not kill it, the thread will remain in memory
3) the interrupt method didnt work
4)i am working in a multi-cpu environment
Finally , what i want is to find a way to remove this thread from memory from the main jsp listed above like
task.kill() or some workarround
Thank you for reading and hope you can help me -
Determinig the user of the blocking session.
I have an EBS system where users are creating locks that block others . I know that this is a user issue and they should use the system properly and not make changes and not save or rollback.
However , Every once in a while I get the same issue , A session is making a lock which is holding all the requests . All works fine after I kill the session but I need to identify the user who is doing this so I can talk to him and educate him on how to use the system properly .
The issue is the session “ as expected “ logs into the database using the apps user . How can I identify the user creating this issue ??? .
I am looking for apps username like sysadmin, tareq, mike,...
Thanks,
TareqHi Tareq;
Please try below query which show who makes block
select 'alter system kill session ' || chr(39) || s.sid || ', ' || s.serial# || chr(39) || ';', s.inst_id,
'kill -9 ' || p.spid, s.username, s.module
from gv$session s, gv$process p
where p.inst_id = s.inst_id
and p.addr = s.paddr
and s.type <> 'BACKGROUND'
and s.sid in (
SELECT DECODE(request, 0, sid, -1) sid
FROM gV$LOCK
WHERE (id1, id2, TYPE) IN (SELECT id1, id2, TYPE FROM GV$LOCK WHERE lmode = 0)
Also check this:
select a.SID "Blocking Session", b.SID "Blocked Session"
from v$lock a, v$lock b
where a.SID != b.SID
and a.ID1 = b.ID1
and a.ID2 = b.ID2
and b.request > 0
and a.block = 1;
Regard
Helios -
Hi every one question please?
Just imported photo's to my mac iphoto, great, but made up aslide show viewd by dates but photo's all over te place out of sinc, how can I move them about in order please ?.
New kid on the block.In the slideshow mode there will be a slide tray at the top of the window. There you can move photos to where you want them in the play order:
OT -
I mistakenly asked iTunes to download a TV series and I can't get it to stop trying to download it. how do I kill the download?
You've got to be freakin' kidding me. I'm in Brazil, I accidentally started a 2.2GB download that it says will take 592 minutes to download, and there's no way I can stop it and download something else until that first download finishes? I would have thought it was unthinkable 15 years ago that anyone would build an app that downloads things but doesn't allow the option of canceling the download, but in this day and age? So much for Apple making intuitive, user-friendly products.
-
Why it is taking too much time to kill the process?
Hi All,
Today,one of my user ran the calc script and the process is taking too much time, then i kill the process. I am wondering about one thing here even it is taking too long to kill the process, generally it will not take more than 2 sec. I did this through EAS.
After that I ran Maxl statement
alter system kill request 552599515;
there is no use at all.
Please reply if you have any solutions to kill this process.
Thanks in advance.
Ram.Hi Ram,
1. Firstly, How much time does your calculation scripts normally run.
2. While it was running, you can go to the logs and monitor where exactly the script is taking time .
3. Sometimes, it does take time to cancel a transaction ( as it might be in between).
4. Maxl is always good to kill ,as you did . It should be succesful . Check the logs what it says ,and also the "sessions" which might say "terminating" and finish it off.
5. If nothing works ,and in the worst case scenarion , if its taking time without doing anything. Then log off all the users and stop the databas and start it .
6. Do log off all the users, so that you dont corrupt any filter related sec file.
Be very careful , if its production ( and I assume you have latest backups)
Sandeep Reddy Enti
HCC
http://hyperionconsultancy.com/
Maybe you are looking for
-
Drag-and-drop no longer working in FF
All drag-and-drop features stopped working on my FF 21. That is, I can no longer: - Drag items to bookmarks or rearrange the bookmarks - Drag words to the search box or links to the URL box - Change the order of tabs - Rearrange items on toolbars - M
-
New Macbook Pro running Mavericks; Pages; Numbers but no more Appleworks supported. I have a collection of family recipes done in Appleworks 6 [database]--600 recipes+ I can sort on many different fields and easily search the data. I am inserting a s
-
Schedule a process chain using factory calender
Hi All, My requirement: the user wishes to see the report every month, 1 working day prior to the month end. I am trying to do this usnig processing chain and factory calender to restrict it. 1. How can a factory calender be used ? 3. how do i give t
-
Installation of Software Update Stuck
Hi Everyone, I am doing a software update on my iMac and it is stuck. The blue bar is still animated. I have been waiting for about 30 minutes. Has anyone else encountered this problem with the new software update to OS X Mavericks? The computer came
-
im currently revising a report in query i will include RM06I-MEIN1 field from the program code SAPMM06I is it possible? can anyone help me pls. reward awaits for all the help. thanks! Message was edited by: SAP Newbie