[Oracle]跨越 DBLINK 访问表时,数据缓存在何处的Data Buffer 中?

简介:
结论是存储在 remote 端,这其实也很好理解。在远端能高效率地计算,当然应当在远端完成缓存和检索。

■ Before query execution via DBLINK:

===========
DBLINK destination (remote side):

conn u2 / u2
create table tab002 as select * from dba_objects;

shu immediate
startup

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U 2'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

A record was not selected.

===========
Local side:

conn u3 / u3

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U 2'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

A record was not selected.

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U3'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

A record was not selected.

■ Query execution via DBLINK:

SQL> select count (*) from tab002 @ dbk;

COUNT (*)
----------
   69263

conn u3 / u3

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U 2'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

A record was not selected. <<<<<<<<<<< Cache has no related information

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U3'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

A record was not selected. <<<<<<<<<<< Cache has no related information

===========
DBLINK destination (remote side):

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U 2'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

OWNER
-------------------------------------------------------------------- ------------------------------
OBJECT_NAME
-------------------------------------------------------------------- ------------------------------
OBJECT_TYPE BUFFER_POOL
-------------------------------------------------------------------- ------- ---------------------
 BUFFERS
----------
U2
TAB 002
TABLE DEFAULT
    2042 <<<<<<<<<<<<<<<<<< data got into the cache.

select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
 from dba_objects o, v $ bh b, dba_segments s
 where b.objd = o.data_object_id
 and o.owner = 'U3'
 and o.object_name = s.segment_name
 and o.object_type = s.segment_type
 group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
 order by buffers;

A record was not selected.






本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/7575226.html,如需转载请自行联系原作者

目录
相关文章
|
2天前
|
SQL 数据采集 Oracle
实时计算 Flink版产品使用问题之如何读取oracle中的blob类型的数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之在进行Oracle数据库的全量同步时,只同步了一条数据而源表实际上包含多条数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3天前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用问题之同步oracle表时,任务不报错,但是读不到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
12天前
|
存储 缓存 NoSQL
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
|
13天前
|
Oracle 关系型数据库 数据库
oracle误删除数据的恢复方法
oracle误删除数据的恢复方法
|
13天前
|
缓存 NoSQL 中间件
应对数据库不断膨胀的数据:缓存和队列中间件
【6月更文挑战第5天】该文探讨了优化数据库使用以提升应用系统性能的策略。文中建议利用Redis缓存和MQ消息队列作为辅助工具,以进一步优化性能和减少资源消耗。
16 2
应对数据库不断膨胀的数据:缓存和队列中间件
|
26天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之是否支持多并行度采集Oracle全量数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
26天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
26天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之如何SQL同步数据到Oracle数据库中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。