Oracle ASSM改善分段存储是什么?

数据库 Oracle
我们今天主要介绍的是Oracle ASSM改善分段存储,我在一个信誉度很好的网站找到一个关于Oracle ASSM改善分段存储的资料,拿出来供大家分享。

以下的文章主要介绍的是Oracle ASSM改善分段存储,在实际的操作中我们为了保持其最为强大与最为灵活的相关数据库地位,所以Oracle公司最近发布的几个相关版本里一直都在创建新的机制来对表格和索引的存储进行简化和分块。

从Oracle8i开始,Oracle开始在tablespace内部将对象管理进行自动化。第一个增强的地方原来叫做本地管理tablespace(或者简写作LMT)。在LMT里,Oracle将tablespace里的信息从数据字典的表格空间里移出去,而直接将其保存到tablespace自身里。这在Oracle9i里已经成为了一个事实的标准,因为它减轻了数据字典的负担。

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

管理空间的两种方法

让我们从比较这两种空间管理开始:

本地管理tablespace(LMT)——LMT是通过把EXTENT MANAGEMENT LOCAL子句添加到tablespace的定义句法而实现的。和原来由字典管理的tablespace(DMT)不同,LMT会将扩展管理自动化,并保持Oracle DBA不会被用来指定管理扩展大小的NEXT存储参数。这个原则唯一的例外是在NEXT和MINEXTENTS一起用在表格创建的时候。

自动区段空间管理(ASSM)——ASSM的tablespace是通过将SEGMENT SPACE MANAGEMENT AUTO子句添加到tablespace的定义句法里而实现的。通过使用位图freelist取代传统单向的链接列表freelist,Oracle ASSM的tablespace会将freelist的管理自动化,并取消为独立的表格和索引指定PCTUSED、FREELISTS和FREELIST GROUPS存储参数的能力。

Oracle值得赞扬的地方是,这两个空间管理的方法都是可选的特性,而且Oracle的老手可能仍会使用更加详细的方法,只要他们愿意的话。要注意,位图区段管理在Oracle9i里是可选的,而且只能在tablespace这一层实现,这一点是十分重要的。原有的系统还能够继续使用传统方法来管理freelist。

位图freelist挑战传统的空间管理

在我讨论位图freelist和传统的空间管理之前,让我们看看位图freelist是如何实现的。我会从使用区段空间管理自动参数创建tablespace开始:

  1. create tablespace  
  2. asm_lmt_ts  
  3. datafile  
  4. 'c:\oracle\oradata\diogenes\asm_lmt.dbf'  
  5. size  
  6. 5m  
  7. EXTENT MANAGEMENT LOCAL  -- Turn on LMT  
  8. SEGMENT SPACE MANAGEMENT AUTO -- Turn on ASSM  

 

一旦你定义好了tablespace,那么表格和索引就能够使用各种方法很容易地被移动到新的tablespace里。下面就是我进行创建的代码: 

  1. create table  
  2. new_cust  
  3. tablespace  
  4. assm_lmt_ts  
  5. as  
  6. select * from customer;  
  7. alter index cust_name_idx rebuild tablespace assm_lmt_ts; 

要注意,当表格或者索引被分配到这个tablespace以后,用于独立对象的PCTUSED的值会被忽略,而Oracle9i会使用位图数组来自动地管理tablespace里表格和索引的freelist。

对于在LMT的tablespace内部创建的表格和索引而言,这个NEXT扩展子句是过时的,因为由本地管理的tablespace会管理它们。但是,INITIAL参数仍然是需要的,因为Oracle不可能提前知道初始表格加载的大小。对于OracleASSM而言,INITIAL最小的值是三个区块。

关于一个万能的方法对于Oracle来说是否是最好的方法还有一些争论。在大型数据库里,单独的对象设置会带来性能和存储上的巨大不同。
 

【编辑推荐】

  1. Oracle存储过程的实际用法解剖
  2. Oracle树的存储过程的实际操作4步骤
  3. Oracle 11g调用相关函数的5种方法
  4. 对Oracle数据字典的文档描述
  5. 想提高Oracle性能,如何优化数据库?
责任编辑:佚名 来源: 互联网
相关推荐

2018-02-07 14:53:42

2010-04-20 16:04:22

Oracle管理员

2013-12-04 10:16:41

虚拟化存储

2014-03-17 16:40:20

戴尔

2017-10-09 08:56:09

云存储优势作用

2010-04-16 15:24:00

Oracle数据

2011-09-20 09:27:12

云存储虚拟化灾难恢复

2018-11-12 12:53:15

2010-04-21 16:55:06

Oracle物理存储结

2015-12-17 14:58:57

云存储

2010-04-22 16:39:21

Oracle 调优

2017-12-04 14:32:03

对象存储备份

2023-11-13 18:43:37

量子计算存储

2017-11-29 09:03:16

云存储用户产品

2018-03-18 07:44:47

云计算云存储IT

2018-09-14 11:00:33

操作系统存储管理

2017-01-22 17:41:08

数据中心SDN软件定义

2018-01-16 15:02:20

存储RAIDSAN

2014-02-17 11:15:56

存储

2017-03-21 23:29:44

DevOps运维开发
点赞
收藏

51CTO技术栈公众号