1、创建查询用户表数据方法

create or replace function count_rows(table_name in varchar2,owner in varchar2 default null)
return number
authid current_user
ISnum_rows number;stmt varchar2(2000);
beginif owner is null thenstmt := 'select count(*) from "'||table_name||'"';elsestmt := 'select count(*) from "'||owner||'"."'||table_name||'"';end if;execute immediate stmt into num_rows;return num_rows;
end;

2、查询用户表表名

select table_name, count_rows(table_name) nrows from user_tables

3、创建存储过程

create or replace procedure DSM_GET_ALLDATA as--变量v_count     number;sum_count   number;v_sql       varchar2(2000);v_tablename varchar2(100);--获取当前数据库中的所有表的表名cursor table_loop isselect table_name from user_tables;
beginsum_count := 0;--打开游标open table_loop;loopfetch table_loopinto v_tablename;--如获取不到表名或已获取完就退出循环exit when table_loop %notfound;v_sql := 'select count(1) from ' || v_tablename;--执行sql语句execute immediate v_sqlinto v_count;sum_count := sum_count + v_count;end loop;close table_loop;insert into dsm_allDatavalues(to_char(sysdate - 1, 'yyyy-MM-dd'), sum_count);commit;
end;

以下是mysql中对应存储过程

BEGIN#变量DECLARE sum_count   int default 0;DECLARE v_tablename VARCHAR(100);-- 设置终止标记DECLARE stopFlag INT DEFAULT 0;declare table_loop cursor for select table_name from information_schema.tables where table_schema='bj_dsm' and table_type = 'BASE TABLE' and table_name not like '%comment%';DECLARE CONTINUE HANDLER FOR NOT FOUND SET stopFlag = 1;open table_loop ;out_loop:LOOPFETCH NEXT FROM table_loop into v_tablename;IF stopFlag = 1 THENLEAVE out_loop;END IF;#select count(*) into v_count from v_tablename;SET @STMT = CONCAT("SELECT count(*) into @v_count from ",v_tablename,";");PREPARE STMT FROM @STMT;#执行语句EXECUTE STMT;deallocate prepare STMT;set sum_count = sum_count + @v_count;END LOOP out_loop;close table_loop;insert into DSM_ALLDATA values (DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%m-%d'), sum_count);
END

4、创建定时job

declare get_alldata_job number;
begindbms_job.submit(job =>get_alldata_job,what=>'DSM_GET_ALLDATA;',--存储过程名字 可以写多个也可以写单个next_date => sysdate,--下一次执行的时间interval =>'TRUNC(SYSDATE + 1)');--每天凌晨同步一次commit;
end;

5、job常见的执行时间

1、每分钟执行:TRUNC(sysdate,'mi')+1/(24*60)2、每天定时执行
每天凌晨0点执行TRUNC(sysdate+1)
每天凌晨1点执行TRUNC(sysdate+1)+1/24
每天早上8点30分执行TRUNC(SYSDATE+1)+(8*60+30)/(24*60)3、每周定时执行
例如:
每周一凌晨2点执行TRUNC(next_day(sysdate,1))+2/24TRUNC(next_day(sysdate,'星期一'))+2/24
每周二中午12点执行TRUNC(next_day(sysdate,2))+12/24TRUNC(next_day(sysdate,'星期二'))+12/244、每月定时执行
例如:
每月1日凌晨0点执行TRUNC(LAST_DAY(SYSDATE)+1)
每月1日凌晨1点执行TRUNC(LAST_DAY(SYSDATE)+1)+1/245、每季度定时执行
每季度的第一天凌晨0点执行TRUNC(ADD_MONTHS(SYSDATE,3),'q')
每季度的第一天凌晨2点执行TRUNC(ADD_MONTHS(SYSDATE,3),'q')+2/24
每季度的最后一天的晚上11点执行TRUNC(ADD_MONTHS(SYSDATE+ 2/24,3),'q')-1/246、每半年定时执行
例如:
每年7月1日和1月1日凌晨1点执行ADD_MONTHS(TRUNC(sysdate,'yyyy'),6)+1/247、每年定时执行
例如:
每年1月1日凌晨2点执行ADD_MONTHS(TRUNC(sysdate,'yyyy'),12)+2/24

