博客
关于我
Oracle-impdp 按照用户导出,导入后发现存在部分索引不存在,缺失索引是关联其它用户创建的?
阅读量:445 次
发布时间:2019-03-06

本文共 962 字,大约阅读时间需要 3 分钟。

在使用Oracle数据泵(impdp)进行数据导出和导入时,用户可能会遇到部分索引缺失的问题,特别是当这些索引是由其他用户创建的。以下是对此问题的详细分析和解决方案:

  • 问题背景

    • 用户在进行数据泵导出(expdp)和导入(impdp)操作时,发现导入的表中存在部分索引缺失。
    • 这些缺失的索引是由其他用户(如SYS)创建的,而不是导入用户自己创建的。
  • 测试步骤分析

    • 测试环境为11G单实例,用户创建了表system.test1system.test2,并为test_usr用户授予了select权限。
    • 创建了两个索引:test_usr.ind_object_idtest_usr.ind_object_id2,分别在test1test2表中。
    • 使用expdp导出数据时,指定了INCLUDE=index选项,以确保索引被导出。
    • 使用impdp导入时,同样指定了INCLUDE=index选项,以确保索引被正确导入。
  • 问题原因分析

    • 导出选项的问题:虽然expdp中使用了INCLUDE=index选项,但这可能不足以确保所有索引都被正确导出,尤其是当索引是由其他用户创建时。
    • 导入选项的问题:在impdp导入时,如果没有正确指定INCLUDE=index,或者没有处理表空间和权限,可能会导致索引无法被正确创建。
    • 表空间和权限问题:确保导入时的表空间和权限设置正确,以允许索引的创建。
  • 解决方案

    • 正确配置导入选项:在impdp导入时,确保使用INCLUDE=index选项,以处理所有索引。
    • 检查表空间和权限:确认导入时的表空间和权限设置正确,避免索引创建时出现权限不足的问题。
    • 验证导出数据完整性:确保在expdp导出时,所有相关的DML和DDL语句都被正确导出,尤其是索引的创建语句。
    • 处理系统用户的索引:如果索引是由系统用户创建的,确保在导入时系统用户有足够的权限来创建这些索引。
  • 优化建议

    • impdp导入时,使用``选项来确保所有相关的表和索引都被正确导入。
    • 定期进行测试,验证导入后的数据完整性,尤其是索引是否存在。
    • 检查和更新表空间的大小和参数,确保索引能够被正确创建和使用。
  • 通过以上分析和解决方案,可以有效地解决在使用Oracle数据泵导入时索引缺失的问题,确保所有必要的索引都被正确导入和创建。

    转载地址:http://colyz.baihongyu.com/

    你可能感兴趣的文章
    Qt笔记——SQLite初探QSqlDatabase QSqlQuery
    查看>>
    POJ-1163-The Triangle
    查看>>
    POJ-Fence Repair 哈夫曼树
    查看>>
    poj1061 - 同余方程,二元一次不定方程
    查看>>
    Qt笔记——SQLite再探
    查看>>
    poj1068Parencodings
    查看>>
    poj1182(带权并查集)
    查看>>
    POJ1182(带权并查集)
    查看>>
    Qt笔记——Qt初探、PyQt5和Qt5
    查看>>
    poj1190生日蛋糕
    查看>>
    POJ1218 HDU1337 ZOJ1350 UVALive2557 THE DRUNK JAILER
    查看>>
    poj1222 EXTENDED LIGHTS OUT(gauss)
    查看>>
    POJ1240 m叉树
    查看>>
    Poj1328--Radar Installation(区间选点)
    查看>>
    POJ1384Piggy-Bank(DP)
    查看>>
    POJ1417 True Liars —— 并查集 + DP
    查看>>
    Poj1459 Power Network 预流推进
    查看>>
    POJ1502(MPI Maelstrom)
    查看>>
    poj1568 Find the Winning Move[极大极小搜索+alpha-beta剪枝]
    查看>>
    poj1730 - Perfect Pth Powers(完全平方数)(水题)
    查看>>