关于oracle中Move机制的一点探讨

SHRINK vs MOVE全面对比:Oracle空间回收到底该选哪个? 本文深入对比了Oracle数据库空间回收的两种核心方法SHRINK与MOVE。从ROWID变化、索引维护、锁机制、空间需求等十个维度进行剖析,并结合电商订单表归档等典型场景,为开发者和DBA提供清晰的决策指南,帮助您根据业务影响、维护窗口和资源限制,选择最合适的空间回收策略。 阅读详情

从8i开始,oracle开始提供Move的命令。我们通常使用这个命令,将一个table segment从一个tablespace移动到另一个tablespace。

Move实际上是在block之间物理的copy数据,那么,我们可以通过这种方式来降低table的HWM。我们先通过一个实验来看看move是如何移动数据的。创建table TEST_HWM,insert一些数据:

SQL> create table TEST_HWM (id int ,name char(2000)) tablespace hwm;

 

Table created

 

我们往table TEST_HWM 中insert如下数据:

insert into TEST_HWM values (1,'aa');

insert into TEST_HWM values (2,'bb');

insert into TEST_HWM values (2,'cc');

insert into TEST_HWM values (3,'dd');

insert into TEST_HWM values (4,'ds');

insert into TEST_HWM values (5,'dss');

insert into TEST_HWM values (6,'dss');

insert into TEST_HWM values (7,'ess');

insert into TEST_HWM values (8,'es');

insert into TEST_HWM values (9,'es');

insert into TEST_HWM values (10,'es');

 

我们来看看这个table的rowid和block的ID和信息:

SQL>  select rowid , id,name from TEST_HWM;

                                                 

ROWID                           ID     NAME

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

AAAH7JAALAAAAAUAAA                1     aa

AAAH7JAALAAAAAUAAB                2     bb

AAAH7JAALAAAAAUAAC                2     cc

AAAH7JAALAAAAAVAAA                3     dd

AAAH7JAALAAAAAVAAB                4     ds

AAAH7JAALAAAAAVAAC                5     dss

AAAH7JAALAAAAAWAAA                6     dss

AAAH7JAALAAAAAWAAB                7     ess

AAAH7JAALAAAAAWAAC                8     es

AAAH7JAALAAAAAXAAA                9     es

AAAH7JAALAAAAAXAAB               10     es

SQL> select EXTENT_ID,FILE_ID,RELATIVE_FNO,BLOCK_ID,BLOCKS

  2  from dba_extents  where segment_name='TEST_HWM' ;

 

 EXTENT_ID    FILE_ID RELATIVE_FNO   BLOCK_ID     BLOCKS

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

         0         11           11         19          5

 

这里,简单地介绍一下rowid的相关知识:

ROWID 在磁盘上需要10 个字节的存储空间并使用18 个字符来显示它包含下列组件:

 数据对象编号:每个数据对象如表或索引在创建时都分配有此编号,并且此编号在数据库中是唯一的;

相关文件编号:此编号对于一个表空间中的每个文件是唯一的;

块编号:表示包含此行的块在文件中的位置;

行编号:标识块头中行目录位置的位置;

在内部数据对象编号需要32 位,相关文件编号需要10 位,块编号需要22,位行编号需要16 位,加起来总共是80 位或10 个字节,ROWID 使用以64 为基数的编码方案来显示该方案将六个位置用于数据对象,编号三个位置用于相关文件编号六个位置用于块编号三个位置用于行编号以64 为基数的编码方案使用字符A-Z a-z 0-9 + 和/共64 个字符,如下例所示:

AAAH7J AAL AAAAAU AAA

在本例中

AAAH7J   是数据对象编号

AAL       是相关文件编号

AAAAAU  是块编号

AAA       是行编号

 

那么,我们根据数据的rowid,可以看出这11行数据分布在AAAAAU,AAAAAV,AAAAAW,AAAAAX这四个block中。

然后我们从table TEST_HWM中delete一些数据:

delete from TEST_HWM where id = 2;

delete from TEST_HWM where id = 4;

delete from TEST_HWM where id = 3;

delete from TEST_HWM where id = 7;

delete from TEST_HWM where id = 8;

