Oracle包编译,调用或调试Package时卡死问题

网上百度到了出现这种现象原因,说的好像还挺有道理的,所以就copy过来:

在对Procedure、Function或Package进行Debug时,如果长时间没有操作,公司的防火墙会杀掉会话连接。这个时候数据库不会主动的释放会话的资源,如果再次对Procedure、Function或Package进行Debug的话,就会产生等待。因为被防火墙杀掉的会话还在运行着上次的Debug,会有锁的存在。只用等到数据库回收上次Debug的会话资源或者DBA手动将会话KILL掉。

手动kill session的方法:

1.SELECT * FROM V$DB_OBJECT_CACHE WHERE NAME=upper(‘PROCEDURE_NAME‘) AND LOCKS!=‘0‘;
注意: PROCEDURE_NAME为存储过程的名称。
2.SELECT SID FROM V$ACCESS WHERE OBJECT=‘PROCEDURE_NAME‘;
3.SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID=‘SID‘;
4.ALTER SYSTEM KILL SESSION ‘SID,SERIAL#‘ IMMEDIATE;
或者
select   vs.SID,
           vs.SERIAL#,
           vs.PADDR,
           ‘ALTER SYSTEM KILL SESSION ‘‘‘ || vs.SID || ‘,‘ || vs.SERIAL# ||
           ‘‘‘ IMMEDIATE;‘
  from V$ACCESS va, V$SESSION vs
 where 1 = 1
   and va.SID = vs.SID
   and va.OBJECT = upper(‘SZA_PA_BGT_ADJ_COMMON_PUB‘)
时间: 2024-08-24 00:45:23

Oracle包编译,调用或调试Package时卡死问题的相关文章

Oracle 包(package)

1.包 包是一组相关过程.函数.变量.常量#SinaEditor_Temp_FontName.类型和游标等PL/SQL程序设计元素的组合.包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装.一个包由两个分开的部分组成: (1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型.变量.常量.游标等元素.这部分也是为使用者提供了透明的接口. (2)包体packpage body:包体是包定义部分的具体实现. (3)将有联系的对象打成包,方便使用 (4)包中对象包

Rails : css或js文件无法成功预编译或调用jquery类插件时预编译问题

调用bootstrap css框架时,将bootstrap文件夹放入 vendor/assets/下 bootstrap文件结构如下:    [[email protected] demo]$ ls vendor/assets/bootstrap/     css  img  js [[email protected] demo]$ ls vendor/assets/bootstrap/css/     bootstrap.css  bootstrap.min.css  bootstrap-re

oracle包package的使用

创建包 包头: CREATE OR REPLACE PACKAGE test_pkg IS PROCEDURE update_sal(e_name VARCHAR2,newsal NUMBER);     --  定义一个函数 FUNCTION ann_income(e_name VARCHAR2) RETURN NUMBER;    -- 定义一个存储过程 END; 包体: CREATE OR REPLACE PACKAGE BODY test_pkg IS PROCEDURE update_

oracle包概述(一)【weber出品】

一.PL/SQL包概述 1. 什么是PL/SQL包: 相关组件的组合:PL/SQL类型.变量,数据结构,和表达式.子程序: 过程和函数 2. 包的组成部分: 由两部分组成: 包头 包体 3. 包的优点 一次读取多个对象进入内存 二.PL/SQL包的组件 包头:公共部分:包内和包外的程序都可以访问 包体:私有部分:包体定义的变量或者程序只能被本包内的程序调用 1. 创建包头 语法: CREATE [OR REPLACE] PACKAGE package_name IS|AS public type

CentOS程序包管理器rpm、yum以及程序包编译安装详解

一.程序包管理器RPM和Yum简介 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,可以更方便地实现程序包的安装.升级.卸载和查询等管理操作. rpm软件包管理器(RPM Package Manager):rpm包存在依赖关系,依赖关系复杂,安装时间很长,虽然可以忽略依赖关系,但是可能会导致程序包安装后无法正常使用. yum程序包管理器( Yellow dog Updater, Modified):yum是基于RPM包管理,自动解决程序包间的依赖关系.根据配置文件的资源地

Oracle数据库中调用Java类开发存储过程、函数的方法

Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL,除此之外,还可以用时下最流行的编程语言Java来做开发.随着对oracle的了解越来越多,越来越禁不住oracle的诱惑,oracle技术真的是一门很有趣的学问.之前,我在博客中总结了挺多有关SQL.PL/SQL的,但是对于oracle数据库中Java类的调用却没有总结,也是因为之前不太会,这会儿总

Python基础----import模块导入和包的调用

模块概念 在Python中,一个.py文件就称之为一个模块(Module).使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库.第三方模块.应用程序自定义模块. 相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突.但是也要注意,尽量不要与内置函数名字冲突. 模块导入 import语句 1 import module1[, module2[,... moduleN] 使用import语句时候,Python

Day 28(06/28)模块与包的调用

模块与包的调用 模块(modue)的概念 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处? 最大的好处是大大提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,

python模块与包的调用

模块(module) 什么是模块 一个 .py文件 就是一个模块(Module).在开发过程中我们不会把所有的代码都写在一个 .py文件 中.随着代码量的增大,可以按照功能将函数或者类分开存放到不同的 .py文件 中.?这样代码更方便管理,以及后期的维护,也便于其他程序来调用当前已经实现的功能~?在开发过程中,我们也经常引用其他模块,例如:time,os,configparser,re 等等在Python中模块一般有如下3种:1)Python内置模块2)第三方模块3)自定义模块 模块的导入 im