Bootstrap

使用Oracle自带工具实现数据库备份与迁移(四)

才疏学浅,欢迎批评指正


关于数据泵的相关语法可见
https://blog.csdn.net/xinxindiandeng9789/article/details/88198204

1.使用Oracle的数据泵(expdp/impdp)实现数据库的备份与迁移实战总结

场景: 需要将源库中的数据迁移到目标库中,事前已将源库的库表结构(包括表的约束、表的外键等)和一些小表导入目标库中,几张大表需要使用数据泵
在这里插入图片描述
1.1从源库中迁出数据(在源库的数据库服务器上操作或者远程操作)

  • 给sourceUSER用户申请使用expdp的权限(exp_full_database)
    grant exp_full_database to sourceUSER;
    给sourceUSER用户授予exp_full_database权限
    grant exp_full_database to 用户名;

  • 创建导出文件目录
    create or replace directory expdp_dir as‘H:\datadmp’;
    创建目录expdp_dir
    create or replace directory 目录名 as‘文件所在位置’;

    grant read, write on directory expdp_dir to sourceUSER;
    授予 sourceUSER用户对 expdp_dir目录的读写权限
    grant read, write on directory 目录名 to 用户名;

  • 将数据从源库sourceDB中迁出
    expdp sourceUSER/sourecePASS tables=sourceUSER.table1 directory=expdp_dir dumpfile=expdpdata content=ALL JOB_NAME= expdptable1 logfile = table1expdp.log
    将sourceUSER用户的table1表导出(包括表结构、表约束、外键),数据文件为expdpdata,数据文件存放在expdp_dir 下,作业名指定为expdptable1,日志文件为table1expdp.log
    expdp 用户名/密码 tables=用户名.表名 directory=目录名 dumpfile=导出文件名称 content=ALL JOB_NAME= 作业名 logfile = 日志文件

1.2将导出的数据文件存入外部存储设备,至此完成了数据库的备份,若需要迁库,则继续1.3

1.3将数据导入目标库中(在目标库的数据库服务器上操作或者远程操作)

  • 给targetUSER用户申请使用impdp的权限

;