一/普通备份
1.查看数据泵的相关目录
col OWNER for a10;
col DIRECTORY_NAME for a25;
col DIRECTORY_PATH for a68;
select owner, directory_name, directory_path from dba_directories;
2.创建相关的备份路径
mkdir -p /home/oracle/dp_dir
chown -R oracle.oinstall /home/oracle/dp_dir
sqlplus sys/abc123@orclpdb as sysdba
create or replace directory dp_dir as '/home/oracle/dp_dir';
grant read, write on directory dp_dir to scott;
3.导出备份文件
expdp scott/tiger@orclpdb directory=dp_dir dumpfile=expdp_20200528.dmp logfile=expdp_20200528.log

二/备份与还原表
1.导出表
expdp scott/tiger@orclpdb directory=dp_dir tables=emp_bak dumpfile=expdp_20200528.dmp logfile=expdp_20200528.log
2.导入表
impdp scott/tiger@orclpdb directory=dp_dir tables=emp_bak dumpfile=expdp_20200528.dmp logfile=impdp_20200528.log


三/使用参数文件
1.在Linux服务器上建参数文件
$ vim expdp.par
userid=scott/tiger@orclpdb
directory=dp_dir
dumpfile=expdp_20200528.dmp
logfile=expdp_20200528.log
tables=emp_bak
reuse_dumpfiles=y
schemas=scott
2.执行相应的脚本
$ expdp parfile=expdp.par

四/导出整个数据库
1.在Linux服务器上建参数文件
expdp scott/tiger@orclpdb directory=dp_dir dumpfile=expdp_20200528.dmp logfile=expdp_20200528.log reuse_dumpfiles=y full=y
 
2.执行相应的脚本
$ expdp parfile=expdp.par
3注意:如果导出的用户没有dba权限,汇报如下错误
ORA-31631: 需要权限
ORA-39161: 完整数据库作业需要权限
请给dba权限,继续导出
4.不会导出sys方案的对象,不会导出索引数据

五/导出指定方案的用户
expdp system/abc123@orclpdb directory=dp_dir dumpfile=expdp_20200528.dmp logfile=expdp_20200528.log reuse_dumpfiles=y schemas=scott,hr

六/导入表
impdp system/abc123@orclpdb directory=dp_dir dumpfile=expdp_20200528.dmp logfile=impdp_20200528.log tables=scott.emp_bak 

七/表空间级
expdp system/abc123@orclpdb directory=dp_dir dumpfile=tbsp.dmp tablespaces=users;

前提:产品数据库里面含有start2,cia_app和cia_sel,需要将这些用户的数据移动到测试数据库,并将他们重命名为start_jul,cia_app_jul和cia_sel_jul
1.在测试数据库创建要导入的用户信息

define start_user          =start_jul
define start_user_pwd      =start_jul_pwd
define cia_app_user        =cia_app_jul
define cia_app_user_pwd    =cia_app_jul_pwd
define cia_sel_user        =cia_sel_jul
define cia_sel_user_pwd    =cia_sel_jul_pwd

create user &&start_user identified by &&start_user_pwd;
grant connect, resource, create any view to &&start_user
grant execute on dbms_job to &&start_user
grant debug connect session to &&start_user
alter user &&start_user default tablespace dim_data;
--
create user &&cia_app_user identified by &&cia_app_user_pwd;
grant connect, resource, create any view to &&cia_app_user
grant execute on dbms_job to &&cia_app_user
grant debug connect session to &&cia_app_user
alter user &&cia_app_user default tablespace cia_data;
--
create user &&cia_sel_user identified by &&cia_sel_user_pwd;
grant connect, resource, create any view to &&cia_sel_user
grant execute on dbms_job to &&cia_sel_user
grant debug connect session to &&cia_sel_user
alter user &&cia_sel_user default tablespace cia_data;

2.在测试数据库中,创建指向产品数据库的链接。在创建create database link 语句中引用的远程用户,必须拥有dba角色
create database link dk connect to ccense identified by ccense using '192.168.6.2:1521/orcl';

3.在测试数据库中,创建指向存储日志目录的目录对象
create or replace directory dp_dir as '/home/oracle/dp_dir';

4.在测试数据库服务器上执行导入命令。
impdp ccense/ccense direcotory=dp_dir network_link=dk schemas='start2,cia_app,cia_sel' remp_schemas=start2:start_jul,cia_app:cia_app_jul,cia_sel:cia_app_jul logfile=20200528.log