Oracle_数据泵

Oracle数据泵导入、导出数据

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 Auser;

    ​ "Auser"为数据库用户名

  5. 导入导出操作授权,输入命令:grant exp_full_database,imp_full_database to Auser;

  6. 退出,输入命令:exit;

  7. 数据导出,执行命令:expdp Auser/123456@orcl schemas=Auser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

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

impdp导入

  1. 如在另一台电脑上操作,执行以上导出操作的1-5步。

  2. 将从A电脑中E:\ora\data目录下的.dmp数据泵导出文件拷贝至B电脑创建的目录(E:\ora\data)中

  3. 退出,输入命令:exit;

  4. 数据导入,执行命令:impdp Buser/123456@192.168.139.110/orcl REMAP_SCHEMA = Auser:Buser table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log

    impdp [用户名]/[密码]@[服务名]
    REMAP_SCHEMA [源用户名1]:[目标用户名2]
    directory [目录名]
    dumpfile [.dmp文件名]
    logfile [.log文件名]

    table_exists_action:
    skip 是如果已存在表,则跳过并处理下一个对象;
    append 是为表增加数据;
    truncate 是截断表,然后为其增加新数据;
    replace 是删除已存在表,重新建表并追加数据;

完整示例

impdp <用户名>/<密码>@<本机IP>/orcl REMAP_SCHEMA = <源用户名>:<目标用户名> table_exists_action = replace TRANSFORM=segment_attributes:n directory=data_dir dumpfile=<导入文件名>.DMP logfile=<导入文件名>.log

posted @ 2020-04-23 19:39  水寒Blogs  阅读(221)  评论(0编辑  收藏  举报