• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1117
  • Last Modified:

Rowid Format has a "/" (Forward Slash) - WHY?


Hi,

As per my knowledge ROWID is a HEX value and should not have a "/" (Forward Slash) in it. I have not found any documentation in Oracle on this.

1. This is a normal TABLE.
2. ROWID has ONE or TWO "/" Forward Slash characters.

Any one knows why?

Thanks,
Sudhakar Kotagiri
==================
0
skotagiri123
Asked:
skotagiri123
  • 3
  • 3
2 Solutions
 
Mark GeerlingsDatabase AdministratorCommented:
Which version of Oracle do you have? Oracle changed the format of rowid between Oracle8i and Oracle9.  In Oracle9i and 10g, the rowid is not expressed in HEX by default.
0
 
actonwangCommented:
ROWID is a datatype. What we normally see is a form which has been transformed by Oracle.

What we see here is an extended ROWID. internally it has 10 bytes.The extended ROWID pseudocolumn is returned to the client in the form of an 18-character string (for example, "AAAA8mAALAAAAQkAAA"), which represents a base 64 encoding of the components of the extended ROWID in a four-piece format, OOOOOOFFFBBBBBBRRR:

    * OOOOOO: The data object number identifies the database segment (AAAA8m in the example). Schema objects in the same segment, such as a cluster of tables, have the same data object number.
    * FFF: The datafile that contains the row (file AAL in the example). File numbers are unique within a database.
    * BBBBBB: The data block that contains the row (block AAAAQk in the example). Block numbers are relative to their datafile, not tablespace. Therefore, two rows with identical block numbers could reside in two different datafiles of the same tablespace.
    * RRR: The row in the block (row AAA in the example).
 
     So it is not HEX number and it could be any character in the returned format.

Acton
0
 
skotagiri123Author Commented:
Sorry for the delay. Moved to a new project. My question is :

What are "/" also part of the POWID returned? This is found in the return FORMAT.

Thanks,
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
Mark GeerlingsDatabase AdministratorCommented:
Did you notice my earlier question: "Which version of Oracle do you have?"

That *DOES* make a difference, since Oracle changed the format for displaying the value of ROWID after Oracle8i.
0
 
Mark GeerlingsDatabase AdministratorCommented:
Just FYI, here is a partial result of:
select rowid from [one of our tables]
AAAqGfAALAAADWgAA7
AAAqGfAALAAADWgAA8
AAAqGfAALAAADWgAA9
AAAqGfAALAAADWgAA+
AAAqGfAALAAADWgAA/
AAAqGfAALAAADWgABA
AAAqGfAALAAADWgABB

So, in Oracle10.1 at least, it is not unusual to see non-numeric, and non-alphabetic characters displayed in the ROWID.
0
 
actonwangCommented:
As I said, no document claims that ROWID must be showed in hexadecimal form and therefore it is not strange to see "/" or "+" appearing along with "W" "g" which are also not hex.
0
 
actonwangCommented:
I hope that I can find the algorithm to transfer internal content but as Mark listed they certianly don't restrict them  to alphanumeric.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now