注册

DM8查询分区大小时报:对象不存在

C3Stones 2025/05/23 81 3

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM Database Server x64 V8 1-4-6-2024.12.25-255012-20119-ENT
【操作系统】:kyliny V10(SP3)
【CPU】: Intel x86_64
【问题描述】*:
定义了查询分区大小的视图:


CREATE OR REPLACE VIEW get_table_sizes_by_prefix AS
SELECT
    lower(p.table_name) || '_' ||
    TO_CHAR(
        TO_DATE(
            -- 提取日期部分(兼容单引号包裹),注意:真实的表名需要日期减去一天
            SUBSTR(p.high_value, INSTR(p.high_value, '''', 1, 1) + 1, 10),
            'YYYY-MM-DD'
        ) - 1,
        'YYYYMMDD'
    ) AS tablename,
    s.BYTES / 1024 || ' KB' AS size
FROM
    dba_tab_partitions p
JOIN
    dba_segments s 
    ON p.table_owner = s.owner 
    AND p.table_name = s.segment_name 
    AND p.partition_name = s.partition_name
WHERE
     REGEXP_SUBSTR(p.high_value,  '\d{4}-\d{2}-\d{2}');

在使用视图查询时,如果不带where条件,查询正常:

select * from get_table_sizes_by_prefix;

如果根据tablename字段查询,报错:

select * from get_table_sizes_by_prefix where tablename like 'knowledgebase%';

错误信息:
image.png

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