【问题标题】:Oracle DBMS_REDEFINITION package not executing for non-partitioned tableOracle DBMS_REDEFINITION 包未对非分区表执行
【发布时间】:2020-05-07 06:50:46
【问题描述】:

我有一个名为 BKP_COST_EVENT 的 30GB 表,我想对它进行分区。我创建了另一个类似于 BKP_COST_EVENT_PR 的带有分区的表。 当我尝试运行此查询时,它花费了太多时间并且网络断开了。 然后我再次尝试运行此查询,但即使在 1 小时后也出现以下错误。 任何人都可以帮助解决这个问题,以便我可以对我的原始表进行分区。

清除对象后,当我再次运行此查询时,我得到了

从第 1 行开始的错误命令 - BEGIN DBMS_REDEFINITION.START_REDEF_TABLE('TBCAM','BKP_COST_EVENT','BKP_COST_EVENT_PR');结尾; 错误报告 - 没有更多数据可以从套接字读取

【问题讨论】:

  • 请使用文字代替图片。例如,您问题中的错误号 ORA-23539 很能说明问题,但其他用户不会发现。详情请见here
  • 确定..会编辑它
  • @Andreas...你的建议奏效了...我不是来自数据库背景...所以为天真道歉..现在它给出了这个错误 - 错误从第 1 行开始 - BEGIN DBMS_REDEFINITION.START_REDEF_TABLE('TBCAM','BKP_COST_EVENT','BKP_COST_EVENT_PR');结尾;错误报告 - 没有更多数据可以从套接字读取
  • 天哪!顺便说一句,您不是来自数据库背景并且仍在尝试重新定义 30 GB 表?我知道专业的 DBA 会非常小心地处理此类任务。
  • 离线可以吗? IE。重命名表,创建新的分区表,将数据从旧的复制到新的?

标签: oracle oracle12c


【解决方案1】:

如果网络断开,很可能是重新定义仍在运行。请查看状态:

SELECT * 
  FROM DBA_REDEFINITION_STATUS 
 WHERE base_table_owner = 'TBCAM'
   AND base_table_name  = 'BKP_COST_EVENT';

或者看看V$ONLINE_REDEF

【讨论】:

  • 有 2 行,一行在说 'In Progress' 和另一个 'Failure' 。但是在 sql Developer 中它给出了一个错误'没有更多数据可以从套接字读取'..接下来我应该做什么..继续检查表...?
  • 此时我将与 DBA 交谈。 “没有更多数据可以从套接字读取”通常很严重。例如,请参阅here
  • 当然..我会和我们的 DBA 交流
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 1970-01-01
相关资源
最近更新 更多