• oracle impdp 导入


    用imp语法导入dmp文件:

    imp mdm/mdm@SYSWARE  file= ‪E:Product9y5s5.MDM20161024.DMP  full=y

    报错 IMP-00002:无法打开 *.dmp 进行读取

    反复检查语法无误,经过查找资料,怀疑dmp是用expdp导出的文件,必须要用impdp导入

    创建路径lsj 并给mdm用户授权

    --导入时必须先创建文件夹路径 

    create or replace directory lsj as 'E:dmp';

    --给使用的用户授权(读写权限) 

    grant read,write on directory lsj to mdm;

    --查看目录及权限  SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;  

    将dmp文件 防到定义的directory中

    impdp mdm/mdm@SYSWARE  schemas=sysware directory=lsj file=20161024.DMP 

    结果报错:ORA-39165:未找到方案 SYSWARE;

     因为库文件是同事传过来的,我怀疑schemas 的表空间名不对,然后联系更改!

    (schemas的表空间必须是在 dmp文件中包含的才行)

    原来给的dmp中表空间为p2m_mdm_20161012 更改后执行

    impdp mdm/mdm@SYSWARE  schemas=p2m_mdm_20161012 directory=lsj file=20161024.DMP 

    结果报错:

    ora-31655:尚未为作业选择数据或数据对象

    ora-39154:外部方案中的对象已从导入中删除

     :

     原来是要导入的对象表空间跟现在的表空间不匹配

    除本地建立一个同名为p2m_mdm_20161012  的表空间;即可解决!

    那怎有没有办法不建立同名表空间导入呢?当然可以需要更换参数:用remap_schema 替换 schemas,然后执行

    impdp mdm/mdm@SYSWARE  remap_schema=p2m_mdm_20161012:mdm directory=lsj dumpfile=20161024.DMP 

    结果报错

    ora-39083:对象类型user创建失败,出现错误;

    ora-31625:必须有方案system才能导入此对象,但此方案不可访问

    ora-01031:权限不足

    权限不足,用DBA用户登录数据库,给导入库的用户先授权

    grant connect,resource to mdm;


    grant create session,dba to mdm;

     再执行  impdp mdm/mdm@SYSWARE  directory=lsj file=20161024.DMP  REMAP_SCHEMA=p2m_mdm_20161012:mdm

     如果不同表空间 必须建立  相同的表空间名 已经实例名相同的表空间放才能成功!

  • 相关阅读:
    写在寒假
    Docker安装Redis(两种方式)
    JVM类加载机制
    RabbitMQ学习
    MySQL索引详解
    Java内存区域
    Window10下的Docker Desktop安装(保姆级教程)
    JVM垃圾回收
    力扣Hot100(目前进度89/100)
    C# 发送邮件实例
  • 原文地址:https://www.cnblogs.com/lishuangjiang/p/6219512.html
Copyright © 2020-2023  润新知