当前位置: 首页 > news >正文

oracle游标为什么没有共享,统计一下原因


-- Script Code为什么没共享
define sql_id = 'bs391f0yq5tpw';

set serveroutput on

DECLARE
  v_count number;
  v_sql varchar2(500);
  v_sql_id varchar2(30) := '&sql_id';
BEGIN
  v_sql_id := lower(v_sql_id);
  dbms_output.put_line(chr(13)||chr(10));
  dbms_output.put_line('sql_id: '||v_sql_id);
  dbms_output.put_line('------------------------');
  FOR c1 in
    (select column_name 
       from dba_tab_columns
      where table_name ='V_$SQL_SHARED_CURSOR'
        and column_name not in ('SQL_ID', 'ADDRESS', 'CHILD_ADDRESS', 'CHILD_NUMBER', 'REASON', 'CON_ID')
      order by column_id)
  LOOP
    v_sql := 'select count(*) from V_$SQL_SHARED_CURSOR
              where sql_id='||''''||v_sql_id||''''||'
              and '||c1.column_name||'='||''''||'Y'||'''';
    execute immediate v_sql into v_count;
    IF v_count > 0
    THEN
      dbms_output.put_line(' - '||rpad(c1.column_name,30)||' count: '||v_count);
    END IF;
  END LOOP;
END;
/

在这里插入图片描述
很清晰了,绑定变量不匹配

BIND_MISMATCH:绑定元数据与现有的子游标不匹配

ROLL_INVALID_MISMATCH:超过了滚动无效窗口。这是由DBMS_STATS的滚动无效功能引起的。因为它的无效窗口已经超过了,所以子游标不能被共享

BIND_LENGTH_UPGRADEABLE:绑定长度可升级,并且无法共享,因为一个绑定变量大小小于正在插入的新值(在早期版本中被标记为BIND_MISMATCH)。

相关文章:

  • 水果识别系统 | BP神经网络水果识别系统,含GUI界面(Matlab)
  • 《白帽子讲 Web 安全:点击劫持》
  • Makefile、Make和CMake:构建工具的三剑客
  • 授权与认证之jwt(一)创建Jwt工具类
  • macOS Sequoia 15.3 M3 Pro芯片 iOS 开发环境配置记录(最新)
  • ZYNQ-PL实践课堂(四)IP核之RAM
  • 经验分享:用一张表解决并发冲突!数据库事务锁的核心实现逻辑
  • python 爬虫用bs4 或者叫Beautiful Soup
  • CSS—text文本、font字体、列表list、表格table、表单input、下拉菜单select
  • 关于后端使用Boolean或boolean时前端收到的参数的区别
  • 基于51单片机的智能温控器设计与实现
  • 哈希算法--猜数字游戏
  • 基于AX58100 EtherCAT从站开发
  • 考研408数据结构线性表核心知识点与易错点详解(附真题示例与避坑指南)
  • llama-factory
  • 132. 分割回文串 II | 最少分割次数
  • Linux网络相关概念和重要知识(1)(网络协议、网络通信)
  • Hashmap
  • FPGA开发,使用Deepseek V3还是R1(8):FPGA的全流程(简略版)
  • Pytorch使用手册—Raspberry Pi 4 上的实时推理(30 FPS!)(专题三十六)
  • 设计公司网站建设文案/青岛关键词网站排名
  • 如何对网站做压力测试/2023新闻热点摘抄
  • 做兼职写小说网站/推一手新闻发稿平台
  • 电子商务网站建设课程设计代码/1688的网站特色
  • 西宁的网站建设/平台推广精准客源
  • 汕头市国外网站建设公司/重庆网络推广平台