delete from TEST_HWM where id = 9;

 

我们在来看看这个table的rowid和block的ID和信息:

SQL> select rowid , id,name from TEST_HWM;

 

ROWID                      ID NAME

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

AAAH7JAALAAAAAUAAA       1  aa

AAAH7JAALAAAAAVAAC       5  dss

AAAH7JAALAAAAAWAAA       6  dss

AAAH7JAALAAAAAXAAB       10  es

SQL> select EXTENT_ID,FILE_ID,RELATIVE_FNO,BLOCK_ID,BLOCKS

  2   from dba_extents  where segment_name='TEST_HWM' ;

 

 EXTENT_ID    FILE_ID RELATIVE_FNO   BLOCK_ID     BLOCKS

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

         0         11           11         19          5

 

在这里,我们可以看到,数据的rowid没有发生改变,我们根据数据的rowid,可以看出这4行数据依然分布在AAAAAU,AAAAAV,AAAAAW,AAAAAX这四个block中。

接下来我们对table TEST_HWM进行move的操作,然后再来观察rowid,blockid的信息:

SQL> alter table TEST_HWM move;

Table altered

 

SQL> select rowid,id,name from HWM;

 

ROWID                       ID NAME

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

AAAH7NAALAAAANrAAA       1 aa

AAAH7NAALAAAANrAAB       5 dss

AAAH7NAALAAAANrAAC       6 dss

AAAH7NAALAAAANsAAA       10 es

 

SQL> select EXTENT_ID,FILE_ID,RELATIVE_FNO,BLOCK_ID,BLOCKS

  2   from dba_extents  where segment_name=' TEST_HWM ' ;

 

 EXTENT_ID    FILE_ID RELATIVE_FNO   BLOCK_ID     BLOCKS

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

         0         11           11        874          5

 

 

我们可以看到,对table TEST_HWM进行move后,该table所在blockid发生了改变,那么数据的rowid自然也发生了改变。从上面的结果,我们可以看到,现在table TEST_HWM 的数据分布在AAAANr,AAAANs两个block中了。但是这四行数据的rowid的顺序来看,这四行数据在table中的存储顺序并没有发生改变。这也就证明了,move是在block之间物理的copy数据。

 

我们再来看看move操作对于table的HWM的位置有什么变化,我们同样使用系统视图all_objects来创建测试table my_objects,然后delete前9999行数据:

SQL> create table my_objects tablespace HWM

2        as select * from all_objects;

SQL> delete from my_objects where rownum<10000;

9999 rows deleted

SQL> select count(*) from my_objects;

  COUNT(*)

----------

     21015

SQL> exec show_space(p_segname => 'MY_OBJECTS',p_owner => 'DLINGER',p_type => 'TABLE');

Total Blocks............................425

Total Bytes.............................3481600

Unused Blocks...........................3

Unused Bytes............................24576

Last Used Ext FileId....................11

Last Used Ext BlockId...................1294

Last Used Block.........................2

 

这里HWM=425 - 3 + 1 = 423

然后对table MY_OBJECTS进行move操作:

SQL> alter table MY_OBJECTS move;

表已更改。

SQL> exec show_space(p_segname => 'MY_OBJECTS',p_owner => 'DLINGER',p_type => 'TABLE');

Total Blocks............................290

Total Bytes.............................2375680

Unused Blocks...........................1

Unused Bytes............................8192

Last Used Ext FileId....................11

Last Used Ext BlockId...................1584

Last Used Block.........................4

 

我们可以看到,table MY_OBJECTS的HWM从423移动到290,table的HWM降低了!

 

我们还可以使用别的方法来降低table的HWM,比如CTAS,insert into 等,那么move操作对redo logo的写和其他的方式比较起来是相对较少的,我们在这里就不列出把具体的实验结果了,大家有兴趣的可以自己动手来证实一下。

 

上面我们讨论了move的执行机制和如何使用move降低table的HWM,这里,我们补充说明move的另外一些用法,以及使用move时的一些要注意的问题。

 

Move的一些用法

以下是alter table 中move子句的完整语法,我们介绍其中的几点:

