2020-11-25 使用exp/imp导出/导入Oracle数据库表结构信息和表数据

一、导出

1.导出所有的表

exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名

eg:
--导出全部表结构和数据
exp root/root@10.5.34.233:1521/test file=‘D:\daochu.dmp’

2.导出指定的表

exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 tables=(表名1,表名2...)

eg:
--导出指定的表table1,table2

 exp root/root@10.5.34.233:1521/test file=‘D:\daochu.dmp’ tables=(table1,table2)

3.导出表空间中以XX开头的表

exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 tables=(XX%)

eg:
--导出表空间中以AB开头的所有表结构和数据
exp root/root@10.5.34.233:1521/test file=‘D:\daochu.dmp’ tables=(AB%)

4.仅导出表结构,不导出数据

exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 rows = n

5.注意

因为oracle为了节约空间,对于空表不分配segment,所以对于空表使用exp命令导不出来,有以下几种解决办法:

  1. 使用以下语句设置空表可以导出,设置后需要重启数据库。
alter system set deferred_segment_creation = false
  1. 对需要导出的空表插入一条数据再删除,此刻该表就产生了segment,再导出时就可以成功了。
  2. 执行以下语句,也可以导出。
alter table 空表名 allocate extent;

二、导入

已经存在导出的.dmp文件,则可以使用以下语句将其导入到你需要导入的目标数据库中。

imp usernamr/password@目标数据库ip地址:端口/SID file=文件路径及名称

eg:
--将daochu.dmp导入到目标库中
imp root/root@10.5.88.345:1521/test file='D:\daochu.dmp'

如果有的表已经存在,不对该表进行导入,可以在上述语句后面添加上ignore=y就ok了
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值