SYS> col owner for a10
col data_object_id for 9999999
col object_name for a15
select owner, data_object_id, object_name
from dba_objects
where owner = 'SCOTT'
and object_name = 'EMP'; OWNER DATA_OBJECT_ID OBJECT_NAME ―――- ――――? ――――― SCOTT 73181 EMP ? Get File_id and block_id of emp table
SQL>select empno, dbms_rowid.rowid_relative_fno(rowid),
dbms_rowid.rowid_block_number(rowid)
from scott.emp
where empno in (7788, 7369); EMPNO DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) ―――- ―――――――――――― ―――――――――――― 7369 4 151 7788 4 151 ? MANUAL REMASTERING ? You can manually remaster an object with oradebug command : oradebug lkdebug -m pkey [oracle@host01 ~]$ srvctl stop database -d racdb srvctl start database -d racdb srvctl status database -d racdb? Issue a select on the object from NODE2
SCOTT@NODE2> select * from emp;
? Find the GCS resource name to be used in the query x$kjbl.kjblname = resource name in hexadecimal format([id1],[id2],[type] x$kjbl.kjblname2 = resource name in decimal format Hexname will be used to query resource in V$gc_element and v$dlm_rss views get_resource_name
SYS@NODE2>col hexname for a25
col resource_name for a15
select b.kjblname hexname, b.kjblname2 resource_name,
b.kjblgrant, b.kjblrole, b.kjblrequest
from x$le a, x$kjbl b
where a.le_kjbl=b.kjbllockp
and a.le_addr = (select le_addr
from x$bh
where dbablk = 151
and obj = 73181
and class = 1
and state <> 3); HEXNAME RESOURCE_NAME KJBLGRANT KJBLROLE KJBLREQUE ――――――――- ――――― ――― ―――- ――― [0x97][0x4],[BL] 151,4,BL KJUSERPR 0 KJUSERNL ? Check the current master of the block ? ? Note that current master of scott.emp is node1 (numbering starts from 0) ? Previous master = 32767 is a place holder indicating that prior master was not known, meaning first remastering of that object.hat index happened. Now the master is 0 which is instance 1. ? REMASTER_CNT = 1 indicating the object has been remastered only once
SYS>select o.object_name, m.CURRENT_MASTER,
m.PREVIOUS_MASTER, m.RE