我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在Oracle中对用户中表的数据量进行统计

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在Oracle中对用户中表的数据量进行统计

怎么在Oracle中对用户中表的数据量进行统计?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

要想统计用户下所有表的数据量,可以查看user_tables,此表里面是统计信息,当然这个可能不太准,要想非常精确,需要直接count表。下面的脚本有异常不中断,可以重复执行的特点。

create table bk_count_tables
(
 owner VARCHAR2(30),
 table_name VARCHAR2(30),
 part_col varchar2(100),--分区字段
 row_s number,
 gather_time date
);
create index ind_bct_own_table on bk_count_tables(owner,table_name);
set serveroutput on
declare
cursor c_cursor is select s.OWNER, s.TABLE_NAME, col.column_name part_col
  from dba_tables s,
    (select owner,
        name,
        listagg(column_name, ',') within group(order by null) column_name
      from (select owner, name, column_name
          from dba_part_key_columns
         where owner in ('TEST')
          and object_type = 'TABLE'
          and name not like 'BIN$%'
         union all
         select owner, name, column_name
          from dba_subpart_key_columns
         where owner in ('TEST')
          and object_type = 'TABLE'
          and name not like 'BIN$%')
     group by owner, name) col
 where s.OWNER in ('TEST')
  and not regexp_like(table_name, '[0-9]{3,8}')
  and s.table_name not like '%BAK%'
  and s.table_name not like '%A2K%'
  and s.table_name not like 'BK%'
  and s.table_name not like 'BIN%'
  and s.OWNER = col.owner(+)
  and s.TABLE_NAME = col.name(+)
order by s.TABLE_NAME ;
c_row c_cursor%rowtype;
t_rows number;
begin
 for c_row in c_cursor loop
  begin
   execute immediate 'select count(*) from bk_count_tables where owner=:1 and TABLE_NAME=:2 and rownum=1' 
   into t_rows using c_row.OWNER,c_row.TABLE_NAME ;
   if(t_rows = 0) then 
    execute immediate 'select count(*) from "'||c_row.TABLE_NAME||'"' into t_rows;
    insert into bk_count_tables values(c_row.OWNER,c_row.TABLE_NAME,c_row.part_col,t_rows,sysdate);
    commit; 
    end if;
  EXCEPTION
   WHEN OTHERS THEN
   DBMS_OUTPUT.PUT_LINE(c_row.OWNER||'---'||c_row.TABLE_NAME);
   rollback; 
  end;
 end loop;
end;
/

看完上述内容,你们掌握怎么在Oracle中对用户中表的数据量进行统计的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在Oracle中对用户中表的数据量进行统计

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle怎么统计表的数据量大小

要统计Oracle表的数据量大小,可以使用以下方法:1、使用Oracle提供的dba_segments视图查询表占用的空间大小。例如,执行以下SQL语句可以查看指定表所占用的空间大小:SELECT segment_name, segme
oracle怎么统计表的数据量大小
2024-04-09

怎么在java中对数据进行比较

这篇文章将为大家详细讲解有关怎么在java中对数据进行比较,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表
2023-06-14

怎么在linux中对数据进行压缩

这篇文章将为大家详细讲解有关怎么在linux中对数据进行压缩,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1,tar命令使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是
2023-06-09

怎么在MySQL中分表分库时对数据进行切分

今天就跟大家聊聊有关怎么在MySQL中分表分库时对数据进行切分,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。数据库分布式核心内容无非就是数据切分(Sharding)以及切分后对数据的
2023-06-14

怎么在Android中利用 listview对数据进行显示

怎么在Android中利用 listview对数据进行显示?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android listview数据显示及提示信息的实例最近我们测试人
2023-05-31

怎么在java8中对函数进行引用

怎么在java8中对函数进行引用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。函数引用的类型函数引用分为以下四种:静态函数,比如 Integer 类的 pars
2023-05-31

怎么在Python中对质数和完全数进行计算

这篇文章将为大家详细讲解有关怎么在Python中对质数和完全数进行计算,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动
2023-06-07

在java中怎么对数据类型进行进制转换

在java中怎么对数据类型进行进制转换?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在java中Int 类型的变量占 4个字节Long 类型的变量占8个字节一个程序就是一个
2023-05-31

怎么在ASP.NET中对不同类型的用户进行限流

本文章向大家介绍怎么在ASP.NET中对不同类型的用户进行限流,主要包括{**}的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。1、安装Nuget包已经发布到nuget.org,有多种安装方式
2023-06-06

怎么在Android中对SQLite数据库进行数据持久化

怎么在Android中对SQLite数据库进行数据持久化?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、SQLiteOpenHelper:创建数据库和数据库版本管理的辅助
2023-05-31

如何在Oracle中利用变量进行数据迁移校验

在Oracle中利用变量进行数据迁移校验,可以通过以下步骤实现:创建变量:首先在PL/SQL中定义变量,可以使用DECLARE语句来定义变量,例如:DECLAREv_count NUMBER;BEGIN-- 初始化变量v_count :=
如何在Oracle中利用变量进行数据迁移校验
2024-08-24

怎么在Java中利用Kafka对客户端进行访问

这篇文章给大家介绍怎么在Java中利用Kafka对客户端进行访问,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. maven依赖包 org.apache.kafka
2023-05-31

Python如何对MySQL中的大量数据进行批量处理?(在Python中怎样实现对MySQL大数据的批量操作?)

本教程详细介绍了Python中对MySQL大量数据的批量处理方法,包括批量插入、更新和删除。它涵盖了使用executemany()函数、VALUES语法、WHERE子句和性能优化技巧。代码示例提供了如何完成这些操作的实际指导。通过使用这些技术,开发人员可以提高批量数据处理的效率,从而节省时间并优化数据库性能。
Python如何对MySQL中的大量数据进行批量处理?(在Python中怎样实现对MySQL大数据的批量操作?)
2024-04-02

phpcms中如何对网站流量进行统计和分析?(在phpcms中,应如何进行网站流量的统计与分析工作?)

phpCMS中网站流量统计与分析指南:集成第三方工具(谷歌分析、百度统计等)利用PHPCMS内置功能(网站统计图表、访问统计等)设置统计代码,配置统计设置,授予访问权限分析流量数据(流量概况、来源、页面表现等)利用洞察力优化网站(提升流量、优化内容、改善体验)提示:定期查看、使用过滤器、结合不同工具、考虑外部因素。
phpcms中如何对网站流量进行统计和分析?(在phpcms中,应如何进行网站流量的统计与分析工作?)
2024-04-02

编程热搜

目录