Identifing which session is blocking which session
Dear All,
We are having 500 user we don't have Database administrator.
All of us are Form6i/Report6i developers.
We do basic DBA activities liking creation of user, taking backup etc.
Recently we have started facing follwoing problem:
1) Our HR department uses 5-10 different types of report.
Other departments uses 1-5 types of reports.
HR & Other department even though refering to different reports are using some common tables which are used in HR as wel as Other department's report.
Report of HR gets hanged.
What we observe in "Enterprise Manager Console" in session that there are non HR user which are also running report.
The information we see is "Memory Usage","I/O reads","CPU time","Session","User" and so on. We just see who is using maximum memory or CPU time or I/O reads and on basis of that we kill the user (which may be inappropriate)
What we are enable to understand is at that point of time which user SQL is blocking which user.
e.g: user "PKP0001" session is inactive and he calls us and tells my report is hanged. We want to identify which user if we kill will allow "PKP0001" user's report to get executed.
2) User executes there report and get the result on the screen. User gets what he wants but when we see in Enterprise Manager Console" in session even though his task is complete it shows status as inactive with his high "I/O reads","Memory", "CPU" time. so we have to identify and call that user confirm whether he is running any form or report if not then kill his session or ask him to close the application.
In this case how would we identify without asking the user whether he doing something or not.
Any mehtod we need to implement in our form6i and report 6i which will take care of that.
Kindly suggest as soon as possible.
Thanking You in anticipation.
Devendra .
Devendra,
It is fairly easy to determine which session is blocking another session. Take a look at the SQL statements in this thread (the SQL statements are not well explained, but the output might be understandable):
enq TX locked row
The first, which queries V$SESSION_WAIT and V$SESSION, shows the wait event (on 10g and above, provides a better clue as to the reason session is waiting), the number of seconds waiting, SQL_ADDR and SQL_HASH_VALUE (may be used to find the SQL statement the session submitted), and details potentially describing the object being waited on, the specific absolute data file number, the block number, and the row within the block (DBMS_ROWID.ROWID_CREATE may be used to generate a ROWID to use to query the table in order to determine the actual contents of the row being waited on). The definition of P1, P2, and P3 vary by the type of wait event. In this case, lock mode and lock type for the waiting session may be derived from the P1 value.
The second, which queries V$LOCK and V$SESSION, shows the two sessions involved in the lock. SID 150, in all cases is blocking SID 143 (as indicated by the BLOCK column). The other columns returned may be used to determine the SQL statements executed by each session (the SQL statement should have retrieved SQL_ADDR also on 10g and above), and the type of locks involved by both sessions.
Other examples:
Thorough example of using the information from V$LOCK:
http://jonathanlewis.wordpress.com/2008/02/06/trouble-shooting-2/
"How do you find out who is locking a specific row in a table?"
http://www.jlcomp.demon.co.uk/faq/row_locker.html
"Enqueue Waits and Locks" by Kyle Hailey:
http://www.nocoug.org/download/2006-08/unit5_enqueues.ppt
Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc.
Similar Messages
-
LGWR session is blocking user sessions
In grid control - hang analysis report, LGWR is a root blocker.
What could be causing this to show up? Do I have issue with my disk performance currently?
We suspect there is high frequent commits happening.Do I have issue with my disk performance currently?We can't answer this question; only you can.
How do I ask a question on the forums?
SQL and PL/SQL FAQ -
Sp_who2 -need only active sessions from users which are not the background sessions
Hello,
sp_who2 -need only active sessions from users which are not the background sessions
Please assist.
Best regards,
VishalIts better to use DMV's to view only active sessions from users (spid>50) as mentioned by Shanky.
You can do that using sp_who2 but it requires a bit of programming to list only user sessions.
SELECT
S.SESSION_ID,
S.STATUS,
S.HOST_NAME,
C.CLIENT_NET_ADDRESS,
CASE WHEN S.LOGIN_NAME = S.ORIGINAL_LOGIN_NAME THEN S.LOGIN_NAME ELSE S.LOGIN_NAME END LOGIN_NAME,
S.PROGRAM_NAME,
C.CONNECT_TIME,
S.LOGIN_TIME,
CASE S.TRANSACTION_ISOLATION_LEVEL
WHEN 0 THEN 'UNSPECIFIED'
WHEN 1 THEN 'READUNCOMITTED'
WHEN 2 THEN 'READCOMMITTED'
WHEN 3 THEN 'REPEATABLE'
WHEN 4 THEN 'SERIALIZABLE'
WHEN 5 THEN 'SNAPSHOT'
ELSE CAST(S.TRANSACTION_ISOLATION_LEVEL AS VARCHAR(32))
END AS TRANSACTION_ISOLATION_LEVEL_NAME,
S.LAST_SUCCESSFUL_LOGON,
S.LAST_UNSUCCESSFUL_LOGON,
S.UNSUCCESSFUL_LOGONS,
S.CPU_TIME AS CPU_TIME_MS,
S.MEMORY_USAGE AS MEMORY_USAGE_PAGES,
S.ROW_COUNT,
S.PREV_ERROR,
S.LAST_REQUEST_START_TIME,
S.LAST_REQUEST_END_TIME,
C.NET_TRANSPORT,
C.PROTOCOL_TYPE,
S.LANGUAGE,
S.DATE_FORMAT,
ST.TEXT AS QUERY_TEXT
FROM
SYS.DM_EXEC_SESSIONS S
FULL OUTER JOIN SYS.DM_EXEC_CONNECTIONS C ON C.SESSION_ID = S.SESSION_ID
CROSS APPLY SYS.DM_EXEC_SQL_TEXT(C.MOST_RECENT_SQL_HANDLE) ST
WHERE
S.SESSION_ID IS NULL
OR S.SESSION_ID > 50
ORDER BY
S.SESSION_ID
-Prashanth -
Has no value definition - Session INIT Block.
Hi,
I have a Session initialization block for Fetching Departments from a Security table for the user logging in.
One user can have Multiple Departments assigned to him, so i enabled Row-wise initialization in INIT Block.
But when a user not assigned to any departments logs in, i am getting 'Session variable has no value definition' error in all the reports. But i should instead pass a default value when SQL in INIT Block is not returning anything. Like '0'.
How can i do this? please respond.
Thanks
SwamiHi Swami,
When the query fetches a result set, the variable gets initialized.
But, when the query doesn't fetch any rows, the variable doesn't gets initialized and hence "no value definition" errors out.
So, to avoid this,
In the query itself, place an exception condition which returns '0'.
select dept_name from table
where user_name = ':user'
UNION
select '0' from table
where user_name <> ':user'or you can use like this
select CASE WHEN user_name = ':user' THEN dept_name ELSE '0' END
from tableP.S: Query written orally. (Pls adjust the query accordingly)
Regards,
Raghu -
Basic anonymous block which drops and creates a table
Version: 11.2.0.3
I am fairly new to PL/SQL.
We have a table named CHK_CNFG_DTL.
I want to create a backup table for CHK_CNFG_DTL which will be named like CHK_CNFG_DTL_BKP_<timestamp> eg: CHK_CNFG_DTL_BKP_JULY_22_2013
Creation of this backup table has to be automated so, I want to create an anonymous block which will first drop the existing backup table and then create a new backup table from the original table.
The below code works fine. But the very first time when you run it , the loop won't iterate because there is no such table named CHK_CNFG_DTL_BKP%.
declare
v_stmt varchar2(1000);
v_date date;
begin
for rec in
(select * from user_tables where table_name like 'CHK_CNFG_DTL_BKP%' )
loop
begin
execute immediate 'alter session set nls_date_format=''DD_MON_YYYY''';
v_stmt := 'drop table '||rec.table_name|| ' purge';
dbms_output.put_line(v_stmt); ----- Drops Old backup table
execute immediate v_stmt;
select sysdate into v_date from dual;
v_stmt := 'create table CHK_CNFG_DTL_BKP_'||to_date(v_date)||' as select * from CHK_CNFG_DTL';
dbms_output.put_line('Creating Bkp table CHK_CNFG_DTL_BKP_'|| to_date(v_date) );
dbms_output.put_line(v_stmt);
execute immediate v_stmt; --- Creates new Backup table
exception
when others
then
dbms_output.PUT_LINE (rec.table_name||'-'||sqlerrm);
end;
end loop;
end;
PL/SQL procedure successfully completed.
-- Backup table not created.
SQL> select table_name from user_Tables where table_name like 'CHK_CNFG_DTL%';
TABLE_NAME
CHK_CNFG_DTL
Of course, this can fixed by creating a table like bleow before executing the anonymous block
SQL> create table CHK_CNFG_DTL_BKP_JULY_22_2013 (x varchar2(37));
Table created.
and now the block will succesfully run like
24 end;
25 /
drop table CHK_CNFG_DTL_BKP_JULY_22_2013 purge
Creating Bkp table CHK_CNFG_DTL_BKP_22_JUL_2013
create table CHK_CNFG_DTL_BKP_22_JUL_2013 as select * from CHK_CNFG_DTL
PL/SQL procedure successfully completed.
But this is going to production . We can't a table like CHK_CNFG_DTL_BKP_JULY_22_2013 without a proper business reason.
How can I modify the above code so that if even if there is no such table like 'CHK_CNFG_DTL_BKP%' , it will proceed to create the backup table?Hi,
Why won't you push the creation of the backup out of the loop ?
declare
v_stmt varchar2(1000);
v_date date;
begin
for rec in
(select * from user_tables where table_name like 'CHK_CNFG_DTL_BKP%' )
loop
begin
execute immediate 'alter session set nls_date_format=''DD_MON_YYYY''';
v_stmt := 'drop table '||rec.table_name|| ' purge';
dbms_output.put_line(v_stmt); ----- Drops Old backup table
execute immediate v_stmt;
exception
when others
then
dbms_output.PUT_LINE (rec.table_name||'-'||sqlerrm);
end;
end loop;
select sysdate into v_date from dual;
v_stmt := 'create table CHK_CNFG_DTL_BKP_'||to_date(v_date)||' as select * from CHK_CNFG_DTL';
dbms_output.put_line('Creating Bkp table CHK_CNFG_DTL_BKP_'|| to_date(v_date) );
dbms_output.put_line(v_stmt);
execute immediate v_stmt; --- Creates new Backup table
end; -
Deadlock occur session is blocking its own session
i'm getting deal lock in my process , this is comming when i'm trying to calculate ID/primary key valuce
from ID table , we maintain a table for PK each time we need we read the value and increament the value by one for the next procuess . but here u seen for deadlock blocker and witer is same
and dead lock i comming at same line every time
line is select ... from id table for update of id ;
please help me why it is comming
Trace file:ORACLE.GPRD.OSDI.TRACE.T1930834.G0010010
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00020017-000282b2 18 19 X 18 19 X
session 19: DID 0001-0012-00000035.session 19: DID 0001-0012-00000035
Rows waited on:
Session 19: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
Trace file:ORACLE.GPRD.OSDI.TRACE.T1930834.G0010012
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00140021-0002d6d0 20 22 X 20 22 X
session 22: DID 0001-0014-00002734.session 22: DID 0001-0014-00002734
Rows waited on:
Session 22: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
Trace File:ORACLE.GPRD.OSDI.TRACE.T1930904.G028000A
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00120026-00028b60 12 14 X 12 14 X
session 14: DID 0001-000C-00002913.session 14: DID 0001-000C-00002913
Rows waited on:
Session 14: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00120026-00028b60 12 14 X 12 14 X
session 14: DID 0001-000C-00002913.session 14: DID 0001-000C-00002913
Rows waited on:
Session 14: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
Trace file:ORACLE.GPRD.OSDI.TRACE.T1930834.G005000C
Resource Name process session holds waits process session holds waits
TX-0007002c-000282f7 14 13 X 14 13 X
session 13: DID 0001-000E-00000023.session 13: DID 0001-000E-00000023
Rows waited on:
Session 13: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
Trace File:ORACLE.GPRD.OSDI.TRACE.T1931520.G002000D
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-0005000a-0002d905 15 16 X 15 16 X
session 16: DID 0001-000F-00004F28.session 16: DID 0001-000F-00004F28
Rows waited on:
Session 16: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
trace File:ORACLE.GPRD.OSDI.TRACE.T1930834.G001000E
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00170013-000284f7 16 17 X 16 17 X
session 17: DID 0001-0010-00000039.session 17: DID 0001-0010-00000039
Rows waited on:
Session 17: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
Trace File:ORACLE.GPRD.OSDI.TRACE.T1930834.G0010011
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00140026-0002d681 19 20 X 19 20 X
session 20: DID 0001-0013-00000013.session 20: DID 0001-0013-00000013
Rows waited on:
Session 20: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
--------------------------------------------------------------------------------Dear
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00020017-000282b2 18 19 X 18 19 X
session 19: DID 0001-0012-00000035.session 19: DID 0001-0012-00000035
Rows waited on:
Session 19: obj - rowid = 00001209 - AAAEiHAA0AAACCyAAd
(dictionary objn - 4617, file - 52, block - 8370, slot - 29)
Information on the OTHER waiting sessions:
End of information on OTHER waiting sessions.
Current SQL statement for this session:
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
SELECT NEXT_ID, UPDATE_DT_TIME, UPDATE_USER_ID FROM ID_V WHERE UPPER(TABLE_NAME)
Trace file:ORACLE.GPRD.OSDI.TRACE.T1930834.G0010012 You are getting TX (Transaction lock) on X(exclusive) mode. This is either a row locking or a PK/UK enforcement.
If you post your code here and if you are using autonomous transaction, I might be able to change a little bit your code to avoid using autonomous transaction and hence to avoid your deadlock which, in contrast to what has been said here by one of the contributors, has to be solved and has not to be let in the hand of Oracle which will select arbitrarly a victim session and kills it to release the lock.
Best Regards
Mohamed Houri -
Problem of creating session initialisation block
Hi,
I'm using OBIEE11.6, I want to new a session initialisation block, and I select Database as the Data Source Type,select the Default initialisation string radio button,but when I select the connection pool, the there is no connection pool in right pane,I have created two connection pools by oracle DB before,
but now I can't select the connection pool,the Select button is gray and can't click.
But when I new a repository initialisation block, I can select the connection pool.
so I don't know why.
If you know please help me.
Thank you!Thanks MK,
I have tested that use the connection pool which with some tables it warn me it will impact performance.
but I use the connection pool which with no tables it also warn me it will impact performance.
so I don't know how to create Independent connection pool that you mean. -
Object locked in v$locked_object but can't find session/process blocking
Hi,
I am on database 10.2.0.5, windows x64.
A developer calls me and tells me there are locks on 3 tables, and the locks are not released.
So I run this to see which objects are locked by which session
select vlo.object_id, vlo.session_id, vlo.oracle_username, vlo.process
, DECODE(vlo.LOCKED_MODE, 0,'NONE', 1,'NULL', 2,'ROW SHARE', 3,'ROW EXCLUSIVE', 4,'SHARE', 5,'SHARE ROW EXCLUSIVE', 6,'EXCLUSIVE', NULL) LOCK_MODE
, do.owner, do.object_name, do.object_type
, vs.saddr, vs.serial#, vs.paddr, vs.username, vs.ownerid, vs.status, vs.server, vs.schemaname, vs.osuser, vs.machine, vs.program, vs.type, vs.logon_time, vs.last_call_et
, vs.blocking_session_status, vs.event#, vs.event, vs.wait_class#, vs.wait_class, vs.wait_time, vs.seconds_in_wait, vs.state
from v$locked_object vlo
inner join dba_objects do on (vlo.object_id = do.object_id)
left outer join v$session vs on (vlo.session_id = vs.sid)-----------
I get (after finding out my table locks come from SID 514)
OBJECT_ID SESSION_ID ORACLE_USERNAME PROCESS LOCK_MODE OWNER OBJECT_NAME OBJECT_TYPE SADDR SERIAL# PADDR USERNAME OWNERID STATUS SERVER SCHEMANAME OSUSER MACHINE PROGRAM TYPE LOGON_TIME LAST_CALL_ET BLOCKING_SESSION_STATUS EVENT# EVENT WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE
373122 514 IRMFIN 22AB7298 ROW EXCLUSIVE IRMFIN IC_PRODUCT_STATUS TABLE 000007FF3E1A9070 1301 000007FF3E639120 IRMFIN 2147483644 INACTIVE DEDICATED IRMFIN IRMTEST IRM DSA0:[GEMBASE730.][RUN]GEM.EXE USER 2012/09/05 13:55:51 702 NO HOLDER 263 SQL*Net message from client 6 Idle 0 702 WAITING
373025 514 IRMFIN 22AB7298 ROW EXCLUSIVE IRMFIN IC_BIN_DETAIL_STATUS TABLE 000007FF3E1A9070 1301 000007FF3E639120 IRMFIN 2147483644 INACTIVE DEDICATED IRMFIN IRMTEST IRM DSA0:[GEMBASE730.][RUN]GEM.EXE USER 2012/09/05 13:55:51 702 NO HOLDER 263 SQL*Net message from client 6 Idle 0 702 WAITING
373055 514 IRMFIN 22AB7298 ROW EXCLUSIVE IRMFIN IC_LOT_STATUS TABLE 000007FF3E1A9070 1301 000007FF3E639120 IRMFIN 2147483644 INACTIVE DEDICATED IRMFIN IRMTEST IRM DSA0:[GEMBASE730.][RUN]GEM.EXE USER 2012/09/05 13:55:51 702 NO HOLDER 263 SQL*Net message from client 6 Idle 0 702 WAITING -----------
I run it again and I get something different, this time the lock is still there, but no session. select * from v$session where sid= 514 returns nothing.
I get
OBJECT_ID SESSION_ID ORACLE_USERNAME PROCESS LOCK_MODE OWNER OBJECT_NAME OBJECT_TYPE SADDR SERIAL# PADDR USERNAME OWNERID STATUS SERVER SCHEMANAME OSUSER MACHINE PROGRAM TYPE LOGON_TIME LAST_CALL_ET BLOCKING_SESSION_STATUS EVENT# EVENT WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE
373122 514 ROW EXCLUSIVE IRMFIN IC_PRODUCT_STATUS TABLE
373025 514 ROW EXCLUSIVE IRMFIN IC_BIN_DETAIL_STATUS TABLE
373055 514 ROW EXCLUSIVE IRMFIN IC_LOT_STATUS TABLE When I run the query later, I sometimes get another session, but the lock stays. It seems here, that I am catching the same SID on new sessions, but it is probably a different serial # than the original session locking the table rows.
I get nothing from
select * from dba_waiters;
select * from dba_blockers;
Now why are those 3 tables row locked on some rows and I can't find the session responsible? The developer tells me his application crashed and the rows are locked since.
So far ( keep in mind I am not a locking expert) the only way I found to release the locks is a DB bounce, its a test DB so no biggy.
Is this a bug? Am I missing something?
This is the second time this has happened. How can I solve this issue?
Best wishes to all.Thank you for your reply.
I do not think I can kill the session (514) it does not exist, even though v$locked_object reports tables are locked by session 514
see below
select * from v$locked_object
XIDUSN XIDSLOT XIDSQN OBJECT_ID SESSION_ID ORACLE_USERNAME OS_USER_NAME PROCESS LOCKED_MODE
9 26 351467 373122 514 3
10 41 339655 373025 514 3
11 6 92004 373055 514 3
select * from v$session order by sid
( no session 514)
SADDR SID SERIAL# AUDSID PADDR USER# USERNAME COMMAND OWNERID TADDR LOCKWAIT STATUS SERVER SCHEMA# SCHEMANAME OSUSER PROCESS MACHINE PORT TERMINAL PROGRAM TYPE SQL_ADDRESS SQL_HASH_VALUE SQL_ID SQL_CHILD_NUMBER PREV_SQL_ADDR PREV_HASH_VALUE PREV_SQL_ID PREV_CHILD_NUMBER PLSQL_ENTRY_OBJECT_ID PLSQL_ENTRY_SUBPROGRAM_ID PLSQL_OBJECT_ID PLSQL_SUBPROGRAM_ID MODULE MODULE_HASH ACTION ACTION_HASH CLIENT_INFO FIXED_TABLE_SEQUENCE ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW# LOGON_TIME LAST_CALL_ET PDML_ENABLED FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER RESOURCE_CONSUMER_GROUP PDML_STATUS PDDL_STATUS PQ_STATUS CURRENT_QUEUE_DURATION CLIENT_IDENTIFIER BLOCKING_SESSION_STATUS BLOCKING_INSTANCE BLOCKING_SESSION SEQ# EVENT# EVENT P1TEXT P1 P1RAW P2TEXT P2 P2RAW P3TEXT P3 P3RAW WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE SERVICE_NAME SQL_TRACE SQL_TRACE_WAITS SQL_TRACE_BINDS ECID
582 41322092 000007FF3E6279B0 88 IRMFIN 0 2147483644 INACTIVE NONE 88 IRMFIN IRM-NTSERVER\ttoupet 2768:5812 IRM-NTSERVER\IRM-WINDEV 2091 IRM-WINDEV WDMAP.EXE USER 00 0 000007FF296D46B0 1249880231 gkm8w8157za57 0 WDMAP.EXE 3924246850 0 4272871 480874 5 109733 0 2012/09/06 08:54:26 369 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 55 263 SQL*Net message from client driver id 1297371904 000000004D545300 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 369 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1A0FA0 508 55443 41321967 000007FF3E62E488 93 RODMILL 0 2147483644 INACTIVE DEDICATED 93 RODMILL flong 4144 IT011 49450 unknown SQL Developer USER 00 0 000007FF126A6BC0 293046999 7jjvy5s8rg2qr 0 SQL Developer 1012150930 0 4280261 373579 5 348686 0 2012/09/06 08:39:23 218 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 5486 263 SQL*Net message from client driver id 675562835 0000000028444553 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 218 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1A2518 509 3086 41287084 000007FF3E628A20 64 SYSMAN 47 2147483644 000007FF3D7C21D8 ACTIVE SHARED 64 SYSMAN 1234 IRMFAX 1341 OMS USER 000007FF357CE418 4281219134 2b064ybzkwf1y 0 000007FF357A8BF0 2532399038 5dwsqwabg2pxy 0 178612 8 OEM.SystemPool 2960518376 NotificationMgr 3664650334 IRMFAX.ivacorm.com:4889_Management_Service 4281687 177737 14 40683 0 2012/09/03 11:44:37 7 NO NONE NONE NO DISABLED ENABLED ENABLED 0 UNKNOWN 48888 45 wait for unread message on broadcast channel channel context 8792836163648 000007FF3DE04840 channel handle 8792836060256 000007FF3DDEB460 0 00 2723168908 6 Idle 0 7 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1A3A90 510 35277 41286699 000007FF3E6279B0 64 SYSMAN 0 2147483644 INACTIVE NONE 64 SYSMAN 1234 IRMFAX 3154 OMS USER 00 0 000007FF3E844AD8 3275117642 43c5ykm1mcp2a 1 OEM.CacheModeWaitPool 796036576 0 IRMFAX.ivacorm.com:4889_Management_Service 4280509 -1 0 0 0 2012/09/03 10:58:32 169 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 29909 263 SQL*Net message from client driver id 1297371904 000000004D545300 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 169 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1A5008 511 51686 41287085 000007FF3E6279B0 64 SYSMAN 0 2147483644 INACTIVE NONE 64 SYSMAN 1234 IRMFAX 1342 OMS USER 00 0 000007FF36C3CED8 2539923080 6v7n0y2bq89n8 0 OEM.SystemPool 2960518376 JobDispatcher 875884737 IRMFAX.ivacorm.com:4889_Management_Service 4281706 -1 0 0 0 2012/09/03 11:44:37 5 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 38929 263 SQL*Net message from client driver id 1297371904 000000004D545300 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 5 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1A6580 512 28994 41293063 000007FF3E6279B0 64 SYSMAN 0 2147483644 INACTIVE NONE 64 SYSMAN 1234 IRMFAX 3636 OMS USER 00 0 000007FF32990C90 1763828656 44nz3b1nk3sxh 1 OEM.CacheModeWaitPool 796036576 0 IRMFAX.ivacorm.com:4889_Management_Service 4280509 -1 0 0 0 2012/09/04 00:00:02 169 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 20902 263 SQL*Net message from client driver id 1297371904 000000004D545300 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 169 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1ABB60 516 48427 41292026 000007FF3E62DC50 93 RODMILL 0 2147483644 INACTIVE DEDICATED 93 RODMILL ebesner 10808 Fingers 59004 unknown SQL Developer USER 00 0 000007FF127B0A58 351849430 bkcpdnnagjkyq 0 SQL Developer 1012150930 0 4049825 533716 21 17036 0 2012/09/03 21:53:47 61389 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 2578 263 SQL*Net message from client driver id 675562835 0000000028444553 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 61389 WAITING irtrcs01.ivacorm.com DISABLED FALSE FALSE
000007FF3E1AD0D8 517 2 0 000007FF3E635FD0 0 0 2147483644 ACTIVE DEDICATED 0 SYS SYSTEM 4292 CHARLIE 0 CHARLIE ORACLE.EXE (q001) BACKGROUND 00 0 0 00 0 0 0 0 112 -1 0 0 0 2012/08/22 17:46:54 1264692 NO NONE NONE NO DISABLED ENABLED ENABLED 0 UNKNOWN 2685 281 Streams AQ: qmn slave idle wait 0 00 0 00 0 00 2723168908 6 Idle 0 16 WAITING SYS$BACKGROUND DISABLED FALSE FALSE
000007FF3E1AE650 518 2 4294967295 000007FF3E635798 0 SYS 3 2147483644 INACTIVE DEDICATED 0 SYS IRM-NTSERVER\cluster 3704:1572 IRM-NTSERVER\CHARLIE 49181 CHARLIE rhs.exe USER 000007FF3EA55E08 654885888 bcfjz80mhjj00 0 000007FF3EA55E08 654885888 bcfjz80mhjj00 0 rhs.exe 1733424889 0 4281686 -1 0 0 0 2012/08/22 17:46:54 16 NO NONE NONE NO DISABLED ENABLED ENABLED 0 NO HOLDER 58582 263 SQL*Net message from client driver id 1413697536 0000000054435000 #bytes 1 0000000000000001 0 00 2723168908 6 Idle 0 16 WAITING SYS$USERS DISABLED FALSE FALSE -
Logical block corruption in an unused block which is a part of index
Hi All,
During RMAN backup level 0 I am getting a corrupted block my DB:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t20 channel at 07/22/2009 21:30:49
ORA-19566: exceeded limit of 0 corrupt blocks for file /oracle/oradata/DB2/plind05_02.dbf
SQL> select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
2950 1879477 1 1.0124E+13 LOGICAL
SQL> SELECT tablespace_name, partition_name,segment_type, owner, segment_name FROM dba_extents WHERE file_id = 2950 and 1879477 between block_id AND block_id + blocks - 1;
no rows selected
So this block does not belong to any object.
SQL > select * from dba_free_space where file_id= 2950 and 1879477 between block_id and block_id blocks -1;+
TABLESPACE_NAME FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO
USAGIDX_200907 2950 1879433 1048576 128 909
But it exists in dba_free_space so it belongs to file space usage bitmap.
DB Verify shows:
myserver:/oracle/rman/DB2:DBINST1> dbv file=/oracle/oradata/DB2/plind05_02.dbf BLOCKSIZE=8192
DBVERIFY: Release 10.2.0.4.0 - Production on Wed Jul 29 13:47:38 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
DBVERIFY - Verification starting : FILE = /oracle/oradata/DB2/plind05_02.dbf
Block Checking: DBA = -480465494, Block Type = KTB-managed data block
**** row 2: key out of order
---- end index block validation
Page 1879477 failed with check code 6401
DBVERIFY - Verification complete
Total Pages Examined : 4194176
Total Pages Processed (Data) : 0
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 3404935
Total Pages Failing (Index): 1
Total Pages Processed (Other): 569
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 788672
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Highest block SCN : 1795222745 (2360.1795222745)
Now, I have identified that this block belongs to an index subpartition so I have rebuild it with alter index ... rebuild subpartition... However, the RMAN backup still fails and DBV still reports an error.
I know that we could simply recreate the index but the problem is that its quite big (>6GB and table is >7TB).
My strong feeling is that the cause of this is that corrupted blocks will still be reported by RMAN and DBV until they are reused and reformatted.
My question is:
How can I reuse or reformat a block which does not belong to any object?Hi,
Yes you're right, you need to reformat that block.
For that you need to allocate that block to a table, and fill that table with data until high water mark goes higher than block 1879477.
This isthe way I've done it once:
1) check the free space size below that block:
select sum(bytes)/1024/1024 before from dba_free_space where file_id=1879477 and block_id <= 1503738;
Let's say it is 6000 MB
2) create a dummy table, allocate enough extents to fill the size returned from the previous query
This does not format blocks, but the advantage of allocate extents is that you can specify size and datafile:
alter table allocate extents size 6000M datafile '/oracle/oradata/DB2/plind05_02.dbf';
you can check dba_extents to see if it covers block 1879477. If not, try to add a little more extents.
3) fill the table with data to fill those extents.
One idea is to insert one rows into the table, then use 'alter table test minimize records_per_block;' so that each block will have 2 rows maximum.
check the number of blocks (from dba_segments). Say you have 768000 blocks. Then you need to insert 768000/2 rows:
insert into ... select ... from dual connect by level < (768000/2)
4) check the high water mark has reach the end of all extents (compare dba_tables.blocks and dba_segemnts.blocks)
5) if not enough, try to add a little more rows.
Be careful that you don't go too far (especially if you have extensible datafile). Unfortunately, maxextents is ignored on LMT :(
6) now, your block should be reformatted. Just drop the dummy table.
Regards,
Franck. -
How to clear only blocks which have values
Hi there,
Is there anyone knows how to clear data from blocks which only have values ? so the idea, i dont have to create any new block by using something like set a block to be #MI ?
Please advice. Thanks a lot
R'gards
OctoniFrom Technical Reference
The CLEARDATA command clears a well-defined section of a database's cells and changes the values of those cells to #MISSING values. This command is useful when you need to clear existing data values before loading new values into a database. CLEARDATA can only clear a section of a database. It cannot clear the entire database. -
When I open my Colour Picker, the middle block (which normally shows the colour in a gradient of shades) is just a solid colour depending on which H, S, B, R, G, B I have selected. How do I revert it back to normal?
Becky,
It seems that the issue is caused by a corrupt folder called en_US or similar (depending on language) within the Adobe Illustrator 18 Settings folder, see post #7 by Jules in this thread,
https://forums.adobe.com/thread/1595766
so the solution should be to move or rename that folder (or the whole Adobe Illustrator 18 Settings folder).
You can find the folder in Move the folder (follow the link with that name) with Illy closed.
As a temporary roundabout way, you can select the lower rectangle to the right of the rainbow and DoubleClick to apply that to change the top rectangle and the values: the lower colour is the right one. -
Hi I have an old fsnet email address which has been blocked. How do I unblock it
I have an old freeserve email address which has been blocked. This has happened before and I just contacted Orange (took over Freeserve) and then it was released to e again.
How do I do that now that EE have taken over Orange.
My old email s [email protected]It makes no diif that EE has taken oven Orange. EE still handles all the email domains back to Freeserve ones.
Are you logging in here: http://email.orange.co.uk/ ?
You need to contact EE to unblock it. There is a so-called "email" form that you can use for BB: https://explore.ee.co.uk/broadband/email-us . Also see below in my sig. -
Which field indicates blocked vendor in vendor master in R3?
Hi,
Which field indicates a blocked vendor in vendor master in R3?
Thanks in advance
Regards,
Ramesh-Hi,
Enter T.code : XK03 enter the v.code
go to environment -> account changes-> all changes
you can see all the changes here
It is blocked you can see the date at which it is blocked
try
G.Ganesh Kumar -
Create relation between two blocks which are based on different procedure
Hiii
How to create relation between two blocks which are based on different stored procedures in Oracle form??
Pradhyumn Sharmahiii,
I selected the common key deptno in both procedure.
I created a relation between both procedure. but when i compile the form it give an error in ON-CHECK-DELETE-MASTER. My procedure are
==================================
PACKAGE emp_pkg AS
TYPE emprec IS RECORD(
empno asg_emp.empno%type,
ename asg_emp.ename%type,
job asg_emp.job%type,
sal asg_emp.sal%type,
deptno asg_emp.deptno%type);
TYPE emptab IS TABLE OF emprec INDEX BY BINARY_INTEGER;
PROCEDURE empquery(block_data IN OUT emptab, p_deptno IN NUMBER);
end;
====================================
PACKAGE dept_rec IS
type rec is record(dname asg_dept.dname%type,
loc asg_dept.loc%type,
deptno asg_dept.deptno%type);
type deptrec is table of rec index by binary_integer;
PROCEDURE dept_rec1(block1 in out deptrec);
END;
===================================
In ON-CHECK-DELETE-MASTER
CURSOR BLOCK9_cur IS
SELECT 1 FROM dept_rec.dept_rec1 d
WHERE d.DEPTNO = :BLOCK6.DEPTNO;
identifier dept_rec.dept_rec1 must be declared.
Regards
Pradhyumn -
When I'm in roaming I can't see identification of incoming phone numbers which I have already in my phonebook. When I came back from the roaming problem stayed the same. Now I can't see the name of any incoming number which I already have in the phonebook. I tried "Reset All Settings" but without results. I have iPhone 4S and latest IOS version 5.0.1
You can try to powe off your iphone and power on again.
Maybe you are looking for
-
How do I update my devices (Ipad and iphone 5) to new apple ID? I changed from my old one as it didnt work afer I created a new email as my old one was hacked.
-
Select_list_from_query using union
In manual Tabular form, how to have the APEX_ITEM.SELECT_LIST_FROM_QUERY when the query is like SELECT 'A' D, 'A' R FROM DUAL UNION ALL SELECT 'B' D, 'B' R FROM DUAL UNION ALL SELECT 'C' D, 'C' R FROM DUAL UNION ALLPlease suggest Sanjay
-
Hi All, I wrote a semi-complete midlet that is supposed to have a datefield and textfield on a form. The contents of the datefield and textfield are supposed to be stored in 2 seperate recordstores when the user clicks the new command. Im using Wirel
-
Anyone ever hear of this? (Primus)
My company advised they would be transitioning the knowledgebase to a new platform called "Nova". I have asked friends in the tech writing field and no one has heard of such a creature. I did find a "Solutions Management" tool that looks to be geared
-
My icons in that download files thing is gone. Anyone know how to get it back? Thanks! http://i1179.photobucket.com/albums/x385/Claused/ScreenShot2013-03-31at114810PM_ zpsae5a9824.png