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

    你可能感兴趣的文章
    Numpy:条件总和
    查看>>
    numpy、cv2等操作图片基本操作
    查看>>
    numpy判断对应位置是否相等,all、any的使用
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>
    Numpy矩阵与通用函数
    查看>>
    numpy绘制热力图
    查看>>
    numpy转PIL 报错TypeError: Cannot handle this data type
    查看>>
    Nutch + solr 这个配合不错哦
    查看>>
    NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
    查看>>
    NutzWk 5.1.5 发布,Java 微服务分布式开发框架
    查看>>
    NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
    查看>>
    NuxtJS 接口转发详解:Nitro 的用法与注意事项
    查看>>
    NVelocity标签使用详解
    查看>>
    Nvidia Cudatoolkit 与 Conda Cudatoolkit
    查看>>
    NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
    查看>>
    NVIDIA-cuda-cudnn下载地址
    查看>>
    nvidia-htop 使用教程
    查看>>
    nvidia-smi 参数详解
    查看>>