暂无图片
Oracle 释放空间和降低高水位有什么区别?
我来答
分享
暂无图片 匿名用户
Oracle 释放空间和降低高水位有什么区别?

Oracle 释放空间和降低高水位有什么区别?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
like052

Oracle 释放空间和降低高水位都是用于释放表或索引所占用的空间的操作,但它们的目的和方式有所不同。

释放空间的目的是将不再需要的空间返回给操作系统,以便其他应用程序可以使用这些空间。Oracle 中使用的是 ALTER TABLE ... DEALLOCATE UNUSED 或 ALTER INDEX ... DEALLOCATE UNUSED 语句来释放空间。这些语句会标记表或索引中已经被删除的数据块为“未使用”,然后将这些未使用的数据块释放给操作系统。这样可以减小表或索引所占用的磁盘空间,但不会改变表或索引的高水位(即已分配但未使用的空间)。

降低高水位的目的是将表或索引的高水位降低到实际使用的数据块以上,以减小表或索引所占用的空间。Oracle 中使用的是 ALTER TABLE ... SHRINK SPACE 或 ALTER INDEX ... SHRINK SPACE 语句来降低高水位。这些语句会将表或索引中未使用的数据块移动到表或索引的末尾,并释放这些数据块。这样可以减小表或索引所占用的磁盘空间,并将高水位降低到实际使用的数据块以上。但是,这些操作会导致表或索引的重新组织,可能会影响查询性能,因此需要谨慎使用。

综上所述,释放空间和降低高水位都是释放表或索引所占用的空间的操作,但它们的目的和方式不同,需要根据实际情况选择使用。

暂无图片 评论
暂无图片 有用 4
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
ORACLE 用IMP 命令 导入DUMP文件,A环境的用户 使用的是 默认的USER表空间, 导入到B环境的用户下时, 报无法操作 USER表空间错误,但B环境的用户是有自己默认表空间的?
回答 1
已采纳
先查下B环境,导入用户的默认表空间,然后impdp时用remaptablespace参数转换下表空间;
昨天有人和我说如果一个对象的绝大多数块都在内存的时候 如果执行全部扫描 会走顺序读,这个你们模拟出来过吗?你们有没有听过这种说法?这玩意我没测出来
回答 2
全表扫描不是走离散读吗
奋斗的方向
回答 5
明显走错片场了
EXP/IMP和EXPDB/IMPDB导出导入的时候,需要先建表空间和用户吗?
回答 2
使用impdp如果没有用户会自动创建一个用户,但没有表空间则会报错,除非remaptablespace;REMAPTABLESPACE:Tablespaceobjectsareremappedtoan
怎么查看过期的分区,分区是基于事件来分的。
回答 3
查HIGHVALUEselecttablename,PARTITIONNAME,PARTITIONPOSITION,highvaluefromdbatabpartitions;selecttablen
有没有oracle的日志分析工具?
回答 1
已采纳
Logminer Oracle官方提供的一个日志分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的
缺少oci.dll文件
回答 4
oci版本不对
在复习ocp的过程中。有什么好资料么?
回答 1
已采纳
官方文档
2节点RAC实例的SGA中有没有可能存在相同的数据块?
回答 1
可以存在的,当两个实例都只读不修改时,v$bh视图可以查询在不同实例,相同数据库状态为scur(sharedcurrent)时,不同实例内存可以存在相同数据块,但是xcur(exclusivecurr
在一台机器,安装多个oracle_home,每次都是新建用户,解压安装包操作,可以把之前的 oracle home ,复制一份吗?
回答 1
已采纳
同一台机器为什么要安装多个oraclehome呢?如果是异机上,建议还是重新安装oracle软件。