记载一次数据库版本低于软件版本导致无法exp。
最近安装数据库和weblogic应用后,软件中嵌套的导出功能报错,查看如下的报错信息。
Weblogic报错信息:
java.lang.Exception: EXP/ORACLE命令在本地系统中执行失败:Export: Release 9.2.0.8
.0 - Production on 星期四 2月 23 14:19:42 2012Copyright (c) 1982, 2002, Oracle C
orporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release 9.2
.0.8.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJSe
rver Release 9.2.0.8.0 - Production已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符
集即将导出指定的表通过常规路径 .... . 正在导出表 X$T_QL_RESULT_PUBLISH
1 行被导出EXP-00056: 遇到 ORACLE 错误 904ORA-00904: "SYS"."DBMS_EXPORT_EXTENSION"."FUNC_INDEX_DEFAULT": 无效的标识符导出成功终止,但出现警告。
很有可能是oracle的版本问题导致,回顾是先安装的oracle9I后,数据库安装完毕后再次打的补丁,很可能是数据库软件和数据库安装完后,后续的补丁仅仅只是针对数据库软件,导致数据库软件的版本高于数据库的版本。Oracle的导入导出工具中的标准是 exp的版本必须小于等于imp的版本,此时数据存储在数据库中也就是imp的版本较旧,而想通过软件导出的数据也就是exp的版本较新,出现错误也就很正常了!也提醒了对于安装打补丁的oracle版本时,一定要先安装好所有软件和补丁再用dbca建库。
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
PL/SQL Release 9.2.0.8.0 - Production
CORE9.2.0.8.0 Production
TNS for 32-bit Windows: Version 9.2.0.8.0 - Production
NLSRTL Version 9.2.0.8.0 - Production
上网查看需要更新数据库。
Sql>conn / as sysdba
Sql>shutdown immediate;
Sql>startup migrate
准备对数据库进行降低或升级
Sql>start oracle_home/rbdms/admin/catpatch.sql
执行catpatch.sql脚本升级数据库,此过程可能需要时间较长,建议增大shared_pool,数据库升级中需要重新定义数据字典。
Sql>shutdown immediate;
Sql>startup;
问题得到解决了!
数据库升级 迁移 降级执行catpatch.sql重启数据库正常后,建议编译无效对象,执行oracle_home/rdbms/admin/utlrp.sql
这里再摘要下,oracle 9I下只能用startup migrate进行数据库的升降级,在oracle 10g后数据库升级需要使用startup upgrade,而降级依然使用startup migrate,10g的升降级的脚本也变成了oracle_home/rdbms/admin/catupgrd.sql。
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25362835/viewspace-1057432/ ,如需转载,请注明出处,否则将追究法律责任。