1. 创建逻辑目录,在服务器上创建真实的目录用于存放数据文件
2. 使用管理员用户system登录sqlplus
3. 创建逻辑目录,此步不会在OS上创建真正的目录
create directory data_dir as '/home/oracle/datadir'
4. 检查刚才创建的管理员目录是否存在
select * from dba_directories where directory_name = 'DATA_DIR';
5. 用system管理员给你的指定用户(要导出的表所属用户)赋予在该目录的操作权限。
grant read,write on directory data_dir to xxx;
6. 用户expdp导出数据,共有以下六种方案
expdp user/pwd@orcl file=expdp.dmp directory=data_dir full=y log=expdp.log;
expdp user/pwd@orcl
schemas=user file=expdp.dmp directory=data_dir log=expdp.log
expdp user/pwd@orcl
tablespace=tbs1,tbs2 file=expdp.dmp directory=data_dir log=expdp.log
expdp user/pwd@orcl
directory=data_dir tables=tb1,tb2 file=expdp.dmp log=expdp.log
expdp user/pwd@orcl directory=data_dir tables=(tb_pt:par_1,tb_pt:par_2) file=expdp.dmp log=expdp.log
expdp user/pwd@orcl directory=data_dir tables=tb1='where rowid='xxx'' file=expdp.dmp log=expdp.log
用impdp导入对应上述expdp的六种方式:
impdp user/pwd directory=data_dir file=impdp.dmp full=y log=impdp.log
impdp A/pwd directory=data_dir schemas=A file=impdp.dmp log=impdp.log
impdp B/pwd directory=data_dir tables=A.table1,A.table2 remap_schema=A:B file=impdp.dmp log=impdp.log
2. 将表空间TBS01、TBS02、TBS03导入到表空间A_TBS,将用户B的数据导入到A,并生成新的oid防止冲突
impdp A/pwd directory=data_dir remap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n file=impdp.dmp logfile=impdp.log
impdp user/pwd directory=data_dir tablespaces=tbs1 file=impdp.dmp file=impdp.log
impdp user/pwd directory=data_dir tables=(tb_pt:par_1,tb_pt:par_2) file=impdp.dmp log=impdp.log
impdp user/pwd directory=data_dir file=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log
--table_exists_action:导入对象已存在时执行的操作。有效关键字:SKIP,APPEND,REPLACE和TRUNCATE
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。