SET LINESIZE 500
SET PAGESIZE 200
COLUMN CON_ID FORMAT 999
COLUMN CON_NAME FORMAT A25
COLUMN OWNER FORMAT A25
COLUMN TABLE_NAME FORMAT A40
COLUMN NUM_ROWS FORMAT 999,999,999,999
COLUMN SIZE_MB FORMAT 999,999.9
COLUMN LAST_ANALYZED FORMAT A14
COLUMN STATUS FORMAT A20
SELECT
t.con_id,
c.name AS con_name, <<<--- 这就是 PDB 名称
t.owner,
t.table_name,
t.num_rows,
ROUND(s.bytes / 1024 / 1024, 1) AS size_mb,
TO_CHAR(t.last_analyzed, 'yyyy-mm-dd') AS last_analyzed,
CASE
WHEN t.last_analyzed IS NULL THEN '⚠️ 从未统计'
WHEN SYSDATE - t.last_analyzed > 90 THEN '❌ 过期>3个月'
ELSE '✅ 正常'
END AS status
FROM
CDB_TABLES t
INNER JOIN
v$containers c ON t.con_id = c.con_id
LEFT JOIN
CDB_SEGMENTS s
ON t.con_id = s.con_id
AND t.owner = s.owner
AND t.table_name = s.segment_name
WHERE
t.owner NOT IN (
'SYS','SYSTEM','OUTLN','DBSNMP','WMSYS','CTXSYS','XDB',
'APEX_040200','APEX_190200','MDSYS','ORDSYS','OLAPSYS',
'EXFSYS','LBACSYS','APPQOSSYS','DIP','TSMSYS','SYSMAN',
'SYSBACKUP','SYSDG','SYSKM','SYSRAC','SYS$UMF','ANONYMOUS',
'GSMADMIN_INTERNAL','DVSYS','DVF','ORDDATA','OWBSYS','OWBSYS_AUDIT'
)
AND t.num_rows > 500000
AND (t.last_analyzed IS NULL OR SYSDATE - t.last_analyzed > 90)
AND t.table_name NOT LIKE 'BIN$%'
AND c.open_mode = 'READ WRITE'
ORDER BY
t.con_id, t.num_rows DESC;
SET LINESIZE 500
SET PAGESIZE 200
COLUMN CON_ID FORMAT 999
COLUMN CON_NAME FORMAT A25
COLUMN OWNER FORMAT A25
COLUMN TABLE_NAME FORMAT A40
COLUMN NUM_ROWS FORMAT 999,999,999,999
COLUMN SIZE_MB FORMAT 999,999.9
COLUMN LAST_ANALYZED FORMAT A14
SELECT
t.con_id,
c.name AS con_name,
t.owner,
t.table_name,
t.num_rows,
ROUND(s.bytes / 1024 / 1024, 1) AS size_mb,
TO_CHAR(t.last_analyzed, 'yyyy-mm-dd') AS last_analyzed
FROM
CDB_TABLES t
INNER JOIN
v$containers c ON t.con_id = c.con_id
LEFT JOIN
CDB_SEGMENTS s
ON t.con_id = s.con_id
AND t.owner = s.owner
AND t.table_name = s.segment_name
WHERE
t.owner NOT IN (
'SYS','SYSTEM','OUTLN','DBSNMP','WMSYS','CTXSYS','XDB',
'APEX_040200','APEX_190200','MDSYS','ORDSYS','OLAPSYS',
'EXFSYS','LBACSYS','APPQOSSYS','DIP','TSMSYS','SYSMAN',
'SYSBACKUP','SYSDG','SYSKM','SYSRAC','SYS$UMF','ANONYMOUS',
'GSMADMIN_INTERNAL','DVSYS','DVF','ORDDATA','OWBSYS','OWBSYS_AUDIT'
)
AND t.num_rows > 500000
AND t.table_name NOT LIKE 'BIN$%'
AND c.open_mode = 'READ WRITE'
ORDER BY
t.con_id, t.num_rows DESC;