Oracle快照太旧和DBLINK

时间:2015-05-15 13:42:09

标签: sql oracle oracle11g dblink

我正在

  

ORA-01555:快照太旧:使用名称回滚段号234   “_SYSSMU234_1378897836 $”

在oracle数据库中使用dblink选择一些数据时,

太小了。

select a,b from localtab a
union
select a,b from rmottab@remotedb;

有没有办法覆盖这个错误?
我有条件定期获取这些数据。

1 个答案:

答案 0 :(得分:1)

完成检索数据后,您需要关闭光标。你的问题是你把光标打开太久了。有很多原因: - 客户端的逐行处理。将永远完成。 (数据库正在等待向客户端传送数据) 暗示。 arraysize(fetchsize)设置得太低。 100-200的数组大小可以加快速度。 - 隐藏在" rmotab"背后的美景。这需要>返回30分钟正在燃烧cpu(逻辑读取)

基本上,您有以下选择:

  1. 加快您的流程。 (更快地结束光标(查询))。批量装载。
  2. 安排在没有DML的情况下进行此过程。
  3. 物化视图(预加载数据(只读))
  4. 增加UNDO。