ARCH_ORDERS in a bigfile tablespace named DMARTS:
SQL> select tablespace_name, bigfile from dba_tablespaces
2 where tablespace_name = 'DMARTS';
TABLESPACE_NAME BIG
------------------------------ ---
DMARTS YES
As with tables in smallfile tablespaces in previous versions of Oracle and Oracle 11g, you
can use the pseudo-column ROWID to extract the entire ROWID, noting that the format of the
ROWID is different for bigfile tables, even though the length of the ROWID stays the same. This
query will also extract the block number in decimal format:
SQL> select rowid,
2 dbms_rowid.rowid_block_number(rowid,'BIGFILE') blocknum,
3 order_id, customer_id
4 from oe.arch_orders
5 where rownum < 11;
ROWID BLOCKNUM ORDER_ID CUSTOMER_ID
------------------ ---------- ---------- -----------
AAASAVAAAAAAAAUAAA 20 2458 101
AAASAVAAAAAAAAUAAB 20 2397 102
AAASAVAAAAAAAAUAAC 20 2454 103
AAASAVAAAAAAAAUAAD 20 2354 104
AAASAVAAAAAAAAUAAE 20 2358 105
AAASAVAAAAAAAAUAAF 20 2381 106
AAASAVAAAAAAAAUAAG 20 2440 107
AAASAVAAAAAAAAUAAH 20 2357 108
AAASAVAAAAAAAAUAAI 20 2394 109
AAASAVAAAAAAAAUAAJ 20 2435 144
10 rows selected.
For the row with the ORDER_ID of 2358, the data object number is AAASAV, the encoded
block number is AAAAAAAAU, and the row number of the row, or slot, in the block is AAE; the
translated decimal block number is 20.
NOTE
ROWIDs use base-64 encoding.
The other procedures in the DBMS_ROWID package that use the variable TS_TYPE_IN to
specify the tablespace type are ROWID_INFO and ROWID_RELATIVE_FNO.
Pages:
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821