Oracle 执行count(1)错误:ORA-00600: internal error code, arguments: [kkqcscpopn_Int: 0]

报错的语句

SELECT
	count( 1 ) 
FROM
	(
	SELECT
		NVL( process.CONDUCT_COUNT, 0 ) AS CONDUCT_COUNT,
		NVL( process.AVG_USE_TIME, 0 ) AS AVG_USE_TIME,
		NVL( process.MIN_USE_TIME, 0 ) AS MIN_USE_TIME,
		NVL( process.MAX_USE_TIME, 0 ) AS MAX_USE_TIME,
		NVL( NVL( process.SOURCE_ID, pending.SOURCE_ID ), ' ' ) AS SOURCE_ID,
		NVL( pending.PENDING_COUNT, 0 ) AS PENDING_COUNT 
	FROM
		(
		SELECT
			count( 1 ) AS CONDUCT_COUNT,
			ROUND( AVG( apt.TASK_TIME ) / 60, 2 ) AS AVG_USE_TIME,
			ROUND( MIN( apt.TASK_TIME ) / 60, 2 ) AS MIN_USE_TIME,
			ROUND( MAX( apt.TASK_TIME ) / 60, 2 ) AS MAX_USE_TIME,
			rpi.SOURCE_ID 
		FROM
			( SELECT * FROM RUNTIME_PROCESS_INSTANCE WHERE SOURCE_ID IS NOT NULL ) rpi
			INNER JOIN APP_PARTICIPATED_TASK apt ON ( rpi.PROCESS_INSTANCE_ID = apt.PROCESS_INSTANCE_ID ) 
		WHERE
			1 = 1 
			AND rpi.SOURCE_ID = '111' 
			AND apt.TASK_END_TIME >= to_date( '2024-02-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS' ) 
			AND apt.TASK_END_TIME <= to_date( '2024-05-12 23:59:59', 'YYYY-MM-DD HH24:MI:SS' ) 
		GROUP BY
			rpi.SOURCE_ID 
		) process
		FULL JOIN (
		SELECT
			COUNT( 1 ) AS PENDING_COUNT,
			rpi.SOURCE_ID 
		FROM
			( SELECT * FROM RUNTIME_PROCESS_INSTANCE WHERE SOURCE_ID IS NOT NULL ) rpi
			INNER JOIN APP_PENDING_TASK apt ON ( rpi.PROCESS_INSTANCE_ID = apt.PROCESS_INSTANCE_ID ) 
		WHERE
			1 = 1 
			AND rpi.SOURCE_ID = '111' 
			AND apt.CREATE_TIME >= to_date( '2024-02-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS' ) 
			AND apt.CREATE_TIME <= to_date( '2024-05-12 23:59:59', 'YYYY-MM-DD HH24:MI:SS' ) 
		GROUP BY
			rpi.SOURCE_ID 
		) pending ON ( process.SOURCE_ID = pending.SOURCE_ID ) 
	) analysis
	LEFT JOIN ( SELECT ITEM_VALUE, ITEM_NAME FROM SYS_DATA_DICT_ITEM WHERE DICT_ID = ( SELECT ID FROM SYS_DATA_DICT WHERE DICT_CODE = 'analysis-source' ) ) analysisSource ON ( analysis.SOURCE_ID = analysisSource.ITEM_VALUE )

报错的信息:ORA-00600: internal error code, arguments: [kkqcscpopn_Int: 0], [], [], [], [], [], [], [], [], [], [], []

很神奇把count(1) 改成*,这个sql是能执行出来的,改成count(1)就报错。

主要当时偷懒了,把这个*直接改成count(1) 去做分页了,其实要外层那些没用的代码,修改后的sql

--SELECT
--	count( 1 ) 
--FROM
	--(
	SELECT
	
	  count( 1 ) 
		
		--NVL( process.CONDUCT_COUNT, 0 ) AS CONDUCT_COUNT,
		--NVL( process.AVG_USE_TIME, 0 ) AS AVG_USE_TIME,
		--NVL( process.MIN_USE_TIME, 0 ) AS MIN_USE_TIME,
		--NVL( process.MAX_USE_TIME, 0 ) AS MAX_USE_TIME,
		--NVL( NVL( process.SOURCE_ID, pending.SOURCE_ID ), ' ' ) AS SOURCE_ID,
		--NVL( pending.PENDING_COUNT, 0 ) AS PENDING_COUNT 
	FROM
		(
		SELECT
			count( 1 ) AS CONDUCT_COUNT,
			ROUND( AVG( apt.TASK_TIME ) / 60, 2 ) AS AVG_USE_TIME,
			ROUND( MIN( apt.TASK_TIME ) / 60, 2 ) AS MIN_USE_TIME,
			ROUND( MAX( apt.TASK_TIME ) / 60, 2 ) AS MAX_USE_TIME,
			rpi.SOURCE_ID 
		FROM
			( SELECT * FROM RUNTIME_PROCESS_INSTANCE WHERE SOURCE_ID IS NOT NULL ) rpi
			INNER JOIN APP_PARTICIPATED_TASK apt ON ( rpi.PROCESS_INSTANCE_ID = apt.PROCESS_INSTANCE_ID ) 
		WHERE
			1 = 1 
			AND rpi.SOURCE_ID = '111' 
			AND apt.TASK_END_TIME >= to_date( '2024-02-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS' ) 
			AND apt.TASK_END_TIME <= to_date( '2024-05-12 23:59:59', 'YYYY-MM-DD HH24:MI:SS' ) 
		GROUP BY
			rpi.SOURCE_ID 
		) process
		FULL JOIN (
		SELECT
			COUNT( 1 ) AS PENDING_COUNT,
			rpi.SOURCE_ID 
		FROM
			( SELECT * FROM RUNTIME_PROCESS_INSTANCE WHERE SOURCE_ID IS NOT NULL ) rpi
			INNER JOIN APP_PENDING_TASK apt ON ( rpi.PROCESS_INSTANCE_ID = apt.PROCESS_INSTANCE_ID ) 
		WHERE
			1 = 1 
			AND rpi.SOURCE_ID = '111' 
			AND apt.CREATE_TIME >= to_date( '2024-02-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS' ) 
			AND apt.CREATE_TIME <= to_date( '2024-05-12 23:59:59', 'YYYY-MM-DD HH24:MI:SS' ) 
		GROUP BY
			rpi.SOURCE_ID 
		) pending ON ( process.SOURCE_ID = pending.SOURCE_ID ) 
--) analysis
	--LEFT JOIN ( SELECT ITEM_VALUE, ITEM_NAME FROM SYS_DATA_DICT_ITEM WHERE DICT_ID = ( SELECT ID FROM SYS_DATA_DICT WHERE DICT_CODE = 'analysis-source' ) ) analysisSource ON ( analysis.SOURCE_ID = analysisSource.ITEM_VALUE )

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值