【问题标题】:Oracle snapshot too old and DBLINKOracle 快照太旧和 DBLINK
【发布时间】:2015-07-27 11:14:00
【问题描述】:

我来了

ORA-01555:快照太旧:回滚段号 234 和名称 "_SYSSMU234_1378897836$"

在oracle数据库中使用dblink选择一些数据时太小了。

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

有没有办法覆盖这个错误?
我有一种情况需要定期获取这些数据。

【问题讨论】:

    标签: sql oracle oracle11g dblink


    【解决方案1】:

    您需要在完成检索数据后关闭游标。您的问题是您将光标打开太久。有很多原因: - 客户端的逐行处理。将永远完成。 (数据库正在等待向客户端传递数据) 暗示。 arraysize (fetchsize) 设置得太低。 100-200 的数组大小可以加快速度。 - “rmotab”后面隐藏着一个漂亮的视图,需要> 30分钟才能返回,它正在燃烧cpu(逻辑读取)

    基本上,您有以下选择:

    1. 加快您的进程。 (更快地结束光标(查询))。批量加载。
    2. 安排在没有 DML 进行时发生该过程。
    3. 实体化视图(预加载数据(只读))
    4. 增加 UNDO。

    【讨论】:

      猜你喜欢
      • 2012-08-11
      • 2020-07-05
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多