注册

调用SP_INDEX_STATS_SHOW函数引发数据库宕机

Hanson.T 2024/06/25 462 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:多版本
【操作系统】:WIN10/麒麟V10
【CPU】:x86
【问题描述】*:

今天在调用 DBMS_STATS.INDEX_STATS_SHOW 过程查看函数索引的统计信息时,数据库异常宕机。

在V$IFUN 中查找到有个类似函数 SP_INDEX_STATS_SHOW,经测试有同样问题,程序包中估计调用的是这个系统函数。
所以后面以该函数来示例。

这个问题在下面两个版本中都存在

WIN/rh6: 1-3-140-2024.03.21-222308-20093-ENT --03134284172-20240321-222308-20093 docker: 1-3-140-2024.05.27-229704-20093-ENT --03134284172-20240527-229704-20093 Pack5

测试手头旧docker镜像,下面两个版本中无此问题

1-3-100-2024.01.15-215128-20081-STD --02134284132-20240115-215128-20081 Pack2 1-3-26-2023.07.26-197096-20046-ENT --03134284058-20230726-197096-20046 Pack4

大概测试过程如下:

--创建测试表 CREATE TABLE T_FBITST ( A INT, B VARCHAR2(100) ); --初始化数据 INSERT INTO T_FBITST VALUES(1,'ASDF'),(2,'QWER'),(3,'ASHDFLKAJSHDF'),(4,'SIFVHEURVPIUEBFV'); COMMIT; --创建两个索引,一个普通索引,一个函数索引 CREATE INDEX IDX_T_FBITST_NORM ON T_FBITST(A,B); CREATE INDEX IDX_T_FBITST_FUN ON T_FBITST(A,LENGTH(B)); --调用下面匿名块测试 SP_INDEX_STATS_SHOW 系统函数 --传入索引名为 IDX_T_FBITST_NORM 时执行正常 --传入索引名为 IDX_T_FBITST_FUN 时数据库宕机 DECLARE OWNNAME VARCHAR(128) := USER; INDEXNAME VARCHAR(128) := 'IDX_T_FBITST_FUN'; BLEVEL INTEGER; LEAF_BLOCKS BIGINT; DISTINCT_KEYS BIGINT; CLUSTERING_FACTOR INTEGER; NUM_ROWS BIGINT; SAMPLE_SIZE BIGINT; BEGIN SP_INDEX_STATS_SHOW(OWNNAME ,INDEXNAME ,BLEVEL ,LEAF_BLOCKS ,DISTINCT_KEYS ,CLUSTERING_FACTOR ,NUM_ROWS ,SAMPLE_SIZE ); END;
回答 0
暂无回答
扫一扫
联系客服