MOVE [ONLINE] 
  [segment_attributes_clause] 
  [data_segment_compression]
  [index_org_table_clause]
  [ { LOB_storage_clause | varray_col_properties }
    [ { LOB_storage_clause | varray_col_properties } ]...
  ]
  [parallel_clause]

 

a. 我们可以使用move将一个table从当前的tablespace上移动到另一个tablespace上,如:

alter table t move tablespace tablespace_name;

b. 我们还可以用move来改变table已有的block的存储参数,如:

alter table t move storage (initial 30k  next 50k);

 

另外,move操作也可以用来解决table中的行迁移的问题。

 

使用move的一些注意事项

 

a.       table上的index需要rebuild:

在前面我们讨论过,move操作后,数据的rowid发生了改变,我们知道,index是通过rowid来fetch数据行的,所以,table上的index是必须要rebuild的。

SQL>  create index i_my_objects on my_objects (object_id);

Index created

 

SQL> alter table my_objects move;

Table altered

 

SQL> select index_name,status from user_indexes where index_name='I_MY_OBJECTS';

 

INDEX_NAME                     STATUS

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

I_MY_OBJECTS                   UNUSABLE

 

从这里可以看到,当table MY_OBJECTS进行move操作后,该table 上的inedx的状态为UNUSABLE,这时,我们可以使用alter index I_MY_OBJECTS rebuild online的命令,对index I_MY_OBJECTS进行在线rebuild。

 

b.      move时对table的锁定

当我们对table MY_OBJECTS进行move操作时,查询v$locked_objects视图可以发现,table MY_OBJECTS上加了exclusive lock:

SQL>select OBJECT_ID, SESSION_ID,ORACLE_USERNAME,LOCKED_MODE from v$locked_objects;

 

 OBJECT_ID SESSION_ID ORACLE_USERNAME    LOCKED_MODE

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

     32471          9 DLINGER                      6

SQL> select object_id from user_objects where object_name = 'MY_OBJECTS';

 

 OBJECT_ID

----------

     32471

这就意味着,table在进行move操作时,我们只能对它进行select的操作。反过来说,当我们的一个session对table进行DML操作且没有commit时,在另一个session中是不能对这个table进行move操作的,否则oracle会返回这样的错误信息:ORA-00054: 资源正忙,要求指定 NOWAIT。

 

c.      关于move时空间使用的问题:

当我们使用alter table move来降低table的HWM时,有一点是需要注意的,这时,当前的tablespace中需要有1倍于table的空闲空间以供使用:

SQL> CREATE TABLESPACE TEST1

  2  DATAFILE 'D:/ORACLE/ORADATA/ORACLE9I/TEST1.dbf' SIZE 5M

  3  UNIFORM SIZE 128K ;


SQL> create table my_objects  tablespace test1 as select * from all_objects;

表已创建。


SQL> select bytes/1024/1024 from user_segments where segment_name='MY_OBJECTS';


BYTES/1024/1024

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

          3.125

 

SQL> alter table MY_OBJECTS move;


alter table MY_OBJECTS move

            *

ERROR 位于第 1 行:

ORA-01652: 无法通过16(在表空间TEST1中)扩展 temp 段


SQL> ALTER DATABASE

  2  DATAFILE 'D:/ORACLE/ORADATA/ORACLE9I/TEST1.DBF' RESIZE  7M;


数据库已更改。

SQL> alter table MY_OBJECTS move;

表已更改。

 

 

 

新手避坑指南:Oracle表空间整理选MOVE还是SHRINK?5个关键场景对比 本文深入对比了Oracle数据库中MOVE与SHRINK两种表空间整理命令的核心机制与适用场景。SHRINK作为在线渐进式空间整理工具,能自动维护索引,适合日常维护与空间回收;而MOVE则通过重建段来迁移表空间或修改存储参数,但会导致索引失效。文章通过五大关键场景分析,为DBA提供了明确的选型决策指南和避坑实操建议。 阅读详情

相关推荐

Oracle高水位优化实战:ALTER TABLE MOVE与SHRINK SPACE的深度对比与应用场景

