【OceanBase诊断调优】—— 错误码 5065 和 5066 的区别

devtools/2024/10/19 9:35:14/

适用版本:V2.1.x、V2.2.x、V3.1.x、V3.2.x

5065 与 5066 是两个近似的报错。

  • OB_ERR_QUERY_INTERRUPTED(-5065):

    • Message: Query execution was interrupted。

    • 含义为执行中断, 例如终端执行 SQL 过程中按 ctrl+c 终止 SQL 执行会报 -5065。

  • OB_ERR_SESSION_INTERRUPTED(-5066):

    • Message: Session interrupted。

    • 含义为 session 中断, 例如 SQL 执行过程中连接池超时断开网络链接,或者终端执行过程中 kill 掉 OBServer 进程断开网络链接。

问题复现模拟上述报错的示例:

  1. 发起某个业务查询语句,数秒后,并通过 Ctrl + C 取消此语句。

    obclient [SYS]> select count(*) records from NGCRM_XX.CM_SUBS_PRODATTR tsa;
    ^CCtrl-C -- query killed. Continuing normally.
    ORA-00600: internal error code, arguments: -5065, Query execution was interrupted
    
  2. 查询当前会话的 ID ,并再次发起业务查询语句。

    1. 查询当前会话 ID.

      obclient [SYS]> show processlist;
      

      输出结果如下:

      +--------+----------+------+---------------------+------+-------------+-------------------+-------------------+---------+---------+
      | Id     | Tenant   | User | Host                | db   | trans_count | svr_session_count | state             | tid     | pid     |
      +--------+----------+------+---------------------+------+-------------+-------------------+-------------------+---------+---------+
      | 219088 | oboracle | SYS  | 10.xxx.xxx.xx:43752 | SYS  |           0 |                 1 | MCS_ACTIVE_READER | 2059664 | 2059653 |
      +--------+----------+------+---------------------+------+-------------+-------------------+-------------------+---------+---------+
      1 row in set (0.006 sec)
      
    2. 发起执行业务查询语句。

      obclient [SYS]> select count(*) records from NGCRM_XX.CM_SUBS_PRODATTR tsb;
      
  3. 在另一个窗口,执行终止会话的操作。

    [root@xxxx] kill -9 219088
    
  4. 返回原窗口,此时可看到第二次发起的业务查询语句也报错了。

    ERROR-02013: Lost connection to MySQL server during query
    
  5. 登录 SYS 租户,通过 SQL_AUDIT 查询报错信息,可分别看到 5065 以及 5066 的报错。

    obclient [oceanbase]>  select svr_ip,ret_code,query_sql from gv$sql_audit where query_sql like 'select%count%CM_SUBS_PRODATTR ts%'\G;
    

    输出结果如下:

    *************************** 1. row ***************************
    svr_ip: xxx.xxx.xxx.xxx
    ret_code: -5065
    query_sql: select count(*) records from NGCRM_XX.CM_SUBS_PRODATTR tsa
    *************************** 2. row ***************************
    svr_ip: xxx.xxx.xxx.xxx
    ret_code: -5066
    query_sql: select count(*) records from NGCRM_XX.CM_SUBS_PRODATTR tsb
    2 rows in set (20.974 sec)
    

http://www.ppmy.cn/devtools/125315.html

相关文章

蓝桥备战国奖题后总结(2)

一、压缩字符串 public static void main(String[] args) {Scanner scan new Scanner(System.in);String strscan.nextLine();char[] chstr.toCharArray();int flag1;int num0;for(int j0;j<ch.length-1;j){if(ch[j]ch[j1]){num1;}if(num0&&jch.length-2){System.…

Vue3实现面板分割

Vue3实现面板分割 下面是将你提供的 Vue 组件使用 SCSS&#xff0c;并以 Vue 3 的组合式 API 形式的面板分割代码。 1、建立组件相关的文件夹 2、将下面代码拷贝到index.vue中 <template><div class"g-split" ref"gSplit"><!-- 水平方向…

折叠翼弹射无人机产品技术详解

折叠翼无人飞行器系统采用储存、运输、发射一体化设计&#xff0c;飞行器平台可以折叠入筒&#xff0c;采用筒式气体弹射方式发射&#xff0c;其搭载可见光/红外双光载荷与战斗部&#xff0c;可以对敌方中大型坦克、装甲或防御工事进行打击。产品技术详解如下&#xff1a; 一、…

计算机挑战赛3

老式的计算机只能按照固定次序进行运算&#xff0c;华安大学就有这样一台老式计算机&#xff0c;计算模式为AB#C&#xff0c;和#为输入的运算符(可能是、-或*&#xff0c;运算符优先级与C一致)&#xff0c;现给出A&#xff0c;B&#xff0c;C的数值以及和#对应的运算符&#xf…

Qt事件——鼠标事件

通过label来显示各种事件 鼠标按下事件 //按下显示坐标 void MyLabel::mousePressEvent(QMouseEvent * ev) {int i ev->x();int j ev->y();//判断按下的鼠标键位if (ev->button() Qt::LeftButton) {qDebug() << "LeftButton";}else if (ev->bu…

Pytest中fixture的scope详解

pytest作为Python技术栈下最主流的测试框架&#xff0c;功能极为强大和灵活。其中Fixture夹具是它的核心。而且pytest中对Fixture的作用范围也做了不同区分&#xff0c;能为我们利用fixture带来很好地灵活性。 下面我们就来了解下这里不同scope的作用 fixture的scope定义 首…

SAP SD学习笔记09 - 受注传票中的不完全Log 和 Business Partner(取引先机能)

好久没写SD了&#xff0c;今天继续写。 上一章讲了SD的如下知识 - SD的售前的流程&#xff08;引合和見積&#xff08;询价和报价&#xff09;&#xff09; - 数据流的概念&#xff0c;主要就是后传票可以参照前传票&#xff0c;以实现数据的流动&#xff0c;减少输入 - Co…

python之详解列表

有序的可变容器&#xff0c;可以存储不同类型的元素。用中括号[]表示。 1、列表的查找访问 1.1、通过下标查找。 与字符串类似&#xff0c;列表也可通过 列表名[index] 的方式查找其中的元素。 索引的初始值为0&#xff0c;最大值为列表长度-1。 示例&#xff1a; list1 …