[20191206]为什么oracle能建立最大object_id=4254950910.txt

来源:这里教程网 时间:2026-03-03 14:40:38 作者:

[20191206]为什么oracle能建立最大object_id=4254950910.txt --//昨天的测试,最大obj$.obj#=4254950910.不理解为什么,实际上oracle内部还有一些X$以及相关视图. --//大于obj#=4254950911保留给这些内存表使用. --//链接:http://blog.itpub.net/267265/viewspace-2666794/ SYS@book> @ ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production SYS@book> select * from (select * from v$fixed_table order by OBJECT_ID) where rownum<=10; NAME           OBJECT_ID TYPE    TABLE_NUM ------------- ---------- ------ ---------- X$KQFTA       4294950912 TABLE           0 X$KQFVI       4294950913 TABLE           1 X$KQFDT       4294950914 TABLE           3 V$WAITSTAT    4294950915 VIEW        65537 V$ROWCACHE    4294950916 VIEW        65537 V$PROCESS     4294950917 VIEW        65537 V$BGPROCESS   4294950918 VIEW        65537 V$SESSION     4294950919 VIEW        65537 V$TRANSACTION 4294950920 VIEW        65537 V$LATCH       4294950921 VIEW        65537 10 rows selected. --//这些对象的最小OBJECT_ID正好是4294950912. --//2^32-1 = 4294967295 --//4294967295-4294950911 = 16384 --//故意保留16384为这些对象使用. SYS@book> select count(*) from (select rownum+4294950911 from dual connect by level<=16384 minus select object_id from v$fixed_table );   COUNT(*) ----------      14322 SYS@book> select count(*) from v$fixed_table ;   COUNT(*) ----------       2062 --//14322+2062 = 16384,仅仅使用2062个.

相关推荐