一、导出表结构无数据
1.1 创建导出文件夹
首先在导出oracle数据库中创建一个虚拟目录用来做为导出的dump文件输出,并赋予读写权限,导入导出权限
create directory dUmpdir as '/oracle/dump';
grant read,write on directory dmpdir to srcusername;
grant IMP_FULL_DATABASE to srcusername;
验证
select * from dba_directories;
创建物理目录
mkdir -p /oracle/dump
1.2 导出全库表结构无数据
expdp 用户名/密码@地址/表空间 directory=虚拟目录的名称(dmpdir) dumpfile=RCCADB.dmp cluster=no schemas=fraudzd content=metadata_only
- dumpfile : 导出的dump文件名称
- cluster : 是否集群
- content=metadata_only 只要表结构
- schemas : 导出数据库的用户名
导出实例
expdp srcusername/srcuserpasswd@mysrcDataBase directory=DUMPDIR dumpfile=orafile.dmp logfile=orafile.log cluster=no schemas=srcusername content=metadata_only
1.3 导入数据库表结构
将导入文件上传导入数据库
在导入oracle数据库中创建一个虚拟目录用来做为导入的dump文件输出,并赋予读写权限,导入导出权限
create directory dmpdir as '/home/oracle/dmp';
grant read,write on directory dmpdir to destusername;
grant IMP_FULL_DATABASE to destusername;
验证
select * from dba_directories;
创建物理目录
mkdir -p /home/oracle/dmp
实例
impdp destusername/destusername@mydestDataBase directory=dmpdir dumpfile=orafile.dmp logfile=orafile.log cluster=yes remap_schema=srcusername:destusername
remap_schema = 原始用户:目标用户
二、导出指定表结构和数据
2.1 导出指定表包括数据
expdp root/root@localhost/myDataBase directory=dmpdir logfile=M_RULE_EXPORT.LOG dumpfile=M_RULE.dmp TABLES=root.m_met_rules,root.m_ruleset,root.m_ruleset_org cluster=no
注意 这里不要写schema参数 tables 和 schema参数不能同时出现
2.2 导入刚才导出的dump文件
impdp root1/root1@localhost/myDataBase directory=dmpdir logfile=M_RULE_IMPORT.LOG dumpfile=M_RULE.dmp TABLES=root.m_met_rules,root.m_ruleset,root.m_ruleset_org remap_schema=root:root1 cluster=no
table_exists_action=REPLACE 表示如果目标用户表已存在则覆盖