ITPub博客

首页 > 数据库 > Oracle > job调用

job调用

原创 Oracle 作者:哎呀我的天呐 时间:2015-07-03 21:46:49 1 删除 编辑

在数据库中创建视图

create or replace view dba_tablespace_free as
select a.tablespace_name,
       a.total_space_mb allocated_space_mb,
       round(b.free_space_mb, 2) free_space_mb,
       (a.max_space - a.total_space_mb) free_allocate_mb,
       round(a.max_space, 2) max_space_mb,
       round((a.total_space_mb - b.free_space_mb) / a.total_space_mb * 100,
             2) pct_usage,
       round(a.total_space_mb / a.max_space * 100, 2) pct_allocated
  from (select tablespace_name,
               sum(bytes) / 1024 / 1024 total_space_Mb,
               decode(sum(maxbytes / 1024 / 1024),
                      0,
                      sum(bytes) / 1024 / 1024,
                      sum(case
                            when AUTOEXTENSIBLE = 'YES' then
                             maxbytes
                            else
                             bytes
                          end) / 1024 / 1024) max_space
          from dba_data_files
         group by tablespace_name) a,
       (select tablespace_name, sum((bytes) / 1024 / 1024) free_space_Mb
          from dba_free_space
         group by tablespace_name) b
 where a.tablespace_name = b.tablespace_name


创建要表作为查询表

create table ts_usage as 
 select sysdate dt,c.TABLESPACE_NAME "Tablespace Name",
        c.TOT_GROOTTE_GB "Tablespace Size(G)",
        (c.TOT_GROOTTE_GB - f.total_bytes) "UsedSize(G)",
        round((c.TOT_GROOTTE_GB - f.total_bytes) / c.TOT_GROOTTE_GB * 100,
              2) "Rates(%)",
        f.total_bytes "Not Used(G)",
        (SELECT (free_space_mb + free_allocate_mb) / 1024
           FROM dba_tablespace_free a
          where a.tablespace_name = f.tablespace_name) "ThatYouCanUse(G)",
        F.MAX_BYTES "MaxFreeSpace(M)",
        F.TOTAL_NUM "FreeSpaceCount"
   from (select a.TABLESPACE_NAME,
                sum(BYTES) / 1024 / 1024 / 1024 TOTAL_BYTES,
                max(BYTES) / 1024 / 1024  MAX_BYTES,
                count(*) TOTAL_NUM
           from SYS.DBA_FREE_SPACE a
          group by a.tablespace_name) f,
        (select b.tablespace_name,
                sum(b.bytes) / 1024 / 1024 / 1024 TOT_GROOTTE_GB
           from SYS.DBA_DATA_FILES b
          group by b.tablespace_name) c
  where f.TABLESPACE_NAME = c.TABLESPACE_NAME
  order by 4 desc
定义job

insert into ts_usage
 select sysdate dt,c.TABLESPACE_NAME "Tablespace Name",
        c.TOT_GROOTTE_GB "Tablespace Size(G)",
        (c.TOT_GROOTTE_GB - f.total_bytes) "UsedSize(G)",
        round((c.TOT_GROOTTE_GB - f.total_bytes) / c.TOT_GROOTTE_GB * 100,
              2) "Rates(%)",
        f.total_bytes "Not Used(G)",
        (SELECT (free_space_mb + free_allocate_mb) / 1024
           FROM dba_tablespace_free a
          where a.tablespace_name = f.tablespace_name) "ThatYouCanUse(G)",
        F.MAX_BYTES "MaxFreeSpace(M)",
        F.TOTAL_NUM "FreeSpaceCount"
   from (select a.TABLESPACE_NAME,
                sum(BYTES) / 1024 / 1024 / 1024 TOTAL_BYTES,
                max(BYTES) / 1024 / 1024  MAX_BYTES,
                count(*) TOTAL_NUM
           from SYS.DBA_FREE_SPACE a
          group by a.tablespace_name) f,
        (select b.tablespace_name,
                sum(b.bytes) / 1024 / 1024 / 1024 TOT_GROOTTE_GB
           from SYS.DBA_DATA_FILES b
          group by b.tablespace_name) c
  where f.TABLESPACE_NAME = c.TABLESPACE_NAME
  order by 4 desc;
  
  commit;



通过dbms_jobs 调用


有的时间格式是这样的

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-1721965/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 记一次灾备演练
下一篇: LOCAL=NO
请登录后发表评论 登录
全部评论
https://cloud.tencent.com/developer/inventory/14362

注册时间:2014-10-30

  • 博文量
    403
  • 访问量
    2528760