注册

查询很小的表数据量报错Undo record version too old, user record unavailable,不涉及慢SQL

小希 2024/03/21 1700 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.0
【操作系统】:CentOS7
【CPU】:8
【问题描述】
查询表数据量,报错回滚记录版本太旧,无法获取用户记录,其余见日志
SELECT DISTINCT
DF.TABLESPACE_NAME,
DFF.TOTAL_SIZE,
(DFF.TOTAL_SIZE - DU.USED_SIZE) AS AVAILABLE_SIZE,
DF.FILE_NAME,
DF.BYTES,
CASE WHEN DF.AUTOEXTENSIBLE = 'YES' THEN 0 ELSE 1 END AS AUTO_EXTEND,
DD.INCREMENT_BY_BYTES,
DF.MAXBYTES
FROM DBA_DATA_FILES DF,
(
SELECT
TABLESPACE_NAME,
SUM(BYTES) AS TOTAL_SIZE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) DFF,
(
SELECT
TABLESPACE_NAME,
SUM(BYTES) AS USED_SIZE
FROM DBA_SEGMENTS
GROUP BY TABLESPACE_NAME
) DU,
(
SELECT
TABLESPACE_NAME,
FILE_NAME,
INCREMENT_BY,
INCREMENT_BY * 1024 * 1024 AS INCREMENT_BY_BYTES
FROM DBA_DATA_FILES
) DD
WHERE DF.TABLESPACE_NAME = DU.TABLESPACE_NAME(+)
AND DF.TABLESPACE_NAME = DFF.TABLESPACE_NAME(+)
AND DD.FILE_NAME = DF.FILE_NAME
AND DF.TABLESPACE_NAME = DD.TABLESPACE_NAME (+)
表很小,按理这个查询不可能超过90s
这个值是默认参数90
想问下,这个值是不是与SQL执行时间无关,都是短的SQL是不是也会累积到快照过期?

回答 0
暂无回答
扫一扫
联系客服