Oracle中MAXTRANS失效了,在9i上我测试过了

Oracle中MAXTRANS失效了,在9i上我测试过了。

create table p (x int ) maxtrans 1;
但是查询
Connected to Personal Oracle9i Release 9.2.0.1.0
Connected as ncsrpt
 
SQL> select table_name,INI_TRANS,MAX_TRANS from user_tables where table_name='P';
 
TABLE_NAME                      INI_TRANS  MAX_TRANS
------------------------------ ---------- ----------
P                                       1          1


这个和网上一些人测试10G显示的结果不一样,在10G中

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jun 26 11:59:20 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options

SQL> CREATE TABLE EYGLE_ITL
2 (C1 NUMBER,
3 C2 VARCHAR2(10)
4 )
5 INITRANS 1 MAXTRANS 1
6 /

Table created.

SQL> select table_name,INI_TRANS,MAX_TRANS from user_tables where table_name='EYGLE_ITL';

TABLE_NAME INI_TRANS MAX_TRANS
------------------------------ ---------- ----------
EYGLE_ITL 1 255


但是实际操作的结果是,9i中已经没有这个限制了

10G的文档中的提到:

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.

 

你可能感兴趣的:(oracle,sql,c,Security,UP)