|
-
Getting Actual ROWID
Hi,
I want to find the row for which a session is waiting,here is the query to find the rowid,
SQL> select do.object_name,
2 row_wait_obj#, row_wait_file#, row_wait_block#, row_wait_row#,
3 dbms_rowid.rowid_create (1,ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW#)
4 from v$session s, dba_objects do
5 where sid=10
6 and s.ROW_WAIT_OBJ# = do.OBJECT_ID ;
OBJECT_NAME ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW# DBMS_ROWID.ROWID_C
-------------------- ------------- -------------- --------------- ------------- ------------------
EMP 34768 1 53714 0 AAAIfQAABAAANHSAAA
When i queried for that ROWID,it gave the following error,
SQL> select * from emp where rowid='AAAIfQAABAAANHSAAA';
select * from emp where rowid='AAAIfQAABAAANHSAAA'
*
ERROR at line 1:
ORA-01410: invalid ROWID
I checked the rowid by using the below query and found that ROWID returned by procedure DBMS_ROWID differs by only one character thats why it's giving the error.
ROWID given by DBMS_ROWID = AAAIfQAABAAANHSAAA
Actual ROWID = AAAIfYAABAAANHSAAA
My oracle version is 9.2.0.8.
SQL> select rowid,id from scott.emp;
ROWID ID
------------------ ----------
AAAIfYAABAAANHSAAA 1
AAAIfYAABAAANHSAAB 2
How to solve this problem?What i've to do to get the actual rowid?
Thanks....
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|