Prev | Current Page 809 | Next

Richard Niemiec

"Oracle Database 10g Performance Tuning Tips & Techniques"

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
paraprotex calivita paraprotex calivita calivita