pctused、pctfree、initrans,maxtrans 等参数

PCTUSED:是指当块里的数据低于多少百分比时,又可以重新被insert,一般默认是40,即40%,即:当数据低于40%时,又可以写入新的数据,这个时候处在下降期


PCT_USED	NUMBER	 	Minimum percentage of used space in a block; NULL for partitioned tables

数据块的最小的使用比例

Oracle会根据所操作块的PCTUSED属性判定此块是否可以被再次使用。PCTUSED为40表示当块中的可用容量达到60%时,块中插入了40%的数据
此块被标记为可用,而PCTUSED为80表示当块中的可用容量只要达到20%时,即可被标记为可用,答案显而易见

 
pctfree:用来为一个块保留的空间百分比,以防止在今后的更新操作中增加一列或多列值的长度。
    
freelist:可用列表是表中的一组可插入数据的可用块。


pctused与pctfree控制数据块是否出现在freelist中,

pctfree控制数据块中保留用于update的空间,当数据块中的free space小于pctfree设置的空间时,

该数据块从freelist中去掉,当块由于dml操作free space大于pct_used设置的空间时,该数据库块将
被添加在freelist链表中。



4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点

  本地管理表空间(Locally Managed Tablespace简称LMT):8i以后出现的一种新的表空间的管理模式,通过位图来管理表空间的空间使用。

 字典管理表空间(Dictionary-Managed Tablespace简称DMT):8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间使用。



 动段空间管理(ASSM):它首次出现在Oracle920里有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,能够迅速有效地管理存储扩展和剩余区块(free block),因此能够改善分段存储

本质.


① MSSM:由你设置freelists、freelist groups、pctused、pctfree、initrans等参数来控制如何分配、使用段中的空间

② ASSM:你只需控制一个参数pctfree,其他参数即使建了也将被忽略


PCTFREE为10的时候,一个block的90%的空间可用来存放数据,
而PCTFREE为40时,只有60%的空间可以用来存放数据,而总数据量不变,所以要分配更多的block来存放数据。


测试在ASSM下pctused ,inittrans等参数无法修改:

SQL>  select username,default_tablespace from dba_users where username='SCAN';

USERNAME		       DEFAULT_TABLESPACE
------------------------------ ------------------------------
SCAN			       EXAMPLE

SQL> select tablespace_name, extent_management,segment_space_management from dba_tablespaces where tablespace_name='EXAMPLE';

TABLESPACE_NAME 	       EXTENT_MAN SEGMEN
------------------------------ ---------- ------
EXAMPLE 		       LOCAL	  AUTO

SQL> create table t1 as select * from dba_users;

表已创建。

SQL> set linesize 200


SQL> select PCT_FREE,PCT_USED,freelists,freelist_groups,ini_trans,max_trans ,BLOCKS,AVG_ROW_LEN,CHAIN_CNT from user_tables where table_name='T1';

  PCT_FREE   PCT_USED  FREELISTS FREELIST_GROUPS  INI_TRANS  MAX_TRANS	   BLOCKS AVG_ROW_LEN  CHAIN_CNT
---------- ---------- ---------- --------------- ---------- ---------- ---------- ----------- ----------
	10						  1	   255




SQL> alter table t1 pctused 50;

表已更改。

SQL> select PCT_FREE,PCT_USED,freelists,freelist_groups,ini_trans,max_trans ,BLOCKS,AVG_ROW_LEN,CHAIN_CNT from user_tables where table_name='T1';

  PCT_FREE   PCT_USED  FREELISTS FREELIST_GROUPS  INI_TRANS  MAX_TRANS	   BLOCKS AVG_ROW_LEN  CHAIN_CNT
---------- ---------- ---------- --------------- ---------- ---------- ---------- ----------- ----------
	10						  1	   255

SQL> alter table t1 pctfree 20;

表已更改。

SQL>  select PCT_FREE,PCT_USED,freelists,freelist_groups,ini_trans,max_trans ,BLOCKS,AVG_ROW_LEN,CHAIN_CNT from user_tables where table_name='T1';

  PCT_FREE   PCT_USED  FREELISTS FREELIST_GROUPS  INI_TRANS  MAX_TRANS	   BLOCKS AVG_ROW_LEN  CHAIN_CNT
---------- ---------- ---------- --------------- ---------- ---------- ---------- ----------- ----------
	20						  1	   255

可以看到pct_used 参数无法修改:


SQL>  select PCT_FREE,PCT_USED,freelists,freelist_groups,ini_trans,max_trans ,BLOCKS,AVG_ROW_LEN,CHAIN_CNT from user_tables where table_name='T1';

  PCT_FREE   PCT_USED  FREELISTS FREELIST_GROUPS  INI_TRANS  MAX_TRANS	   BLOCKS AVG_ROW_LEN  CHAIN_CNT
---------- ---------- ---------- --------------- ---------- ---------- ---------- ----------- ----------
	20						 20	   255

SQL> alter table t1 maxtrans 300;
alter table t1 maxtrans 300
                        *
第 1 行出现错误:
ORA-02209: 无效的 MAXTRANS 选项值


SQL>  alter table t1 maxtrans 256;
 alter table t1 maxtrans 256
                         *
第 1 行出现错误:
ORA-02209: 无效的 MAXTRANS 选项值


SQL>  alter table t1 maxtrans 254;

表已更改。

SQL>  select PCT_FREE,PCT_USED,freelists,freelist_groups,ini_trans,max_trans ,BLOCKS,AVG_ROW_LEN,CHAIN_CNT from user_tables where table_name='T1';

  PCT_FREE   PCT_USED  FREELISTS FREELIST_GROUPS  INI_TRANS  MAX_TRANS	   BLOCKS AVG_ROW_LEN  CHAIN_CNT
---------- ---------- ---------- --------------- ---------- ---------- ---------- ----------- ----------
	20						 20	   255

INI_TRANS可以修改 但是MAX_TRANS会被忽略

原文地址:https://www.cnblogs.com/hzcya1995/p/13352108.html