рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛

рдЕрдХреНрд╕рд░ рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ pl / sql рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ sql рд╕реЗ OS рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрдкрд▓рдмреНрдз рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕реЗ рдПрдХ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрджреНрдзрддрд┐ рдореЗрдВ 11.2 рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП "рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдкреВрд░реНрд╡рдкреНрд░рдХреНрд░рдордХ рдбреЗрдЯрд╛" рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:


рдЖрд╡рд╢реНрдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
-- directory create or replace directory UTIL_DIR as '/u01' / -- table CREATE TABLE T_OS_COMMAND ( v_line varchar2(4000) ) ORGANIZATION external ( TYPE oracle_loader DEFAULT DIRECTORY UTIL_DIR ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE preprocessor UTIL_DIR:'os_command.sh' FIELDS TERMINATED BY "\n" LDRTRIM ) location ( 'os_command.sh') ) / 

рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд░рд╛рдЗрдЯ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдпрд╣ рд╕рдВрдпреЛрдЬрди рдирд╣реАрдВ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдХреЗрдЬ (SYS рдпреЛрдЬрдирд╛ рдореЗрдВ рдпрджреНрдпрдкрд┐) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП OS рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рд╣реА рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ UTIL_DIR рдХреЛ рдкрдврд╝рдиреЗ, рд▓рд┐рдЦрдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВ, рд╕рд╛рде рд╣реА T_OS_COMMAND рд╕реЗ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВред

рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдУрдПрд╕ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рд╣рд╛рдБ, рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рддреБрдЪреНрдЫ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдУрдПрд╕ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреА рд╣реЛрдЧреА - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ssh):
 $touch /u01/os_command.sh $chmod ug+x /u01/os_command.sh 

рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдпрд╛ рд╕рдореВрд╣ рдХреЗ рд╕рджрд╕реНрдп) рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрджрд╛рд╣рд░рдг рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдм рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдПрдХ рдордирдорд╛рдирд╛ рдУрдПрд╕ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕реЗ os_command.sh рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рддрд╛рд▓рд┐рдХрд╛ T_OS_COMANDAND рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
 declare F1 UTL_FILE.FILE_TYPE; begin F1 := UTL_FILE.FOPEN('UTIL_DIR','os_command.sh','W', 4048); UTL_FILE.PUT_LINE (file => F1, buffer => '#!/bin/sh'); UTL_FILE.PUT_LINE (file => F1, buffer => 'export LANG=en_US.UTF-8'); UTL_FILE.PUT_LINE (file => F1, buffer => 'export PATH=$PATH:/bin'); UTL_FILE.PUT_LINE (file => F1, buffer => 'df -k | grep /'); UTL_FILE.fclose (file => F1); end; / 

рдЕрдм, рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ T_OS_COMMAND рдЯреЗрдмрд▓ рдкрд░ рдХрд┐рд╕реА рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
рдЬрдм df -k рд░рдирд┐рдВрдЧ | grep / рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ
 /dev/sda2 32414672 14870956 15870548 49% / /dev/sda1 124427 18001 100002 16% /boot tmpfs 8219820 184808 8035012 3% /dev/shm /dev/sdb2 961432104 606013444 306580660 67% /u02 


рдЬрдм рдПрдХ рдЪрдпрди рдХрд░реЗрдВ * T_OS_COMMAND рдХреНрд╡реЗрд░реА рд╕реЗ
V_LINE
  / рджреЗрд╡ / sda2 32414672 14871076 15870428 49% / 
  / dev / sda1 124427 18001 100002 16% / рдмреВрдЯ 
  tmpfs 8219820 184808 8035012 3% / рджреЗрд╡ / рд╢рдо 
  / рджреЗрд╡ / sdb2 961432104 606013444 306580660 67% / u02 


рдЕрдЧрд▓рд╛, рдЖрдк рд╕реАрдзреЗ рдЙрди рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдУрдПрд╕ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг P_SYS_UTILITY рдкреИрдХреЗрдЬ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЗрд╕рдореЗрдВ рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рд╕реБрдЭрд╛рд╡ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИрдВред
рдкреИрдХреЗрдЬ рд╡рд┐рдирд┐рд░реНрджреЗрд╢
 create or replace package P_SYS_UTILITY is -- Author : ALEXEY -- Created : 23.08.2013 -- Purpose : Get system info (*nix versions) /* Get on file or folder name its device or ASM group and used/free space on it * raw devices not supported */ procedure Get_Disk_Usage ( p_file_name in varchar2, -- file name (also accept only path) o_mount_dev out nocopy varchar2, -- device or ASM group o_used_space out number, -- used space o_free_space out number); -- free space -- Collect space USAGE in BD -- Recomended evry day schedule run procedure Collect_Usage; -- Get Forecast on space usage -- Recomended base from 10 collects function Get_Forecast ( pDT in date, -- date for forecast pBASE in integer default 188, -- base days in calculate forecast pTYPE_F in varchar2 default 'SLOPE', -- type forecast: SLOPE | AVG pTABLESPACE in varchar2 default null, -- tablespace ( null = all ) pOWNER in varchar2 default null, -- user ( null = all ) pTYPE in varchar2 default null ) -- segment type ( null = all ), allow like return number; -- size in bytes on date pDT -- Get score of space usage and availability -- Can be used in external monitoring tool : Nagios, etc function Get_Space_Status ( pFOREDAYS in number default 60, -- days after that pFREE_PRCNT in number default 25 ) -- free cpace greater than return number; -- 0 - Space free enough .. 100 - not enough free space end P_SYS_UTILITY; 


