ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅.
Π Π΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΊΠΎΠΉ β ΠΏΠ»ΠΎΠ΄ΠΎΠΌ ΡΠ°Π·Π΄ΡΠΌΠΈΠΉ, ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΡΡΡ: ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΊΠ°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ β Π²ΡΡ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄Π°Π²Π½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠ΅ΠΌ ΠΊΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΡΡΠ°Ρ-ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΠΊΠΈΡ
Π»ΠΈΠ±ΠΎ ΡΠΈΡΡΠ΅ΠΌ, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π‘Π£ΠΠ.
Π: Π΄Π° Π·Π½Π°ΡΡ, ΠΏΠΈΡΡΡ Π·Π°Π½ΡΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅ΡΠ΅ΡΡΠ°ΠΌ,
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ: Π½Π°Π²ΡΠΊΠΈΠ΄ΠΊΡ Π½Π΅ ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°, Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΡΡΠ΅Π΄ΠΈ ΠΈΡ-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², ΠΠΠ.
ΠΡΠ°ΠΊ, ΠΊ ΡΡΡΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΡΡΠΎ Π²ΠΎΡ Ρ Π½Π°Ρ Π·Π°Π΄Π°ΡΠ°: Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅ΠΊΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΎ ΡΡΡ ΡΠ°Π±ΠΎΡΡ β ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ: ΠΊΠ°ΠΊΠ°Ρ ΠΎΠ½Π°, Π² ΡΡΠΌ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π°ΠΌΠ΅ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌ ΡΡΠΎ, Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ-ΠΏΠΎΠ½ΡΡΠ½ΠΎ: ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π² (ΠΈΠ»ΠΈ Ρ) ΡΡΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
"ΠΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅" β ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΡΡΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ (ΠΈΠ»ΠΈ Π³Π΄Π΅ ΡΠΎ Π²Π·ΡΡΡ) Π½Π΅ΠΊΠΈΠΉ ΡΡΠ»Π·, ΡΡΠΈΠ»ΠΈΡΡ, ΡΠ΅ΡΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠ½ΡΠ΅Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄Π°ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΡ ΠΊ ΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π² ΠΏΡΠΎΠ΄Π΅, Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΏΡΠΎΠ΄Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
ΠΡ ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌ ΡΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΡΠΌΡΡΠ»Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π΅Ρ ΡΠ°Π±ΠΎΡΡ.
Π, Π² ΡΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Π½Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΡΠΏΠ΅ΡΡΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄ Π±ΡΠ΄ΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡ. Π’Π°ΠΊ, ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈ Π±ΡΠ²Π°Π΅Ρ.
Π§ΡΠΎ ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ: Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² Π΄ΠΎΠΊΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎΠ½ΡΡΡ β ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΌ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ°, ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΡΠ΅ΡΡΠ°Ρ .
Π’.Π΅. Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΡΡ ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΡΡ ΠΏΠ°Ρ-ΡΠΎΠ².
ΠΠΎΠ΄Π°Π²Π°ΡΡ Π½Π° Π½Π΅Ρ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, Π²ΠΎΡ ΡΡΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ»Π·ΠΎΠΉ-ΡΡΠΈΠ»ΠΈΡΠΎΠΉ, Π»ΠΎΠ°Π΄-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ.
Π ΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ β ΠΎΡΠΊΠ»ΠΈΠΊ, Π½Ρ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠΎΡΠΎΠΉ ΠΌΡΡΠ»ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΎ β ΡΡΠΎ ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ.
ΠΡ Ρ.Π΅.: Π΅ΡΠ»ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΠΌΠ½ΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ±Π΅Π³Π°Π΅ΠΌΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ β Π±ΠΎΠ»ΡΡΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠ΅ΡΡ β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎ: Π΄Π°, ΡΡΠΎ Π²ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π½Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡ ΠΈ ΡΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ.
ΠΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, Π² Π½Π°Π±ΠΎΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ β Π²Π΅ΠΊΡΠΎΡ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊΠΈΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°ΠΊΠΎΠΌΡ Π²Π΅ΠΊΡΠΎΡΡ, ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΡ ΡΠ°Π²Π½ΡΡ (Π² ΡΠΎΠΌ ΡΡΠΎ ΡΡΠΈΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΡΡΡ) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π±Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ β ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
Π’.Π΅.
ΠΠΎΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ Π²Π΅ΠΊΡΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ , Π³Π΄Π΅ ; ΠΠ΄Π΅ β ΠΊΠΎΠ»-Π²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡ , ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠ°ΠΊ
, ΡΠΎ, Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΡ ΠΈ, ΡΠΎΠ³Π΄Π°: Π²ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ, Π² ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅: ΠΏΠΎΡΡΠΈ Π·Π°Π±ΡΡΡΠΌ ΡΠΎ ΡΡΡΠ΄Π΅Π½ΡΠ΅ΡΠΊΠΎΠΉ ΡΠΊΠ°ΠΌΡΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΊΡΡΡΠ΅ΠΌΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
Π₯ΠΎΡΠΎΡΠΎ, Π½ΠΎ ΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎ-ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ: Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
- Π ΡΠΌΡΡΠ»Π΅ β ΡΡΠΎΠ±Ρ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡΡ.
- Π ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Ρ.Π΅. Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΎ ΡΠΊΡΡΡΠ΅ΠΌΡΠΌ (Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡΡ), Π½Ρ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ β Π±ΡΡΡΡΠ΅Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ°.
ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ°ΠΊΠΈΡ
ΡΠΎ ΡΡΠ΅Π΄, Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ β ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ, ΠΈ Π΅ΡΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎ Π²ΠΈΠ΄Π΅, Π³ΠΎΡΠΎΠ²ΠΎΠΌ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅.
ΠΡ, ΠΌΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ python
ΠΈ cran-r
ΠΡΠΎΡΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅.
Π ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π°ΡΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ-ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π»ΠΈΠ±ΠΎ Π²ΠΏΡΡΠΌΡΡ, ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠΈΠ±ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π° ΠΈΡΠΎΠ³Π°Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
Π’ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ, ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ°, Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎ ΠΈΠ· Π½ΠΈΡ .
ΠΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΡΠΎΡ Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ.
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΠΏΠΎ ΠΏΠΎΠ΄Π±ΠΎΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ: Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅:
- ΠΡΡΡΡ Π΅ΡΡΡ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ:
oracle xe 18c
- ΠΡΡΡΡ ΠΎΠ½Π° β ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΡΠ΅Π»Ρ: ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΡΠ±Π΄, ΠΏΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ/ΡΠ΅ΠΊ.
- Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ β Π±ΡΠ²Π°ΡΡ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π½ΡΠ΅, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΡΠ°Π±ΠΎΡΡ.
Π£ΡΠ»ΠΎΠ²ΠΈΠΌΡΡ ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
Π ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΠ½Π΄ΠΎ-Π΄Π°Π½Π½ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΡΠ΅Π΄ΠΎ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π½ΡΡ ΡΡΡΠΎΠΊ, Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ.
ΠΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ Π² Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»-Π²ΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π°Π΄ ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ°ΡΠΊΠ»Π°Π΄Π΅: ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΡΠ±Π΄ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ, Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠΎΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π°Π·ΠΎΠΉ ΡΠ΅Π΄ΠΎ-Π΄Π°Π½Π½ΡΡ .
ΠΠ³ΠΎΠ²ΠΎΡΠΊΠ° β Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΡΠ±Π΄.
ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΡΠΌΠΈ, ΠΈΠ·-Π·Π°, Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ/ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΎΡΠΎΡΡΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π±ΡΠ΄ΡΡ ΡΠ³Π½Π΅ΡΠ°ΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° tps-ΠΌΠ΅ΡΡΠΈΠΊΠ΅ ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ·ΠΎΠ³Π΅Π½Π½ΡΠΉ, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ±Π΄, ΡΠ°ΠΊΡΠΎΡ: Π½Ρ Π²ΠΎΡ ΡΠ°ΠΊ Π·Π°Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² Π½Π΅ΠΉ ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠΎΡΡΠΎΠΌΡ, Π΄Π»Ρ ΡΠΈΡΡΠΎΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°, ΠΈΡΠΊΠ»ΡΡΠΈΠΌ ΡΡΠΎΡ ΡΠ°ΠΊΡΠΎΡ, Π½ΠΈΠΆΠ΅ ΡΡΠΎΡΠ½Ρ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ.
- ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ, ΡΡΠΎ 100% ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΡΡ
Π² ΡΡΠ±Π΄ sql-ΠΊΠΎΠΌΠ°Π½Π΄: ΡΡΠΎ dml-ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΡΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ±Π΄: ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅, Π² ΡΠ΅ΡΡΠ°Ρ .
Π ΠΈΠΌΠ΅Π½Π½ΠΎ: ΠΊΠΎΠ»-Π²ΠΎ ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΠΉ, ΡΠ°Π±Π»ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΠΈ. - Π‘ΡΠ±Π΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²
FORCE LOGGING
,ARCHIVELOG
ΠΌΠΎΠ΄Π°Ρ . Π€Π»Π΅ΡΠ±Π°ΠΊ-Π΄Π°ΡΠ°Π±Π΅ΠΉΡ ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠΊΠ»ΡΡΠ΅Π½, Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠ±Π΄. - Π Π΅Π΄ΠΎ-Π»ΠΎΠ³ΠΈ: ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ "Π΄ΠΈΡΠΊΠ΅";
ΠΡΡ ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π΄: Π² Π΄ΡΡΠ³ΠΎΠΉ, ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡ, Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ "Π΄ΠΈΡΠΊΠ΅":
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅, ΠΏΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΈΠ·. ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ Π±Π΄
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
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ ΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠ±Π΄ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ Ρ
ΠΎΡΠ΅Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π£ Π½Π΅Ρ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, ΠΏΡΠΎΡΠΈΡΠΈΡΡΡ Π°Π²ΡΠΎΡΠ°:
At the heart of SLOB is the βSLOB method.β The SLOB Method aims to test platforms
without application contention. One cannot drive maximum hardware performance
using application code that is, for example, bound by application locking or even
sharing Oracle Database blocks. Thatβs rightβthere is overhead when sharing data
in data blocks! But SLOBβin its default deploymentβis immune to such contention.
ΠΡΠ° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ: ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ, ΡΠ°ΠΊ ΠΈ Π΅ΡΡΡ.
Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΠΉ, ΡΡΠΎ ΠΊΠ»ΡΡ -t
Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ runit.sh
ΠΈΠ· ΡΠΎΡΡΠ°Π²Π° SLOB-Π°
Π Π΅Π³ΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ Π΄ΠΌΠ»-ΠΊΠΎΠΌΠ°Π½Π΄, Π² ΡΠΎΠΌ ΠΊΠΎΠ»-Π²Π΅ ΡΠΊΠ»-Π΅ΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² ΡΡΠ±Π΄, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ UPDATE_PCT
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ: SLOB
ΡΠ°ΠΌ, ΠΏΠ΅ΡΠ΅Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ β Π³ΠΎΡΠΎΠ²ΠΈΡ ΡΡΠ°ΡΡΠΏΠ°ΠΊ, ΠΈΠ»ΠΈ awr-ΡΠ½Π°ΠΏΡΠΎΡΡ (ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡ).
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ ΡΡΠΎ 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 "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"
Π’.Π΅. ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΠΎΡΠΊΠ΅Ρ (ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ: ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΡ Π² ΡΡΠ±Π΄) ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΠΎΡΠΊΠ΅Ρ.
ΠΡΠΈΠΌ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΡΡ
Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ»-ΡΠ΅ΡΡΠΈΡΠΌΠΈ Π²ΠΎΡΠΊΠ΅ΡΠΎΠ².
ΠΠ°ΠΆΠ΄ΡΠΉ Π²ΠΎΡΠΊΠ΅Ρ: Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅, ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ, ΡΠ°Π±Π»ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅.
ΠΠΎΡΠΊΠ΅ΡΡ Π²ΡΠ΅ β Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ»-Π²Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΈΡΡΠΌ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΡΠ», ΠΈ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π»ΠΎΠ³-ΡΠ²ΠΈΡΠΈΠ½Π³.
ΠΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ, Ρ ΡΡΠΈΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅, Π·Π°ΡΡΠ°ΡΡ ΠΈ ΡΡΡΠ΅ΠΊΡΡ.
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ β ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΠΎΡΠΊΠ΅ΡΠΎΠ² Π½Π°ΠΊΠΎΡΠΈΠ³ΡΡΠΈΠ²Π°Π» Π² 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-ΠΏΠΎΠ΄ΠΏΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡ, Ρ.ΠΎ., ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π°Π΄ΠΎ ΡΡΠΎΠ±Ρ ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π²Π΅ΠΊΡΠΎΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ±Π΄, ΠΏΠΎΠ»ΡΡΠ°Π»Π° ΠΌΠ΅ΡΡΠΈΠΊΡ, ΠΎΡ ΡΡΠ±Π΄.
Π’.Π΅.: ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΏΡΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΡΠ±Π΄ ΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΡΡΠ±Π΄: ΡΡΠ±Π΄ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
Π’.Π΅., ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Ρ, Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ Π²Π½ΡΡΡΠΈ ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΡΠ°ΠΊΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎΡ ΠΎΠ΄ΠΎΠ²ΠΊΠ°:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠΈΡΠ΅Π» β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ±Π΄.
- ΠΠΎΠΏΡΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»-Π²Π° ΡΠ΅Π΄ΠΎ-Π³ΡΡΠΏΠΏ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΡΠΈΡΡΠΌ ΠΏΠΎΠΏΡΡΠΊΠ°: ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΉ.
Π£ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠ΅ Π² ΡΡΠ±Π΄ ΠΆΡΡΠ½Π°Π»ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎ ΠΊΠΎΠ»-Π²Π΅ ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π΄Π»Ρ ΡΠΈΡΡΠΎΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° β Π΄.Π±. ΡΠ΄Π°Π»Π΅Π½Ρ. - ΠΡΠΈ ΡΡΠΏΠ΅Ρ Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ°: Π·Π°Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΎΠΏΡΡΡ ΠΆΠ΅: ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ±ΠΎΠΉ)
- ΠΡΠΈ ΡΡΠΏΠ΅Ρ Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ°: ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ±Π΄, Π·Π°ΠΏΡΡΠΊ ΡΡΠ±Π΄ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²Π½ΠΎΠ²Ρ Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ. (ΠΎΠΏΡΡΡ ΠΆΠ΅: ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ±ΠΎΠΉ)
- ΠΡΠΈ ΡΡΠΏΠ΅Ρ Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ°: Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠ΅ΡΡ. ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΎΡ ΡΡΠ±Π΄.
- ΠΠ΅ΡΠ½ΡΡΡ ΡΡΠ±Π΄ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Ρ.Π΅. ΡΠ΄Π°Π»ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΆΡΡΠ½Π°Π»ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ, Π²Π΅ΡΠ½ΡΡΡ Π² ΡΠ°Π±ΠΎΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΡΠ±Π΄.
ΠΠΎΠ΄ ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ
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)
}
Π’.ΠΎ. Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°: Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ.
ga-ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ², Π½Ρ ΠΈΠ»ΠΈ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ β Ρ
ΡΠΎΠΌΠΎΡΠΎΠΌ.
Π ΠΊΠΎΡΠΎΡΠΎΠΉ, Π½Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²Π°ΠΆΠ½Π°: ΡΠ΅Π»Π΅ΠΊΡΠΈΡ Ρ
ΡΠΎΠΌΠΎΡΠΎΠΌ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π³Π΅Π½Π°ΠΌΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎ, ΠΏΠΎ ΡΡΡΠΈ ΠΈ Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Ρ ΡΠΎΠΌΠΎΡΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ, Π² N-ΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΡΠ΅Π½Ρ Π²Π½ΡΡΠ½ΠΎΠ΅, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΡ Π΄Π²Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΠΈΠ· Ρ-ΡΠΈΠΈ evaluate
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°-Π·Π°ΠΏΡΡΠΊ, Π·Π°Π΄Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ±Π΄, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ cran-r
Ρ-ΡΠΈΠΈ system2
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ: Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΆΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎ Π±Π°Ρ-ΡΠΊΡΠΈΠΏΡ, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
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)
ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ.ΠΊ., ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ , ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠ΅, ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
Π’.Π΅.: ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ attribute-importamce Π°Π½Π°Π»ΠΈΠ·.
ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
Π Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠΈΠΊΠ°, Π΅ΡΠ»ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ ΡΠ΅ΡΡΡ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠ°ΡΡΠΈΠ½Π° ΡΠ°ΠΊΠ°Ρ:
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΡΠ°ΠΉΠ½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ:
Π’ΡΡ, Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ, ΡΡΠΎΡΠ½Ρ: Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° β Π΄Π°Π½Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
ΠΊΠΎΠ΄Π° ΡΠΈΡΠ½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
Π½Π°ΠΌΠ±Π΅Ρ-ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²/Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π» Π²ΡΡΠ΅ ΠΏΠΎ ΡΠ΅ΠΊΡΡΡ.
ΠΡ. ΠΠ½ΠΎΠ³ΠΎ ΡΡΠΎ, ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΎ, ~8ΡΡΡ tps: Π²ΠΎΠΏΡΠΎΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ.
Π ΡΠ°ΠΌΠΊΠ°Ρ
Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ β Π½Π΅ ΡΡΡΡ Π²Π°ΠΆΠ½Π° ΡΡΠ° ΡΠΈΡΡΠ°, Π²Π°ΠΆΠ½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°, ΠΊΠ°ΠΊ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠΈΠ½Π°ΠΌΠΈΠΊΠ° ΡΡΡ Ρ
ΠΎΡΠΎΡΠ°Ρ.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΡ, Π·Π½Π°ΡΠΈΠΌΠΎ Π²Π»ΠΈΡΡΡΠΈΠΉ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ga-Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Ρ Π²Π΅ΠΊΡΠΎΡΠ°-Ρ
ΡΠΎΠΌΠΎΡΠΎΠΌΡ: Π½Π°ΠΊΡΡΠ».
Π‘ΡΠ΄Ρ ΠΏΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ΄ΡΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ β Π΅ΡΡΡ Π΅ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ, Ρ
ΠΎΡΡ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ.
ΠΠΎΡ ΡΡΡ Π½ΡΠΆΠ΅Π½ attribute-importance
Π°Π½Π°Π»ΠΈΠ·, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ: ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ (Π½Ρ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ°) ΠΈ ΠΊΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
Π ΠΎΡ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΠΏΠΎΠ½ΡΡΡ β ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π·Π½Π°ΡΠΈΠΌΡΡ
Π°ΡΡΠΈΠ±ΡΡΠΎΠ².
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ attribute-importance
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.
ΠΠ½Π΅, Π΄Π»Ρ ΡΡΠΈΡ
ΡΠ΅Π»Π΅ΠΉ, Π½ΡΠ°Π²ΠΈΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ randomForest
ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ R-ΠΏΠ°ΠΊΠ΅ΡΠ° (
randomForest
, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΠΎΡΠ΅Π½ΠΊΠ΅ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΡΠΎΠΈΡ Π½Π΅ΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΠΎΡΠΊΠ»ΠΈΠΊΠ°, ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ².
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΡΠΊΠ»ΠΈΠΊΠ° β ΡΡΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠ°Ρ ΠΎΡ ΡΡΠ±Π΄, Π² Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ
ΡΠ΅ΡΡΠ°Ρ
: tps
;
Π Π°ΡΡΠΈΠ±ΡΡΡ ΡΡΠΎ β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ°.
Π’Π°ΠΊ Π²ΠΎΡ randomForest
ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΡΠ»Π°ΠΌΠΈ: %IncMSE
β ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡΠΈΠ΅/ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ°, Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ MSE-ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Mean Squared Error);
Π IncNodePurity β ΡΡΠΎ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π΄Π°ΡΠ°ΡΠ΅Ρ Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΠΌΠΎΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π° Π² Π΄ΡΡΠ³ΠΎΠΉ Ρ Π΄ΡΡΠ³ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
ΠΡ Ρ.Π΅.: Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡ (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π½ΡΡΠ½ΠΎΠ΅, ΡΡΡΠΊΠΎΡΠ·-Π΅ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°Π½Π΄ΠΎΠΌΡΠΎΡΠ΅ΡΡ-Ρ Π²ΠΈΠ΄Π΅Π»
Π Π°Π±ΠΎΡΠ΅-ΠΊΡΠ΅ΡΡΡΡΠ½ΡΠΊΠΈΠΉ 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-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅Π΄ΠΎ-Π΄Π°Π½Π½ΡΡ , ΠΈΠ· Π»ΠΎΠ³-Π±ΡΡΠ΅ΡΠ° ΡΡΠ±Π΄, Π² current-ΠΆΡΡΠ½Π°Π»ΡΠ½ΡΡ Π³ΡΡΠΏΠΏΡ: ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ, ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅nowait
ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ, ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ tps-ΠΌΠ΅ΡΡΠΈΠΊΠΈ: ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΠΈΠ½ΠΊ-ΠΌΠΎΠ΄Ρ io Π² ΡΠ΅Π΄ΠΎ-Π³ΡΡΠΏΠΏΡ.
ΠΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ β Π½Π°Π΄ΠΎ, ΠΈΠ»ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π² ΠΏΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π΄. Π’ΡΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΠ°ΡΠΈΠ΅ΠΉ: ΡΡΠΎ Π·Π½Π°ΡΠΈΠΌΡΠΉ ΡΠ°ΠΊΡΠΎΡ. - ΠΠΎΠ³ΠΈΡΠ½ΠΎ ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π»ΠΎΠ³-Π±ΡΡΡΠ΅ΡΠ° ΡΡΠ±Π΄: ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠΈΠΌΡΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ.
Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ Π»ΠΎΠ³-Π±ΡΡΠ΅ΡΠ°, ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π΅Π³ΠΎ Π±ΡΡΠ΅ΡΠΈΠ·ΡΡΡΠ°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ, ΡΠ΅ΠΌ ΡΠ°ΡΠ΅ ΡΠ»ΡΡΠ°ΡΡΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ/ΠΈΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² Π½ΡΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄ ΠΏΠΎΡΡΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅Π΄ΠΎ-Π΄Π°Π½Π½ΡΡ .
Π Π·Π½Π°ΡΠΈΡ: Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π°Π»Π»ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π² Π»ΠΎΠ³-Π±ΡΡΡΠ΅ΡΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΡΠ±ΡΠΎΡΠΎΠΌ ΡΠ΅Π΄ΠΎ-Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ Π² ΡΠ΅Π΄ΠΎ-Π³ΡΡΠΏΠΏΡ.
ΠΡΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΡΡΡ ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΡΠ±Π΄ ΠΏΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ. - ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
db_block_checksum
: Π½Ρ, ΡΠΎΠΆΠ΅, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°ΡΡΠΈ-Π±Π»ΠΎΠΊΠΎΠ² Π² Π±ΡΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΠ΅ΡΠ΅ ΡΡΠ±Π΄.
ΠΠΎΡΠΎΡΡΠ΅, ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ΅ΠΊΡΡΠΌΠΌ Π΄Π°ΡΠ°Π±Π»ΠΎΠΊΠΎΠ², Π±Π°Π·Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ β Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΈ ΡΠ΅ΠΊΡΡΠΌΠΌΡ ΠΎΡ ΡΠ΅Π»Π° Π΄Π°ΡΠ°Π±Π»ΠΎΠΊΠ°, ΡΠ²Π΅ΡΡΡΡ ΠΈΡ Ρ ΡΠ΅ΠΌ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Ρ ΠΈΠ΄Π΅ΡΠ΅ Π΄Π°ΡΠ°Π±Π»ΠΎΠΊΠ°: ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ/Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ.
Π’Π°ΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ°, ΠΎΠΏΡΡΡ ΠΆΠ΅, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°ΡΡΠ³ΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ , Π½Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°Π΄Π°ΡΡ β ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ°ΡΠΈΠΌΠΈ.
ΠΠΎΡΡΠΎΠΌΡ ΠΆΠ΅ Π²Π΅Π½Π΄ΠΎΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΠ°Π·Π½ΡΠ΅ Π΅Π³ΠΎ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°) Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ ΡΡΠΎ β Π΄Π°, ΠΈΠΌΠΏΠ°ΠΊΡ Π±ΡΠ΄Π΅Ρ, Π½ΠΎ, Π²ΠΎΡ, ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ "Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΎ" ΠΈ ΡΠ°Π·Π½ΡΠΉ ΠΈΠΌΠΏΠ°ΠΊΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ.
ΠΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄.
ΠΠΎΠ΄Ρ ΠΎΠ΄, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎ: ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΌ.
ΠΠ½ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π±Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ, Π½Π° ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°ΠΏΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΠ΅ΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π΅Ρ (ΡΠΈΡΡΠ΅ΠΌΡ) ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π²Π½ΠΈΠΊΠ°ΡΡ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΡ.
ΠΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ β Ρ ΠΎΡΡ Π±Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ: "ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊ" ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΡΡΡΠ΅ΠΊ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΡ Π½Π°Π΄ΠΎ.
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΡΠΎ ΠΏΡΠΈΡΠΎΠ΄Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ.
Π§ΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π²ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π΅Ρ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ β ΠΏΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ: ΡΠ°Π·ΠΌΠ΅Π½ Π·Π°ΡΡΠ°Ρ Π½Π° Π²Π½ΠΈΠΊΠ°Π½ΠΈΠ΅ Π² Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π° Π·Π°ΡΡΠ°ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΡ: Π² ΡΡΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ β ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π²Π°ΠΆΠ½Π° ΡΡΠ΅ΠΏΠ΅Π½Ρ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊ ΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π΅Ρ Π±ΡΠ΄ΡΡ Π² ΠΏΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π²ΡΠ΅ΠΌΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com