通过expdp/impdp进行oracle数据库的备份恢复详细指导

假定导出oracle数据库home目录为/opt/oracle,数据库用户为exp_user/test,导入用户为imp_user/test,给出如下样例,具体使用时根据实际情况修改路径及用户名/密码。

一、准备工作:
1.新建存放备份/恢复文件的目录
mkdir -p /opt/oracle/dump
rm -rf /opt/oracle/dump/*
2. 赋权限
sqlplus "/as sysdba" <<EOF
create or replace directory dump_dir as '/opt/oracle/dump';
grant read,write on directory dump_dir to exp_user;
exit;
EOF

二、.备份命令
1.新建存放备份文件的目录
mkdir -p /opt/oracle/dump
rm -rf /opt/oracle/dump/*
2. 赋权限
sqlplus "/as sysdba" <<EOF
create or replace directory dump_dir as '/opt/oracle/dump';
grant read,write on directory dump_dir to exp_user;
exit;
EOF
3.执行备份
expdp exp_user/test directory=dump_dir dumpfile=exp.pdmp

三、.恢复命令
1.新建存放备份/恢复文件的目录
mkdir -p /opt/oracle/dump
rm -rf /opt/oracle/dump/*
2. 赋权限
sqlplus "/as sysdba" <<EOF
create or replace directory dump_dir as '/opt/oracle/dump';
grant read,write on directory dump_dir to imp_user;
exit;
EOF
3.执行恢复
impdp imp_user/test remap_schema=exp_user:imp_user directory=dump_dir dumpfile=exp.pdmp
注:如果当前数据库用户已经有了导出文件中的对象,应先删除数据库中的对象,不然会导入失败。

相比于exp/imp优点:
1). exp/imp 是客户端模式,expdp/impdp是服务器端模式,导出是以块为单位,而exp/imp是以位为单位,expdp/impdp速度要快
2). expdp/impdp支持设定版本,便于在不同oracle版本间导入导出数据



原文地址:https://www.cnblogs.com/jerry1999/p/4175927.html