Get_Disk_Usage рд╡рд┐рдзрд┐



p_file_name - рдЙрд╕ рд╕реНрдерд╛рди рдХрд╛ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЖрдкрдХреЛ ASM рдбрд┐рд╕реНрдХ рд╕рдореВрд╣реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рдореЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
o_mount_dev - рдЙрд╕ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдХрд░рдг рдЬрд┐рд╕рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдЖрд░реЛрд╣рд┐рдд рд╣реИ, df рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред ASM рдХреЗ рд▓рд┐рдП, рдирд╛рдо рдбрд┐рд╕реНрдХ рд╕рдореВрд╣ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред
o_used_space - рдбрд┐рд╡рд╛рдЗрд╕ / рдбрд┐рд╕реНрдХрдЧреНрд░реБрдк рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛
o_free_space - рдбрд┐рд╡рд╛рдЗрд╕ / рдбрд┐рд╕реНрдХрдЧреНрд░реБрдк рдкрд░ рдЙрдкрд▓рдмреНрдз рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛
рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд╕рд╛рде df рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ v $ asm_diskgroup рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо " + " рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

рд╕рдВрдЧреНрд░рд╣_рдЙрдкрдпреЛрдЧ рд╡рд┐рдзрд┐


рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред рдЯреЗрдмрд▓ рд╕реНрдкреЗрд╕, рдорд╛рд▓рд┐рдХреЛрдВ рдФрд░ рд╕реЗрдЧрдореЗрдВрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рдореВрд╣ред рдЦрд╛рддрд╛ рдЦрдВрдбреЛрдВ рдЬреИрд╕реЗ рдкреВрд░реНрд╡рд╡рдд рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдореЗрдВ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИред рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ T_SPACE_USAGE рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рджреИрдирд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рддред
рд╕рдВрд░рдЪрдирд╛ T_SPACE_USAGE
 create table T_SPACE_USAGE ( dt$ date, owner$ varchar2(30), tablespace$ varchar2(30), type$ varchar2(18), bytes$ number, blocks$ number); create index INDX_T_SPACE_USAGE_DT on T_SPACE_USAGE (dt$); comment on table T_SPACE_USAGE is 'Store archive data of usage space in RDBMS'; comment on column T_SPACE_USAGE.DT$ is 'Date collect space usage'; comment on column T_SPACE_USAGE.OWNER$ is 'Segment owner - user in BD'; comment on column T_SPACE_USAGE.TABLESPACE$ is 'Name of tablespace in BD'; comment on column T_SPACE_USAGE.TYPE$ is 'Segment type'; comment on column T_SPACE_USAGE.BYTES$ is 'Size in bytes'; comment on column T_SPACE_USAGE.BLOCKS$ is 'Size in blocks'; 


Get_Forecast рд╡рд┐рдзрд┐



pDT - рд╡рд╣ рддрд┐рдерд┐ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реИ
pBASE - рдЬрд┐рд╕ рджрд┐рди рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЙрд╕ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
pTYPE_F - рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд╡рд┐рдзрд┐ - рдпрд╛ рддреЛ (рд╕рд╛рдорд╛рдиреНрдп) рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╣рд╕рдВрдпреЛрдЬрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдпрд╛ рдФрд╕рдд рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ
pTABLESPACE - рд╕рд╛рд░рдгреАрдмрджреНрдз рд╕реНрдерд╛рди рдЬрд┐рд╕ рдкрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреЙрд╡реНрдирд░ - рдЙрд╕ рд╕реНрдХреАрдо рдХрд╛ рдорд╛рд▓рд┐рдХ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рд╡рд╣ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рддреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП
pTYPE - рдбреЗрдЯрд╛ рд╕реЗрдЧрдореЗрдВрдЯ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЦрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╣реИред

Get_Space_Status рд╡рд┐рдзрд┐



pFOREDAYS - рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рджрд┐рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
pFREE_PRCNT - рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рди рдХрд╛ рдкреНрд░рддрд┐рд╢рдд (рдЕрдиреБрдорд╛рдирд┐рдд рдХрдмреНрдЬреЗ рд╕реЗ рдЧрдгрдирд╛ )
рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рди рдХреЗ 0 рд╕реЗ 100 рдХреЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рднреА рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рдгрд╛рдо рдЖрдкрдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

psред рдФрд░ рд╣рд╛рдВ, рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдЬрд╛рд░реА рдХрд░рдХреЗ рд╣рдо рд╕реБрд░рдХреНрд╖рд╛ рднрдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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


All Articles