When Converting ROWID to RESTRICTED and Back does not Work for Partitioned Tables

(Doc ID 1091729.1)

Last updated on MARCH 27, 2014

Applies to:

Oracle Server - Enterprise Edition - Version: to - Release: 8.0.5 to 11.2
Information in this document applies to any platform.


When a partitioned table is involved converting rowid to restricted and back
is giving incorrect results.

Wrong value returned for a partitioned table

SQL> select dbms_rowid.rowid_to_restricted(chartorowid('0000133A.003E.0005'),
'SCOTT','G_GEOMETRY_77_PART', 0) from dual;


Because if this ORA-01410: invalid ROWID is coming when:

SQL> select feat_num from g_geometry_77_part where rowid=chartorowid('D/////AA0AAAOcrAAe');
select feat_num from g_geometry_77_part where rowid=chartorowid('D/////AA0AAAOcrAAe')
ERROR at line 1:
ORA-01410: invalid ROWID

Correct value when the table is not partitioned.

SQL> select dbms_rowid.rowid_to_restricted(chartorowid('000078BD.003E.0005'),
'SCOTT','G_GEOMETRY_77', 0) from dual;


The issue was already logged as a bug and closed as not feasible to fix but
this was not specified in documentation.


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms