ITPub博客

首页 > Linux操作系统 > Linux操作系统 > exp时,ORA-00932: 数据类型不一致解决方法

exp时,ORA-00932: 数据类型不一致解决方法

原创 Linux操作系统 作者:chwang1984 时间:2011-10-27 15:13:43 0 删除 编辑

现象:

EXP-00056: 遇到 ORACLE 错误 932
ORA-00932: 数据类型不一致: 应为 BLOB, CLOB, 但却获得 CHAR
EXP-00000: 导出终止失败

解决方法:

运行2个脚本:

SQL> @?/rdbms/admin/catmetx.sql 
 
SQL> @?/rdbms/admin/utlrp.sql
 
最好再升级模式下执行脚本,在普通模式测试过,有时候也可以成功的,
测试过的步骤:
SQL>shutdown immediate
SQL>startup upgrade
执行脚本:
SQL> @?/rdbms/admin/catmetx.sql
SQL> @?/rdbms/admin/utlrp.sql
可能要耐心点,最后一个脚本执行时间有点长
SQL>shutdown imediate
SQL>startup
 
脚本作用说明:
catmetx  执行对象视图定义脚本
catalog是用来创建数据库的数据字典文件的,
catproc是用来创建数据库的基本过程和包的。
Ps:如果没有运行catalog.sql
我们就无法执行哪怕是select * from tab这样的语句了。
如果没有运行catproc.sql
我们就不能使用诸如substr()这样的函数。
catexp.sql 脚本是用于生成exp命令执行时所需要的一些表和视图,在执行exp命令出现找不到什么什么表,什么什么视图时使用。
catmeta.sql 脚本是在升级后执行exp命令出现错误时运行,说是因为升级不成功,运行这个脚本可以重新创建系统表。
utlrp  执行重新编译无效对象脚本 
$ sqlplus '/as sysdba' @?/rdbms/admin/utlrp.sql
utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象.
oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。
--打完patch后重建数据字典视图脚本catpatch.sql 
为了保证系统的的数据词典的完整性和有效性,最好的打patch后在migrate状态下运行catpatch.sql
sql> shutdown immediate
sql> startup migrate
sql> @?/rdbms/admin/catpatch.sql
sql> shutdown immediate
sql> startup
为加快速度,可临时调大这2个参数:
show parameter shared_pool_size
show parameter large_pool_size
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17179887/viewspace-709779/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-27

  • 博文量
    96
  • 访问量
    169769