0
Я хотел бы написать sql, чтобы получить метрику памяти верхнего уровня таблицы. Ниже запрос дает метрику обо всех tbspaces. Цените, если кто-то точно настроить это, чтобы иметь только Top NOracle SQL Group по предложению
SELECT
ts.tablespace_name AS TBNAME,
round((ts.tablespace_size/1024/1024),2) AS SIZE_MB,
round((ts.tablespace_used_size/1024/1024),2) AS USED_MB,
round(((ts.tablespace_size - ts.tablespace_used_size)/1024/1024),2) AS FREE_MB
FROM
mgmt$db_tablespaces ts,
(SELECT d.target_guid, d.tablespace_name, count(d.file_name) df_count,
sum(decode(d.autoextensible, 'YES', 1, 0)) auto_extend
FROM mgmt$db_datafiles d, mgmt$target t
WHERE t.target_guid = '<id>' AND
(t.target_type='rac_database' OR
(t.target_type='oracle_database' AND t.TYPE_QUALIFIER3 != 'RACINST')) AND
t.target_guid = d.target_guid
GROUP BY d.target_guid, d.tablespace_name) df
WHERE
ts.target_guid = df.target_guid AND
df.tablespace_name = ts.tablespace_name
ORDER BY ts.tablespace_size;`
Благодарности
Это не работает – Prakash
Что вы подразумеваете под этим, не работает какая ошибка вы получаете? –
это недействительный SQL. Я добавил RANK() и получил результат, который мне нужен. – Prakash