Oracle使用数据泵导入/导出数据(expdp/impdp)

时间:2021-06-14 14:46:46

Oracle使用数据泵导入/导出数据(expdp/impdp)

  • A电脑上的操作(expdp数据导出)

    1. 运行cmd;
    2. 登录数据库,输入命令:sqlplus

      使用管理员角色登录需要在用户名后加“ as sysdba” 例如:sys as sysdba;

    3. 创建目录路径:输入命令:create directory data_dir as 'E:\ora\data' ;

      data_dir为路径名称,可自命名,E:\ora\data为数据库导出文件存放路径(路径必须存在)
      使用命令:select * from dba_directories可查询用户创建目录

    4. 为oracle用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to dbuser;

      dbuser为数据库用户名(与第5步中相同)

    5. 导入导出操作授权,输入命令:grant exp_full_database,imp_full_database to dbuser;
    6. 退出,输入命令:exit;;
    7. 数据导出,执行命令:expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

      expdp [为用户名]/[密码]@[服务名]
      schemas=[为用户名]
      dumpfile=[导出数据库文件(可自命名)]
      directory=[目录名]
      logfile=[日志文件文件名(可自命名)]
      注意:命令结束不需要加“;”

  • B电脑上的操作(impdp 数据导入)

    1. 运行cmd;
    2. 登录数据库,输入命令:sqlplus

      使用管理员角色登录需要在用户名后加“ as sysdba” 例如:sys as sysdba

    3. 创建目录路径:输入命令:create directory data_dir as 'E:\ora\data' ;

      data_dir为路径名称,可自命名,E:\ora\data为数据库导出文件存放路径(路径必须存在)
      使用命令:select * from dba_directories可查询用户创建目录

    4. 为oracle用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to dbuser;

      dbuser为数据库用户名(与第5步中相同)

    5. 导入导出操作授权,输入命令:grant exp_full_database,imp_full_database to dbuser;
    6. 将从A电脑中E:\ora\data目录下的.dmp数据泵导出文件拷贝至B电脑创建的目录(E:\ora\data)中
    7. 退出,输入命令:exit;
    8. 数据导入,执行命令:impdp user/123456@orcl REMAP_SCHEMA = dbuser:user table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log

      impdp [用户名]/[密码]@[服务名]
      REMAP_SCHEMA=[源用户名1]:[目标用户名2]
      table_exists_action=replace /存在的表动作(覆盖)/
      directory=[目录名]
      dumpfile=[.dmp文件名]
      logfile=[.log文件名]