ORACLE中的行迁移/行链接

本文详细介绍了Oracle数据库中行链接和行迁移的概念,以及它们对性能的影响。通过statspack报告可以检测到行迁移事件,并通过查询数据字典定位到受影响的表。处理行迁移/行链接的方法包括exp/imp、ALTER TABLE MOVE和使用utlchain.sql,其中utlchain.sql在保持安全性的前提下提供较快的速度。文章提供了使用utlchain.sql处理行迁移的步骤,包括创建临时表、分析并转移迁移行、删除和重新插入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORACLE中的行迁移/行链接

——使用utlchain.sql解决行迁移/行链接

 

 

一. 什么是行链接和行迁移

1.   行链接

当一条记录太大,一个数据块无法将其存储时,Oracle就会将其存储在相链接的数据块中。如果一条记录中含有数据类型如:LONG、LONG RAW、LOB,行链接则无法避免。

2.   行迁移

当一个数据块已满,而一条记录在更新后长度增加了,或者表上新增加了字段,这时Oracle就会将整个记录迁移到一个新的数据块,原先的位置存放指向新位置的指针,这就是行迁移。记录的ROWID在行迁移之后保持不变

 

二. 行迁移对数据库性能的影响

上述情况对数据库的性能是有一定影响的。系统在访问一条记录时,正常情况只需要访问1个数据块,但是当出现行链接/行迁移后,就需要访问至少2个数据块,增大了至少1倍的系统开销。

 

三. 如何找出发生行迁移/行链接的表

1. 从statspack报告中获取单位时间内发生行迁移/行链接次数的统计

Instance Activity Stats

Statistic                                      Total     per Second    per Trans

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值