<b>关于Oracle的Dual表-入门底子</b>[Oracle防范]
本文“<b>关于Oracle的Dual表-入门底子</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
有朋友问到关于Oracle的Dual表问题,并且提到了Tom的一个链接:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388
很多人关心的是Dual的内部实现,这Oracle自然是不会表露的,不过我们可以从一些有限的资料得到关于Dual的印象:
There is internalized code that makes this happen. Code checks that ensure that a table scan of SYS.DUAL only returns one row. Svrmgrl behaviour is incorrect but this is now an obsolete product.
The base issue you should always remember and keep is: DUAL table should always have 1 ROW. Dual is a normal table with one dummy column of varchar2(1). So DUAL should ALWAYS have 1 and only 1 row. |
前两句话最为关键,实际上我们也简单猜到,Oracle通过内部代码来实现关于DUAL的拜候和掌握,并且通过Internal Code使得这个表与众差别.
Tom提到在Close了Database之后,可以看到这个表的内存地址及展示,这阐明这个表的构造并不但纯:
SQL> select * from dual;
D SQL> alter database close; Database altered. SQL> select * from dual; ADDR INDX INST_ID D |
注意不要更改Dual表的内容,不然大概惹起数据库的问题.
假如该表不测删除,可以通过设置初始化参数replication_dependency_tracking = FALSE,重启数据库来重建该表.
以上是“<b>关于Oracle的Dual表-入门底子</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |