exp和数据修改

[复制链接]
查看11 | 回复9 | 2009-1-4 14:52:28 | 显示全部楼层 |阅读模式
在使用exp工具进行数据导出时,如果有事务对该表进行dml操作,oracle的处理机制是怎样的?
是不是先把表锁定,等导出完毕后,再进行dml操作。
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
那要看你exp的consistent参数设置,如果想要一致性则数据是dml之后的
如果没有设置一致性,则导出的数据是dml之前的
就是做了一次快照
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
谢谢!如果设置了consistent,dml操作也是分commit和未commit吧。
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
commit是前提吧,没有commit叫什么修改?
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
原帖由 jolly10 于 2009-1-23 12:25 发表
commit是前提吧,没有commit叫什么修改?


嗯,说到点子上了。
不够严谨,有待改进。
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
原帖由 jlliuyi 于 2009-1-22 10:54 发表
那要看你exp的consistent参数设置,如果想要一致性则数据是dml之后的
如果没有设置一致性,则导出的数据是dml之前的
就是做了一次快照



你这是从哪里看到的结论...



回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
6楼的能否给个正解?!!
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
原帖由 venee_lee 于 2009-1-23 15:44 发表
6楼的能否给个正解?!!

你把export一个表 想成select * from table1
exp开始时,结果就定了
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
那是不是意味着,exp之后的commit要等到导出结束后才能执行。假设该表非常大,导出需要一段时间。
回复

使用道具 举报

千问 | 2009-1-4 14:52:28 | 显示全部楼层
导出的所有数据是基于导出时间点一致,对于导出过程中的修改将从回滚段中获取
表很大的话还是在业务不忙的时候做exp吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行