oracle insert into select 大数据量_实用存储过程--获取oracle用户下所有表的表名与其数据量...
发布日期:2021-06-25 23:15:51 浏览次数:6 分类:技术文章

本文共 712 字,大约阅读时间需要 2 分钟。

概述

作为DBA,对数据库中表段、索引段之类的数量,大概的级别是需要有个大致了解的,今天主要分享一个存储过程,可以很实用的获取到oracle用户下所有表的表名与其数据量。


查询当前用户名下所有表

select * from all_tables where owner='GZCSS_GZBH';

e0c0b43af9f5db1f6bc7f68585c35a8b.png

存储过程

CREATE TABLE TMP_TAB_CNT(TABLE_NAME VARCHAR2(50),TABLE_CNT_O INT);begin for tb in (select table_name  from dba_tables  where owner = 'GZCSS_GZBH'  and TEMPORARY='N'  AND TABLE_NAME NOT LIKE '%?%') LOOP execute immediate  'insert into TMP_TAB_CNT(table_name,table_cnt_o) select ''' ||tb.table_name ||''',(select count(*) from ' ||'"' ||tb.table_name ||'"' ||') from dual'; END LOOP; COMMIT;END;
d6ca537a5deba5fd2261daf196641f3e.png

查询所有表的表名与其数据量

select * from TMP_TAB_CNT;

2e710193a4d2277b1b6cea5098276473.png

关于oracle方面怎么去查所有表的表名与其数据量就介绍到这了,存储过程中的owner大家根据需要做对应调整就行,如果数据库数据量上T的话可能要收集半个小时,大家可以自己测试下。

后面会分享更多工作中常用的一些技巧和命令,感兴趣的朋友可以关注下!

ac44d9f8888633bf5b86abb4f81d6913.gif

转载地址:https://blog.csdn.net/weixin_39669265/article/details/110904293 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python生成1到n的数_Python中产生k个不相等的1到n的随机数
下一篇:python交叉熵损失函数实现_Python:交叉熵-损失函数 (六十)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月23日 00时18分07秒