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