oracle exp 数据导出

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:51:56
oracle9i,system的密码已不记得了。数据库内表较多,且有约束关系,数据量也较多。
使用oracle自带 exp 备份用户 user 下 的所有数据,没有使用导出参数,按系统提示进行,导出表权限、压缩等都选用yes,并选择导出 user 用户下的数据,以下为系统输出:
正在导出pre-schema过程对象和操作
正在导出用户 user 的外部函数库名称
导出public类型同义词
导出私有类型同义词
正在导出用户user的对象类型定义
exp-0008 : 遇到oracle 错误 942
ora-00942 表或视图不存在
exp-00024 未安装导出视图,请通知你的 DBA
exp-00000:导出终止失败。

这种情况一般是 exp 的版本与数据字典的版本不一致所致, 是不是曾经是9.2的一个版本, 后来, 将软件升级了, 但未升级数据字典?
exp 时其提示的版本是什么?
再查
select comp_name,version from dba_registry;
其输出的version是什么?
两者一致吗?
若两者不一致, 则需要升级数据字典.
若两者一致, 则可以在系统提示模式下, 输入用户,密码后, 另开一个sqlplus 会话, 在其中使用
select sid, serial# from v$session where program like 'exp%';
查出 export 会话的 sid, serial#, 然后, 执行
exec dbms_system.set_ev(&sid, &serial#, 10046, 12, '');
然后, 继续你的exp 操作, 在报错后, 去 user_dump_dest 中找那个最新生成的trace 文件, 查尾部看是哪个表在访问时遇到了ora-942 错误.