很小的一件事,从服务器直接exp就应该搞定的,没想到哪位大哥把9201升级至9206时未运行catpatch.sql,结果数据库本身还是9201,找个9201的客户端exp吧。
9201 client导出9206数据库,出现EXP-00003: 未找到段xxx的存储定义
以下内容摘自互联网:
导出的时候,我们有时候会遇到一种错误
EXP-00003: no storage definition found for segment
这个是属于数据库的bug.
如果客户端版本低于9205,而服务器高于或者等于9205,也可能遭遇这个bug,出问题的是client,而非server
除了打补丁以外,还有种解决方法
1.先找到这个文件,$ORACLE_HOME/rdbms/admin/catexp.sql
2.其中有个exu9tne视图的定义,找到它.
3.单独编辑这个视图的定义,再后面加上UNION ALL select * from sys.exu9tneb,并重建这个视图
4.用SYS用户来登录并exp
5.还原SYS.exu9tne的原来的定义,还是用原始脚本catexp.sql
自己定义后的exu9tne结果可能是这样(依版本而不同)
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
UNION ALL SELECT * from sys.exu9tneb #这里是我们自己添加的一行
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/112417/viewspace-921068/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/112417/viewspace-921068/