本文深入解析Oracle数据库高水位(HWM)概念及其导致的性能问题,并对比了ALTER TABLE MOVE与SHRINK SPACE两大核心优化方法的原理、操作步骤与适用场景。MOVE操作彻底但需停机,适合维护窗口;SHRINK可在线进行,对业务影响小。文章通过实战案例帮助DBA根据空间、业务连续性等需求做出最佳选型决策,有效回收存储空间并提升数据库性能。

weixin_29228203的博客 330

Oracle数据库高水位释放——LOB字段空间释放

在Oracle数据库中表随着数据增长,所占磁盘容量也会增长,当表中数据不再需要时,对表进行delete操作,表中代表所占空间的标志-高水位,不会随着数据删除而下降,高水位没有变化,即使删除了数据库,表所占空间大小仍然不变,因此,如果要释放空间,就需要对表进行如下处理: 一、如果表所在的表空间是段空间自动管理(即ASSM),可对表进行shink操作,来释放空闲数据块,降低高水位,shink操作可不用...

qq_32838955的博客 3117

Oracle LOB字段空间回收实战:从原理到SHRINK、MOVE与分区清理

在数据库管理中,大对象(LOB)字段是用于存储非结构化数据(如文本、图像)的核心技术。其存储原理采用行外独立段结构,通过LOB定位器与主表关联,这种设计提升了查询效率,但也带来了空间管理的复杂性。当删除LOB数据时,其占用的物理空间并不会自动释放,导致高水位线(HWM)居高不下,成为数据库空间的隐形负担,影响存储成本与系统性能。理解LOB索引、LOB段与空间重用机制,是进行有效空间回收的技术基础。针对此问题,Oracle提供了多种工程实践方案:对于在线业务,可使用ALTER TABLE ... SHRINK

weixin_32175665的博客 303

lob移表空间 oracle_oracle move lob 字段到另外的表空间

Hi,I will explain How to Move Lob Segment to Another Tablespace in Oracle in this post.Move Lob Segment to Another TablespaceSometimes you may need to drop any tablespace, so you need to move all obje...

weixin_33055757的博客 663

拌合楼软件开发(24)接收微信消息生成车辆计划

【摘要】针对拌合站客户群体文化程度不高、习惯微信群沟通的业务场景,提出通过企业微信机器人实现微信对话下单的解决方案。核心是利用WorkTool工具的消息回调机制:1)配置接收消息的API接口;2)解析JSON格式的对话数据,筛选@机器人的有效消息;3)采用*号分隔符提取订单信息并进行校验;4)建立微信昵称与客户系统的映射关系。方案解决了传统系统登录门槛高的问题,但需注意群名唯一性、多系统对接及客户身份识别等关键问题。全文重点阐述技术实现逻辑而非具体代码。

morsth的博客 1042

RL调参侠之BipedalWalker BipedalWalkerHardcore SAC

前几天用PPO训练了个很一般的agent: RL调参侠之BipedalWalker PPO 我看SpinningUp上面说PPO和SAC是两个领域里各自的State_of_the_art的方法,所以就打算跑SAC试试看,之前因为Open AI Five的原因,一直感觉PPO很牛掰,实际上现在很多自动驾驶的算法也是用PPO在跑,毕竟有一个“必定能够提升期望”的理论保证在这里,我理解这对做项目很大的诱惑。 不过我跑出来的结果明显是SAC更好。 调参侠时间 策略熵的权重alpha用的0.2,我一开始没有看SAC的

weixin_48370148的博客 2099

oracle 分区表move和包含分区表的lob move

建立含有lob字段的表时,oracle会自动为lob字段建立两个单独的segment,一个用来存放lob数据,另一个用来存放lob索引,并且它们都会存储在对应表指定的表空间中。但是当我们用alter tabl...

congjiu2607的博客 1627

人形机器人解耦驱动腿部设计与FAST性能优化

机器人运动控制的核心在于动力学解耦与能量效率优化。通过多连杆机构设计,可以实现关节运动的独立控制,显著降低惯性叠加和能量损耗。DecARt Leg采用创新的齿轮-四杆复合机构,将腿部伸缩与摆动运动完全解耦,配合多杆踝关节传动系统,实测行走速度可达4.18m/s。这种解耦设计不仅提升了动态性能,其提出的FAST指标更为腿部构型提供了量化评估基准,在仓储物流、地形适应等场景展现出显著优势,为人形机器人运动控制提供了新的技术路径。

