SQLLDR 和skip_unusable_indexes
我有一个带有唯一索引的表,需要将 800,000 行加载到其中。
我更改了索引并使其无法使用。 我将“选项(行= 4000,bindsize = 512000,skip_unusable_indexes = TRUE)”添加到我的控制文件中。
我仍然收到以下形式的错误:
ORA-01502: index 'x_Unique' or partition of such index is in unusable state
欢迎建议
I have a table with a Unique Index that I need to load 800,000 rows into.
I altered the index and made it unuseable.
I added 'options( rows=4000, bindsize=512000, skip_unusable_indexes=TRUE )' to my control file.
I'm still getting errors of the form:
ORA-01502: index 'x_Unique' or partition of such index is in unusable state
Suggestions welcome
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无法使用唯一索引来做到这一点。请参阅SKIP_UNUSABLE_INDEXES:
您可能应该删除索引并在之后重新创建它。
You cannot do it with unique indexes. See SKIP_UNUSABLE_INDEXES:
You probably should drop your index and recreate it after.
我认为您可以用非唯一索引替换唯一索引,然后在同一列上放置唯一约束。然后可以在加载之前禁用约束并使索引变得不可用,然后重建索引并在之后重新启用约束。
I think that you could replace the unique index with a non-unique index and then place a unique constraint on the same column(s). Then the constraint can be disabled and the index made unusable before the load, then the index rebuilt and the constraint re-enabled afterwards.