问题描述
我们想知道是否有任何进程正在从表中的特定分区中选择数据。我们希望知道这一点,以便可以清除旧分区,但是由于表非常旧,我们不确定是否有任何遗留进程从这些分区中选择任何数据。
专家解答
您可以查询v$segment_statistics以查看自启动以来该分区是否有任何活动,或者密切注意地物的增量,以查看活动是否是最近的活动。
如果您想查看是否有东西“现在”访问这些分区,如果您获得了活动会话历史记录的许可,您可以查询与I/O相关的事件,其中file#, Block#属于所需的分区。
查询dba_extents非常耗费资源,因此最好只为相关分区获取一个副本,例如
如果您没有获得ash的许可,您可以对v$sage_wait_histore执行同样的操作,但您需要更积极地进行采样。
希望这个能帮上忙。
如果您想查看是否有东西“现在”访问这些分区,如果您获得了活动会话历史记录的许可,您可以查询与I/O相关的事件,其中file#, Block#属于所需的分区。
查询dba_extents非常耗费资源,因此最好只为相关分区获取一个副本,例如
create table partition_extents as
select file_id, block_id, blocks
from dba_extents
where owner = '...'
and segment_name = '...'
and partition_name = '...';
select a.*
from v$active_session_history a,
partition_extents p
where a.p1 = p.file_Id
and a.p2 between p.block_id and p.block_id+p.blocks-1
and a.wait_class = 'User I/O';
如果您没有获得ash的许可,您可以对v$sage_wait_histore执行同样的操作,但您需要更积极地进行采样。
希望这个能帮上忙。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




