Oracle数据库游标连接超出解决方案

oracle数据库忽然连不上了,一查是游标数量超了。

1.查看游标数

show parameter open_cursors

2.修改游标数

alter system set open_cursors = 10000;

3.获取打开的游标数

select o.sid, osuser, machine, count(*) num_curs
 from v$open_cursor o, v$session s
 where user_name = 'AF651_U8'
  and o.sid = s.sid
 group by o.sid, osuser, machine
 order by num_curs desc;
SID OSUSER MACHINE NUM_CURS

4.查询某游标执行的sql

select q.sql_text
 from v$open_cursor o, v$sql q
 where q.hash_value = o.hash_value
  and o.sid = 396;

5.解决问题的办法:

  --1.查找代码不合理的地方,修改代码。

  --2.重启oracle数据库

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Oracle中的游标和函数详解

     Oracle中的游标和函数详解 1.游标 游标是一种 PL/SQL 控制结构:可以对 SQL 语句的处理进行显示控制,便于对表的行数据 逐条进行处理. 游标并不是一个数据库对象,只是存留在内存中. 操作步骤: 声明游标    打开游标 取出结果,此时的结果取出的是一行数据 关闭游标 到底那种类型可以把一行的数据都装进来 此时使用 ROWTYPE 类型,此类型表示可以把一行的数据都装进来. 例如:查询雇员编号为 7369 的信息(肯定是一行信息). 例:查询雇员编号为 7369 的信息(肯定是一

  • Oracle显示游标的使用及游标for循环

    下面给大家介绍在什么情况下用隐式游标,什么情况下用显示游标: 1.查询返回单行记录时→隐式游标: 2.查询返回多行记录并逐行进行处理时→显式游标 --显示游标属性 declare CURSOR cur_emp IS SELECT * FROM emp; row_emp cur_emp%ROWTYPE; BEGIN OPEN cur_emp; FETCH cur_emp INTO row_emp; WHILE cur_emp%FOUND LOOP dbms_output.put_line(row_

  • 详解Oracle隐式游标和显式游标

    游标是什么?就是在内存开辟的一块临时存储空间. 1.Oracle隐式游标 1.1Oracle有常用的哪些隐式游标 1.2 Oracle隐式游标演示 -- 隐式游标 (使用的表为Oracle默认自带的emp表) -- sql%rowcount:影响记录条数 sql%found:是否有满足条件的记录 set serveroutput on; declare v_ename a_emp.ename%type; begin select ename into v_ename from a_emp whe

  • Oracle存储过程返回游标实例详解

    有俩种方法: 一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为 in out 或out (1)声明个人系统游标.(推荐) 复制代码 代码如下: create or replace p_temp_procedure ( cur_arg out sys_refcursor; --方法1 ) begin open cur_arg for select * from tablename; end 调用 复制代码 代码如下: declare cur_calling sys_refcu

  • Oracle游标的使用实例详解

    什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制. ②关系数据库中的操作是在完整的行集合上执行的. 由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所列条件的所有行.由该语句返回完整的行集合叫做结果集. 应用程序,尤其是互动和在线应用程序,把完整的结果集作为一个单元处理并不总是有效的. 这些应用程序需要一种机制来一次处理一行或连续的几行.而游标是对提供这一机制的结果集的扩展. 游标是通过游标库来实现的.游标库是常常作为数据库系统或数据访问 API 的一部

  • oracle 在一个存储过程中调用另一个返回游标的存储过程

    第一种情况是返回的游标是某个具体的表或视图的数据,如: SQL-Code: 复制代码 代码如下: CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS; END P_TESTA; 其中USERS就是数据库中一个表.在调用的时候只要声明一个该表的ROWTYPE类型就可以了: SQL-Code: 复制代码 代码如下: CREATE

  • Oracle存储过程游标用法分析

    本文实例讲述了Oracle存储过程游标用法.分享给大家供大家参考,具体如下: 使用游标的5个步骤 1.声明一些变量用于保存select语句返回的指 2.声明游标,并指定select 语句 3.打开游标 4.从游标中获取记录 5.关闭游标 从游标中获取每一条记录可使用fetch语句.fetch语句将列的指读取到指定的变量中: 语法: fetch cursor_name into variable[, variable ...]; 例子: create or replace procedure se

  • Oracle中游标Cursor基本用法详解

    查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的 返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中.SELECT INTO语法如下: SELECT [DISTICT|ALL]{*|column[,column,...]} INTO (variable[,variable,...] |record) FROM {table|(sub-query)}[alias] WHERE............ PL/SQL

  • Oracle 游标使用总结

    Oracle游标分为显示游标和隐式游标. 显示游标(Explicit Cursor):在PL/SQL程序中定义的.用于查询的游标称作显示游标. 隐式游标(Implicit Cursor):是指非PL/SQL程序中定义的.而且是在PL/SQL中使用UPDATE/DELETE语句时,Oracle系统自动分配的游标. 一.显示游标 1.使用步骤 (1)定义 (2)打开 (3)使用 (4)关闭 2.使用演示 首先创建测试用表STUDENT,脚本如下: 复制代码 代码如下: CREATE TABLE "S

  • Oracle数据库游标连接超出解决方案

    oracle数据库忽然连不上了,一查是游标数量超了. 1.查看游标数 show parameter open_cursors 2.修改游标数 alter system set open_cursors = 10000; 3.获取打开的游标数 select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s where user_name = 'AF651_U8' and o.sid = s.sid

  • Oracle数据库url连接最后一个orcl代表的是配置的数据库SID

    今天生产上项目启动访问 一个数据库的时候,出现了 ORA-12505, TNS:listener does not currently know of SID given in connect desc . 后面看了下,我的数据库配置为: driverClassName=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@158.58.88.102:1521:eskdb username=root password=aaa111 然后看了下

  • 深入分析C#连接Oracle数据库的连接字符串详解

    两种方式:1.IP+SID方式 2.配置链接方式1..IP+SID方式 复制代码 代码如下: DbHelperOracle.connectionString = string.Format(@"Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA =(SID = {1})(SERVER = DEDICATED)));User Id={

  • Python查询oracle数据库速度慢的解决方案

    如下所示: conn = cx_Oracle.connect('username/password@ip:port/servername') cur = conn.cursor() cur.execute('SELECT * FROM "db"."table"') cur是一个迭代器,不要用fetchall一次性取完数据 直接 for row in cur 即可取数据 使用:sqlalchemy MySQL-Python mysql+mysqldb://<us

  • C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll

    在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的. 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedDataAccess.dll进行本文的重点呢? 1.visual s

  • 使用PLSQL远程连接Oracle数据库的方法(内网穿透)

    目录 1.前言 2.Oracle数据库的安装 2.1 Oracle下载安装 2.2 Oracle连接测试 2.3 Cpolar下载安装 3.Cpolar端口设置 3.1 Cpolar云端设置 3.2.Cpolar本地设置 4.公网访问测试 5.结语 1.前言 数据库作为十分重要的资料管理和存储库,一致都受到各软件大厂关注:而为了更好的管理和组织越来越庞大的数据库里的数据,又衍生出不同派系的数据模型(如关系和非关系.层次和网状模型.面向对象和半结构化等等),令人眼花缭乱.随着数据库在现代社会中的作

  • 用PHP连接Oracle数据库

    通过PHP你可以轻松的连接到数据库,请求数据并将其显示在你的web站点中,甚至修改数据库中的数据.MySQL是一种很流行的数据库,并且在互联网中有许多有关PHP与MySQL的教程.MySQL是免费的,这一点也许就吸引了不少人.由于其广泛应用,我就不想在这里赘述MySQL的使用方法了.Oracle被大量在企业应用中采用,因此我们就利用Oracle来介绍PHP与数据库的连接.我们当然不会提及Oracle数据库的设计原理,原因是这已经超出了我们的讨论范围. PHP提供了两套函数与Oracle连接,分别

  • 利用Python连接Oracle数据库的基本操作指南

    这里我们采用的是使用Oracle数据库进行相关操作 在连接数据库之间,应下载相应的工具包cx_Oracle,在你安装的Python文件夹中找到script,在路径栏点击输入cmd回车进入命令行输入 pip install cx_Oracle 进行安装,工具包较小,下载较快,大概300kb. 安装好之后,打开Python,新建一个工作区. 1.引入该工具包,使用import关键词,输入 import cx_Oracle 引入该工具包,运行看是否加载成功(结果区为>>空行),无其他内容),则表示加

  • VS2015连接Oracle数据库的详细步骤

    开发环境 宿主机:Win10 + VS2015 + ODP.Net for VS2015 虚拟机:Win7 + Oracle 11g + 桥接 配置ODP.Net 首先下载 Oracle Developer Tools for Visual Studio 2015 ,下载此文件需要注册Oracle社区账号并接受相关的协议,此文件提供了以下组件: Oracle Developer Tools for Visual Studio 12.1.0.2.4 Oracle Data Provider for

  • 连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程

    在用PL/SQL Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图: 发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟大家分享一下如何启动oracle的监听. 1.在安装Oracle服务器的主机上,打开Net Configuration Assistant 2.选择监听程序配置,下一步 3.选择重新配置,下一步 4.选择监听程序,默认,下一步 注:如果你的监听已启动,则出现提示框,选择是 5.选择协议,使用默认的T

随机推荐