weixin_33759613的博客 237

oracle lob 主表 关系,oracle 分区表move和包含分区表的lob move

oracle 分区表move和包含分区表的lob move发布时间:2020-06-27 09:18:57来源:51CTO阅读:1172作者:春秋小记表包含lob字段,需要收回空间,首先move表,move表,move完表后lob的空间并不会释放,还需要针对lob字段进行move:非分区表lob的move:alter table T_SEND_LOG move lob(MESSAGE) sto...

weixin_39881155的博客 449

TCGA之GDC-client工具下载安装与使用

文章主要是对GDC-client工具下载TCGA数据库数据整个过程的一个记录 1.下载GDC-client工具 GDC-client工具网址:GDC Data Transfer Tool | NCI Genomic Data Commons (cancer.gov) 我这里下的是上图中红圈中的版本, 2.解压安装 从网上了解的是不能解压到带中文的路径里,解压后是一个.exe文件,为了能直接在cmd命令行下使用,将其加入系统环境: 点击新建之后,输入将文件解压到的路径,然后...

better_strong的博客 1万+

基于ESP32的气象雷达站设计与实现

物联网技术通过嵌入式设备实现环境数据的实时采集与可视化,其中ESP32凭借其双核处理器和WiFi/蓝牙功能成为热门选择。本项目利用ESP32结合LVGL图形库,构建了一个低成本气象监测系统,通过OpenWeatherMap API获取全球气象数据并在7英寸触摸屏上动态展示。系统采用三级优化策略处理高分辨率雷达图,包括服务端预处理、硬件加速解码和显示增强,有效解决了内存占用和帧率问题。在物联网设备开发中,类似方案可应用于智能家居、农业监测等场景,特别是需要实时数据可视化的领域。通过SPIFFS存储和zlib压

weixin_42524864的博客 422

oracle LOB 大对象的表Move方法

对于LOB型的表,数据量比较大的话,比如单个表的大对象有6G以上的话,使用导入和导出的方法是比较浪费时间的,并且不划算。本人测试过在P4 2.4G 1G内存 的一般工作站使用imp/dmp方法操作的话,需要4个小时。在Dell1...

coupoji3516的博客 797

USB设备识别码VID和PID详解:如何查询和自定义你的设备ID

本文详细解析了USB设备识别码VID和PID的核心作用、查询方法及自定义配置技巧。VID(供应商识别码)和PID(产品识别码)是USB设备的唯一身份证,用于驱动匹配和功能识别。文章提供了Windows和Linux系统下的查询方法,并探讨了如何合法获取和自定义VID/PID,适合硬件开发者和DIY爱好者参考。

weixin_29168675的博客 1439

【转】关于oracle中Move机制的一点探讨

从8i开始,oracle开始提供Move的命令。我们通常使用这个命令,将一个table segment从一个tablespace移动到另一个tablespace。 Move实际上是在block之间物理的copy数据,那么,...

cuijianli8434的博客 303

协方差矩阵自适应进化策略(CMA-ES)详解:从基础原理到优化算法

CMA-ES是一种先进的无导数优化算法,基于生物进化原理解决连续域非线性优化问题。该算法通过自适应调整多元正态分布的均值、协方差矩阵和步长参数,自动学习搜索空间结构,无需梯度信息即可高效优化。核心创新包括协方差矩阵的秩1和秩μ更新策略,以及基于进化路径的步长控制机制。CMA-ES具有旋转不变性、标度不变性和全局探索能力,特别适合3-300维的黑盒优化问题,在复杂系统仿真、超参数调优等领域表现优异。算法实现中关键参数如种群大小、学习率等均有自适应设置规则,使其成为连续优化领域的基准算法之一。

qq_42212808的博客 522

华为OD机试真题 新系统【查找能被整除的最大整数】

华为OD新系统机试真题【查找能被整除的最大整数】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【查找能被整除的最大整数】

qq_45776114的博客 671

