上一篇帖子说过需要做一个数据库在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导出的增量备份文件,当表内的数据出现变动时,所做的增量备份导出的是有数据变动的整个表,而不是仅仅增量备份有变动的数据。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/14841.html