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. 64位linux 汇编

    c源码:testg.c 1 #include<stdio.h>                2                                   3 #define s ...

  2. Ubuntu14.04 LTS安装docker

    有以下几种方式: 1. 通过系统自带包安装(可能不是最新版) $ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln - ...

  3. Spring Boot学习——数据库操作及事务管理

    本文讲解使用Spring-Data-Jpa操作数据库. JPA定义了一系列对象持久化的标准. 一.在项目中使用Spring-Data-Jpa 1. 配置文件application.properties ...

  4. 反射$change属性问题

    写DB框架的时候,使用反射获取属性的时候,多了一个$change属性,当场一脸懵比.   stackoverflow 发现是Android Studio2.0的.Instant Run 的问题.  解 ...

  5. maven更换阿里云仓库

    本来不想写,网上到处都是,不过好多到我这不行,自己记录下,省的到处找 D:\apache-maven-3.6.1\conf目录下setting.xml文件(这是我的解压的位置) <mirrors ...

  6. Android中节操播放器JieCaoVideoPlayer使用

    效果 使用 即便是自定义UI,或者对Library有过修改,也是这五步骤来使用播放器. 1.添加类库 compile 'cn.jzvd:jiaozivideoplayer:6.0.0' 2.添加布局 ...

  7. 解决redis在windows下使用start命令行调起时闪退的问题

    start powershell "redis-server.exe" "redis-server.exe" 改成redis-server.exe的绝对路径即可 ...

  8. codevs——1048 石子归并 (区间DP)

    时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解       题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并 ...

  9. Maven 多模块父子工程 (含Spring Boot示例)

    一.为什么要用Maven多模块 假设有这样一个项目,很常见的Java Web应用.在这个应用中,我们分了几层: Dao Service Web 对应的,在一个项目中,我们会看到一些包名: org.xx ...

  10. https的实现原理

    加密算法 有两种基本的加解密算法类型: 1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES.AES等: 2)非对称加密:密钥成对出现(且根据公钥无法推知私钥, ...