+ -
当前位置:首页 → 问答吧 → exp(导出)时是否需要undo表空间?或者是否存在事务?

exp(导出)时是否需要undo表空间?或者是否存在事务?

时间:2010-09-20

来源:互联网

前提条件:连接当前数据库的应用已经停止。
当前假设只有管理员连接数据库。

管理员执行导出操作 exp

此时数据库还需要操作回滚段之类吗?

我的猜想是,exp内部应该只做查询操作,没有更新类操作,所以应该用不着回滚段之类。

但现在的情况是,在导出时出现与回滚段相关的错误:

. . 正在导出表                 NING
EXP-00056: 遇到 ORACLE 错误 1555
ORA-01555: 快照过旧: 回退段号  在名称为 "" 过小
ORA-22924: 快照太旧


查看(http://gaoshan.blog.51cto.com/742525/302498)知道与lob相关,这应该是在多人操作的情况下出现。

但我们的管理员反馈,当时只有他一人在操作。

请问在exp时是否存在事务操作或者更新操作之类,是否需要用到undo或者查看历史版本的情况?

多谢!

作者: gflei   发布时间: 2010-09-20

会不会是你在导出时还有别人在提交事务造成这个现象的发生。

作者: renxiao2003   发布时间: 2010-09-20

回复 renxiao2003


我不在现场,   管理员给的反馈是,应用服务器已经停止,所以此时不应该有别人在操作数据库了。
是否还有其他可能,我看网上有些人认为lob字段中的内容有问题,导致了出现该错误,是否存在这种可能?

多谢回复!

作者: gflei   发布时间: 2010-09-20

exp时需要保证数据的一致性

所以  有时可能需要读取undo数据以便获取一致性数据

作者: duolanshizhe   发布时间: 2010-09-20

回复 duolanshizhe


   这应该是在多用户操作环境中。
现在的情况是,仅有一个用户操作,仅作exp操作,没有其他用户在操作。是否仍需要undo?

多谢回复!

作者: gflei   发布时间: 2010-09-20

如果我没记错的话,exp导出的数据是执行exp的那个时点的,所以当执行exp命令后,还有数据被修改,无论是否提交exp都会从undo中读取,因些就有可能产生01555错误

作者: doni   发布时间: 2010-09-20

回复 doni


   如果此时除了exp操作外,有应用系统或其他人也在操作,的确会出现这种情况。
但是,现在除了exp外,就没有其他链接了。难道exp内部还会进行一些更新操作?

多谢回复!

作者: gflei   发布时间: 2010-09-20

可能是开始exp时,链接没有全部中断,并有提交

作者: doni   发布时间: 2010-09-20

相关阅读 更多

热门下载

更多