ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅.
Π Π΅ΡΠΈΡ
Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΡΡΠ° Π½Π°Ρ
ΠΎΠ΄ΠΊΠ° - ΠΏΠ»ΠΎΠ΄ Π½Π° ΡΠ°Π·ΠΌΠΈΡΠ»ΠΈ, ΠΎΠΏΠΈΡΠΈ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ: ΡΠΎΠ²Π° Π½Π΅ Π΅ Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π½Π°Ρ
ΠΎΠ΄ΠΊΠ°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅ - Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΠΎΡΠ΄Π°Π²Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π½Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ½Π° ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π‘Π£ΠΠ.
Π: Π΄Π°, ΡΠ΅ Π·Π½Π°ΡΡ, ΠΏΠΈΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ²ΠΎΠΈΡΠ΅ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ, (UPD.: Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΡΠΎΡΠΈΡ
Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ: )
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°: Π½Π° ΠΏΡΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π½Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌ ΡΠΈΡΠΎΠΊΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½Π΅, ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΡΠ² ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΡΠ΅Π΄ ΠΠ’ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ, DBA.
Π ΡΠ°ΠΊΠ°, Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΡΡΡΠ½ΠΎΡΡΡΠ°.
ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π·Π°Π΄Π°ΡΠ°: Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ Π΅Π΄Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ° ΡΠ°Π·ΠΈ ΡΠ°Π±ΠΎΡΠ° - ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π΅: ΠΊΠ°ΠΊΠ²Π° Π΅ ΡΡ, Π² ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΈ ΠΊΠ°ΠΊΡΠ² Π΅ ΠΊΡΠΈΡΠ΅ΡΠΈΡΡ Π·Π° ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ²Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΡΠ½ΠΎ: ΠΊΠ°ΠΊ ΡΠΎΡΠ½ΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π² (ΠΈΠ»ΠΈ Ρ) ΡΠ°Π·ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
"ΠΠΎ-ΡΠΊΠΎΡΠΎ" - ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ (ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΎΡΠ½ΡΠΊΡΠ΄Π΅) Π½ΡΠΊΠ°ΠΊΡΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΡΠΈΠ»ΠΈΡΠ°, ΡΠ΅ΡΠ²ΠΈΡ, Ρ ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΈΠ½ΡΠ΅Π·ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ΡΡΠΎΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° Π½Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ.
Π, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΡΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠ°Π·ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Ρ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π½Π΅ΠΉΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°.
Π, Π² ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ - Π½ΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°ΠΊΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅ΠΊΡΠΏΠ΅ΡΡΠ½ΠΎ Π΄Π° Π½Π°ΡΡΡΠΎΠΈ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π±ΡΠ΄Π΅ΡΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ Π²ΡΡΡ Ρ ΡΠ°Π·ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ Π½ΡΠΆΠ½Π°ΡΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
Π, ΠΏΠΎΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ°ΠΊΠ° ΠΈ ΡΡΠ°Π²Π°.
ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠΊ.
ΠΡΡΠ²ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ΄Π²Π° Π½Π° ΡΠΌ: Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ - ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΈΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΡΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΡΠΎ ΡΠΏΡΡΠΊΠ°Π½Π΅, Π΄Π° ΠΏΠΎΠ΄Π±Π΅ΡΠ΅ΠΌ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π² ΡΠ΅ΡΡΠΎΠ²Π΅.
Π’.Π΅. Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° Π½Π΅ΠΉΠ½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ.
ΠΠ° ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ Π½Π° Π½Π΅Ρ ΡΠ΅ΡΡΠΎΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ, Ρ ΡΠ°Π·ΠΈ ΡΠ°ΠΌΠ°ΡΠ° ΡΡΠΈΠ»ΠΈΡΠ°, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ.
Π Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π°ΡΠ° - ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°, ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΡΠΎΡΠ°ΡΠ° ΠΌΠΈΡΡΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ - ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΎ.
Π’ΠΎ Π΅ΡΡΡ, Π°ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ, Π°ΠΊΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ, ΠΈ Π°ΠΊΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ΅ΡΡ Π·Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΎΡΠ½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠΎΠ³Π°Π²Π°: Π΄Π°, Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ½Π΅ΠΌΠ΅ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅.
Π ΡΡΠΊ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΈ ΠΏΡΠΈΠΏΠΎΠΌΠ½ΠΈ.
ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ, ΡΠ΅ Π² Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° - Π²Π΅ΠΊΡΠΎΡ, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΊΡΠ² Π²Π΅ΠΊΡΠΎΡ, ΠΏΡΠΈ ΡΡΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ (Π² ΠΊΠΎΠΈΡΠΎ ΡΠΎΠ·ΠΈ Π²Π΅ΠΊΡΠΎΡ Π½Π΅ ΡΠ΅ Π·Π°ΡΡΠ³Π°), ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° - ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΠΎΠ΄ ΡΠ΅ΡΡΠΎΠ²ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
Π’.Π΅.
ΠΠ΅ΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΊΠ°ΡΠΎ
, ΠΊΡΠ΄Π΅ΡΠΎ
; ΠΊΡΠ΄Π΅ΡΠΎ
Π΅ Π±ΡΠΎΡΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ ΡΡΡ
ΠΈΠΌΠ°.
Π ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° Π΄Π°Π΄Π΅Π½ΠΈΡ
Π½Π΅ΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠ°ΡΠΎ
, ΡΠΎΠ³Π°Π²Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡ: 
Π ΡΠΎΠ³Π°Π²Π°: Π²ΡΠΈΡΠΊΠΎ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π° Π΄ΠΎ, Π² ΠΌΠΎΡ ΡΠ»ΡΡΠ°ΠΉ: ΠΏΠΎΡΡΠΈ Π·Π°Π±ΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΎΡ ΡΡΡΠ΄Π΅Π½ΡΡΠΊΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π΅ΠΊΡΡΡΠ΅ΠΌΡΠΌΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΠ±ΡΠ΅, Π½ΠΎ ΡΡΠΊ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎ-ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΡ Π²ΡΠΏΡΠΎΡ: ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.
- Π ΡΠΌΠΈΡΡΠ» - Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΠΌ ΡΠ°ΠΌ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ.
- Π Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Ρ.Π΅. Π΄Π° Π½Π°ΠΌΠΈΡΠ° Π΅ΠΊΡΡΡΠ΅ΠΌΡΠΌ (Π°ΠΊΠΎ ΡΠ°ΠΊΡΠ² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°), ΠΏΠΎΠ½Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΈΡ ΡΠΏΡΡΠΊ.
ΠΡΡΠ²ΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΌΠ΅ΠΊΠ²Π°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ Π² ΠΏΠΎΡΠΎΠΊΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ°ΠΊΠΈΠ²Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π²Π΅ΡΠ΅ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π² Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠΎΡΠΌΠ°, Π³ΠΎΡΠΎΠ²Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΊΠΎΠ΄Π°.
ΠΠ°, Π·Π½Π°ΠΌ Π·Π° python ΠΈ cran-r
ΠΡΠΎΡΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΡΠ°ΠΌΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ°, ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ°.
Π ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π°Π²Π°Ρ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ Π΅ΡΠ΅ΠΊΡΠΈ-ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ ΡΠ°ΠΌΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ.
ΠΠ»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°.
Π’ΡΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π²Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΠΎ ΡΠΏΡΡΠΊΠ°Π½Π΅, Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π½ΡΠΊΠΎΠΉ ΠΎΡ ΡΡΡ .
ΠΠ»ΠΈ, Π°ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΡΡΠΎΡ Π°ΡΡΠΈΡΠ½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ.
ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ°ΠΊΡΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎ ΠΏΠΎΠ΄Π±ΠΎΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, Π² ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ°, ΡΠ°ΠΊΠ° Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅: Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ·Ρ ΠΎΠ΄Π½ΠΈ:
- ΠΠ΅ΠΊΠ° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅, ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°:
oracle xe 18c - ΠΠ΅ΠΊΠ° ΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΡΠ΅Π»ΡΠ°: Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π³ΠΎΠ»ΡΠΌ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ Π½Π° Π‘Π£ΠΠ, ΠΏΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ/ΡΠ΅ΠΊ.
- Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎ Ρ
Π°ΡΠ°ΠΊΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.
ΠΡΠΈΠ΅ΠΌΠ°ΠΌΠ΅, ΡΠ΅ ΡΠΎΠ²Π° ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ.
Π ΡΠΌΠΈΡΡΠ», ΡΠ΅ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ undo Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ redo ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΎΡ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ.
Π’ΠΎΠ²Π° ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄ Π² ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°Π±Π»ΠΈΡΠ°, Ρ ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π°Π΄ ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ°.
ΠΡΠΈ ΡΠ°ΠΊΠΎΠ²Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π‘Π£ΠΠ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π΅, Ρ ΡΠ³ΠΎΠ²ΠΎΡΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° redo Π΄Π°Π½Π½ΠΈ.
Π£Π³ΠΎΠ²ΠΎΡΠΊΠ°ΡΠ° Π΅ β Π°ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΠΎΡΠ½ΠΎ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π‘Π£ΠΠ.
ΠΠ°ΡΠΎΡΠΎ, Π² ΠΎΠ±ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ SQL ΡΠ΅ΡΠΈΠΈΡΠ΅, ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π±Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ/ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π».
ΠΠΎΠΈΡΠΎ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π°Ρ Π½Π°ΡΠΈΡΠΊ Π²ΡΡΡ Ρ tps ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° ΠΈ ΡΠΎΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ Π΅Π³Π·ΠΎΠ³Π΅Π½Π΅Π½, ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π‘Π£ΠΠ, ΡΠ°ΠΊΡΠΎΡ: Π΅ΡΠΎ ΠΊΠ°ΠΊ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° ΡΠ°Π±Π»ΠΈΡΠ½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π» ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Π½Π΅Ρ, ΡΠ΅ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ°ΡΠΎΠ²Π°, Π·Π° ΡΠΈΡΡΠΎΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°, ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ ΡΠΎΠ·ΠΈ ΡΠ°ΠΊΡΠΎΡ, ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΡΠ΅ ΡΡΠΎΡΠ½Ρ ΠΊΠ°ΠΊ ΡΠΎΡΠ½ΠΎ.
- ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΡ, ΡΠ΅ 100% ΠΎΡ ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈΡΠ΅ Π² Π‘Π£ΠΠ SQL ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ: ΡΠ° DML ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
ΠΠ΅ΠΊΠ° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ Π‘Π£ΠΠ: Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ ΡΡΡΠΈΡΠ΅ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅.
Π ΠΈΠΌΠ΅Π½Π½ΠΎ: Π±ΡΠΎΡΡ Π½Π° SQL ΡΠ΅ΡΠΈΠΈΡΠ΅, ΡΠ°Π±Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΡΡ ΠΎΡ SQL ΡΠ΅ΡΠΈΠΈΡΠ΅. - Π‘Π£ΠΠ ΡΠ°Π±ΠΎΡΠΈ Π²
FORCE LOGGING,ARCHIVELOGΡΠ΅ΠΆΠΈΠΌΠΈ. Flashback ΡΠ΅ΠΆΠΈΠΌΡΡ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½, Π½Π° Π½ΠΈΠ²ΠΎ Π‘Π£ΠΠ. - Redo Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅: ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ "Π΄ΠΈΡΠΊ";
Π¦ΡΠ»Π°ΡΠ° ΠΎΡΡΠ°Π½Π°Π»Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° ΡΠ°ΡΡ Π½Π° ΠΠ: Π² Π΄ΡΡΠ³Π°, ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ "Π΄ΠΈΡΠΊ":
ΠΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°ΡΠ° ΠΠ
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 β Π² ΡΠ²ΠΎΡΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° β Π΅ ΠΈΠΌΡΠ½ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΊΡΠΌ ΡΠ°ΠΊΠΎΠ²Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅.
Π’Π°Π·ΠΈ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ: ΠΎΡΠ³ΠΎΠ²Π°ΡΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠ° Π΅.
Π£Π΄ΠΎΠ±Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠ΅Π³ΡΠ»ΠΈΡΠ° ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ Π½Π° SLOB-ΡΠ΅ΡΠΈΠΈΡΠ΅, ΡΠΎΠ²Π° Π΅ ΠΊΠ»ΡΡΠΎΠ²ΠΎ -t Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° runit.sh ΠΎΡ ΡΡΡΡΠ°Π²Π° Π½Π° SLOB-Π°
Π Π΅Π³ΡΠ»ΠΈΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠ΅Π½ΡΡΡ DML-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π² Π±ΡΠΎΡ Π½Π° SLOB-ΡΠ΅ΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π° Π‘Π£ΠΠ, Π²ΡΡΠΊΠ° SLOB-ΡΠ΅ΡΠΈΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ UPDATE_PCT
ΠΡΠ΄Π΅Π»Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ: SLOB ΡΠ°ΠΌΠ°ΡΠ°, ΠΏΡΠ΅Π΄ΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ β ΠΏΠΎΠ΄Π³ΠΎΡΠ²Ρ statspack ΠΈΠ»ΠΈ AWR-ΡΠ½ΠΈΠΌΠΊΠΈ (ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Ρ).
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΡΠ΅ SLOB Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° SLOB-ΡΠ΅ΡΠΈΠΈ Ρ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΏΠΎΠ΄ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΠ°ΡΠΎΠ²Π°, ΠΏΡΡΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ
ΠΌΠΎΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ΡΠΊΠΎ-ΡΠ΅Π»ΡΠΊΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°ΡΠ΅Π», Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠΎΠΉ ΡΠ°ΠΊΠ° ΠΈ ΠΎΡΡΠ°Π½Π° Π² ΡΠ°Π±ΠΎΡΠ°.
Π©Π΅ ΡΡΠΎΡΠ½Ρ Π·Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°ΡΠ΅Π»Ρ β ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈ, Π·Π° ΡΡΠ½ΠΎΡΠ°.
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°ΡΠ΅Π»ΡΡ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
ΠΠΎΠ΄ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°
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 "ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠ°, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ: ${TEST_DURATION}" >> "$v_logfile"
for((i=1;i> "$v_logfile"
dotx "$i" "${TEST_DURATION}" &
done
echo "ΠΎΡΠ°ΠΊΠ²Π°Π½Π΅..." >> "$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;
\/\n
create table system.testtab_&&wnum tablespace &&ts_name as
select rownum as col1, t.*
from sys.dba_objects t
where rownum> "$v_logfile"Π’.Π΅. Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ (ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ: ΠΎΡΠ΄Π΅Π»Π½Π° SQL-ΡΠ΅ΡΠΈΡ Π² Π‘Π£ΠΠ) ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°, Ρ ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΡΡ.
Π‘ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ SQL-ΡΠ΅ΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅.
ΠΡΠ΅ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ: ΠΈΠ·Π²ΡΡΡΠ²Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ, ΡΡΡ ΡΠ²ΠΎΡΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΡΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ.
Π Π°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ β ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅.
Π ΡΠΎ β Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠ½ΠΎ Π»ΠΎΠ³-ΡΠ²ΠΈΡΠΈΠ½Π³, ΠΈ ΡΠΎ Π½Π΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡΡ.
Π ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ Ρ ΡΠΎΠ²Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈ.
Π ΠΌΠΎΡ ΡΠ»ΡΡΠ°ΠΉ β ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ Π΅ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π½Π° 8 ΠΌΠΈΠ½ΡΡΠΈ.
ΠΠ°ΡΡΠ΅ ΠΎΡ ΡΡΠ°ΡΡΠΏΠ°ΠΊ-ΠΎΡΡΠ΅Ρ, Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π‘Π£ΠΠ ΠΏΠΎΠ΄ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
DB Id ΠΠ½ΡΡΠ°Π½Ρ Inst Num ΠΡΠ΅ΠΌΡ ΡΡΠ°ΡΡΠ° Π Π΅Π»ΠΈΠ· RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
2929910313 XE 1 07-Π‘Π΅Π½-20 23:12 18.0.0.0.0 ΠΠΠ’
ΠΠΌΡ Ρ
ΠΎΡΡΠ° ΠΠ»Π°ΡΡΠΎΡΠΌΠ° CPUs Π―Π΄ΡΠ° Π‘ΠΎΠΊΠ΅ΡΡ ΠΠ°ΠΌΡΡΡ (Π)
~~~~ ---------------- ---------------------- ----- ----- ------- ------------
billing.izhevsk1 Linux x86 64-Π±ΠΈΡ 2 2 1 15.6
Π‘Π½ΠΈΠΌΠΎΠΊ Snap Id ΠΡΠ΅ΠΌΡ ΡΠ½Π°ΠΏΡΠΎΡΠ° Π‘Π΅ΡΡΠΈΠΈ ΠΡΡΡ/Π‘Π΅ΡΡ ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
~~~~~~~~ ---------- ------------------ -------- --------- ------------------
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ°: 1630 07-Π‘Π΅Π½-20 23:12:27 55 .7
ΠΠΎΠ½Π΅Ρ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ°: 1631 07-Π‘Π΅Π½-20 23:20:29 62 .6
ΠΡΠΎΡΠ»ΠΎ: 8.03 (ΠΌΠΈΠ½) Π‘Ρ. Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΡΠ΅ΡΡΠΈΠΉ: 8.4
ΠΡΠ΅ΠΌΡ ΠΠ: 67.31 (ΠΌΠΈΠ½) ΠΡΠ΅ΠΌΡ Π¦Π ΠΠ: 15.01 (ΠΌΠΈΠ½)
Π Π°Π·ΠΌΠ΅ΡΡ ΠΊΡΡΠ° ΠΠ°ΡΠ°Π»ΠΎ ΠΠΎΠ½Π΅Ρ
~~~~~~~~~~~ ---------- ----------
ΠΡΡΠ΅ΡΠ½ΡΠΉ ΠΊΡΡ: 1,392M Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°: 8K
ΠΠ±ΡΠΈΠΉ ΠΏΡΠ»: 288M ΠΡΡΠ½Π°Π» ΠΊΡΡ: 103,424K
ΠΡΠΎΡΠΈΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΠ° ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΠ° Π²ΡΠ·ΠΎΠ²
~~~~~~~~~~~~ ------------------ ----------------- ----------- -----------
ΠΡΠ΅ΠΌΡ ΠΠ (Ρ): 8.4 0.0 0.00 0.20
ΠΡΠ΅ΠΌΡ Π¦Π ΠΠ (Ρ): 1.9 0.0 0.00 0.04
Π Π°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ: 7,685,765.6 978.4
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π½ΠΈΡ: 60,447.0 7.7
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°: 47,167.3 6.0
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π½ΠΈΡ: 8.3 0.0
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ: 253.4 0.0
ΠΡΠ·ΠΎΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: 42.6 0.0
ΠΠ°ΡΡΠΈΠ½Π³ΠΈ: 23.2 0.0
ΠΠ΅ΡΡΠΊΠΈΠ΅ ΠΏΠ°ΡΡΠΈΠ½Π³ΠΈ: 1.2 0.0
ΠΠ±ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ
ΠΠ: 1.0 0.0
ΠΠΎΠ³ΠΈΠ½Ρ: 0.5 0.0
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: 15,756.5 2.0
ΠΡΠΊΠ°ΡΡ: 0.0 0.0
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ: 7,855.1ΠΡΡΡΠ°ΠΉΠΊΠΈ ΡΠ΅ ΠΊΡΠΌ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π° ΡΠ°Π±ΠΎΡΠ°.
Π©Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°ΡΠ° Π‘Π£ΠΠ ΠΏΡΠΈ ΡΠ°Π²Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ:
- Π Π°Π·ΠΌΠ΅Ρ Π½Π° ΠΆΡΡΠ½Π°Π»Π½ΠΈΡΠ΅ Π³ΡΡΠΏΠΈ Π½Π° ΠΠ. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ: [32, 1024] MB;
- ΠΡΠΎΠΉ ΠΆΡΡΠ½Π°Π»Π½ΠΈ Π³ΡΡΠΏΠΈ Π½Π° ΠΠ. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ: [2,32];
log_archive_max_processesΠ΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ: [1,8];commit_loggingΠ΄ΠΎΠΏΡΡΠΊΠ°Ρ ΡΠ΅ Π΄Π²Π΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ:batch|immediate;commit_waitΠ΄ΠΎΠΏΡΡΠΊΠ°Ρ ΡΠ΅ Π΄Π²Π΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ:wait|nowait;log_bufferΠ΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ: [2,128] MB.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-ΡΠ΅ΡΠΈΡΡΠ° Π·Π°Π²ΡΡΡΠΈ" , file=v_logfile, sep="n", append=T)
gam@solutionΠ’ΡΠΊ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° lower ΠΈ upper Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ga ΡΠ΅ Π·Π°Π΄Π°Π²Π°, ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ, ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΡΡΡΠ΅Π½Π΅, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠ² Π²Π΅ΠΊΡΠΎΡ (ΠΈΠ»ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ), Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΠ½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΡΠ°.
ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ga ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΡΡΠ΅Π½Π΅, ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠΈΡΠ½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΡΠ°.
Π’Π°ΠΊΠ°, Π² ΡΠ»ΡΡΠ°Ρ, ΡΡΡΠ±Π²Π° ΡΠΈΡΠ½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΡΠ°, ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°ΠΉΠΊΠΈ Π²Π΅ΠΊΡΠΎΡΠ° ΠΊΠ°ΡΠΎ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° Π‘Π£ΠΠ, Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΎΡ Π‘Π£ΠΠ.
Π’.Π΅.: ΠΊΠΎΠ»ΠΊΠΎ, ΠΏΡΠΈ Π΄Π°Π΄Π΅Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° Π‘Π£ΠΠ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ: Π‘Π£ΠΠ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
Π’.Π΅., ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊΠΎ, Π΅ Π½ΡΠΆΠ½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠΈΡΠ½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΡΠ°ΠΊΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎΠ΅ΡΠ°ΠΏΠ½Π° Π»ΠΎΠ³ΠΈΠΊΠ°:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡ ΠΎΡ ΡΠΈΡΠ»Π° β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π‘Π£ΠΠ.
- ΠΠΏΠΈΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ redo-Π³ΡΡΠΏΠΈ, Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠΈ ΡΠΎΠ²Π° ΠΎΠΏΠΈΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π΅ΡΡΠΏΠ΅ΡΠ΅Π½.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π² Π‘Π£ΠΠ ΠΆΡΡΠ½Π°Π»Π½ΠΈ Π³ΡΡΠΏΠΈ, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ Π·Π° ΡΠΈΡΡΠΎΡΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°. - ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½Π°ΡΠ° ΡΠΎΡΠΊΠ°: Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π°Π·Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ (ΠΎΡΠ½ΠΎΠ²ΠΎ: ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½Π΅ΡΡΠΏΠ΅Ρ ).
- ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½Π°ΡΠ° ΡΠΎΡΠΊΠ°: ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π‘Π£ΠΠ, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π‘Π£ΠΠ, Π·Π° Π΄Π° Π²Π»ΡΠ·Π°Ρ Π² ΡΠΈΠ»Π° Π½ΠΎΠ²ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅. (ΠΎΡΠ½ΠΎΠ²ΠΎ: ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½Π΅ΡΡΠΏΠ΅Ρ ).
- ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½Π°ΡΠ° ΡΠΎΡΠΊΠ°: ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Ρ ΡΠ΅ΡΡ. ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΎΡ Π‘Π£ΠΠ.
- ΠΡΡΠ½Π΅ΡΠ΅ Π‘Π£ΠΠ Π² ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΠΉ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Ρ.Π΅. ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΆΡΡΠ½Π°Π»Π½ΠΈ Π³ΡΡΠΏΠΈ ΠΈ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Π‘Π£ΠΠ.
ΠΠΎΠ΄ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΡΠΈΡΠ½Π΅Ρ
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 && 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 && 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="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)
}Π’Π°ΠΊΠ° ΡΡΠ»Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°: ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΡΠΈΡΠ½Π΅Ρ.
ga-ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Π΅ΠΊΡΠΎΡΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ β Ρ
ΡΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ.
Π ΠΊΠΎΡΡΠΎ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°: ΡΠ΅Π»Π΅ΠΊΡΠΈΡ Π½Π° Ρ
ΡΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ Ρ ΡΠ°ΠΊΠΈΠ²Π° Π³Π΅Π½ΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΡΠΈΡΠ½Π΅Ρ Π΄Π°Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π½Π°Π±ΠΎΡ Ρ ΡΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ Π² N-ΠΈΠ·ΠΌΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π° ΡΡΡΡΠ΅Π½Π΅.
ΠΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΎ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ , Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° R-ΠΊΠΎΠ΄, ΡΠ°Π±ΠΎΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ.
ΠΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΠΏΠΎΡΠΎΡΠ° Π΄Π²Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
ΠΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡΡΠ° evaluate, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΈΡΠ°Π½Π΅-ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π½Π° Π‘Π£ΠΠ, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° cran-r ΡΡΠ½ΠΊΡΠΈΡΡΠ° system2
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ: ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π²Π΅ΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² bash-ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
set_db_parameter
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: Π²ΡΠΏΡΠΎΡΡΡ Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½.
Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° β Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½Π° ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ°, Π²Π°ΠΆΠ½Π° Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ°, ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΠ°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ.
ΠΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ° ΡΡΠΊ Π΅ Π΄ΠΎΠ±ΡΠ°.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π΅, ΡΠ΅, ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΡ, Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°, ga-Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ, ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΠΉΠΊΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ-Ρ
ΡΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ: Π΅ ΠΏΠΎΠΊΡΠΈΠ».
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ΅ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΡ, Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°, Π³Π΅Π½Π΅ΡΠΈΡΠ½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ-Ρ
ΡΠΎΠΌΠΎΠ·ΠΎΠΌΠΈ: Π·Π°ΡΠ²ΠΎΡΠΈ.
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΠΎΡΡΠ°ΠΎΡΠ½ΠΎ Π±ΠΎΠ΄ΡΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ β Π΅ΡΡΡ Π΅ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ, Ρ
ΠΎΡΡ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, Π½ΠΎ ΠΎΠΊΠ°Π·ΡΠ΅Ρ Π²Π»ΠΈΡΠ½ΠΈΠ΅.
Π’ΡΠΊ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΡΠ΅ attribute-importance Π°Π½Π°Π»ΠΈΠ·, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ: ΠΊΠ°ΠΊΠ²ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ (Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠ½ΠΈΡ Π²Π΅ΠΊΡΠΎΡ) ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΡΠΈΠ»Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°.
Π ΠΎΡ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ β ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈ ΡΠ° Π±ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° Π·Π½Π°ΡΠΈΠΌΠΈΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΈ.
ΠΠ·ΠΏΡΠ»Π½ΠΈ attribute-importance ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ.
ΠΠ° ΠΌΠ΅Π½, Π·Π° ΡΠ΅Π·ΠΈ ΡΠ΅Π»ΠΈ, ΠΌΠΈ Ρ
Π°ΡΠ΅ΡΠ²Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ randomForest ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° R ΠΏΠ°ΠΊΠ΅ΡΠ° ()
randomForest, ΠΊΠ°ΠΊΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΌΡ Π½Π° ΠΎΠ±ΡΠΎ ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΌΡ ΠΊΡΠΌ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡΡΠ° Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π² ΡΠ°ΡΡΠ½ΠΎΡΡ, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΌΠΎΠ΄Π΅Π»Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅.
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° β ΡΠΎΠ²Π° Π΅ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΎΡ ΡΡΠ±Π΄, Π² Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°ΡΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅: tps;
Π Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ ΡΠ° β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠ½ΠΈΡ Π²Π΅ΠΊΡΠΎΡ.
Π’Π°ΠΊΠ° ΡΠ΅ randomForest ΠΎΡΠ΅Π½ΠΈΠ²Π° Π²Π°ΠΆΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π°ΡΡΠΈΠ±ΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Ρ Π΄Π²Π΅ ΡΠΈΡΠ»Π°: %IncMSE β ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ/ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ Π°ΡΡΠΈΠ±ΡΡ Π² ΠΌΠΎΠ΄Π΅Π»Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° MSE Π½Π° ΡΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» (Mean Squared Error);
Π IncNodePurity β ΡΠΎΠ²Π° Π΅ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ, ΠΏΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΠ·ΠΈ Π°ΡΡΠΈΠ±ΡΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ Π² Π΅Π΄Π½Π°ΡΠ° ΡΠ°ΡΡ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ°Ρ Π΄Π°Π½Π½ΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠ²Π°Π½Π°ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ°, Π° Π² Π΄ΡΡΠ³Π°ΡΠ° Ρ Π΄ΡΡΠ³Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°.
Π’ΠΎΠ΅ΡΡ: ΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠ°Ρ Π΅ ΡΠΎΠ·ΠΈ Π°ΡΡΠΈΠ±ΡΡ (Π½Π°ΠΉ-ΡΡΠ½ΠΎΡΠΎ, Π½Π° ΡΡΡΠΊΠΈ ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ random forest, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈΠ΄ΡΡ
).
Π Π°Π±ΠΎΡΠ½ΠΈΡΠ΅ΡΠΊΠΎ-ΡΠ΅Π»ΡΠΊΠΈ R-ΠΊΠΎΠ΄, Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅:
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ΠΠΎΠΆΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΠΊΠ° Π΄Π° ΠΏΠΎΠ΄Π±Π΅ΡΠ΅ΡΠ΅ Ρ
ΠΈΠΏΠ΅ΡΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° ΠΈ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°, Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Π°, ΠΊΠΎΠΉΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡΡΠ° Π½Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
ΠΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΡΠ°Π·ΠΈ ΡΠ°Π±ΠΎΡΠ° (ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ β ΠΎΡΠ½ΠΎΠ²ΠΎ, Π½Π° Π½ΡΠΊΠ°ΠΊΡΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΎΠ½Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ).
ΠΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ R ΠΏΠ°ΠΊΠ΅ΡΠ° caret, Π½Π΅ Π΅ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°, Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠ°ΠΊΡΠ² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅:

Π ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΡΠ°Π·ΠΌΠΈΡΠ»ΠΈ:
- ΠΠΎΠ»ΡΡΠ°Π²Π° ΡΠ΅, ΡΠ΅ Π½Π°ΠΉ-Π·Π½Π°ΡΠΈΠΌΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΠ΅Π·ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π΅
commit_wait
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΎΠΉ Π·Π°Π΄Π°Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° IO ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π·Π°ΠΏΠΈΡ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π»ΠΎΠ³ Π±ΡΡΠ΅ΡΠ° Π½Π° Π‘Π£ΠΠ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΆΡΡΠ½Π°Π»Π½Π° Π³ΡΡΠΏΠ°: ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½.
Π‘ΡΠΎΠΉΠ½ΠΎΡΡnowait, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»Π΅Π½ ΠΈ ΠΊΡΠ°ΡΠ΅Π½ ΡΠ°ΡΡΠ΅ΠΆ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° TPS: ΡΠΎΠ²Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ Π½Π° IO Π² ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈΡΠ΅ Π³ΡΡΠΏΠΈ.
ΠΡΠ΄Π΅Π»Π΅Π½ Π²ΡΠΏΡΠΎΡ Π΅ Π΄Π°Π»ΠΈ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΊΠ° Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π’ΡΠΊ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΠΌ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΠ°ΡΠΈΡΡΠ°: ΡΠΎΠ²Π° Π΅ Π·Π½Π°ΡΠΈΠΌ ΡΠ°ΠΊΡΠΎΡ. - ΠΠΎΠ³ΠΈΡΠ½ΠΎ Π΅, ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π»ΠΎΠ³ Π±ΡΡΠ΅ΡΠ° Π½Π° Π‘Π£ΠΠ Π΅ Π·Π½Π°ΡΠΈΠΌ ΡΠ°ΠΊΡΠΎΡ.
ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π»ΠΎΠ³ Π±ΡΡΠ΅ΡΠ°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° Π΅ Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠ°ΡΠ°ΡΠ° ΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΈ/ΠΈΠ»ΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π° Π½ΠΎΠ²ΠΈ ΠΏΠ°ΡΡΠΈΠ΄ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ.
Π ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ: Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Π»ΠΎΠ³ Π±ΡΡΠ΅ΡΠ° ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ·ΡΠ»Π°ΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π½Π΅Π³ΠΎ Π² ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈΡΠ΅ Π³ΡΡΠΏΠΈ.
Π’Π΅Π·ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° Π²Π»ΠΈΡΡΡ ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π‘Π£ΠΠ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. - ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
db_block_checksum: ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠΎ Π΅ ΡΡΠ½ΠΎ β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° dirty Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ΅Ρ Π½Π° Π‘Π£ΠΠ.
ΠΠΎΠΈΡΠΎ, ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΡΠΌΠΈ Π½Π° Π΄Π°Π½ΡΡΠ½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° β ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΡΠΌΠΈ ΠΎΡ ΡΡΠ»ΠΎΡΠΎ Π½Π° Π΄Π°Π½ΡΡΠ½ΠΈΡ Π±Π»ΠΎΠΊ ΠΈ Π΄Π° Π³ΠΈ ΡΡΠ°Π²Π½ΡΠ²Π° Ρ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° Π΄Π°Π½ΡΡΠ½ΠΈΡ Π±Π»ΠΎΠΊ: ΡΡΠ²ΠΏΠ°Π΄Π°/Π½Π΅ ΡΡΠ²ΠΏΠ°Π΄Π°.
Π’Π°ΠΊΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°, ΠΎΡΠ½ΠΎΠ²ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π·Π°Π±Π°Π²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ, ΠΊΠΎΠΉΡΠΎ Π·Π°Π΄Π°Π²Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π°Ρ Π·Π½Π°ΡΠΈΠΌΠΈ.
ΠΠΎ ΡΡΡΠ°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π²Π΅Π½Π΄ΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°, ΡΠ΅ Π΄Π°, ΡΠ΅ ΠΈΠΌΠ° Π²Π»ΠΈΡΠ½ΠΈΠ΅, Π½ΠΎ, Π΅ΡΠΎ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π΄ΠΎΡΠΈ Π΄ΠΎ "ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΎ" ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅.
Π Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΡ ΠΈΠ·Π²ΠΎΠ΄.
ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ, Π² ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅Ρ.
Π’ΠΎΠΉ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°, Π½Π° ΡΠ°Π½Π½ΠΈΡΠ΅ Π΅ΡΠ°ΠΏΠΈ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°ΡΠ΅Π»Π½ΠΎΡΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π΄Π° Π½Π΅ ΡΠ΅ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ°Π²Π°ΠΌΠ΅ Π² ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΠΎΠ΄ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΠΎ Π½Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° Π½Π°ΠΏΡΠ»Π½ΠΎ β ΠΏΠΎΠ½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅: "ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΡΡΠ½ΠΈ Π΄ΡΡΠΆΠΊΠΈ" ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΈΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° Π²ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ Π΄ΡΡΠΆΠΊΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅.
Π‘Π»Π΅Π΄Π²Π°ΡΠΈΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΌΠΎΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
Π ΠΌΠΎΠΆΠ΅, Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅, Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΡΠΈΡΠΎΠ΄Π°ΡΠ° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ°ΠΊΠ²ΠΎ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ΅ Π·Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ²Π° Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅, ΠΏΠΎΠ½Π΅ β ΠΏΠΎΠ΄ ΡΠΎΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°: ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π²Π½ΠΈΠΊΠ²Π°Π½Π΅ Π² Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΡΠΌΠΎ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠ°ΠΊΠΎΠ²Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°: Π² ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π²Π°ΠΆΠ½Π° Π΅ ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΊΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡ ΡΠ΅ ΠΈΠΌΠ° Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π°ΡΠ΅ΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π²ΡΠ΅ΠΌΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
