PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

Oracle 10g 对象 默认 ITL 数量 测试

原创
2016-06-07 17:14:55 787浏览

Oracle 的每个Block上都有一个部分,叫做ITL,其用来保存事务的信息。 对象的ITL数由对象的initrans 和 maxtrans 参数决定,Or

Oracle 的每个Block上都有一个部分,叫做ITL,,其用来保存事务的信息。

对象的ITL数由对象的initrans 和 maxtrans 参数决定,Oracle 官方文档中记载:initrans 的默认值是1,maxtrans 是255. 实际上任何block中的ITL 都是可以根据需要动态增长的,只要block里还有足够的空间。ITL的最大数限制是255,实际上其大小受data block的大小决定。 在Oracle 10g之后的版本,对于8KB的block size,最大的ITL数只能是169.

下面我们在Oracle10.2.0.4 的环境下测试一下这个默认值到底是多少。

[oracle@localhost ~]$ sqlplus / as sysdba;

SQL*Plus: Release 10.2.0.4.0 - Productionon 6 7 09:37:32 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise EditionRelease 10.2.0.4.0 - Production

With the Partitioning, Data Mining and RealApplication Testing options

SQL> create table anqing(id number,namevarchar2(20));

Table created.

SQL> insert into anqingvalues(1,'tianlesoftware');

1 row created.

SQL> commit;

Commit complete.

SQL> select distinctdbms_rowid.rowid_block_number(rowid) from anqing;

DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)

------------------------------------

94658

SQL> selectdbms_rowid.rowid_relative_fno(rowid) file_id,dbms_rowid.rowid_block_number(rowid)block_id from anqing;

FILE_ID BLOCK_ID

---------- ----------

1 94658

SQL> alter system dump datafile 1 block94658;

System altered.

SQL> oradebug setmypid

Statement processed.

SQL> oradebug tracefile_name

/oradata/XEZF/admin/udump/xezf_ora_31544.trc

这里确实是2条ITL信息。现在我们看一下表默认的创建参数值:

SQL> set long 2000000

SQL> set pagesize 0

SQL> executedbms_metadata.set_transform_param(dbms_metadata.session_transform,'storage',false);

--该语句是在会话级别设置不显示某些属性,让我们的返回结果看上去更简洁。

PL/SQL procedure successfully completed.

SQL> selectdbms_metadata.get_ddl('TABLE','ANQING','SYS') from dual;

CREATE TABLE "SYS"."ANQING"

( "ID" NUMBER,

"NAME" VARCHAR2(20)

)

PCTFREE 10 PCTUSED 40

INITRANS 1 MAXTRANS 255

NOCOMPRESS LOGGING

TABLESPACE "SYSTEM"

SQL> executedbms_metadata.set_transform_param(dbms_metadata.session_transform,'default');

PL/SQL procedure successfully completed.

--还原设置

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。