欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 先从另外一服务器(9206) exp 一用户,之后imp 到10,然后使用10的expdp 导出数据后,删除该用户,再impdp, 此时出现错误。 处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION ORA-39083: 对象类型 FUNCT
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
先从另外一服务器(9206) exp 一用户,之后imp 到10,然后使用10的expdp 导出数据后,删除该用户,再impdp, 此时出现错误。
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误: ORA-06502: PL/SQL: 数字或值错误 ORA-06512: 在 "SYS.KUPW$WORKER", line 11729 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 失败的 sql 为: CREATE FUNCTION "STUDY"."FUN_SALERSTRUTEST" ( --用途:促销员结构分析查询 VDEPT NUMBER, ----事业部 VTOP NUMBER, ----顶点机构 VSDATE VARCHAR2, ----开始日期 VEDATE VARCHAR2, ----结束日期 VSALERSTATE NUMBER, ----促销员状态:所有:-1,在职:1,离职:0 AS VORG2 NUMBER, ----大区 1或0 表选与 ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误: ORA-06502: PL/SQL: 数字或值错误 ORA-06512: 在 "SYS.KUPW$WORKER", line 11729 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 失败的 sql 为: CREATE FUNCTION "STUDY"."FUN_TEST" ( VDEPT NUMBER, ----事业部 VTOP NUMBER, ----顶点机构 VPRODUCTTYPE NUMBER, ----产品类型 VSDAT VARCHAR2, ----开始日期 VEDAT VARCHAR2) ----结束日期 RETURN LONG AS VBDATE DATE := TO_DATE(VSDAT,'YYYY-MM-DD'); ----开始日期 VEDATE DATE := ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 作业 "SYS"."SYS_IMPORT_SCHEMA_01" 因致命错误于 16:10 停止 |
尝试了几回,都无法成功,几天后,再做一遍测试,此次操作和之前的类似,只是exp的时候,不带数据。测试结果如下:
. . 导出了 "STUDY"."T_TRACKORGPLAN" 0 KB 0 行 . . 导出了 "STUDY"."T_TRACKSALEREGIONPLAN" 0 KB 0 行 . . 导出了 "STUDY"."USERDATA" 0 KB 0 行 . . 导出了 "STUDY"."USERDEPARTMENT" 0 KB 0 行 . . 导出了 "STUDY"."USERGROUP" 0 KB 0 行 . . 导出了 "STUDY"."USERORGRIGHT" 0 KB 0 行 . . 导出了 "STUDY"."USERPRODUCTRIGHT" 0 KB 0 行 . . 导出了 "STUDY"."YEARPLAN" 0 KB 0 行 . . 导出了 "STUDY"."YEARPLANPRODUCT" 0 KB 0 行 已成功加载/卸载了主表 "STUDY"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** STUDY.SYS_EXPORT_SCHEMA_01 的转储文件集为: H:\TEMP\EXPDP\EXPDP_STUDY_20050816.DMP 作业 "STUDY"."SYS_EXPORT_SCHEMA_01" 已于 10:20 成功完成 F:\ORACLE\bin>impdp dumpfile=expdp_study_20050816.dmp logfile=impdp_study_20050816.log schemas=stu dy userid=study/1 Import: Release 10.1.0.2.0 - Production on 星期二, 16 8月, 2005 10:25 Copyright (c) 2003, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "STUDY"."SYS_IMPORT_SCHEMA_01" 启动 "STUDY"."SYS_IMPORT_SCHEMA_01": dumpfile=expdp_study_20050816.dmp logfile=impdp_study_200508 16.log schemas=study userid=study/******** 处理对象类型 SCHEMA_EXPORT/USER ORA-31684: 对象类型 USER:"STUDY" 已存在 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE 处理对象类型 SCHEMA_EXPORT/TABLESPACE_QUOTA 处理对象类型 SCHEMA_EXPORT/SE_PRE_SCHEMA_PROCOBJACT/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA . . 导入了 "STUDY"."ABCTYPE" 0 KB 0 行 . . 导入了 "STUDY"."BAND" 0 KB 0 行 . . 导入了 "STUDY"."BIGCUST" 0 KB 0 行 ...... . . 导入了 "STUDY"."USERPRODUCTRIGHT" 0 KB 0 行 . . 导入了 "STUDY"."YEARPLAN" 0 KB 0 行 . . 导入了 "STUDY"."YEARPLANPRODUCT" 0 KB 0 行 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT 处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC 处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误: ORA-06502: PL/SQL: 数字或值错误 ORA-06512: 在 "SYS.KUPW$WORKER", line 11729 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 失败的 sql 为: CREATE FUNCTION "STUDY"."FUN_SALERSTRUTEST" ( --用途:促销员结构分析查询 VDEPT NUMBER, ----事业部 VTOP NUMBER, ----顶点机构 VSDATE VARCHAR2, ----开始日期 VEDATE VARCHAR2, ----结束日期 VSALERSTATE NUMBER, ----促销员状态:所有:-1,在职:1,离职:0 AS VORG2 NUMBER, ----大区 1或0 表选与 ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误: ORA-06502: PL/SQL: 数字或值错误 ORA-06512: 在 "SYS.KUPW$WORKER", line 11729 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 失败的 sql 为: CREATE FUNCTION "STUDY"."FUN_TEST" ( VDEPT NUMBER, ----事业部 VTOP NUMBER, ----顶点机构 VPRODUCTTYPE NUMBER, ----产品类型 VSDAT VARCHAR2, ----开始日期 VEDAT VARCHAR2) ----结束日期 RETURN LONG AS VBDATE DATE := TO_DATE(VSDAT,'YYYY-MM-DD'); ----开始日期 VEDATE DATE := ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 作业 "STUDY"."SYS_IMPORT_SCHEMA_01" 因致命错误于 10:26 停止 F:\ORACLE\bin> |
不知道是不是该版本的一个bug, 升级到10.1.0.4.0 再试,升级后测试,问题已依旧!
24-AUG-05 05:55:14 GMT . ISSUE CLARIFICATION ==================== ORA-39083: Object type FUNCTION failed to create with error: ORA-06502: PL/SQL: numeric or value error ORA-06512: at "SYS.KUPW$WORKER", line 11849 ORA-06502: PL/SQL: numeric or value error: character string buffer too small eos (end of div) . ISSUE VERIFICATION =================== Verified the issue through TAR update eos (end of div) . DATA COLLECTED =============== ORA-39083: Object type FUNCTION failed to create with error: ORA-06502: PL/SQL: numeric or value error ORA-06512: at "SYS.KUPW$WORKER", line 11849 ORA-06502: PL/SQL: numeric or value error: character string buffer too small Failing sql is: CREATE FUNCTION "STUDY"."FUN_TEST" ( VDEPT NUMBER, VTOP NUMBER, VPRODUCTTYPE NUMBER, VSDAT VARCHAR2, VEDAT VARCHAR2) RETURN LONG AS VBDATE DATE := TO_DATE(VSDAT,' Processing object type SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION ORA-39083: Object type ALTER_FUNCTION failed to create with error: ORA-04043: object FUN_SALERSTRUTEST does not exist Failing sql is: ALTER FUNCTION "STUDY"."FUN_SALERSTRUTEST" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE REUSE SETTINGS TIMESTAMP '2005-08-16:14:05:40' ORA-39083: Object type ALTER_FUNCTION failed to create with error: ORA-04043: object FUN_TEST does not exist Failing sql is: ALTER FUNCTION "STUDY"."FUN_TEST" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE REUSE SETTINGS TIMESTAMP '2005-08-16:14:05:43' eos (end of div) . CAUSE DETERMINATION ==================== The import datapump fails to import the procedure when the Create procedure statement includes multi-byte characters. eos (end of div) CAUSE JUSTIFICATION ==================== Bug 4108939 - IMPORT PROCEDURE WITH DATA PUMP GET ORA-6502, fixed in 10.2 and 10.1.0.5 eos (end of div) . POTENTIAL SOLUTION(S) ====================== install the 10.1.0.5 patchset when available (perhaps during the next autumn) or create manually these packages after the import eos (end of div) POTENTIAL SOLUTION JUSTIFICATION(S) ==================================== The patchset contains the fix of the bug eos (end of div) . SOLUTION / ACTION PLAN ======================= Create the function manually after the import eos (end of div) |