將資料庫的資料增長監控起來,避免者儲存空間不足便於及時擴充套件,以及監控資料異常增長。
以下是每小時採集一次資料量的資訊放入table中以便做資料對比。
建立採集資料的log表
–table
create
table data_growth_log (
cdate varchar2(10)
,h00 number,
h01 number,
h02 number,
h03 number,
h04 number,
h05 number,
h06 number,
h07 number,
h08 number,
h09 number,
h10 number,
h11 number,
h12 number,
h13 number,
h14 number,
h15 number,
h16 number,
h17 number,
h18 number,
h19 number,
h20 number,
h21 number,
h22 number,
h23 number
);
插入一條初始資料
insert
into data_growth_log (cdate)
values
(to_char(sysdate,
'yyyy-mm-dd'))
;
建立儲存過程,提供採集資料的方法
–proceudre 1
注意:如果儲存過程建立是失效狀態,請給建立者賦予 select any dictionary 的許可權
grant select any dictionary to user_name;
create
orreplace
procedure data_monitor is
v_1 number;
v_2 varchar2(12)
; v_3 varchar2(3)
;begin
select trunc(
(sum
(bytes)
/1024
/1024
/1024),
3)into v_1
from dba_segments;
select
''''
|| to_char(sysdate,
'yyyy-mm-dd')||
''''
,'h'
|| to_char(sysdate,
'hh24'
)into v_2, v_3
from dual;
execute immediate 'update data_growth_log set '
|| v_3 ||
'='|| v_1 ||
' where cdate= '
|| v_2;
commit
;end
;
–proceudre 2
create
orreplace
procedure data_in is
v_1 varchar2(10)
;begin
select to_char(sysdate+1,
'yyyy-mm-dd'
)into v_1 from dual;
dbms_output.put_line(v_1)
;execute immediate 'insert into data_growth_log(cdate) values(:p1)'
using v_1;
commit
;end
;
建立job定時呼叫儲存過程,採集資料
–job 1
begin
dbms_scheduler.create_job(
job_name =
>
'data_monitor_job'
, job_type =
>
'stored_procedure'
, job_action =
>
'data_monitor'
, start_date =
>sysdate,
repeat_interval =
>
'freq=hourly;interval=1');
end;
–job 2
begin
dbms_scheduler.create_job(
job_name =
>
'data_in_job'
, job_type =
>
'stored_procedure'
, job_action =
>
'data_in'
, start_date =
>sysdate,
repeat_interval =
>
'freq=daily;interval=1');
end;
手動執行一次job
–run & enable
begin
dbms_scheduler.run_job(
'data_monitor_job');
end;
begin
dbms_scheduler.
enable
('data_monitor_job');
end;
begin
dbms_scheduler.run_job(
'data_in_job');
end;
begin
dbms_scheduler.
enable
('data_in_job');
end;
select * from user_scheduler_jobs
檢視採集資訊
–select
select
*from data_growth_log orderby1
;
Oracle查詢表空間的每日增長量
歷史資料庫增量,適用各版本oracle select day,total gb,used gb,total gb used gb free gb,round 100 used gb total gb,2 used percent,case when used gb used gb lag used ...
數資 已知現期量如何求出增長量?
增長量是資料中重要的概念。涉及的三種題型有 普通增長量的計算 增長量比較 年均增長量。今天小粉筆要和大家分享的是 系統班免費試聽課 裡講到的普通增長量的計算問題。趕快來和小粉筆一起學習吧 聽說2019省考筆試系統班講解更全面,先試聽再買課吧 增長量 知識點 增長率百化分 近兩年出題人比較 壞 喜歡出...
監控並記錄Oracle資料庫空間增長的簡單方法
1.跟蹤資料庫空間增長 select sum mb alloc 1024 gb db size from select sum round bytes used 1024 1024 2 round bytes free 1024 1024 2 mb alloc from v temp space h...