扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:盖国强 来源:eygle.com 2007年9月17日
关键字: 盖国强 Oracle 10g ORACLE
此前写过两篇文章,介绍ITL竞争的模拟,有朋友在留言版上留言无法模拟,经过询问,得知在Oracle10g上无法再现我的试验结果.
首先猜测是Oracle10g的处理方式不同,我决定动手来验证一下,首先在Oracle9i中,创建一个测试表,设置MAXTRANS参数,结果如下:
SQL> connect eygle/eygle Table created. SQL> select table_name,INI_TRANS,MAX_TRANS from user_tables where table_name='EYGLE_ITL'; TABLE_NAME INI_TRANS MAX_TRANS |
而在Oracle10g中,我们注意到MAXTRANS参数的设置已经无效:
[oracle@danaly ~]$ sqlplus eygle/eygle SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jun 26 11:59:20 2006
SQL> CREATE TABLE EYGLE_ITL Table created. SQL> select table_name,INI_TRANS,MAX_TRANS from user_tables where table_name='EYGLE_ITL'; TABLE_NAME INI_TRANS MAX_TRANS |
我们注意到,不管如何设置,最终的MAX_TRANS都是255。
查阅Oracle手册得到如下说明:
Note:In earlier releases of Oracle Database, the MAXTRANS parameter limited the number of transaction entries that could concurrently use data in a data block. This parameter has been deprecated.
Oracle Database now automatically allows up to 255 concurrent update transactions for any data block, depending on the available space in the block.
The database ignores MAXTRANS when specified by users only for new objects created when the COMPATIBLE initialization parameter is set to 10.0 or greater.
也就是说在Oracle10g中,对于单个数据块,Oracle缺省最大支持255个并发,MAXTRANS参数被废弃。
这就是网友在10g上无法模拟我的结果的原因。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者