From b4db0566f8872fe0241df9e0b7c52a36f7b756a0 Mon Sep 17 00:00:00 2001 From: Jan Kvetina Date: Fri, 14 Jan 2022 20:03:17 +0100 Subject: [PATCH] Spacing info added --- views/obj_tables.sql | 73 ++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 53 deletions(-) diff --git a/views/obj_tables.sql b/views/obj_tables.sql index 000dcd8..bfa98f7 100644 --- a/views/obj_tables.sql +++ b/views/obj_tables.sql @@ -82,17 +82,29 @@ SELECT CASE WHEN t.row_movement = 'ENABLED' THEN 'Y' END AS is_row_mov, CASE WHEN t.read_only = 'YES' THEN 'Y' END AS is_read_only, -- - ROUND(t.num_rows * t.avg_row_len / 1024, 0) AS size_, - -- - CASE - WHEN ROUND(t.blocks * 8, 2) > 0 - THEN ROUND(t.blocks * 8, 2) - ROUND(t.num_rows * t.avg_row_len / 1024, 0) - END AS wasted, - -- o.last_ddl_time, TRUNC(SYSDATE) - TRUNC(t.last_analyzed) AS last_analyzed, -- in days -- - c.comments + c.comments, + -- + t.avg_row_len, + -- + ROUND(t.blocks * 8, 2) AS fragmented_kb, + ROUND(t.num_rows * t.avg_row_len / 1024, 2) AS actual_kb, + -- + CASE + WHEN ROUND(t.blocks * 8, 2) > 0 + THEN ROUND(t.blocks * 8, 2) - ROUND(t.num_rows * t.avg_row_len / 1024, 2) + END AS wasted_kb, + -- + CASE + WHEN ROUND(t.blocks * 8, 2) > 0 AND ROUND(t.num_rows * t.avg_row_len / 1024, 2) > 0 + THEN FLOOR((ROUND(t.blocks * 8, 2) - ROUND(t.num_rows * t.avg_row_len / 1024, 2)) / ROUND(t.blocks * 8, 2) * 100) + END AS wasted_perc, + -- + t.cache, + t.result_cache, + t.buffer_pool FROM user_tables t JOIN user_objects o ON o.object_name = t.table_name @@ -113,48 +125,3 @@ WHERE t.table_name = NVL(x.table_name, t.table_name) AND t.table_name NOT LIKE '%\__$' ESCAPE '\' AND m.mview_name IS NULL; - - -- - --select * from all_tab_cols where column_name = 'AVG_COL_LEN'; - -- - -- AVG_ROW_LEN to Tables - -- CACHE (buffer_), BUFFER_POOL - -- - -- SHOW PAGE FROM APEX WITH/for TABLE EDIT - -- - -- grants? - - -SELECT - t.table_name, - ROUND(t.blocks * 8, 2) AS fragmented_kb, - ROUND(t.num_rows * t.avg_row_len / 1024, 2) AS actual_kb, - CASE WHEN ROUND(t.blocks * 8, 2) > 0 THEN - ROUND(t.blocks * 8, 2) - ROUND(t.num_rows * t.avg_row_len / 1024, 2) END AS wasted_kb, - CASE WHEN ROUND(t.blocks * 8, 2) > 0 AND ROUND(t.num_rows * t.avg_row_len / 1024, 2) > 0 THEN - FLOOR((ROUND(t.blocks * 8, 2) - ROUND(t.num_rows * t.avg_row_len / 1024, 2)) / ROUND(t.blocks * 8, 2) * 100) END AS wasted_perc, - t.partitioned, - t.temporary, - t.iot_type, - t.row_movement, - i.idx_norm, - i.idx_func, - t.last_analyzed, - t.num_rows, - 'SKRINK' AS action -FROM user_tables t -LEFT JOIN ( - SELECT - i.table_name, - NULLIF(SUM(CASE WHEN i.index_type LIKE 'NORMAL' THEN 1 ELSE 0 END), 0) AS idx_norm, - NULLIF(SUM(CASE WHEN i.index_type LIKE 'IOT%' THEN 1 ELSE 0 END), 0) AS idx_iot, - NULLIF(SUM(CASE WHEN i.index_type LIKE 'FUNCTION%' THEN 1 ELSE 0 END), 0) AS idx_func - FROM user_indexes i - WHERE i.index_type NOT IN ('LOB') - GROUP BY i.table_name -) i ON i.table_name = t.table_name -WHERE t.blocks > 0 - AND (t.table_name LIKE :P907_TABLE_LIKE || '%' OR :P907_TABLE_LIKE IS NULL) -ORDER BY 1; - -