设为首页 加入收藏

TOP

ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小错误分析(二)
2014-11-23 18:00:29 来源: 作者: 【 】 浏览:143
Tags:ORA-06502:PL/SQL: 数字 错误 字符串 缓冲区 太小 分析
1 TABLE_EXISTS_ACTION=REPLACE
Import: Release 11.2.0.1.0 - Production on 星期五 7月 27 18:09:11 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
www.2cto.com
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31626: 作业不存在
ORA-31637: 无法创建作业 SYS_IMPORT_SCHEMA_09 (用户 SYSTEM)
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.KUPV$FT_INT", line 798
ORA-39080: 无法为数据泵作业创建队列 "KUPC$C_1_20120727180912" 和 "KUPC$S_1_20120727180912"
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.KUPC$QUE_INT", line 1530
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
这种情况下,貌似是oracle在创建这个任务的时候,因为ORA-06502错误无法创建。
4.问题解决
以上两种情况,和用户数据无关,但出了ORA-06502错误,说明ORACLE本身有一张 系统表在插入数据的时候不符合长短需求,而报了这个错。
搜集信息:经查资料, oracle有一个隐含参数“_system_trig_enabled”用来控制系统触发器的,用来存储系统的一些触发事件,但这个表(目前不知道是哪个表)本身有问题,导致数据无法插入。
解决思路: 顺着这个想法,只要我们把这个参数关掉,让系统的日志不保存在那张有问题的表中,就好了(当然有隐含风险,目前未知):
解决方法:
[sql]
SQL> show parameter trig
NAME TYPE VALUE
---------------------------------- ----------------------- ---------
_system_trig_enabled boolean FALSE
SQL> alter system set "_system_trig_enabled"=false;
系统已更改。
www.2cto.com
更改之后,再做上述操作,问题解决!
5.总结
根据问题的不同有2种解决方法
一.如果是用户数据,则更改用户表,或者数据
二.如果是oracle系统表,则使用如下语句关系统系统触发器:
alter system set "_system_trig_enabled"=false;
作者 yfleng2002
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle行列转换小结 下一篇Oracle字符集的查看查询和Oracle..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: