oracle ASSM是什麽?有什麽作用?
时间: 2024-04-18 08:30:03 浏览: 15
Oracle ASSM(Automatic Segment Space Management)是一种用于管理数据库段空间的自动化机制。在传统的分段管理(Manual Segment Space Management)中,需要手动管理和分配段空间,而ASSM则通过自动管理和分配空间来简化这一过程。
ASSM的主要作用是优化数据库的空间利用和性能。它通过以下方式实现:
1. 动态空间分配:ASSM会根据数据块的使用情况,自动分配和释放段空间。这样可以避免手动管理时出现的空间浪费或不足的问题。
2. 自动调整数据块大小:ASSM可以根据数据块中的行数和大小自动调整数据块的大小,以提高数据库的空间利用率。
3. 减少碎片化:ASSM使用一种称为HOT(High-Order-Transaction)插入算法,它能够减少段内的空闲空间碎片。这样可以提高数据的存取效率,并减少存储碎片对数据库性能的影响。
4. 提高并发性能:使用ASSM可以减少数据块之间的竞争,提高并发性能。它采用多版本并发控制(Multi-Version Concurrency Control)技术,可以避免因为行锁竞争而导致的性能瓶颈。
总而言之,Oracle ASSM是一种自动化的数据库段空间管理机制,它可以优化数据库的空间利用和性能,减少空间碎片和竞争,并提高并发性能。
相关问题
oracle临时表空间释放
当oracle数据库出现 ora-01652 temp表空间无法扩展时,可以通过以下步骤释放临时表空间:
1. 使用命令 select c.tablespace_name, c.bytes/1024/1024/1024 total_bytes, (c.bytes-d.bytes_used)/1024/1024/1024 free_bytes, d.bytes_used/1024/1024/1024 use_bytes from (select tablespace_name,sum(bytes) bytes from dba_temp_files group by tablespace_name) c, (select tablespace_name,sum(bytes_cached) bytes_used from v$temp_extent_pool group by tablespace_name) d where c.tablespace_name = d.tablespace_name ) 查看临时表空间使用情况。
2. 如果临时表空间无法自动扩展,则需要更改临时表空间自动扩展。如果自动扩展已至最大值,则可以通过 alter tablespace temp shrink space 命令释放临时表空间。
3. 在oracle 10g及以上版本中,可以使用Shrink命令缩小段,即降低HWM。但需要注意的是,这个新特性仅对ASSM表空间有效,否则会报 ORA-10635: Invalid segment or tablespace type。
4. 在oracle中,shrink的操作不需要使用额外的空闲空间,因为oracle是从后向前移动行数据。