Oracle 的 ASSM 表空间

Oracle 的 ASSM(Automatic Segment Space Management)表空间 是一种自动管理段空间的技术,通过位图(Bitmap)机制跟踪数据块的使用情况,替代传统的手动管理(MSSM,即 Freelist 管理)

1. ASSM 的核心特点

  • 自动空间分配:无需手动配置 FREELISTS 或 PCTUSED 参数,Oracle 自动跟踪数据块的可用空间。

  • 位图管理:使用位图块(Bitmap Blocks)记录每个数据块的空间使用情况(如空闲、部分使用、已满),提高并发插入性能。

  • 减少竞争:避免多会话同时插入时的 Freelist 争用问题,适合高并发场景。

  • 简化管理:DBA 无需手动优化空间参数,降低维护复杂度。  

 

2. 创建 ASSM 表空间 

 CREATE TABLESPACE assm_ts
DATAFILE '/u01/oradata/assm01.dbf' SIZE 100M
EXTENT MANAGEMENT LOCAL          -- 必须使用本地扩展管理
SEGMENT SPACE MANAGEMENT AUTO;  -- 启用 ASSM

3. ASSM 的工作原理

  • 位图结构:每个段(如表、索引)包含一组位图块,记录数据块的空间状态:

    • 0~25% 空闲:块标记为“未使用”

    • 25~50% 空闲:块标记为“部分使用”

    • 50~75% 空闲:块标记为“部分使用”

    • 75~100% 空闲:块标记为“完全空闲”

  • 空间分配:当插入数据时,Oracle 自动选择合适的数据块,优先使用“完全空闲”块,其次“部分使用”块。

 4. ASSM 的优缺点

 

优点
  • 减少手动配置参数(如 FREELISTSPCTUSED)。

  • 提升高并发插入场景的性能。

  • 自动优化空间利用率,减少碎片。

缺点
  • 在极端高并发或频繁更新/删除的场景中,位图可能成为瓶颈。

  • 无法手动干预空间分配策略。

 5. 检查表空间是否使用 ASSM

 SELECT tablespace_name, segment_space_management 
FROM dba_tablespaces 
WHERE tablespace_name = 'ASSM_TS';

 6. ASSM 与 MSSM 的关键区别

 

特性ASSMMSSM(手动管理)
空间跟踪方式位图空闲列表(Freelist)
参数依赖无需 FREELISTSPCTUSED需配置 FREELISTSPCTUSED
并发插入性能低(可能产生 Freelist 竞争)
适用场景OLTP、高并发写入特定遗留系统或特殊需求

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿与狸花过一生

盛时常作衰时想 上场当念下场时

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值