ORACLE 監控資料增長量

2021-10-06 18:06:04 字數 3605 閱讀 5787

將資料庫的資料增長監控起來,避免者儲存空間不足便於及時擴充套件,以及監控資料異常增長。

以下是每小時採集一次資料量的資訊放入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...