1、            统计分析表的存储过程部分内容

CREATE
OR REPLACE
procedure SEA.sp_analyze_XXX_a
is

v_sql_1    
varchar2);

v_sql_2    
varchar2);

v_sql_3    
varchar2);

v_startdate
date;

err        
varchar2);

begin

v_sql_1 :=
'alter session set workarea_size_policy=manual';

v_sql_2 :=
'alter session set sort_area_size=2147483640';

EXECUTE
IMMEDIATE v_sql_1;

EXECUTE
IMMEDIATE v_sql_2;

……

此存储过程,为了加快统计分析表与索引的速度,採用了在运行统计分析语句前,将session的sort_area_size加大到2GB。以加大在内存中排序的比例的策略。故使用了以下两条语句:

v_sql_1 :='altersession set workarea_size_policy=manual';

v_sql_2 :='altersession set sort_area_size=2147483640';

这样的做法,对加快统计分析的速度来说。是绝对有效的,并且效果会很明显。

2、            存储过程执行常常报ORA-00600错误而中断

完整报错信息:

   ORA-00600:
内部错误代码, 參数: [kcblin_3], [103], [1032192],[8192], [8193], [312], [664], [], [], [], [], []

3、原因分析

通过在metalink上找到此错误相关的參考文档:1177363.1

原由于,假设设置了memory_target来管理SGA和PGA。同一时候,手动设置了PGA的值。有可能会导致报出ORA-00600  [kcblin_3]错误

4、            验证自己的环境配置

SQL>showparameter memory_target

NAME                        TYPE                VALUE

-------------------------  ---------------------  ------------------

Memory_target        bit integer        200G

SQL>showparameter pga_aggregate_target

NAME                               TYPE               VALUE

-------------------------------  ----------------------  -----------

pga_aggregate_target     bit integer       20G

果然是既配置了memory_target,。又手动配置了PGA的值。

5、            解决方法

删除或凝视存储过程中的以下四行代码。

v_sql_1 :=
'alter session set workarea_size_policy=manual';

v_sql_2 :=
'alter session set sort_area_size=2147483640';

EXECUTE
IMMEDIATE v_sql_1;

EXECUTE
IMMEDIATE v_sql_2;

问题即解决,兴许执行再也没有报过ORA-00600错误。

本文作者:黎俊杰(网名:踩点)。从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎增加 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

统计分析表的存储过程遇ORA-00600错误分析与处理的更多相关文章

  1. 在SSMS里批量删除表、存储过程等各种对象

    在SSMS里批量删除表.存储过程等各种对象 以前想找批量删除表或者存储过程的方法,原来SSMS的GUI界面也可以完成 请看下图,因为这次出差的时候要删除所有的存储过程,然后重建这些存储过程 而表.函数 ...

  2. 利用sql批量删除表,存储过程

    利用sql批量删除表,存储过程. 最近用godaddy的空间,由于系统里面的表多,一个个的删除很麻烦,就网上搜集了一下解决方法. 给大家分享一下: 1.批量删除存储过程 declare @procNa ...

  3. sqlserver使用户只能在某个架构下建立表和存储过程

    1.首先,建立一个用户之后,默认的架构是dbo,默认的角色是public.这种情况下,这个用户将看不到dbo以及其他架构下的对象.除非单独进行授权.   2.新建一个架构test,然后使得这个架构的所 ...

  4. SQLServer2008/2012 删除所有表视图存储过程

    SQLServer2008/2012 删除所有表视图存储过程 -------------------删除所有的表-------------------use xuwenbin111--/第1步**** ...

  5. 关于EF执行返回表的存储过程

    1.关于EF执行返回表的存储过程 不知道为什么EF生成的存储过程方法会报错,以下方法可以使用,call是MySQL执行存储过程的命令 [HttpGet] public HttpResponseMess ...

  6. sql:Oracle11g 表,视图,存储过程结构查询

    -- Oracle 11 G --20160921 涂聚文再次修改 --Geovin Du --GetTables SELECT owner, object_name, created FROM al ...

  7. sql:MySQL 6.7 表,视图,存储过程结构查询

    #数据库MySQL 6.7 use sakila; #查询表名 show tables; # SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA. ...

  8. sql server快速删除整个数据库表和存储过程

    情况:在远程数据库删除表执行太慢,表过多,数据库无权删除 结果:保留空数据库 方法:利用sql语句,查询网络文摘解决. 说明: 有些有约束,不能直接delete,需要先删除所有约束,语句: DECLA ...

  9. sql通用分页自定义表条件存储过程

    create PROCEDURE PrcTestByPage ( @tablename varchar(50), @selectfilter varchar(100), @orderbyfilter ...

随机推荐

  1. 【asp.net】Win7旗舰版IIS配置

    1.IIS配置流程 win7 iis 的配置不需要插入安装盘,可直接在控制面板中开启该功能,步骤如下: (1)"控制面板"-->"程序和功能"--> ...

  2. Android开发基础(java)1

    基本概念: 一.结构化方法与结构化程序设计 1.结构化方法:源自迪克斯特拉(E.W.Dijkstra)提出的结构化概念,采用自顶向下.逐步求精的模块化设计方法.核心是将工作分成若干个相互独立的模块,使 ...

  3. 分享C#识别图片上的数字

    通过Emgu实现对图片上的数字进行识别.前期步骤:1.下载Emgu安装文件,我的版本是2.4.2.1777.3.0版本则实现对中文的支持.2.安装后需填写环境变量,环境变量Path值后加入Emgu安装 ...

  4. BitMap与RoaringBitmap、JavaEWAH

    本文主要介绍BitMap的算法思想,以及开源工具类JavaEWAH.RoaringBitmap的简单用法. 一.BitMap 介绍 BitMap使用bit位,来标记元素对应的Value.该算法能够节省 ...

  5. 浅谈.Net异步编程的前世今生----EAP篇

    前言 在上一篇博文中,我们提到了APM模型实现异步编程的模式,通过使用APM模型,可以简化.Net中编写异步程序的方式,但APM模型本身依然存在一些缺点,如无法得知操作进度,不能取消异步操作等. 针对 ...

  6. GestureDetector 完全解析

    个人原创 OnDown(MotionEvent e):用户触发DonenEvent就会执行onShowPress(MotionEvent e):用户触发DonenEvent后,在很短大概0.5秒内,没 ...

  7. git-ssh配置和使用

    https://segmentfault.com/a/1190000002645623 1.设置Git的user name和email:(如果是第一次的话) $ git config --global ...

  8. ASP.NET WebAPI 路由规则与POST数据 【转】

    http://www.cnblogs.com/liulun/archive/2012/06/20/2556556.html 蛋疼的路由规则约定 在上一篇文章中 我们成功通过AJAX获取到了服务器的数据 ...

  9. foreach_break 面试记录

    版权所有@foreach_break] [博客地址 http://www.cnblogs.com/foreach-break] 可以转载,但必须注明出处并保持博客超链接 背景 自从2013年离开北京后 ...

  10. spring Multiple MongoTemplate

    <!-- 数据环境配置 --> <mongo:repositories base-package="com.my9yu.manager.module.server.repo ...