假定导出oracle数据库home目录为/opt/oracle,数据库用户为exp_user/test,导入用户为imp_user/test,给出如下样例,具体使用时根据实际情况修改路径及用户名/密码。
一、准备工作:
1.新建存放备份/恢复文件的目录
mkdir -p /opt/oracle/dump
rm -rf /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
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/*
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
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/*
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
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版本间导入导出数据
1). exp/imp 是客户端模式,expdp/impdp是服务器端模式,导出是以块为单位,而exp/imp是以位为单位,expdp/impdp速度要快
2). expdp/impdp支持设定版本,便于在不同oracle版本间导入导出数据
详细参考资料:http://www.cnblogs.com/lanzi/archive/2011/01/06/1927731.html
Oracle官方资料(expdp,exp比较):http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm#i1008963
Oracle官方资料(expdp,exp比较):http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm#i1008963