Chinaunix首页 | 论坛 | 博客
  • 博客访问: 669876
  • 博文数量: 759
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4845
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 13:51
文章分类

全部博文(759)

文章存档

2011年(1)

2008年(758)

我的朋友

分类:

2008-10-27 13:58:18

        现象描述:

        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

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

        现象2:

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

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

        select * from nls_database_parameters

        b、客户端字符集:

        select * from nls_instance_parameters

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

        通常我们设定为:chinese_china.ZHS16GBK

【责编:michael】

--------------------next---------------------

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