--1、创建收集表
create
table table_count
(
owner varchar(100),
table_name varchar(100),
used_space_mb varchar(100)
);
--2、循环插入所有表的信息
declare
begin
for rec in
(
select owner, table_name from all_tables order by 1, 2
)
loop
insert into table_count
select
rec.owner ,
rec.table_name,
table_used_pages(rec.owner, rec.table_name)*(page()/1024)/1024
from
dual;
end loop;
end;
--3、查询
select
t.owner ,
t.table_name ,
t.used_space_mb as MB,
CAST(t.used_space_mb as number)/1024 as GB
from
table_count t
where
table_name like 'GSI_PRO%'
order by
GB desc
--查看字符集,0[GB18030],1[UTF-8],2[EUC-KR]
select sf_get_unicode_flag();
--查看页大小,执行下面任一语句,执行结果单位为字节,例如8192,表示8K
select page();
SELECT SF_GET_PAGE_SIZE();
select para_name,para_value from v$dm_ini where para_name ='GLOBAL_PAGE_SIZE';
达梦数据库查看表的大小、字符集、页大小等
于 2023-02-07 21:47:11 首次发布
该文章展示了如何在Oracle数据库中创建一个收集表,用于存储所有表的信息,然后通过循环插入获取所有表的使用空间。接着,提供了查询特定前缀(如GSI_PRO%)的表所占用的空间,并将其转换为GB单位。此外,还包含了检查数据库字符集和页大小的相关查询操作。
2023

被折叠的 条评论
为什么被折叠?



