exp增量备份所导出的是变动的数据还是变动的整张表

上一篇帖子说过需要做一个数据库在win端下的备份脚本,小白表示作为一个初级DBA,经常会范一些小错误,所以只能把这些问题错误记录下来,但是这也不能阻止我探索的脚步不是。

所以,在做exp导出的增量备份这个参数使用的时候,发现一个奇怪的问题:

我创建的一个新用户,建立一张新表,做一次数据库全备后,导出了8条数据,但是我向这张表中插入两条新数据后,做一次增量导出,增量导出的确实仅仅是这张有数据变动的表,但是导出的是10条数据。

难道exp做增量备份的时候导出的是有数据变动的表吗?而不是将变动的数据单独的增量导出?

带着这个问题我需要从新做一次实验:

新建表JJJ,向表内插入两条数据,下面就是使用导出工具exp导出整个数据库了。


exp system/oracle inctype=complete file=/home/oracle/scotts_full.dmp log=/home/oracle/log01.log复制代码


在导出日志中可以看到SCOTTS用户下的表JJJ成功的导出了两条数据。

然后我们继续向表JJJ中插入两条数据,然后使用增量导出,看看导出的是两条数据还是4条数据。


exp system/oracle inctype=incremental file=/home/oracle/scotts_incr.dmp log=/home/oracle/log02.log
复制代码


导出的日志显示,表JJJ导出了4条数据,导出的是整张表,而不是增加变动的数据。

那我们使用导出的备份验证一下我们的出来的结果,删除用户SCOTTS下的表JJJ,使用imp导入命令将这个备份导入到数据库里,查看导入的数据是什么。

imp system/oracle inctype=RESTORE file=/home/oracle/scotts_incr.dmp full=y
复制代码



在这里我就不从新建一个新的实例导入了,仅仅是删除了用户里的表,很明显导入了4条数据。


我们可以得出结论了:使用exp导出的增量备份文件,当表内的数据出现变动时,所做的增量备份导出的是有数据变动的整个表,而不是仅仅增量备份有变动的数据。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值