á°áá.
áŤááááľá - á¨á áľá°áłá°áĽáŁ á¨áá¨áŤ áĽá á¨áľá
á°áľ áᏠáááŤáá áá°ááŠá˘
á á á ááá: áá
ááááľ á áá°áá áĽááἠáá - áá
áá áá¨á
á áá ááłáá
áá á¨á áľ, á°ááŁáŤá áľáłá˛áľá˛áŤá ááἠáá°áľ áĽá ááááá áľáááśá˝ áááťá¸áľ áá áááłá°á á°áá˝, á¨ááľ á á°áá DBMS á áá°áá.
áĽáᥠá á áŤáááᣠá áĽááłá¸á áá á áľá°áłá˝ ááŁáĽáá˝á áá˝áááŁ
á áá á áŠááĄ-á á˘áá´áááľ áľááťááľáśá˝ á˛á˘á¤ ááŤá¨á á¨áá
á á ááŤá¨áĽ á áľááľ áá ááľ ááá áá°áŤá¨áľ á áá¨ááá˘
áľááá , áĽáľá¨ ááĽáĄ.
á ááľ á°ááŁá áĽááłáá áĽááľáĽ á ááľ ááááľ áĽáŤá áááááá á¨á°áá°á á¨á áááááľ áĽáááľ áááááá˘
áľááá áĽáŤ ááłááá: áá áĽáá°áá, á¨áá áĽáŤ áĽáŤáľ áĽáá´áľ áĽáá°áá፠áĽá áá áá áĽáŤáľ ááááŤáľ áá ááľáááľ áá.
áĽáá˛áá áĽá ááá áŁáá° á¨ááłáá áĽá á¨á°á¨áł áĽáá°áá áĽááľáĽáĄ á áá á¨á áááááľ áľáááľ ááľáĽ (ááá á¨) áá á áľááá áĽáá´áľ áĽáá°áá°áŤá˘
"áĽá ááá áŤáá°" - áá áááľ á áááľ ááľáĽ ááááá ááá á á á áá á¨áá¨áŤ áááľ á áľáááą áá ááááľ áĽá áá°áá á á¨áá˝á á¨á°áá°á ááłáŞáŤ ᣠáááá፠ᣠá áááááľ áááááľ (ááá á¨á¨áľáá áŚáł ááááľ ááťáá) ᢠá áááľ ááľáĽ áááľáŤáľ á á á áá áááł ááľáĽ .
á°á á, ááá á áááááľ áľáááľ á¨ááľá°áŤá¨áŤ áááŞáŤáá˝ áľáĽáľáĽ áĽáá°ááłáá áĽááľáĽ, áá áá áľáááľ á¨áĽáŤá áááłáááľ á ááťá ááááá ááŤáááá áá˝áá.
áĽá á˝áአáááľá áá - á¨áá á á áááááľ áľáááľ á á á áááł á¨á°áá áááᤠá¨áá, áá á á¨áá á áľáááľ ááźáśá˝ á á°á°á á ááľá¨á áá ááá°ááą áááľ á áŁáá፠áĽáá˛áŤáá አáĽá á áľááááá á¨áľáááąá áááłáááľ áĽáá˛áŤáá áŤáľá˝áááłá.
áĽááá˛á ᢠáá áááá áááľ ááťáá áá.
áĽáá áá ááľá¨á áá˝áá?
á°á á, áá° á áĽáᎠá¨áááŁá á¨ááááŞáŤá ááá ááá áľáááľ á°ááśá˝á áááá¨áľ áá. á°ááŁáááľ áŤáá¸á áááá˝ á¨ááľá°áŤá¨áŤ áááŞáŤáá˝ áĽá´áśá˝ áá áĽáá°áá áá¨áąá˘ áĽá áááłá ᣠá¨á°ááá á¨ááá¨á áá´á á áá áá á áá¨áŤáá˝ ááľáĽ ááľáááľ áááŞáŤáá˝ áĽá´áśá˝á ááá¨áĄá˘
áĽáááŤá˘ ááľáááą áá á¨áľ áááŞáŤáá˝ á á°áá°á á¨áĽá´áśá˝ áľáĽáľáĽ ááá ááľáááą á ááłááľ ááááľ áá á ááľáĄáľá˘
áá
á á áŁá ááłáŞáŤ-áááááŤáŁ á¨áááľ áááŹá°á á áá áá á¨áá¨áŤ áááľ áá°ááĽáŠá˘
áĽá áĽá´áąá áááá¨áą - ááášá, ááá á¨áľáááąá áĽáŤáľ áááŞáŤ.
ááá°áá ááłáĽ áá á áŁá á¨á á áá áá á¨áá áá°áá°á፠ááá áá˝áá.
á°á á ᣠ፠áááľ áĽá á¨ááľá°áŤá¨áŤ áááŞáŤáá˝ áŤá ᣠá¨á°á¸áá á¨áĽá´áśáťá¸á áá°á áľáá á¨áá ᣠáĽáŤááłááą á¨ááá°áĽ áááľ áá¨áŤ ááá ááá áĽá áá á¨áááľáľ á¨áá ᣠá á ᣠáá áá á°ááŁáááľ á¨ááá áá á áááľáľ áá˝áá ᢠáá.
á°á á, áĽááľá áá¨áąáľ áĽá ááŤáľáłááąáľ á¨áá˝ááľ áĽáá áá.
á á áááááľ áľáááľ á áá áśá˝ áááŞáŤáá˝ áľáĽáľáĽ ááľáĽ áĽáá° á ááłááľ áĽá´áśá˝ á á°á á°á¨á°á áŹáá°á áĽááłá ááá áá˝ááá˘
áĽáŤááłááą áĽáá°áá áŤá áŹáá°á ᣠááá˝ áááŽá˝ áĽáŠá áá¸á (á áá áŹáá°á áŤáá°ááŤ) ᣠá¨áááŞáŤá áá á áá á¨á°áá°á áĽá´áľ áá ááááłá - á áá¨áŤ áááľ ááľáĽ á¨áľáááąá á á áŤá áĽáŤáľ á áááŤá˝á˘
IE
á¨áľáááľ áá á áŹáá°áá áĽáá° áĽááĽááľ á¨áľ ; á¨áľ - á¨áľáááľ áá á áááŞáŤáá˝ áĽáᾠᣠá¨áĽááá áááŞáŤáá˝ ááľáĽ áľááľ áá¸áá˘
áĽá á¨áá
áá á¨áááá°á á¨áááŞáŤá áá áĽáá áĽáá ááá
, á¨ááŤá á ááľ á°ááŁá áĽááááá:
áĽááá˛á : ááá ááá áá˛áŤáá áá° áłá˝ áááŁá, á áĽá áááł: á¨áĽáá á¨á°á᪠ááᾠᨠáááľ ááťáá á¨áľá°áá, á¨á°ááŁáá á˝áá ááááá áľáá°.
áĽáşáŁ áá áĽáá áľáá áłá áĽá á°ááŁáŤá áĽáŤá áááłáᥠá¨áľááá áľáá° ááá áá ááá˘
- áľááá ááľáĽ - áĽááľá á áĽá áŤáá° áŽáľ áĽáá˛á˝á.
- áĽá áĽáá˛á°áŤ, áááľá. á˝ááááá (áŤá) á áááᣠáĽáŠáŁ á˘áŤááľ á¨á°ááá áááá á¨á áá ááŁáá˘
á¨ááááŞáŤá ááĽáĽ áĽáá°áá
áŤá áľáá° áááŽá˝ áá°á áĽáá áá°á°á°áá áŠáŁá¸á á ááłááľ á áŤáŁá˘áá˝ áááá¨áľ áĽááłááĽá áá ááá áĽá á á ááłááľ ááአá áŽáľ ááľáĽ ááá áá ááá ááá˘
á°á
á, á áááá python
и cran-r
ááá°áá ááĽáĽ áááľ áľá áľáá° áááŽáš áĽáŤáłá¸á, áá áĽáá°áá, áá ááľáááśá˝ áĽááłá áĽá á¨áľáŤá¸áá áá áłáá˝ ááá ἠáŤáľáááááłá.
áĽá á¨áá°áĄáľ ááá á áá ááá áá˝áá á¨áááŽá˝ ááłáśá˝ - áá¤áśá˝, ááá á ááĽáł á¨á áááŞáá áĽáŤáą.
ááá áĽááą á¨á áááŞáá áá¤áśá˝ ááá áá˝áá.
áĽá á¨ááá°áá á áá¤áľ áááłáá˝ áá ááá˘
áááłáᣠá áá ááááŤáľáŁ áá¤áľá á ááĽááľ ááááľ áŤááĽááľáŁ áĽáŠáŁ áá° ááľ á ááľ á¨áá áľáá° áááŽá˝á áááá¨áľ áĽá á¨ááŤá¨áá¸á á ááąá ááá¨áĽ áŤáľáááááłáá˘
ááá, ááá á áŁá á áľááá áŤááá, áááłá, áĽáá° áá¨-áá (algorithm) áŤá áľáśáŤáľá˛á ááťáťáŤ áá´áá˝á áá áá áá˝áá.
á¨áá á á ááŤá¨áĽ áľáŤ, á¨áľáááľ á ááááŠá á ááá¨áĽ, á¨ááá˛á áľáá°-áááá á áá áá, á áááĽáá ááľáĽ ááááá ááłáĽ á áááŁáá-á¨ááĽáŤáśáŞ áľáŤ.
áŚáŞá áááĄ
- áĽáá° á áááááľ áĽáááľ ááááĄ-
oracle xe 18c
- á¨ááĽááľ áĽáá áľáá´á áĽá ááĄá áĽáá˛áŤáááá ááááąááľáĄ á¨ááĄáľ áłáłá¤á á¨áá°ááá á á°áťá áá á á ááĽááśá˝/á°á¨ááľ áááááľá˘
- ááĽááśá˝ á¨áá¨á áá á ááľáŤáľ áŁá
᪠áĽá á áľáŤá áááł á áŁá á¨á°ááŤáŠ ááá áá˝áá.
áĽááá á¨áá°á áá á áŤáá á¨á°áá á¨áĽ áá¨á á¨ááŤáľáŹáą ááĽááśá˝ áááá¸áá áĽááľááá˘
á¨ááľáá á¨á áá á¨áááá áľ ááἠá áŤáááŠá áĽá áĽá ááśá á¨áľáá˝á áĽá áľááá á á¨á´ááá˝á á áŤáľáŹáąá áááľ ááá˘
áĽááá áĽá ááá áŁáá° áľáá á áá á¨áĽ ááľáĽ á ááľ á¨áľá á¨áááአááĽááśá˝ áá¸áᣠá áá á á¨á´á áá á ááľá°á ááĽá áŤáá¸á á˘áá´ááśá˝á˘
á áá áááłáĄ ááĽááśá˝á áááľáŹáľ á¨áááľ áłáł á¤á áááłáááľáŁ á¨á°áŤá áŚáł ááᣠá áŞáśá áłáłá¤á á¨áááá á áĽáŤáľ ááá°ááá˘
á¨áá á°áľ áá - áľá subdb á ááĽáŽá˝ á á°áá á¨á°ááááá.
ááááŤáąá á á á ááá áááłáŁ áááłá á SQL ááá áááá˝ ááŤá¨á á¨ááĽááľ áááááŤáá˝ ááአáľááá˝áᣠá¨á°á ááá áľáŤ á á°áá á¨áĽ áłáł áĽá/ááá á á°áá á¨áĄ áá´á ááááŤáľ ááá˘
á¨áľáá áĽááἠáá, á TPS ááľáŞá áá á°áľá á áľááŤá á°á˝áĽá ááá¨áá áĽá áá á¨áááľ áłáłá¤á á ááťá á˛áłá ááŤá áááł áááá: áĽáŠ, áá á¨á°áá á¨áĽ áá´á á¨á°áá°áá áľ áĽá á ááľáĄá á¨ááἠáá áŤáá áĽáŤ áĽááłáá˝ áá¨á°áłá.
áľááá , ááá¨áŤá áá á á, áá áá ááááŤáľ áĽááľáááłáá, áĽá á¨áá á áłá˝ á áľááá áĽáá´áľ áĽáá°áá áĽáááťáá.
- áááአ100% ᨠSQL áľáááá˝ áá° áłáłá¤á á¨ááĄáľ á¨á˛á¤áá¤á áľáááá˝ áĽáá°áá áĽááľáĽá˘
á¨á°á ááá áŁá ᪠á¨áááľ áłáłá¤á áá á áá¨áŤáá˝ ááľáĽ á ááľ á áááľ áááá˘
áá¸áá: ᨠskl ááá áááá˝ áĽááľ, á¨á áá á¨áĽ áááĽ, ᨠskl ááá áááá˝ á¨áĽááą áá áĽáá´áľ áĽáá°áá áŠ. - Subd ááľáĽ áá°áŤá
FORCE LOGGING
,ARCHIVELOG
mods. á¨ááá˝ áááś áłáłá¤á áááł á ááˇáᣠá áááľ á°á¨áᢠ- áááἠááľáłááťáá˝á ááľáá: á á°áᨠá¨ááá áľáááľ ááľáĽ, á á°áᨠ"á˛áľá" áá;
á¨á°áá¨á á¨ááἠááłá á áŤáá á áŤá: á áá ááľáĽ, á¨á°áᨠá¨ááá áľáááľ, á á°áᨠ"á˛áľá" áá:
áľá á áŤáá ááłáŞáŤá á°á¨á᪠ááááŽá˝. á¨ááŚáŤáśáŞ á¨ááἠááł áááá˝
SQL> select status||' '||name from v$controlfile;
/db/u14/oradata/XE/control01.ctl
SQL> select GROUP#||' '||MEMBER from v$logfile;
1 /db/u02/oradata/XE/redo01_01.log
2 /db/u02/oradata/XE/redo02_01.log
SQL> select FILE_ID||' '||TABLESPACE_NAME||' '||round(BYTES/1024/1024,2)||' '||FILE_NAME as col from dba_data_files;
4 UNDOTBS1 2208 /db/u14/oradata/XE/undotbs1_01.dbf
2 SLOB 128 /db/u14/oradata/XE/slob01.dbf
7 USERS 5 /db/u14/oradata/XE/users01.dbf
1 SYSTEM 860 /db/u14/oradata/XE/system01.dbf
3 SYSAUX 550 /db/u14/oradata/XE/sysaux01.dbf
5 MONITOR 128 /db/u14/oradata/XE/monitor.dbf
SQL> !cat /proc/mounts | egrep "/db/u[0-2]"
/dev/vda1 /db/u14 ext4 rw,noatime,nodiratime,data=ordered 0 0
/dev/mapper/vgsys-ora_redo /db/u02 xfs rw,noatime,nodiratime,attr2,nobarrier,inode64,logbsize=256k,noquota 0 0
ááááŞáŤ ááᣠá áĽááá
á¨ááŤá áááłáá˝áŁ á¨ááĽááľ áááľ áááá áá áá áĽááá áá áá˘
á áŁá áĽáŠ áŁá
᪠á áá ᣠá°áŤá˛áá áĽá á
áłáá-
á SLOB áĽááĽááľ áá âSLOB áá´â ááᢠá¨SLOB áá´ ááľá¨áŽá˝á áááá°á˝ áŤáá ááá˘
áŤá áááá¨áť áááá. á ááľ á°á á¨áá°ááá á¨áááľáá á ááťá¸á áááłáľ á áá˝ááá˘
á¨áá°áá áŞáŤ áŽáľ á áá ááᣠáááłáᣠá áá°áá áŞáŤ áááá ááá ááá
Oracle Database áĽááŽá˝á áááŤáľá˘ áá áá-ááἠá˛áŤáአá¨áŤáľ á áá ááá˘
á áłáł áĽááŽá˝! ááá áá SLOB-á ááŁáŞá áá°ááŤáą -á¨áá áááἠáá ááá˘
áá
ááááŤáĄ ááááłáᣠááá˘
ᨠcl ááá-áááá˝ áľááŠááľ á°á¨áá ááááŁá á ááš áá, áá
ááá áá -t
áááááŤáá áŤáľááአrunit.sh
ᨠSLOB
á¨á˛á¤áá¤á áľáááá˝ ááśá ááĽáĽá áá°á¨áá áłáᣠáá° áááľ ááá á áááŠáľ á¨á˝áá áááĽááśá˝ áĽááľáŁ áĽáŤááłááą á¨á˝áá ááá ááᣠáááŞáŤ UPDATE_PCT
á á°ááĽá áĽá á áŁá ááš; SLOB
áĽáŤáą, á¨ááŤá á ááľ áĽá á áá - áľáłá˛áľá˛ááľ, ááá á áá-á
á˝á á°-ááśáá˝á (ááááááľ á¨á°ááááá) áŤáááá.
ááá áĽáá áĽáá°á፠áá á°áááˇá SLOB
á¨30 á°á¨ááľ áŁáá° áá ᨠSQL ááá áááá˝á á áá°áááá˘
áľááá
ᣠááááŞáŤ á¨áŤá´áᣠá¨á°áŤá°á-áá áŹáá á¨áŤááá áĽáľá áŽáľ á áľáááŤááᣠáĽá á¨á፠áľáŤ áá áĽáá°áá áá¨á˘
áŤáá áá áĽáá°áá°áŤ áĽá áĽáá´áľ áĽáá°áá°áŤ ááá
áááľá¨á ááĽáŤáŤá˘
á áá á¨áą áŤáá áá
á áááľááá˘
á¨á°áŤá°á áŽáľ
function dotx()
{
local v_period="$2"
[ -z "v_period" ] && v_period="0"
source "/home/oracle/testingredotracĐľ/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror exit failure
set verify off
set echo off
set feedback off
define wnum="$1"
define period="$v_period"
set appinfo worker_&&wnum
declare
v_upto number;
v_key number;
v_tots number;
v_cts number;
begin
select max(col1) into v_upto from system.testtab_&&wnum;
SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
v_tots := &&period + v_cts;
while v_cts <= v_tots
loop
v_key:=abs(mod(dbms_random.random,v_upto));
if v_key=0 then
v_key:=1;
end if;
update system.testtab_&&wnum t
set t.object_name=translate(dbms_random.string('a', 120), 'abcXYZ', '158249')
where t.col1=v_key
;
commit;
SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
end loop;
end;
/
exit
__EOF__
}
export -f dotx
á áŤá°áá˝ á áá ááááľ á°ááá¨áááĄ-
á¨ááŽáĄ á°áŤá°áá˝
echo "starting test, duration: ${TEST_DURATION}" >> "$v_logfile"
for((i=1;i<="$SQLSESS_COUNT";i++))
do
echo "sql-session: ${i}" >> "$v_logfile"
dotx "$i" "${TEST_DURATION}" &
done
echo "waiting..." >> "$v_logfile"
wait
áĽá áá áŤá°áá˝ á á¨á´ááá˝ áĽáá°áá¨á°áá á°ááá á°áá-
á á¨á´ááá˝á ááá á
function createtable() {
source "/home/oracle/testingredotracĐľ/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror continue
set verify off
set echo off
set feedback off
define wnum="$1"
define ts_name="slob"
begin
execute immediate 'drop table system.testtab_&&wnum';
exception when others then null;
end;
/
create table system.testtab_&&wnum tablespace &&ts_name as
select rownum as col1, t.*
from sys.dba_objects t
where rownum<1000
;
create index testtab_&&wnum._idx on system.testtab_&&wnum (col1);
--alter table system.testtab_&&wnum nologging;
--alter index system.testtab_&&wnum._idx nologging;
exit
__EOF__
}
export -f createtable
seq 1 1 "$SQLSESS_COUNT" | xargs -n 1 -P 4 -I {} -t bash -c "createtable "{}"" | tee -a "$v_logfile"
echo "createtable done" >> "$v_logfile"
áĽáááŤá˘ ááĽáŤááłááą á°áŤá°á (á á°ááŁá: á á˛á˘ ááľáĽ á¨á°áᨠᨠSQL ááá áá) á¨á°áᨠá á¨á´á á°áá á¨, á°áŤá°áá á¨áá°áŤá áľ.
áá
á á áŤá°á ááá áá ááŤá¨á á¨ááĽááľ áááááŤáá˝ á ááááŤá¸áá áŤá¨áááŁá.
áĽáŤááłááą á°áŤá°á: á°ááłáłá ááá áŤá°ááá, á áŤáą á á¨á´á, á á¨á´ááá˝ ááá á°ááłáłá áá¸á.
ááá á°áŤá°áá˝ áá°ááłáłá áá áľáŤ áá°áŤá.
á á°á¨ááŞá ᣠáá¨á
á áá á á áá áľááá
ᣠáááłá ᣠá¨áááἠááľáłááť ááá¨áŞáŤ á áĽááá áááľ áá¨á°áłá ᣠáĽá á¨á ááľ áá á ááá˘
á°á
á, á áá
áá á¨áľ, á°áŤáŤáĽ ááŞáá˝ áĽá áá¤áśá˝ á°ááą.
á áĽá áááł á¨á°áŤá°áá˝á á¨áľáŤ áá á 8 á°áááá˝ ááľáĽ á áá
áŹáŤáá.
á áááľ ááľáĽ áŤááá áááľ ááá á á áŤá á¨áááá˝ á¨áľáłá˛áľá˛ááľ áŞáááľ ááŤá
Database DB Id Instance Inst Num Startup Time Release RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
2929910313 XE 1 07-Sep-20 23:12 18.0.0.0.0 NO
Host Name Platform CPUs Cores Sockets Memory (G)
~~~~ ---------------- ---------------------- ----- ----- ------- ------------
billing.izhevsk1 Linux x86 64-bit 2 2 1 15.6
Snapshot Snap Id Snap Time Sessions Curs/Sess Comment
~~~~~~~~ ---------- ------------------ -------- --------- ------------------
Begin Snap: 1630 07-Sep-20 23:12:27 55 .7
End Snap: 1631 07-Sep-20 23:20:29 62 .6
Elapsed: 8.03 (mins) Av Act Sess: 8.4
DB time: 67.31 (mins) DB CPU: 15.01 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,392M Std Block Size: 8K
Shared Pool: 288M Log Buffer: 103,424K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ ------------------ ----------------- ----------- -----------
DB time(s): 8.4 0.0 0.00 0.20
DB CPU(s): 1.9 0.0 0.00 0.04
Redo size: 7,685,765.6 978.4
Logical reads: 60,447.0 7.7
Block changes: 47,167.3 6.0
Physical reads: 8.3 0.0
Physical writes: 253.4 0.0
User calls: 42.6 0.0
Parses: 23.2 0.0
Hard parses: 1.2 0.0
W/A MB processed: 1.0 0.0
Logons: 0.5 0.0
Executes: 15,756.5 2.0
Rollbacks: 0.0 0.0
Transactions: 7,855.1
áá° ááŚáŤáśáŞ áĽáŤ ááááľ.
áĽá ᣠááá˝ áááŽá˝ áĽáŠá á˛áá ᣠá¨áá¨á°ááľá á¨ááŚáŤáśáŞ áááľ áłáłá¤á áááŞáŤáá˝ áĽá´áśá˝á áĽáááááŁááá˘
- á¨ááἠááł áááἠááľáłááť áĄáľáá˝ áá á. á¨áĽá´áľ ááá: [32, 1024] ááŁ;
- á áá¨á ááą ááľáĽ áŤá á¨áá˝ááľ áĄáľáá˝ áĽááľá˘ á¨áĽá´áľ áááᥠ[2,32];
log_archive_max_processes
á¨áĽá´áľ áááᥠ[1,8];commit_logging
áááľ áĽá´áśá˝ á°áá á°áá:batch|immediate
;commit_wait
áááľ áĽá´áśá˝ á°áá á°áá:wait|nowait
;log_buffer
áá ááá: [2,128] ááŁ.log_checkpoint_timeout
áá ááá: [60,1200] á°á¨ááśá˝db_writer_processes
á¨áĽá´áľ áááᥠ[1,4]undo_retention
áá ááá: [30;300] á°á¨ááśá˝transactions_per_rollback_segment
á¨áĽá´áľ áááᥠ[1,8]disk_asynch_io
áááľ áĽá´áśá˝ á°áá á°áá:true|false
;filesystemio_options
á¨áá¨á°ááľ áĽá´áśá˝ á°áá á°áá:none|setall|directIO|asynch
;db_block_checking
á¨áá¨á°ááľ áĽá´áśá˝ á°áá á°áá:OFF|LOW|MEDIUM|FULL
;db_block_checksum
á¨áá¨á°ááľ áĽá´áśá˝ á°áá á°áá:OFF|TYPICAL|FULL
;
ᨠOracle á¨ááἠááłáá˝á á¨áá á á áááľ áŤáá á°á á¨á°á ááąáľ áááŞáŤáá˝ áĽá á°ááŁáááľ áŤáá¸á áĽá´áśáťá¸á áá áĽá áá áááá˝ áááá áĽááłááŁá¸á á áĽááá áááľ áááá áá˝áá ᣠáá á á á°á áá°á áá¨á ááá°áŤá áľáŤ á¨á áá áááłáááľá áááááľ á¨áá°áá áŞáŤ áŽáľ ᣠáĽáá á¨ááá˘
ááá˘
á¨ááŚáŤáśáŞ áľáŤá ááĽáĽ á¨áááťá¸áľ áľáá°-ááá áĽáŤáą áá áá á á ááťáŤáááľ á ááĽááľ áŤáĽáŤáŤááá.
ááĽá ᣠá¨áá¨á áá á°ááąá ᣠáá á
á áá˝á áľáááľ ááľáĽ áá¨áľ áĽáť áá ᣠáá ááááľ áááŞáŤáá˝ áĽáá°ááá¨áŠ áĽá á á¨áľááš áááá˝ ááľáĽ áááá
á á ááá˘
áĽá á°ááᥠá¨á°áá¨á á á¨áááťá¸áľ áľáá° ááá áĽá áľáááľ áá á áĽáŽ áááľáŤáľ á¨ááŤáááá áŽáľ áŽáľá˘
áľááá
, á áá áľá áŽáľ.
á¨áá á°áááŹá ááᢠcran-r
áááľáᥠááá á¨á°á áá áľáááľ áá á¨á°á°á¨á ááá áá áŽá˝ á¨á°áááŁá áŠáľ á R áľááŞááľ ááá ááá˘
áľááááá á°ááŁá ᣠáľáá°á ᣠáá፠á ááľáŞá áĽá´áľ ᣠá¨áľáááľ áááł áŹáá°áŽá˝ - áá
áĽá
á ááᢠGA
(
áĽá
á, á áá
áááł, á áŁá á°áľáá á áá°áá, áŹáá°á (ááŽááśá, á¨áĽá
á á ááá á¨áá) á¨ááááá ááá áá á ááĽá ááĽá¨ááááá˝ ááá áĽáá˛ááá˝ áá áĽáá.
áĽá á¨áĽá áŹáá°á ᣠá¨á ááĽá áááŞáŤáá˝ áĽá´áśá˝ áĽááá 14 áá áá˝ áá¸á - á˘áá˛áá áĽá á¨ááĽá¨ááá áĽá´áśá˝á˘
á áĽááἠá˝áአá ááłááľ á¨á°áá°á ááĽáŽá˝á áá° ááĽá¨ááá áĽá´áśá˝ á ááá°áĽ á ááá ááááá˘
áľááá ᣠá áá¨á¨áť ᣠᨠR áľááŞááľ áá ááŤá áá áá áááľááá˘
GA áá°áá :: ga
cat( "", file=v_logfile, sep="n", append=F)
pSize = 10
elitism_value=1
pmutation_coef=0.8
pcrossover_coef=0.1
iterations=50
gam=GA::ga(type="real-valued", fitness=evaluate,
lower=c(32,2, 1,1,1,2,60,1,30,1,0,0, 0,0), upper=c(1024,32, 8,10,10,128,800,4,300,8,10,40, 40,30),
popSize=pSize,
pcrossover = pcrossover_coef,
pmutation = pmutation_coef,
maxiter=iterations,
run=4,
keepBest=T)
cat( "GA-session is done" , file=v_logfile, sep="n", append=T)
gam@solution
áĽáá
, á áĽááłáł lower
и upper
á¨áľáĽáľáĽ áŁá
áŞáŤáľ ga
á áá á¨áą ᣠá¨ááá áŚáłá á¨á°áá°á áŚáł á°ááľáá ᣠá áá
ááľáĽ á¨á áŤá áĽááľ áĽáá
áľáá´ á¨áá°áá áĽá´áľ ááááá áľ áŹáá°á (ááá áŹáá°á) ááá áá¨áááá á˘
ᨠga subbroutine á¨á áŤá áĽááľ á°ááŁáŠá á¨á á¨ááŤá°áá ááá áŤáŤááłáá˘
á°á á ᣠá¨á፠ᣠá áá áá᳠ᣠá¨á áŤá áĽááľ á°ááŁáŠ ᣠáŹáá°áŠá áá°áá°á á¨áááľ ááá áááááá˝ áĽáá° á¨áĽá´áśá˝ áľáĽáľáĽ á áá¨áłáľ ᣠᨠsubd á ááľ ááŹáľ ááá á á áľááá áá á˘
áááľáᥠáľááľáŁ á á°á°á á áááľ áááá áĽá á áááľ á˛á áá á¨á°á°á á áááľáĄ ááĄáľ á˛á á á°á¨ááľ ááĽááśá˝á áŤáľáŹáłáá˘
áááľá ᣠá ááááĽá áľ áá ᣠââá¨áá¨á°ááľ áŁááĽá áĽáá¨áá˝ á á áŤá áĽááľ áĽáá áľáá´ ááľáĽ áá¨ááá á ááŁá¸áá˘
- á¨ááĽáŽá˝ áá¤áľ áŹáá°áá ááŤááľ - ááááľ ááἠáááŞáŤáá˝ áá° áĽá´áśá˝ ááááĽá˘
- á¨á°áá°á áá á áŤáá¸á á¨áľáááá˝ áĄáľáá˝á áááá á áá¨áŤá˘ á¨áá
á á áá áá¨áŤá áŤáá°áłáŤ ááá áá˝áá.
áá°á á˛á á ááĄáľ ááá ááľáĽ á¨áá አá¨áá˝ááľ áĄáľáá˝, á á°áá°á áá á áĽá á á°áá°á áá á, ááá¨áŤá áá á á - d.b. á°á°áááᢠ- á¨áá°áá ááĽáĽ á¨á°áłáŤ á¨áá á¨áá á¨áľ áááŞáŤáá˝á áá° áłáłá¤á áááá˝ (áĽáá°áá ááľááľ ááá áá˝áá)
- á¨áá°áá áĽááá á¨á°áłáŤ á¨ááᥠáááľ áááá áááᣠá á˛áľ á¨á°ááášáľ á¨áááŞáŤ áĽá´áśáš áĽáá˛á°áá አááĄáąá ááááᢠ(áĽáá°áá: á˝áá ááá áá˝áá)
- á¨áá°áá á°á¨á áľáŹáłá á¨áá: á¨áááľ áá¨áŤá áŤá¨ááá. áááŞáŤáá˝á ᨠsubd áŤááá˘
- áááľ áááá áá° ááááŞáŤá áááłá ââááááąáŁ áááľá á°á¨á᪠á¨áááἠááľáłááť áĄáľáá˝á áá°áá ᣠá¨ááááŞáŤáá áááľ á¨ááἠááł áá á áá° áĽáŤ ááááąá˘
á¨á áŤá áĽááľ á°ááŁá áŽáľ
evaluate=function(p_par) {
v_module="evaluate"
v_metric=0
opn=NULL
opn$rg_size=round(p_par[1],digit=0)
opn$rg_count=round(p_par[2],digit=0)
opn$log_archive_max_processes=round(p_par[3],digit=0)
opn$commit_logging="BATCH"
if ( round(p_par[4],digit=0) > 5 ) {
opn$commit_logging="IMMEDIATE"
}
opn$commit_logging=paste("'", opn$commit_logging, "'",sep="")
opn$commit_wait="WAIT"
if ( round(p_par[5],digit=0) > 5 ) {
opn$commit_wait="NOWAIT"
}
opn$commit_wait=paste("'", opn$commit_wait, "'",sep="")
opn$log_buffer=paste(round(p_par[6],digit=0),"m",sep="")
opn$log_checkpoint_timeout=round(p_par[7],digit=0)
opn$db_writer_processes=round(p_par[8],digit=0)
opn$undo_retention=round(p_par[9],digit=0)
opn$transactions_per_rollback_segment=round(p_par[10],digit=0)
opn$disk_asynch_io="true"
if ( round(p_par[11],digit=0) > 5 ) {
opn$disk_asynch_io="false"
}
opn$filesystemio_options="none"
if ( round(p_par[12],digit=0) > 10 && round(p_par[12],digit=0) <= 20 ) {
opn$filesystemio_options="setall"
}
if ( round(p_par[12],digit=0) > 20 && round(p_par[12],digit=0) <= 30 ) {
opn$filesystemio_options="directIO"
}
if ( round(p_par[12],digit=0) > 30 ) {
opn$filesystemio_options="asynch"
}
opn$db_block_checking="OFF"
if ( round(p_par[13],digit=0) > 10 && round(p_par[13],digit=0) <= 20 ) {
opn$db_block_checking="LOW"
}
if ( round(p_par[13],digit=0) > 20 && round(p_par[13],digit=0) <= 30 ) {
opn$db_block_checking="MEDIUM"
}
if ( round(p_par[13],digit=0) > 30 ) {
opn$db_block_checking="FULL"
}
opn$db_block_checksum="OFF"
if ( round(p_par[14],digit=0) > 10 && round(p_par[14],digit=0) <= 20 ) {
opn$db_block_checksum="TYPICAL"
}
if ( round(p_par[14],digit=0) > 20 ) {
opn$db_block_checksum="FULL"
}
v_vector=paste(round(p_par[1],digit=0),round(p_par[2],digit=0),round(p_par[3],digit=0),round(p_par[4],digit=0),round(p_par[5],digit=0),round(p_par[6],digit=0),round(p_par[7],digit=0),round(p_par[8],digit=0),round(p_par[9],digit=0),round(p_par[10],digit=0),round(p_par[11],digit=0),round(p_par[12],digit=0),round(p_par[13],digit=0),round(p_par[14],digit=0),sep=";")
cat( paste(v_module," try to evaluate vector: ", v_vector,sep="") , file=v_logfile, sep="n", append=T)
rc=make_additional_rgroups(opn)
if ( rc!=0 ) {
cat( paste(v_module,"make_additional_rgroups failed",sep="") , file=v_logfile, sep="n", append=T)
return (0)
}
v_rc=0
rc=set_db_parameter("log_archive_max_processes", opn$log_archive_max_processes)
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("commit_logging", opn$commit_logging )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("commit_wait", opn$commit_wait )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("log_buffer", opn$log_buffer )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("log_checkpoint_timeout", opn$log_checkpoint_timeout )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_writer_processes", opn$db_writer_processes )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("undo_retention", opn$undo_retention )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("transactions_per_rollback_segment", opn$transactions_per_rollback_segment )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("disk_asynch_io", opn$disk_asynch_io )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("filesystemio_options", opn$filesystemio_options )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_block_checking", opn$db_block_checking )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_block_checksum", opn$db_block_checksum )
if ( rc != 0 ) { v_rc=1 }
if ( rc!=0 ) {
cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
return (0)
}
rc=stop_db("immediate")
rc=start_db("")
if ( rc!=0 ) {
cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
rc=stop_db("abort")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
return (0)
}
rc=run_test()
v_metric=getmetric()
rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
return (v_metric)
}
áŤá˘ ááá áĽáŤ: á á áŤá áĽááľ áĽáá áľáá´ ááľáĽ áá¨áááá.
á-áąáĄáŠá˛á áŹáá°áŽá˝á ááá á áľááá ááŽááśááá˝á áŤáľáŹáłáá˘
á áá
ááľáĽ, ááĽá á áŁá á áľááá á¨ááá á¨á áŤá áĽááľ áĽáá
áľáá´ áľáá
áĽá´áśá˝á á¨ááŤáááľ ááá˝ áŤáá¸á ááŽááśáá˝ ááá¨áĽ áá.
áá á áá á¨áą á á¤á-ááŹáľ áááá፠áŚáł ááľáĽ áŹáá°áá á áá áá áĽá á á áŁá áĽáŠáá á¨ááŽááśá áľáĽáľáĽ á¨áááá áá°áľ ááá˘
á áŁá ááá
ᣠáááá
áááľ á´áááŤá ááĽáŚá˝á áá¨áĽáť ááĽááľá˘
á¨á°ááŁáŠ á¨áłáľ áĽáŞáá˝ evaluate
, áááłá, ááá-ááá, á¨áááľ ááŤááľá ááá á áááááľ, á áá á°ááľáá°á áá¨áááá cran-r
á°ááŁáŤáľ system2
á áĽáą áĽááłáł á ááłááľ á¨áŁá˝ áľááŞááľ ááá áľááá á°á ááˇá.
áááłá:
á ááá _á˛á˘_áááŞáŤ
set_db_parameter=function(p1, p2) {
v_module="set_db_parameter"
v_cmd="/home/oracle/testingredotracĐľ/set_db_parameter.sh"
v_args=paste(p1," ",p2,sep="")
x=system2(v_cmd, args=v_args, stdout=T, stderr=T, wait=T)
if ( length(attributes(x)) > 0 ) {
cat(paste(v_module," failed with: ",attributes(x)$status," ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
return (attributes(x)$status)
}
else {
cat(paste(v_module," ok: ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
return (0)
}
}
ááá°áá ááĽáĽ ááľáá áá, evaluate
á°ááŁáŤáľáŁ á ááľ á¨á°áá°á ááľáŞá áĽá´áľ áĽá á°ááá
áŹáá°áá áá° áá ááá á ááľáááĽáĄ-
cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
áá á áŁá á áľááá áá, ááááŤáąá á¨áá á¨ááἠá á°áŤá°á, á¨áľáá á¨ááľá°áŤá¨á áŹáá°á á áŤááľ á ááľáŞá áĽá´áą áá á¨á áá ááá áŤáá° á°á˝áĽá áĽááłáá á°á¨á᪠áá¨á ááááľ ááťáá.
áááľáᥠá¨áŁá áŞ-á áľááŞááľ áľáá°á ááŤááľ á¨ááťá ááááá˘
áłá˛áŤ áá ááá áá˝áá?
á ááŤá áááᣠáá°ááášá áá° áá á ááᣠááľáŞá á á°á á°á¨á°á áŤááᣠáľáá áĽáá°áá¨á°áá ááá˘
á¨áááŞáŤá á˝ááá áĽá´áśá˝ áá á¨ááááľ á ááłááľ áááĽáĄ-
áĽáá
ᣠá¨áá¤áśáš áá áŁáá á
á˝á áłá áá˝ áĽááł ááľáĽ ᣠáĽá áĽáááťáá-á¨ááľá°áŤá¨áŤ áŹáá°á áĽá´áśá˝ á¨á°á°áĄáľ á¨á áŤá áĽááľ áĽáá
áľáá´ áŽáľá á ááá áá áĽáá á¨á°áá¨áá á¨áááŞáŤ áĽá´áśá˝ áĽááľ áááá á ááá á áá°ááᢠá á˝áá áá á¨áá.
áĽááá˛á
ᢠáĽá ááá áľáá˝ áá, ~ 8 tps: á¨á°áᨠáĽáŤá.
á ááĽáŤáśáŞ áĽáŤ áááá ááľáĽ, áá
á áá á áľááá á áá°áá, á áľáááá á°ááááááľ áá, áá
áĽá´áľ áĽáá´áľ áĽáá°ááááĽ.
áĽáá
áŤáá á°ááááááľ áĽáŠ ááá˘
á˘áŤááľ á ááľ ááááŤáľ á ááŽááśá áŹáá°áŽá˝ ááľáĽ á áá°áá°á á¨áááŞáŤááᣠá¨á-á áááŞááá áá á áĽá
á áĽáá°áááł ááá˝ ááá˘
á áá ááá áĽá´áśáš áľáááá áááá á°ááááááľ áľáááááᣠááá áĽááłá á áŁá áľáá˝ á˘ááá á°á˝áá áŤáá á˘áŤááľ á ááľ á°á¨á᪠ááá á áá˘
áá
á¨ááŤáľáááááľ áŚáł áá attribute-importance
áľááłá áá á áááľ áŁá
áŞáŤáľá ááá¨áłáľ (á áá
ááłá áá, á¨ááľá°áŤá¨á áŹáá°á á áŤááľ) áĽá á ááľáŞá áĽá´áą áá áá áŤá
á á°á˝áá áĽáá°ááŤáłáľáŠ.
áĽá á¨áá
áá¨á: ááá
á áá áŁá
áŞáŤáľ áááŚá˝ áá ááááŤáśá˝ áĽáá°á°ááą áá¨áąá˘
áŠáŤ attribute-importance
á á°ááŤáŠ ááááśá˝ ááťáá.
ááĽááá
ááááá˝, á áááŞááá áĽááłáá randomForest
á°ááłáłá áľá áŤáá R áĽá
á (
randomForest
áĽá á á á ááá áĽáŤáá áĽá á á°ááá á¨áŁá
áŞáá˝á á áľáááááľ áááááá á ááŤá¨áĄá áĽáá°á°á¨áłáᾠᣠá áŁá
áŞáŤáą áá á¨ááá˝ á°áááá áĽááááľ á¨á°áá°á áá´á ááááŁáá˘
á áĽá áááłáŁ á¨ááá˝ á°áááá á áááľ áá¨áŤáá˝ ááľáĽ á¨áá¨á ááą á¨á°áá ááľáŞá ááᢠtps
;
áĽá áŁá
áŞáŤáľ á¨ááľá°áŤá¨á áŹáá°á á áŤááľ áá¸á.
áľááá
áĽáá
randomForest
á¨áĽáŤááłááąá áá´á áŁá
᪠á áľáááááľ á áááľ ááĽáŽá˝ áááááááĄ- %IncMSE
- á á ááłáŤá ááľáĽ á¨áá
á áááł ááá/á áááá á¨áá
á áá´á MSE áĽáŤáľ áĽáá´áľ áĽáá°áááἠ(á ááŤá áŤáŹáľ áľá
á°áľ)á˘
áĽá IncNodePurity á áá
áŁá
᪠áĽá´áśá˝ áá á áááľá¨áľ ᣠááá¨áł áŤáá á¨ááἠáľáĽáľáĽ áĽáá´áľ á áĽáŠ áááł á¨ááŤáááŁáá
ááĽá áá ᣠáľáááá á á ááľ ááá ááľáĽ á ááľ á¨áááŞáŤ áĽá´áľ á˛áĽáŤáŤ áĽá á áááá ááľáĽ á¨áááŞáŤá áá áĽá´áľá˘
á°á
áᣠ፠áááľáĄ áá
á¨áá፠áŁá
áŞá áĽáľá¨áá áľá¨áľ áá (á áŁá ááá
á¨áááá á¨áŠá˛áŤ ááá á RandomForest áá á á¨áá˘
á¨á°áŤá°á-áá Ꮰá á-áŽáľ á¨ááἠáľáĽáľáĽá á¨áááľ áá¨áŤáá˝ áá¤áśá˝ áá áááľáŹáľáĄ-
x=NULL
v_data_file=paste('/tmp/data1.dat',sep="")
x=read.table(v_data_file, header = TRUE, sep = ";", dec=",", quote = ""'", stringsAsFactors=FALSE)
colnames(x)=c('metric','rgsize','rgcount','lamp','cmtl','cmtw','lgbffr','lct','dbwrp','undo_retention','tprs','disk_async_io','filesystemio_options','db_block_checking','db_block_checksum')
idxTrain=sample(nrow(x),as.integer(nrow(x)*0.7))
idxNotTrain=which(! 1:nrow(x) %in% idxTrain )
TrainDS=x[idxTrain,]
ValidateDS=x[idxNotTrain,]
library(randomForest)
#mtry=as.integer( sqrt(dim(x)[2]-1) )
rf=randomForest(metric ~ ., data=TrainDS, ntree=40, mtry=3, replace=T, nodesize=2, importance=T, do.trace=10, localImp=F)
ValidateDS$predicted=predict(rf, newdata=ValidateDS[,colnames(ValidateDS)!="metric"], type="response")
sum((ValidateDS$metric-ValidateDS$predicted)^2)
rf$importance
á ááĽáł á áĽá
á á¨á áááŞáá hyperparameters ááá¨áĽ áĽá á á ááłáŤá áĽáŤáľ áá á áá°áŽá á áá¨áá፠á¨ááἠáľáĽáľáĽ áá áŤááľá áľáá áŤáá˝ á áľááá á¨ááŤáá áá´á ááá¨áĄá˘
ááá
áĽáŤ á ááľ ááááľ á°ááŁá ááá áá˝áá (á áááŤá˝á áá ᣠáĽáá°áá ᣠá ááłááľ á¨áááťá¸áľ áľáá° ááá á áá áá)á˘
ᨠR áĽá
á áá áá áá˝áá caret
, á áá°áá ááĽáĄ á áľááá áá.
á áá¤áąá, á áá áááł, á¨áŁá áŞáŤáąá á áľáááááľ á°á¨á áááááá á¨áá¨á°áá áá¤áľ áááá.
áĽááá˛á ᢠáľááá ᣠááá á áá áá¸áĽáŤá á áááá áĽáá˝ááááĄ-
- á ááá
á¨áá¨áŤ áááłáá˝ ááľáĽ á áŁá á áľááá á¨ááá áááŞáŤá áá á
commit_wait
á á´áááŤá ááአá¨ááĄáľ á˛á˘ áá ááľ áá° á áá á¨áááἠááľáłááť áĄáľá á¨áľáá áłáł á¨ááá ᨠio áŚááŹá˝á á ááťá¸á áááłá áááááᥠá¨á°ááłá°á ááá áŤáá°ááłá°áá˘
áánowait
áá á áááľ ááťáá á ááŁáᣠáĽá á¨tps ááľáŞá áĽá´áľ áá¨ááá áŤáľá¨áľááᥠáá áŤáá°ááłá°áá io áááł á áŞáś áĄáľáá˝ ááľáĽ ááŤá°áľ ááá˘
á¨á°áᨠáĽáŤá áá á á ááἠáłáłá¤á ááľáĽ ááľá¨á á ááŚáľ áááľ á¨áá áľá á¨ááá ááᢠáĽáá áá áŤá´á á áááá˝ áĽáť áĽááľáŁááᥠáá ááłá ááá ááᢠ- á¨ááĄáľ ááá á¨áá ááľ áá á: ááá
ááááŤáľ áá ááááą ááááŤáłá ááá˘
á¨áááἠááľáłááť ááľ áŁáá° áá áᣠá¨áááľ á á á áĽá¨ááá° áááłáᣠáĽá áá áááś áááľáłá áĽá/ááá á ááľáĄ áá á˛áľ á¨áłáá áłáł ááá áá áŚáł ááá°áĽ á áááťáá˘
áá áááľáĄ á ááááá˘áŤ ááľ ááľáĽ áŚáł á¨ááá°áĽ áĽá/ááá á¨áą á¨áłáá áłáł áá° á°á°ááá áĄáľáá˝ á¨ááŁá áá á¨á°ááłá áááá¨áśá˝á˘
áĽááá áááá¨áśá˝áŁ á áá¨á ááą ááĽááśá˝ áá°áľ áá á°á˝áá ááŤáłáľáŠ áááŁá¸ááᢠ- áááŞáŤ
db_block_checksum
á°á á ᣠáĽáá˛áá ᣠá á á ááá ááá áá - á¨ááĽááľ áá°áľ á áááľ áłáł á¤á ááľ áá¸á፠ááľáĽ á¨áłáᲠáĽááŽá˝ ááá áá áŤáľá¨áľááá˘
á¨áłáłáĽáá áźáŽá˝á ááá°á˝ á˛áá á¨áá¨á ááą ááľáŹáľ á áá áľ - áĽááá á áźáŽá˝ á¨áłáłáĽáá á áŤá á áľáᣠá áłáłáĽáá áŤáľá áá á á°ááá ááá áŤá¨áááĄáĄ ááĽááŤáá˝/á ááááľáá˘
áĽáá˛á ááááą áĽáŤ, áĽáá°áá, á¨ááἠáá°áľá á¨áááá¨áľ á áľá°áá, áĽá á áá áá°á¨áľ, áá¤áľ áĽá áá á áá¤áľ á¨ááŤáááá áá´ á áá áá á°áááˇá.
áááŤá áá áťáŠ ááá áá¤áľ á á°ááľ ááľáĽ ááĽáą á¨á°ááŤáŠ áĽá´áśá˝á (áááŞáŤá) áŤáá¨á á áĽá á á á°á˝áá ááá¨áá ᣠáá á°á á ᣠáĽáľá¨ âá ááˇáâ áĽá á¨á°ááŤáŠ áĽá´áśá˝á ááá¨áĽ áá˝áá ᢠá¨á°ááŤáŠ á°á˝áĽááá˝.
á°á á ᣠááá á áá áá°áá°ááŤá˘
á ááŤá¨áĄ, á á á ááá, á áŁá áá¤áłá áááá.
áĽáą áŤáą á á°áá°á á¨á áááááľ áľáááľ áááľ áá¨áŤ á¨ááááŞáŤ á°á¨ááá˝ áá ááááą (áľáááľ) áľáááááá áá á áááá¨áĽ ᣠááááą áľáááąá ááááá á á áááá ááľáĽ áááááŁáľ áĽáŤáąá ááá áłáá˘
áá áá á áá á áŤáľááá°áá - á˘áŤááľ á áááᤠá°á¨á: áľáááą áľá âááľá°áŤá¨áŤ áááá˝â áĽá á¨áĽááá á áĽáĽá áśá˝ á¨á°ááá°áá¸á á¨áááŞáŤ áááá˝ ááłáá á áá áľá˘
á ááŤá¨áĄ á¨ááŤá á á áááŤáááľ á ááĽááľ áĽáŠáá á¨áľáááľ áá
á ááŤáá áá˝ááá˘
áĽá á áá°á áá¤áśá˝ áá á ááááŽá á áľáááľ á áááá áááŞáŤáá˝ áĽá á áľáááľ á
áá
áśá˝ áááŞáŤáá˝ ááŤá¨á áľááá áááááľ á°ááĽáŽ áá¨á ááááľ ááťáá á˘
á¨áľáá, áĽááἠáá, áá áĽáááľ, á á áŤáŠ, á˘áŤááľ á á°á°á á á¸áá ááľáĽ áá á á áŁá áĽáá áááᤠáĽá á áľá°áá˝áŚ áááŁá.
á á°ááŁá áá á¨áľáááąá áĽáá˛á áŤá áá¨áŤáá˝á ááááááľ ááŞáá˝ á¨á°á ááá áľáááľ á¨áá¨áłáľ ááŞáá˝ ááááἠáá.
áĽá áá¨áĽáť áἠáááľ áĽááááá-á áá á ááŤá¨áĽ ᣠá¨áľáááľ áá¨áŤá á áááľ áĽáŤ áá áááá¨á á¨á á áŤá áááł á áááľ á°á¨á á áŁá á áľááá ááá˘
áľá áľáŠá¨áľá áĽá ááá áĽááá°ááááá˘
ááá: hab.com