Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240973
  • 博文数量: 115
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 930
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-30 05:27
文章分类

全部博文(115)

文章存档

2011年(10)

2010年(21)

2009年(19)

2008年(65)

我的朋友

分类: Oracle

2008-07-01 09:07:14

现象描述:

oracle数据库从客户端导出服务器端某个表,产生ora-00003错误;从服务器端本机导出时,发生ora-00091错误。

 

原因分析:

现象1:用9205以前的版本导出其后版本的表,且此表中有带LOB字段时,也会出现exp-00003错误。

现象2:oracle用户的环境变量语言集和oralce数据库中的环境变量语言集不相同。

临时解决方案:

现象1:使用9205以上的版本进行导出。

永久解决方案:

现象1:更改数据库服务器端的oracle系统视图EXU9TNE的定义,该视图定义为: $cat $ORACLE_HOME/rdbms/admin/catexp.sql

 

CREATE OR REPLACE VIEW EXU9TNE

(tsno, fileno, blockno, length)

AS

SELECT  ts#, segfile#, segblock#, length

        FROM    sys.uet$

        WHERE   ext# = 1

 

以sys用户登录数据库服务器重新建立该视图: 

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

注意:不要随意改动Oracle系统视图,执行完后,应立刻恢复。切记!!

现象2:

查看oracle的环境变量语言集:

a、数据库服务器字符集:

select * from nls_database_parameters

b、客户端字符集:

select * from nls_instance_parameters

c、将oracle用户的环境变量(.profile文件或.cshrc文件)字符集改成和数据库服务器字符集一样。

通常我们设定为:chinese_china.ZHS16GBK

阅读(1080) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~