expdp 导出
1.管理员用户登入sqlplus
sqlplus system/manger@pdb1
2.创建逻辑导出目录
create directory dpdata as '/home/oracle18c/databak';
dpdata 只是代号,后面执行命令时候用到,而’/home/oracle18c’是我们要导出文件存放的目录。
3.创建成功后,通过此语句进行查看
select * from dba_directories;
需要注意的是,执行命令并不是真正创建目录,需要手动在该路径下创建目录,否则后续导出会不成功。
4.导出整个数据库
expdp sx_xxxs/sx_xxx@pdb1 directory=dpdatal dumpfile=sx_xxx20210325.dmp full=y
system/manager@orcl – 用户名/密码@服务名 directory=dpdata – 前面创建的目录 dumpfile=20210323.dmp – 导出文件名 full=y – 导出整个数据库,此参数不建议使用
5.指定用户导出的两种方法
expdp system/manager@orcl directory=dpdata dumpfile=expdpfile.dmp schemas=scott
expdp system/manager@orcl directory=dpdata dumpfile=expdpfile.dmp schemas=scott
impdp 导入
导入的数据库一定要首先创建好相应的用户,和导出时用的用户一致赋予相应权限,并且导入的文件是expdp方式导出的才可以,不然就报
1.导入之前同样创建逻辑目录(同expdp)
2.全库导入
impdp system/manager@orcl directory=dpdata dumpfile=expdpfile.dmp full=y
3.指定用户导入
impdp system/manager@orcl directory=dpdata dumpfile=expdpfile.dmp schemas=scott
impdp scott/tiger@orcl directory=dpdata dumpfile=expdpfile.dmp
导入不同用户到不同用户和不同表空间下
- 原用户sx_xxx 原表空间 TBS_SXRMS_DATA
- 新用户sx_xxx 新表空间 SLM
导入命令
impdp sx_slm/sx_slm@pdb1 dumpfile=20210323222.DMP directory=dpdatal remap_schema=sx_rms:sx_slm remap_tablespace=TBS_SXRMS_DATA:SLM
参数解释: dumpfile --需要导入的dmp文件名 directory --创建的逻辑目录 remap_schema=原用户:新用户 remap_tablespace=原表空间:新表空间-