分析Oracle表数据库高水位及shrink操作

技术分析Oracle表数据库高水位及shrink操作这篇文章主要介绍“分析Oracle表数据库高水位及shrink操作”,在日常操作中,相信很多人在分析Oracle表数据库高水位及shrink操作问题上存在疑惑,小编查阅

本文主要介绍“Oracle表数据库的高水位分析和收缩操作”。在日常操作中,我相信很多人对分析Oracle表数据库的高水位和收缩操作有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮你解答“Oracle表数据库的高水位分析和收缩操作”的疑惑!接下来,请和边肖一起学习!

细分市场收缩分为两个阶段:

1.compact):通过一系列插入和删除操作,尽可能将数据排列在段的前面。

在这个过程中,需要向表中添加RX锁,即只锁定需要移动的行。由于rowid的更改,需要启用行移动。

同时,应该禁用基于rowid的触发器。这个过程对业务影响不大。

2.HWM调整:第二阶段是调整HWM的位置,释放空闲的数据块。这个过程需要对表进行X锁,这将阻塞表上的所有DML语句。

在一个特别繁忙的行业中

该系统可能会产生相对较大的影响。收缩空间语句在两个阶段都执行。收缩空间压缩只执行第一阶段。

如果系统业务繁忙,可以先使用收缩空间紧凑来重新组织数据,然后在业务不繁忙时使用收缩空间来减少HWM来释放空闲数据块。

收缩必须打开线迁移功能。

alter table table_name启用行移动;

注意:alter table XXX语句启用行移动将使对象(如存储过程、包、视图等。)表示引用表XXX无效。执行后,最好运行utlrp.sql来编译无效对象。

语法:

alter table table_name收缩空间[null | compact | cascade];

alter table table_name收缩空间compcat

收缩表相当于强化块内数据,但会保持高水位线;

alter table table _ name收缩空间;

缩小桌子,降低高水位线;

alter table table _ name收缩空间级联;

缩小表格,降低高水位线,缩小相关指标。

alter index idxname收缩空间;收回索引

1.普通的表Sql脚本,改变脚本会生成相应的语句。

选择“alter table”| | table _ name | |”启用行移动;| | chr(10)| |“alter table”| | table _ name | |“收缩空间;来自user_tables的| | chr(10);

选择“alter index”| | index _ name | |”收缩空间;来自user_indexes的| | chr(10);

2.ORA-10631在收缩空间中处理分区表时出错。收缩空间有一些限制。在表上构建函数索引(包括全文索引)将会失败。

Sql脚本,改变脚本会生成相应的语句。

选择“更改表”||table_name||“启用行移动”| | chr(10)| |“alter table”| | table _ name | |“收缩空间;”||chr(10)来自user_tables,其中;

选择“alter index ”| | index _ name | |“收缩空间”||chr(10)来自user_indexes,其中唯一性=' NONUNIQUE

选择“更改表”||段_名称||“修改子分区”| |分区_名称| |“收缩空间;”||chr(10)来自user_segments,其中segment _ type=“TABLE SUBPARTITION”;

此外,经常操作的表可以缓存在内存中。oracle的db_buffer_pool由三部分组成:

buffer _ pool _ defualt

缓冲池保留

缓冲池回收

如果你想在内存中钉桌子,那就在保留区钉桌子。

相关命令有:

更改表格….存储(buffer _ pool keep);

该命令指示如果表被缓存,则该表被缓存在保留区域中。

您可以使用以下语句:

从dba_tables中选择table_name,其中buffer _ pool=' KEEP

更改表的查询放在保留区域。但这并不意味着表已经被缓存。

以下语句缓存该表:

更改表格…缓存;

可以通过

从dba_ tables中选择table_name,其中rtrim(缓存)='Y '

查询表已被缓存。

添加到保留区域的表并不意味着它不能从内存中移除,但它不容易从内存中移除。

您也可以手动移除内存。命令如下:

改变桌子…不疼;

至此,“Oracle表数据库高水位和收缩操作分析”的研究结束,希望能解决大家的疑惑。理论和实践的结合可以更好的帮助大家学习,所以赶紧试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/71161.html

(0)

相关推荐

  • socket编程中常用协议有哪些

    技术socket编程中常用协议有哪些这篇文章给大家分享的是有关socket编程中常用协议有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.ip IP协议是将多个包交换网络连接起来,它在源

    攻略 2021年11月17日
  • 如何理解Go错误处理之用panic取代rr != nil的模式

    技术如何理解Go错误处理之用panic取代rr != nil的模式这篇文章主要介绍“如何理解Go错误处理之用panic取代rr != nil的模式”,在日常操作中,相信很多人在如何理解Go错误处理之用panic取代rr

    攻略 2021年10月21日
  • Redis缓存的淘汰策略是什么

    技术Redis缓存的淘汰策略是什么这篇文章主要讲解了“Redis缓存的淘汰策略是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis缓存的淘汰策略是什么”吧!Re

    攻略 2021年10月27日
  • 如何使用OpenCV+Python去除手机拍摄文本底色

    技术如何使用OpenCV+Python去除手机拍摄文本底色本篇文章为大家展示了如何使用OpenCV+Python去除手机拍摄文本底色,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

    攻略 2021年11月2日
  • lte网络注册流程,3)

    技术lte网络注册流程,3) lte网络注册流程(3)
    lte网络注册流程(3)
    本文介绍下下lte网络注册的附着和建立默认承载的过程之中消息分析.
    1.attach request消息中主要包括:EP

    礼包 2021年11月25日
  • 如何使用JavaScript定义自己的ajax函数

    技术如何使用JavaScript定义自己的ajax函数这篇文章将为大家详细讲解有关如何使用JavaScript定义自己的ajax函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。由于用

    攻略 2021年11月24日