6、查询job

SELECT * FROM USER_JOBS;

7、删除job

begindbms_job.remove(3); /*删除自动执行的job,参数是 job的id*/commit;
end;

查询Oracle用户表每日增长量相关推荐

  1. oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作

    oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作 查看当前用户的缺省表空间 SQL>select username,default_tablespace fromuser ...

  2. Oracle给用户授查询表权限,给oracle用户查询其它用户表的权限

    1.创建用户user1 create user user1 identified by xxxx default tablespace XXXX_table temporary tablespace ...

  3. oracle表空间默认增长大小,Oracle 用户表空间查看、修改大小、设置自增长等

    分类: Oracle 首先登入某个用户,查看某个用户在哪个表空间下: select username,default_tablespace from user_users; 查看该用户下所有的表: s ...

  4. oracle批量删除表空间,批量删除oracle用户表空间

    批量删除oracle用户表空间 1.[代码][Shell/批处理]代码 #!/bin/bash # get cuttent path selfpath=$(cd "$(dirname &qu ...

  5. 如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

    使用select   *   from   user_tables   可以查询出所有的用户表. 查所有用户的表在all_tables 主键名称.外键在all_constraints 索引在all_i ...

  6. oracle主从关系表查询,Oracle 主从表联合查询解决方法

    Oracle 主从表联合查询 表A id   type   name 1    E      AA 2    F 表B id   Aid    name 1    2      BB 2    2   ...

  7. oracle 用户表、字段信息

     1)dba_tab_columns/dba_tab_cols SELECT * FROM Dba_Tab_Cols WHERE Table_Name = Upper('test_table_01') ...

  8. oracle查询谁修改了数据ip,查询oracle特定表修改的用户及IP信息

    使用触发器进行记录 首先创建记录表,用于记录该表修改的用户及IP CREATE TABLE modifyemp (IP VARCHAR2(20),USERNAME VARCHAR2(20),CURRT ...

  9. 如何在oracle中查询所有用户表的表名、主键名称、索引、外键等 - Oracle   基础和管理_files...

    1.查找表的所有索引(包括索引名,类型,构成列): select t.*,i.index_type from user_ind_columns t,user_indexes i where t.ind ...

最新文章

  1. C#中RichTextBox文本居中显示
  2. 如何选择深度学习优化器
  3. 汇编 --- EXE文件 的程序的加载过程
  4. 【图像处理】——图像特效处理(马赛克、图像融合、毛玻璃等)
  5. 使用Spring使用Java发送电子邮件– GMail SMTP服务器示例
  6. [atlassian]Bamboo server 和 remote agent 只支持JAVA 1.8
  7. 使用 XML 维护 Selenium 自动化测试脚本 ZT
  8. VB小技巧:字符变量中双引号的输入
  9. indesign软件教程,如何更改内容颜色?
  10. Linux网络收发包流程
  11. CRM系统提高企业核心竞争力
  12. java poi pdf实例_java通过poi导出excel和pdf
  13. 通过Python爬虫技术获取小说信息
  14. 加粉推广全能助手 推广辅助工具 好多粉微信号加粉复制统计工具加强版,加粉推广神器,持续完善升级,新增统计点击转化,页面插件功能,完美支持ocpc接口
  15. PHP实现采集淘宝商品信息
  16. hdu3294-Girls' research
  17. word排版技巧:论文图表目录制作步骤
  18. 人工智能行业源代码防数据防泄密需求分析
  19. 职场社交赛道上唯一的幸存者,脉脉做对了什么?
  20. 跨界联名,会是B站品牌营销出圈的突破口吗?

热门文章

  1. 飞思卡尔XS128八位数模转换模块的实验与心得体会
  2. C#自定义软键盘控件及应用
  3. linux magento,linux开发magento2 常用命令
  4. hdu 4541 Ten Googol 小水题
  5. 《放羊的星星》经典台词
  6. 多目标进化优化-BiGE
  7. 上海大学计算机学院同等学力申硕,上海大学同等学力申硕的授课方式有哪些?...
  8. 计算机科学导论实训总结,计算机科学导论课程实习手册(57页)-原创力文档
  9. unity 中解压zip的方法
  10. 3.32 前景色和颜色的设置 [原创Ps教程]