博客
关于我
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/

    你可能感兴趣的文章
    Pandas DataFrame中删除列级的方法链接解决方案
    查看>>
    Pandas DataFrame中的列从浮点数输出到货币(负值)
    查看>>
    Pandas DataFrame中的列从浮点数输出到货币(负值)
    查看>>
    Pandas DataFrame多索引透视表-删除空头和轴行
    查看>>
    pandas DataFrame的一些操作
    查看>>
    Pandas Dataframe的日志文件
    查看>>
    Pandas df.iterrows() 并行化
    查看>>
    Pandas drop_duplicates 方法不适用于包含列表的数据框
    查看>>
    pandas groupby 和过滤器
    查看>>
    pandas GROUPBY+变换和多列
    查看>>
    pandas Groupby:创建两列的Groupby时,如何按正确的顺序对工作日进行排序?
    查看>>
    Pandas matplotlib 无法显示中文
    查看>>
    pandas PIVOT_TABLE保持索引
    查看>>
    Pandas Plots:周末的单独颜色,x 轴上漂亮的打印时间
    查看>>
    pandas to_latex() 转义数学模式
    查看>>
    Pandas | 频数统计很简单,但这5 种技巧你使用过吗?
    查看>>
    Pandas 中文官档 ~ 基础用法4
    查看>>
    pandas 中的 for 循环真的很糟糕吗?我什么时候应该关心?
    查看>>
    Pandas 中的多索引旋转
    查看>>
    Pandas 中的日期范围
    查看>>