ITPub博客

首页 > 数据库 > Oracle > max row number of rowid

max row number of rowid

原创 Oracle 作者:warmbreeze 时间:2015-12-11 10:06:25 0 删除 编辑
在extended ROWID里, 最后两个字节(16bit)表示row number, 从这个角度来说最大的row number是65535, 但是实际上最大的row number是32767,
这可以从两个角度理解:
1.最大的block size 是32k, 所以最大的row number不可能超过32767
2.用dbms
_rowid.rowid_create(..., row_number=>32768)生成的rowid是无效的

SQL> select dbms_rowid.rowid_create(1, 10742, 1, 25033,  row_number=>32768) row_id
  2  from dual;

ROW_ID
------------------------------------
AAACn2AABAAAGHJIAA

SQL> select * from t where rowid='AAACn2AABAAAGHJIAA';
select * from t where rowid='AAACn2AABAAAGHJIAA'
                            *
ERROR at line 1:
ORA-01410: invalid ROWID


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/37279/viewspace-1870229/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Bug 4991675
请登录后发表评论 登录
全部评论

注册时间:2012-02-15

  • 博文量
    45
  • 访问量
    42544