рдУрд░реЗрдХрд▓ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рд╛рдЗрдЬ рдЧреНрд░реЛрде рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдХрд╛рдо рдкрд░, Oracle рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдХрд╛рд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдерд╛ рдХрд┐ рдЗрддрдиреА рдЬрдЧрд╣ рдирд╣реАрдВ рдмрдЪреА рдереА, рд▓рдЧрднрдЧ 100 рдЬреАрдмреА, рдФрд░ рджреЛ рдХрдВрдкрдирд┐рдпреЛрдВ (рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ, рдмреАрдорд╛) рдореЗрдВ, рдЖрдзрд╛рд░ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣реЗ рдереЗред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рддрд╛рд▓рд┐рдХрд╛ DB_TABLESPACE_SIZE рдмрдирд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред

-- Create table
create table DB_TABLESPACE_SIZE
(
DB_TABLESPACE_NAME VARCHAR2(30),
TIME_SNAPSHOT DATE ,
FREE_SPACE NUMBER(20),
MAX_LIMIT NUMBER(20),
CURRENT_SIZE NUMBER(20),
AUTOEXTEND_ON NUMBER(20),
AVAILABLE_SIZE NUMBER(20),
USED_FOR_DATA NUMBER(20),
UNUSED_FOR_DATA NUMBER(20),
FILES_COUNT NUMBER(5),
MIN_UNALLOCATED NUMBER(20),
MAX_UNALLOCATED NUMBER(20),
MIN_AVAILABLE NUMBER(20),
MAX_AVAILABLE NUMBER(20),
MIN_USED NUMBER(20),
MAX_USED NUMBER(20),
MIN_UNUSED NUMBER(20),
MAX_UNUSED NUMBER(20)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Add comments to the columns
comment on column DB_TABLESPACE_SIZE.FREE_SPACE
is ', (). UNUSED, тАХ , .' ;
comment on column DB_TABLESPACE_SIZE.MAX_LIMIT
is ' . ( AUTOEXTEND)' ;
comment on column DB_TABLESPACE_SIZE.CURRENT_SIZE
is ' ' ;
comment on column DB_TABLESPACE_SIZE.AVAILABLE_SIZE
is ', UNUSED+autoextend_on' ;
comment on column DB_TABLESPACE_SIZE.USED_FOR_DATA
is ', . ( "high watermark")' ;
comment on column DB_TABLESPACE_SIZE.UNUSED_FOR_DATA
is ', . .. , , UNUSED. ' ;

* This source code was highlighted with Source Code Highlighter .

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рджреГрд╢реНрдп current_tablespace_size рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рд╣рдо рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛ рдХреЛ рдЯреЗрдмрд▓ рд╕реНрдкреЗрд╕ рдФрд░ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред
create or replace view current_tablespace_size
(db_tablespace_name, time_snapshot, max limit on gb, current_size on gb, autoextend_on on gb, available_size on gb, used_for_data on gb, unused_for_data, free_space, files_count, min_unallocated, max_unallocated, min_available, max_available, min_used, max_used, min_unused, max_unused)
as
select DB_TABLESPACE_NAME, TIME_SNAPSHOT,
MAX_LIMIT/1024/1024/1024 ,
CURRENT_SIZE/1024/1024/1024,
AUTOEXTEND_ON/1024/1024/1024,
AVAILABLE_SIZE/1024/1024/1024 "AVAILABLE_SIZE",
USED_FOR_DATA/1024/1024/1024 "USED_FOR_DATA",
UNUSED_FOR_DATA/1024/1024 "UNUSED_FOR_DATA",
FREE_SPACE/1024/1024 "FREE_SPACE", "FILES_COUNT",
MIN_UNALLOCATED/1024/1024 "MIN_UNALLOCATED",
MAX_UNALLOCATED/1024/1024 "MAX_UNALLOCATED",
MIN_AVAILABLE/1024/1024 "MIN_AVAILABLE",
MAX_AVAILABLE/1024/1024 "MAX_AVAILABLE",
MIN_USED/1024/1024 "MIN_USED",
MAX_USED/1024/1024 "MAX_USED",
MIN_UNUSED/1024/1024 "MIN_UNUSED",
MAX_UNUSED/1024/1024 "MAX_UNUSED"
-- sum (CURRENT_SIZE)
from db_TABLESPACE_SIZE
where TIME_SNAPSHOT = ( select MAX (TIME_SNAPSHOT) from db_TABLESPACE_SIZE)
union select 'TOTAL' ,( select max (s.time_snapshot) from db_TABLESPACE_SIZE s ), null ,
( select sum (s.current_size/1024/1024/1024) from db_TABLESPACE_SIZE s where s.time_snapshot=( select max (s.time_snapshot) from db_TABLESPACE_SIZE s )), null , null , null , null , null , null , null , null , null , null , null , null , null , null from dual;

* This source code was highlighted with Source Code Highlighter .

рдЗрд╕рдХреЗ рдмрд╛рдж, рджреИрдирд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ db_tablespace_size_by_date рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ
-- Create table
create table DB_TABLESPACE_SIZE_BY_DATE
(
DB_TABLESPACE_NAME VARCHAR2(30),
TIME_SNAPSHOT DATE ,
DEFF_SIZE NUMBER
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);


* This source code was highlighted with Source Code Highlighter .

рдЦреИрд░, рдЕрдВрддрд┐рдо рдЪрд░рдг рд╣рд░ рджрд┐рди рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд╣рдорд╛рд░реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреМрдХрд░реА рд▓рд┐рдЦрдирд╛ рд╣реИред

begin
sys.dbms_job.submit(job => :job,
what => 'insert into db_TABLESPACE_SIZE( "DB_TABLESPACE_NAME", "TIME_SNAPSHOT", "MAX_LIMIT", "CURRENT_SIZE",
"AUTOEXTEND_ON", "AVAILABLE_SIZE", "USED_FOR_DATA", "UNUSED_FOR_DATA", "FREE_SPACE", "FILES_COUNT","MIN_UNALLOCATED", "MAX_UNALLOCATED",
"MIN_AVAILABLE", "MAX_AVAILABLE","MIN_USED", "MAX_USED", "MIN_UNUSED", "MAX_UNUSED")
select F."TABLESPACE_NAME",
F."TIME",
F."LIMIT",
F."SIZE",
F."UNALLOCATED",
F."AVAILABLE",
F."USED",
F."UNUSED",
nvl(S.TOTAL_BYTES, 0) "FREE_SPACE",
F.FILES,
F.MIN_UNALLOCATED,
F.MAX_UNALLOCATED,
F.MIN_AVAILABLE,
F.MAX_AVAILABLE,
F.MIN_USED,
F.MAX_USED,
F.MIN_UNUSED,
F.MAX_UNUSED
from
( select tablespace_name,
sysdate "TIME",
SUM( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES ELSE BYTES END ) "LIMIT",
SUM( BYTES ) "SIZE",
SUM( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES - BYTES ELSE 0 END ) "UNALLOCATED",
SUM( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES ELSE BYTES END - USER_BYTES ) "AVAILABLE",
SUM( USER_BYTES ) "USED",
SUM( BYTES - USER_BYTES ) "UNUSED",
COUNT( FILE_NAME ) "FILES",
MIN( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES - BYTES ELSE null END ) "MIN_UNALLOCATED",
MAX( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES ELSE BYTES END - BYTES ) "MAX_UNALLOCATED",
MIN( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES ELSE BYTES END - USER_BYTES) "MIN_AVAILABLE",
MAX( CASE WHEN AUTOEXTENSIBLE='
'YES' ' THEN MAXBYTES ELSE BYTES END - USER_BYTES) "MAX_AVAILABLE",
MIN( USER_BYTES ) "MIN_USED",
MAX( USER_BYTES ) "MAX_USED",
MIN( BYTES - USER_BYTES ) "MIN_UNUSED",
MAX( BYTES - USER_BYTES ) "MAX_UNUSED"
from dba_data_files
group by tablespace_name
) F left join dba_free_space_coalesced S on (F.TABLESPACE_NAME = S.TABLESPACE_NAME);
insert into db_tablespace_size_by_date ("DB_TABLESPACE_NAME","TIME_SNAPSHOT","DEFF_SIZE")
SELECT nvl(t1.db_tablespace_name, '
'TOTAL' '),
MAX(t1.time_snapshot),
(SUM(t1.current_size / 1024 / 1024 / 1024) -
SUM(t1.free_space / 1024 / 1024 / 1024)) -
(SUM(t3.current_size / 1024 / 1024 / 1024) -
SUM(t3.free_space / 1024 / 1024 / 1024))
FROM db_tablespace_size t1, db_tablespace_size t3
WHERE t1.time_snapshot =
(SELECT MAX(t2.time_snapshot)
FROM db_tablespace_size t2
WHERE trunc(t2.time_snapshot) = trunc(SYSDATE))
AND t3.time_snapshot =
(SELECT MIN(t2.time_snapshot)
FROM db_tablespace_size t2
WHERE trunc(t2.time_snapshot) = trunc(SYSDATE-1))
AND t1.db_tablespace_name = t3.db_tablespace_name
GROUP BY CUBE(t1.db_tablespace_name);
commit;'
,
next_date => to_date( '15-02-2012 05:00:00' , 'dd-mm-yyyy hh24:mi:ss' ),
interval => 'trunc(SYSDATE,' 'hh' ')+1' );
commit ;
end ;
/

* This source code was highlighted with Source Code Highlighter .

рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛: db_TABLESPACE_SIZE рддрд╛рд▓рд┐рдХрд╛ dba_data_files рдФрд░ dba_free_space_coalesced рд╕реЗ рдЖрдмрд╛рджреА рд╣реИред рдкрд╣рд▓рд╛ рд╕реНрдЯреЛрд░ рд╕реНрдкреЗрд╕ рдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рдЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЯреЗрдмрд▓ рд╕реНрдкреЗрд╕ рдлрд╛рдЗрд▓реНрд╕ рдХреЗ рдЕрдВрджрд░ рдлреНрд░реАрдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдХрд╛рд░ рдФрд░ free_size рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ db_tablespace_size_by_date рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рдд рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдмреНрдЬреЗ рд╡рд╛рд▓рд╛ рд╕реНрдерд╛рди рдорд┐рд▓рддрд╛ рд╣реИред

рдпрд╣ рд╕рдм рд╣реИ, рдЕрдм рд╣рд░ рджрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИред

Source: https://habr.com/ru/post/In138270/


All Articles