【问题标题】:SQLLDR and skip_unusable_indexesSQLLDR 和 skip_unusable_indexes
【发布时间】:2009-12-02 15:16:18
【问题描述】:

我有一个带有唯一索引的表,我需要将 800,000 行加载到该表中。

我更改了索引并使其无法使用。 我将 'options( rows=4000, bindsize=512000, skip_unusable_indexes=TRUE )' 添加到我的控制文件中。

我仍然收到表单错误:

ORA-01502: index 'x_Unique' or partition of such index is in unusable state

欢迎提出建议

【问题讨论】:

    标签: oracle sql-loader


    【解决方案1】:

    您不能使用唯一索引来做到这一点。见SKIP_UNUSABLE_INDEXES

    但是,不允许使用唯一且标记为 IU 的索引 跳过索引维护。此规则由 DML 操作强制执行, 并通过直接路径加载强制与 DML 保持一致。

    您可能应该删除索引并在之后重新创建它。

    【讨论】:

    • 感谢错过了这个小花絮,加载后会在重新添加时下降
    【解决方案2】:

    我认为您可以用非唯一索引替换唯一索引,然后在同一列上放置唯一约束。然后可以在加载之前禁用约束并使索引不可用,然后重建索引并在之后重新启用约束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多