关于oracle中Move机制的一点探讨 (转)

从8i开始,oracle开始提供Move的命令。我们通常使用这个命令,将一个table segment从一个tablespace移动到另一个tablespace。[@more@]Move实际上是在block之间物理的copy数据...

cjc198811的博客 174

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Oracle MOVE ONLINE 实现原理

Oracle 的操作是一种在线重组表的技术,允许在不中断业务的情况下重新组织表数据。

文牧之的博客 1310

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

32 块大小_详解oracle中move的执行机制+通过move操作来降低HWM大小

概述从 8i开始,Oracle 开始提供 move 命令。通常使用这个命令将一个 table segment从一个tablespace 移动到另一个 tablespace。move实际上是在block之间物理地copy数据,可以通过这种方式来降低table的HWM 。下面主要通过一个实验来看看 move是如何移动数据的。1、创建 table TEST_HWM 和测试数据create table T...

weixin_39635459的博客 524

move和shrink的redo size的一点探讨

我们先了解一下move和shrink的机制:http://blog.youkuaiyun.com/dlinger/archive/2004/07/12/39667.aspxhttp://blog.youkuaiyun.com/dlinger/archive/2004/07/15/42491.aspx测试环境:oracle: 10.1.0.2.0? os:win2000 server? 非归档模式下的测

1059

彻底理解move 操作

前几天群里有人问,move 操作,我这里做了几个实验,方便大家了解move 的基本操作。(1) oracle 的move 操作,rowid 如何变化? SQL> drop table daodao; 表已删除。 SQL> create table daodao (id int, name char(2000)) tablespace users; 表已创建。 SQL>

3524

Oracle案例:shrink space与move操作中关于锁的获取与段的分配

Oracle表空间优化操作分析 本文通过实验对比了Oracle数据库中shrink space和move两种表空间优化操作的区别: 空间分配差异: shrink space保持原段头位置,仅释放部分空闲区,不完全要求整个区为空 move会创建新段,完全重新分配空间 锁机制: 实验使用oradebug跟踪了move操作的锁获取情况 shrink space通常获取的锁级别较低,允许DML并发 move需要更高级别的锁,会阻塞DML操作 测试环境为Oracle 11.2.0.4,通过自定义脚本监控区段变化。案例

提供数据库技术支持(系统优化,故障处理,安装升级,数据恢复等) 331

[Oracle] 探讨分区(2) - 分区索引

在Oracle中,索引和表一样也可以分区。有两种类型的分区索引,本地分区索引(Local)和全局分区索引(Global)。 1、本地索引(Local) 本地分区索引使用LOCAL关键字创建,其分区边界与表相同(即与每个表分区相关联都有一个索引分区),下面是一个本地分区索引的例子: create table sales_par partitioned by range (year) (

Zhu_Julian's Notes (朱显杰的技术博客) 5691

Oracle数据库空间优化实战:用ALTER TABLE MOVE拯救你的存储空间(附性能影响分析)

本文深入解析Oracle数据库中的ALTER TABLE MOVE命令,通过重置高水位线(High Water Mark)有效回收存储空间。文章详细介绍了命令的运作机制、实战操作步骤及性能影响分析,帮助DBA优化数据库存储效率,特别适用于处理因数据删除导致的空间浪费问题。

seed的博客 197

Oracle中 HWM与数据库性能的探讨

链接:http://www.eygle.com/archives/2011/11/oracle_hwm_tuning.html 本文讨论的是oracle中关于table的HWM的内容,主要包括这样几个内容: 1.    什么是HWM? 2.    HWM是如何移动的。 3.    HWM对于性能的影响 4.    何时应该降低以及如何降低HWM 5.    其他一些影响HWM的操作 ...

weixin_34032827的博客 123

Oracle 的SHRINK 操作实现原理

Oracle 的SHRINK操作是一种在线重组表空间的技术,它可以在不重建表的情况下减少高水位线(HWM)并回收空闲空间。

文牧之的博客 1401
上一篇: Oracle中Cluster Table的使用
下一篇: CTAS和insert append的一个测试
dlinger
博客等级 码龄24年 2粉丝 18原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值