Oracle数据库的导出

Oracle数据库导出的方式比较多,也各有优缺点,比较好的方案是使用r_man,但是显得大材小用,一般人也搞不定。

我们这边数据量比较小,一般现场人员使用两种方式都出数据,发回研发中心进行分析数据。

  1. 导出为Excel。
  2. 导出为SQL脚本。

但是这两种方式各有优缺点,Excel表在数据量比较小的情况下查看比较方便,但是倒回数据库比较麻烦。而使用SQL脚本,查看比较麻烦,但是导入到数据库中比较方便;

一般我们建议现场的人员。导出SQL脚本给我们。

但是最近遇到了SQL脚本执行不了的情况,具体原因是现场使用了clob类型,数据库里可以存储很多字符串,我们倒回数据库的时候出现了问题。

如SQL语句为

insert into article (content) values('4000多个字符');

在执行的时候,Oracle认为单引号里的数据都是字符串varchar2类型,而varchar2类型是不能超过4000个字符的,这时候执行就会报错

具体可以参考https://stackoverflow.com/questions/13945710/error-ora-01704-string-literal-too-long

查问题花了不少时间,具体就不再详细说了

现在直接说解决方法

以后叫现场导出数据的时候,统一使用exp命令,研发使用imp命令

这样效率高,而且不会出错

导出来的数据是以二进制的方式存在的,无法直接查看

导出命令

  exp system/manager@TestDB file=E:\sampleDB.dmp full=y

导入命令

imp system/manager@TEST  file=E:\sampleDB.dmp  full=y  ignore=y

具体参数的含义自行查一下

另外提一下,目前MYSQL数据库没有遇到这种问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值