рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ

рдирдорд╕реНрддреЗ

рдореИрдВрдиреЗ рдЕрдкрдиреА рдЦреЛрдЬ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ - рд╡рд┐рдЪрд╛рд░, рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рдлрд▓ред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░: рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рдХреЛрдИ рдЦреЛрдЬ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕рдм рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЬреЛ рд▓рд╛рдЧреВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреАрдмреАрдПрдордПрд╕ред
рдФрд░: рд╣рд╛рдБ, рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡реЗ рдЕрдкрдиреЗ рд╢реЛрдз рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг (рдпреВрдкреАрдбреА: рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛: ottertune )
рджреВрд╕рд░реА рдУрд░: рдСрдлрд╣реИрдВрдб, рдореБрдЭреЗ рдЖрдИрдЯреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ, рдбреАрдмреАрдП рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдХреЛрдИ рд╡реНрдпрд╛рдкрдХ рдЙрд▓реНрд▓реЗрдЦ рдпрд╛ рдкреНрд░рд╕рд╛рд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред

рддреЛ, рдореБрджреНрджреЗ рдХреА рдмрд╛рдд рдкрд░ред

рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдп рд╣реИ: рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдп рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕ рдХрд╛рд░реНрдп рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреИрд╕реЗ рдорд╛рдкреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдорд╛рдкрдиреЗ рдХрд╛ рдорд╛рдкрджрдВрдб рдХреНрдпрд╛ рд╣реИред

рдЖрдЗрдП рдпрд╣ рднреА рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рдХрдореЛрдмреЗрд╢ рдЬреНрдЮрд╛рдд рдФрд░ рд╕рдордЭрд╛ рд╣реБрдЖ рд╣реИ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ (рдпрд╛ рдЗрд╕рдХреЗ рд╕рд╛рде) рдХрд╛рдо рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдареАрдХ рд╣реИ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЗрд╕ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреНрдЮрд╛рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЙрд╕рдХреЗ рдХрд╛рд░реНрдп рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ - рдЗрд╕ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреА рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рд╕рдордЭ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЖрд╡рд╢реНрдпрдХ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдХреБрдВрдЖред рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдпрд╣реА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ.

рдЖрдк рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЦреИрд░, рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рджреЗрдЦрдирд╛ рд╣реИред рд╕рдордЭреЗрдВ рдХрд┐ рд╕рдорд╛рдпреЛрдЬрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реАрдорд╛рдПрдБ рдХреНрдпрд╛ рд╣реИрдВред рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдордиреНрд╡рдп рд╡рдВрд╢ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред

рд╡реЗред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЙрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдВред

рдЗрд╕реА рдЙрдкрдХрд░рдг-рдЙрдкрдпреЛрдЧрд┐рддрд╛, рд▓реЛрдб рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЗрд╕ рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓реЛрдб рд▓рд╛рдЧреВ рдХрд░реЗрдВред
рдФрд░ рдореВрд▓реНрдп - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдПрдХ рдореАрдЯреНрд░рд┐рдХ рджреЗрдЦреЗрдВред

рджреВрд╕рд░рд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд╣реИред

рдареАрдХ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ: рдпрджрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реЗрдЯрд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рдпрджрд┐ рдЙрдирдХреЗ рдЪрд▓рд╛рдП рдЬрд╛ рд░рд╣реЗ рдорд╛рдиреЛрдВ рдХреА рд╕реАрдорд╛рдПрдБ рдмрдбрд╝реА рд╣реИрдВ, рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рддреЛ: рд╣рд╛рдБ, рдпрд╣ рд╕рдм рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд░реВрдк рд╕реЗ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рд▓рдВрдмреЗ рд╕рдордп рддрдХред

рдЦреИрд░, рдпрд╣рд╛рдБ рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╛рдж рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдХреБрдЫ рдорд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡реЗрдХреНрдЯрд░ рд╣реЛрддрд╛ рд╣реИред

рдРрд╕рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдХреНрдЯрд░, рдЕрдиреНрдп рд╕рднреА рдЪреАрдЬреЗрдВ рд╕рдорд╛рди рд╣реЛрдиреЗ рдкрд░ (рдЗрд╕рдореЗрдВ рдХрд┐ рдпрд╣ рдЗрд╕ рд╡реЗрдХреНрдЯрд░ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ), рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рдореАрдЯреНрд░рд┐рдХ рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ - рдкрд░реАрдХреНрд╖рдг рднрд╛рд░ рдХреЗ рддрд╣рдд рд╕рд┐рд╕реНрдЯрдо рд╕рдВрдЪрд╛рд▓рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХред

рдпрд╛рдиреА

рдЖрдЗрдП рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рдирд┐рд░реВрдкрд┐рдд рдХрд░реЗрдВ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВрдЬрд╣рд╛рдВ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ; рдХрд╣рд╛рдБ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ тАФ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред

рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрд░реВрдк рдореАрдЯреНрд░рд┐рдХ рдХрд╛ рдорд╛рди рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ рдЖрдЗрдП рдЗрд╕реЗ рдЗрд╕ рд░реВрдк рдореЗрдВ рдирд┐рд░реВрдкрд┐рдд рдХрд░реЗрдВ
рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ: рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ

рдЦреИрд░, рдлрд┐рд░: рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдиреАрдЪреЗ рдЖ рдЬрд╛рддрд╛ рд╣реИ: рдореЗрд░реЗ рдЫрд╛рддреНрд░ рджрд┐рдиреЛрдВ рд╕реЗ рд▓рдЧрднрдЧ рднреВрд▓ рдЧрдП, рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЪрд░рдо рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдоред

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдЧрдардирд╛рддреНрдордХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рд╢реНрди рдЙрдарддрд╛ рд╣реИ: рдХрд┐рд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред

  1. рдЗрд╕ рдЕрд░реНрде рдореЗрдВ - рддрд╛рдХрд┐ рдЖрдк рд╣рд╛рде рд╕реЗ рдХрдо рдХреЛрдб рдХрд░ рд╕рдХреЗрдВред
  2. рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛рдиреА рдЪрд░рдо рдкрд╛рдпрд╛ рдЧрдпрд╛ (рдпрджрд┐ рдХреЛрдИ рд╣реИ), рдареАрдХ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд╕рдордиреНрд╡рдп рд╡рдВрд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ред

рдкрд╣рд▓рд╛ рдмрд┐рдВрджреБ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреА рдУрд░ рджреЗрдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬрд┐рдирдореЗрдВ рдРрд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рдФрд░ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ python ╨╕ cran-r

рджреВрд╕рд░реЗ рдмрд┐рдВрджреБ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрд╡рдпрдВ рдкрдврд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВ, рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ, рдЙрдирдХреЗ рдХрд╛рдо рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВред

рдФрд░ рд╡реЗ рдЬреЛ рджреЗрддреЗ рд╣реИрдВ рд╡рд╣ рдЙрдкрдпреЛрдЧреА рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдкрд░рд┐рдгрд╛рдо, рдпрд╛ рд╕реАрдзреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗ рд╣реАред

рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмрд╣реБрдд рдХреБрдЫ рдЗрдирдкреБрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЖрдкрдХреЛ рддреЗрдЬреА рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдбрд┐рд╕реЗрдВрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдУрд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ред

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

рдореИрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрд╛рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди, рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдЧрд▓реЗ рдореЗрдВ, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП: рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╛рд░реНрдпред

рд╕реНрд░реЛрдд:

  1. рдПрдХ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣рд╛рдБ рд░рд╣рдиреЗ рджреЛ: oracle xe 18c
  2. рдЗрд╕реЗ рд▓реЗрди-рджреЗрди рд╕рдВрдмрдВрдзреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдФрд░ рд▓рдХреНрд╖реНрдп рдкреВрд░рд╛ рдХрд░рдиреЗ рджреЗрдВ: рд▓реЗрди-рджреЗрди/рд╕реЗрдХрдВрдб рдореЗрдВ рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдЪреНрдЪрддрдо рд╕рдВрднрд╡ рдереНрд░реВрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред
  3. рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреГрддрд┐ рдФрд░ рдХрд╛рдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓реЗрдирджреЗрди рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
    рдЖрдЗрдП рд╕рд╣рдордд рд╣реЛрдВ рдХрд┐ рдпреЗ рдРрд╕реЗ рд▓реЗрдирджреЗрди рд╣реИрдВ рдЬреЛ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
    рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рд╡реЗ рдкреБрдирдГ рдХрд░реЗрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреВрд░реНрд╡рд╡рдд рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмрдбрд╝реЗ рдкреНрд░рддрд┐рд╢рдд рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдпреЗ рдРрд╕реЗ рд▓реЗрдирджреЗрди рд╣реИрдВ рдЬреЛ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрддреЗ рд╣реИрдВред

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ: рд▓реЗрдирджреЗрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛, рдЖрд░рдХреНрд╖рдг рдХреЗ рд╕рд╛рде, рд░реЗрдбреЙрдХреНрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред

рдЕрд╕реНрд╡реАрдХрд░рдг - рдпрджрд┐ рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдмрдбреАрдмреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпреЛрдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рдФрд░/рдпрд╛ рд╕рд╛рд░рдгреАрдмрджреНрдз рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрд╛рдо рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдХрд╛рд░рдг, SQL рд╕рддреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рд▓реЗрдирджреЗрди рд╕рдВрдмрдВрдзреА рддрд╛рд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЬреЛ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЯреАрдкреАрдПрд╕ рдореАрдЯреНрд░рд┐рдХ рдкрд░ рдПрдХ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓реЗрдЧрд╛ рдФрд░ рдпрд╣ рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдХ рдмрд╣рд┐рд░реНрдЬрд╛рдд рдХрд╛рд░рдХ рд╣реЛрдЧрд╛: рдареАрдХ рд╣реИ, рд╕рд╛рд░рдгреАрдмрджреНрдз рдореЙрдбрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд░реБрдХрд╛рд╡рдЯреЗрдВ рдЖрддреА рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдХрд╛рд░рдХ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджреЗрдВрдЧреЗ, рдФрд░ рдиреАрдЪреЗ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗред

  1. рдЖрдЗрдП, рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдмрдорд┐рдЯ рдХрд┐рдП рдЧрдП 100% SQL рдХрдорд╛рдВрдб рдбреАрдПрдордПрд▓ рдХрдорд╛рдВрдб рд╣реИрдВред
    рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдорд╛рди рд░рд╣реЗрдВред
    рдЕрд░реНрдерд╛рддреН: рдПрд╕рдХреЗрдПрд▓ рд╕рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛, рдПрд╕рдХреЗрдПрд▓ рд╕рддреНрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
  2. Subd рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ FORCE LOGGING, ARCHIVELOG mods. рдлреНрд▓реИрд╢рдмреИрдХ-рдбреЗрдЯрд╛рдмреЗрд╕ рдореЛрдб рд╕рдмрдбреА рд╕реНрддрд░ рдкрд░ рдмрдВрдж рд╣реИред
  3. рд▓реЙрдЧ рджреЛрдмрд╛рд░рд╛ рдХрд░реЗрдВ: рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ "рдбрд┐рд╕реНрдХ" рдкрд░ рд╕реНрдерд┐рдд;
    рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╢реЗрд╖ рднреМрддрд┐рдХ рдШрдЯрдХ: рджреВрд╕рд░реЗ, рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ "рдбрд┐рд╕реНрдХ" рдкрд░:

рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА. рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдШрдЯрдХ

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

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЗрди рд▓реЛрдб рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд, рдореИрдВ рд▓реЗрдирджреЗрди рд╕рдмрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдПрд╕рдПрд▓рдУрдмреА-рдЙрдкрдпреЛрдЧрд┐рддрд╛
рдЗрд╕рдореЗрдВ рдЗрддрдиреА рдЕрджреНрднреБрдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдореИрдВ рд▓реЗрдЦрдХ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░реВрдВрдЧрд╛:

рдПрд╕рдПрд▓рдУрдмреА рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ "рдПрд╕рдПрд▓рдУрдмреА рд╡рд┐рдзрд┐" рд╣реИред рдПрд╕рдПрд▓рдУрдмреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реИ
рдЖрд╡реЗрджрди рд╡рд┐рд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛. рдХреЛрдИ рдЕрдзрд┐рдХрддрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдХрд┐рдВрдЧ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╛рдзреНрдп рд╣реИ
Oracle рдбреЗрдЯрд╛рдмреЗрд╕ рдмреНрд▓реЙрдХ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ред рдпрд╣ рд╕рд╣реА рд╣реИтАФрдбреЗрдЯрд╛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╕рдордп рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИ
рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдореЗрдВ! рд▓реЗрдХрд┐рди рдПрд╕рдПрд▓рдУрдмреА-рдЕрдкрдиреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддреИрдирд╛рддреА рдореЗрдВ-рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╡рд╛рдж рд╕реЗ рдкреНрд░рддрд┐рд░рдХреНрд╖рд┐рдд рд╣реИред

рдпрд╣ рдШреЛрд╖рдгрд╛: рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдпрд╣ рд╣реИред
рд╕реАрдПрд▓ рд╕рддреНрд░реЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рд╡рд┐рдирд┐рдпрдорд┐рдд рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдпрд╣реА рдХреБрдВрдЬреА рд╣реИ -t рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ runit.sh рдПрд╕рдПрд▓рдУрдмреА рд╕реЗ
рдбреАрдПрдордПрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рддрд┐рд╢рдд, рд╕рдмрдб рдкрд░ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреЗрдХреНрд╕реНрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рдЯреЗрдХреНрд╕реНрдЯ рд╕рддреНрд░, рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ UPDATE_PCT
рдЕрд▓рдЧ рд╕реЗ рдФрд░ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ: SLOB рд╕реНрд╡рдпрдВ, рд▓реЛрдб рд╕рддреНрд░ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ - рдПрдХ рд╕реНрдЯреИрдЯрдкреИрдХ, рдпрд╛ awr-рд╕реНрдиреИрдкрд╢реЙрдЯ (рдЬреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╡реИрд╕рд╛ рд╣реА рдирд┐рдХрд▓рд╛ 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"

рд╡реЗред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП (рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ: DB рдореЗрдВ рдПрдХ рдЕрд▓рдЧ 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

рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХреЗ рдХрд╛рдо рдкрд░ рд▓реМрдЯрдирд╛.
рд╣рдо, рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рд╕рдорд╛рди рд╣реЛрдиреЗ рдкрд░, рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░реЗрдВрдЧреЗ:

  1. рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЙрдЧ рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЖрдХрд╛рд░. рдореВрд▓реНрдп рд╕реАрдорд╛: [32] рдПрдордмреА;
  2. рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬрд░реНрдирд▓ рд╕рдореВрд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛. рдореВрд▓реНрдп рд╕реАрдорд╛: [2,32];
  3. log_archive_max_processes рдореВрд▓реНрдп рд╕реАрдорд╛: [1,8];
  4. commit_logging рджреЛ рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ: batch|immediate;
  5. commit_wait рджреЛ рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ: wait|nowait;
  6. log_buffer рдореВрд▓реНрдп рд╕реАрдорд╛: [2,128] рдПрдордмреАред
  7. log_checkpoint_timeout рдорд╛рди рд╕реАрдорд╛: [60,1200] рд╕реЗрдХрдВрдб
  8. db_writer_processes рдореВрд▓реНрдп рд╕реАрдорд╛: [1,4]
  9. undo_retention рдорд╛рди рд╕реАрдорд╛: [30;300] рд╕реЗрдХрдВрдб
  10. transactions_per_rollback_segment рдореВрд▓реНрдп рд╕реАрдорд╛: [1,8]
  11. disk_asynch_io рджреЛ рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ: true|false;
  12. filesystemio_options рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ: none|setall|directIO|asynch;
  13. db_block_checking рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ: OFF|LOW|MEDIUM|FULL;
  14. db_block_checksum рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ: OFF|TYPICAL|FULL;

рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЕрдиреБрднрд╡ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдЙрдирдХреЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдХреНрдпрд╛ рдФрд░ рдХреМрди рд╕реЗ рдорд╛рди рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб, рдпрд╣рд╛рдВ рдКрдкрд░ред

рд▓реЗрдХрд┐рди.

рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╛рд░реНрдп рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕реНрд╡рдпрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрд▓реНрджреА рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ред

рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рджреЗрдЦрдирд╛ рдмрд╛рдХреА рд╣реИ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИ рдФрд░ рдХрд┐рд╕ рд╕реАрдорд╛ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИред
рдФрд░ рдпрд╣ рднреА: рдЙрд╕ рдХреЛрдб рдХреЛ рдХреЛрдб рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрдпрдирд┐рдд рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХрд╕реНрдЯрдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рддреЛ, рдЕрдм рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдКрдкрд░ рдмрд╛рдд рдХреА cran-r, рдЕрд░реНрдерд╛рдд: рдЕрдиреБрдХреВрд▓рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╕рднреА рдЬреЛрдбрд╝-рддреЛрдбрд╝ рдПрдХ рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп, рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдореАрдЯреНрд░рд┐рдХ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдЪрдпрди, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рддрд┐ рд╡реИрдХреНрдЯрд░: рдпрд╣ рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ GA (рдкреНрд░рд▓реЗрдЦрди)
рдкреИрдХреЗрдЬ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдпрд╣ рд╡реЗрдХреНрдЯрд░ (рдЧреБрдгрд╕реВрддреНрд░, рдпрджрд┐ рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ) рдХреЛ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдореЗрд░рд╛ рд╡реЗрдХреНрдЯрд░, рд╕реЗрдЯрд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдиреЛрдВ рд╕реЗ: рдпреЗ 14 рдорд╛рддреНрд░рд╛рдПрдБ рд╣реИрдВ - рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиред

рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдВрдд рдореЗрдВ, рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

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 рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЦреЛрдЬ рд╕реНрдерд╛рди рдХрд╛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рдРрд╕реЗ рд╡реЗрдХреНрдЯрд░ (рдпрд╛ рд╡реИрдХреНрдЯрд░) рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рдПрдЧреА рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдлрд┐рдЯрдиреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЬреАрдП рд╕рдмрд░реВрдЯреАрди рдлрд┐рдЯрдиреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред

рдЦреИрд░, рдлрд┐рд░, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдлрд┐рдЯрдиреЗрд╕ рдлрд╝рдВрдХреНрд╢рди, рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЙрдк рдХреЗ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭреЗ, рдЙрдк рд╕реЗ рдПрдХ рдореАрдЯреНрд░рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗред

рдЕрд░реНрдерд╛рддреН: рдХрд┐рддрдиреЗ, рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕рдмрдб рд╕реЗрдЯрдЕрдк рдФрд░ рд╕рдмрдб рдкрд░ рджрд┐рдП рдЧрдП рд▓реЛрдб рдХреЗ рд╕рд╛рде: рд╕рдмрдб рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд▓реЗрдирджреЗрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдЕрд░реНрдерд╛рддреН, рдЦреЛрд▓рддреЗ рд╕рдордп, рдлрд┐рдЯрдиреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╣реБ-рдЪрд░рдг рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЗрдирдкреБрдЯ рд╡реЗрдХреНрдЯрд░ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ - рдЗрд╕реЗ рдЙрдкрдбреЗрдЯрд╛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ред
  2. рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЖрдХрд╛рд░ рдХреЗ рджрд┐рдП рдЧрдП рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрдирдГ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдпрд╛рд╕ рдЕрд╕рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ.
    рдкрддреНрд░рд┐рдХрд╛ рд╕рдореВрд╣ рдЬреЛ рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдФрд░ рдХреБрдЫ рдЖрдХрд╛рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдк-рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореМрдЬреВрдж рдереЗ - рдбреА.рдмреА. рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛.
  3. рдпрджрд┐ рдкрд┐рдЫрд▓рд╛ рдмрд┐рдВрджреБ рд╕рдлрд▓ рд╣реИ: рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ (рдлрд┐рд░ рд╕реЗ: рд╡рд┐рдлрд▓рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ)
  4. рдпрджрд┐ рдкрд┐рдЫрд▓рд╛ рдЪрд░рдг рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ: рд╕рдмрдб рдХреЛ рд░реЛрдХрдирд╛, рд╕рдмрдб рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рддрд╛рдХрд┐ рдирдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдкреНрд░рднрд╛рд╡реА рд╣реЛ рдЬрд╛рдПрдВред (рдлрд┐рд░: рдХреЛрдИ рдЧрдбрд╝рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ)
  5. рдпрджрд┐ рдкрд┐рдЫрд▓рд╛ рдЪрд░рдг рд╕рдлрд▓ рд╣реИ: рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рд╕рдмрдб рд╕реЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  6. рдЙрдк рдХреЛ рдЙрд╕рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯрд╛рдПрдБ, рдЕрд░реНрдерд╛рддред рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЙрдЧ рд╕рдореВрд╣ рд╣рдЯрд╛рдПрдВ, рдореВрд▓ рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд╛рдо рдкрд░ рд▓реМрдЯрд╛рдПрдВред

рдлрд┐рдЯрдиреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб

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

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 рд╣рдЬрд╛рд░ рдЯреАрдкреАрдПрд╕: рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╢реНрдиред
рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╛рд░реНрдп рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рдпрд╣ рдЖрдВрдХрдбрд╝рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рд╡рд╣ рдЧрддрд┐рд╢реАрд▓рддрд╛ рд╣реИ, рдпрд╣ рдореВрд▓реНрдп рдХреИрд╕реЗ рдмрджрд▓рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛ рдЕрдЪреНрдЫреА рд╣реИ.
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХрд╛рд░рдХ рдХреНрд░реЛрдореЛрд╕реЛрдо рд╡реИрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдореАрдЯреНрд░рд┐рдХ, рдЧрд╛-рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдореВрд▓реНрдп рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╡рдХреНрд░ рдорд╛рдиреЛрдВ рдХреА рдХрд╛рдлреА рдЬреЛрд░рджрд╛рд░ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХрдо рд╕реЗ рдХрдо рдПрдХ рдФрд░ рдХрд╛рд░рдХ рд╣реИ, рдЬреЛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рдлреА рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИред

рдпрд╣реАрдВ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ attribute-importance рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдХреМрди рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ (рдареАрдХ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдШрдЯрдХ) рдФрд░ рд╡реЗ рдореАрдЯреНрд░рд┐рдХ рдорд╛рди рдХреЛ рдХрд┐рддрдирд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдФрд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ: рд╕рдордЭреЗрдВ рдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдХреМрди рд╕реЗ рдХрд╛рд░рдХ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдПред

рд░рди attribute-importance рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ.

рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд╕рдВрдж рд╣реИ randomForest рдЗрд╕реА рдирд╛рдо рдХрд╛ рдЖрд░ рдкреИрдХреЗрдЬ (рдкреНрд░рд▓реЗрдЦрди)
randomForest, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдХрд╛рдо рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдорд╣рддреНрд╡ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд░ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдореАрдЯреНрд░рд┐рдХ рд╣реИ: tps;
рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдШрдЯрдХ рд╣реИрдВред

рдФрд░ рдРрд╕рд╛ рд╣реИ randomForest рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдорд╣рддреНрд╡ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ: %IncMSE - рдХрд┐рд╕реА рдореЙрдбрд▓ рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐/рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЗрд╕ рдореЙрдбрд▓ рдХреА рдПрдордПрд╕рдИ рдЧреБрдгрд╡рддреНрддрд╛ (рдореАрди рд╕реНрдХреНрд╡реИрдпрд░ рддреНрд░реБрдЯрд┐) рдХреЛ рдХреИрд╕реЗ рдмрджрд▓ рджреЗрддреА рд╣реИ;

рдФрд░ IncNodePurity рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рджрд░реНрд╢рд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрд╡рд▓реЛрдХрди рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдХ рднрд╛рдЧ рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдХреЗ рдПрдХ рдорд╛рди рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдХрд╛ рдПрдХ рдФрд░ рдорд╛рди.
рдЦреИрд░, рд╡рд╣ рдпрд╣ рд╣реИ: рдпрд╣ рдХрд┐рд╕ рд╣рдж рддрдХ рдПрдХ рд╡рд░реНрдЧреАрдХрд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ (рдореИрдВрдиреЗ рд░реИрдВрдбрдордлреЙрд░реЗрд╕реНрдЯ рдкрд░ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ, рд░реВрд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдЦрд╛ рдпрд╣рд╛рдВ).

рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реНрд░рдорд┐рдХ-рдХрд┐рд╕рд╛рди рдЖрд░-рдХреЛрдб:

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

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

рдЖрдк рдЖрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ caret, рдмрд╛рдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ.

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдорд╣рддреНрд╡ рдХреА рдбрд┐рдЧреНрд░реА рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:

рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреЛрдХ рд╡рд┐рдзрд┐, рдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдФрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ

рдХреБрдВрдЖред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрди рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рддрд╣рдд рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдкреИрд░рд╛рдореАрдЯрд░ рдерд╛ commit_wait
    рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рдмрдбреАрдмреА рд▓реЙрдЧ рдмрдлрд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рд▓реЙрдЧ рд╕рдореВрд╣ рдореЗрдВ рд░реАрдбреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЖрдИрдУ рдСрдкрд░реЗрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЛрдб рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ: рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдпрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ред
    рдореВрд▓реНрдп nowait рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЯреАрдкреАрдПрд╕ рдореАрдЯреНрд░рд┐рдХ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рд▓рдЧрднрдЧ рд▓рдВрдмрд╡рдд, рдХрдИ рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИ: рдпрд╣ рд░реАрдбреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЖрдИрдУ рдореЛрдб рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реИред
    рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЦрд╛рджреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред рдпрд╣рд╛рдВ рдореИрдВ рдЦреБрдж рдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдиреЗ рддрдХ рд╣реА рд╕реАрдорд┐рдд рд░рдЦрддрд╛ рд╣реВрдВ: рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рд╣реИред
  2. рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рд╕рдмрдб рдХреЗ рд▓реЙрдЧ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рдмрди рдЬрд╛рддрд╛ рд╣реИред
    рд▓реЙрдЧ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рдХреА рдмрдлрд╝рд░рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдЙрддрдиреА рд╣реА рдХрдо рд╣реЛрдЧреА, рдЕрдзрд┐рдХ рдмрд╛рд░ рдпрд╣ рдУрд╡рд░рдлрд╝реНрд▓реЛ рд╣реЛрдЧрд╛ рдФрд░/рдпрд╛ рдирдП рд░реЗрдбреЙрдХреНрд╕ рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдПрдХ рдореБрдХреНрдд рдХреНрд╖реЗрддреНрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╣реЛрдЧреАред
    рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: рд▓реЙрдЧ рдмрдлрд╝рд░ рдореЗрдВ рд╕реНрдерд╛рди рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдФрд░/рдпрд╛ рдЗрд╕рд╕реЗ рд░реАрдбреВ рдбреЗрдЯрд╛ рдХреЛ рд░реАрдбреВ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдбрдВрдк рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реА рджреЗрд░реАред
    рдпреЗ рджреЗрд░реА, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдереНрд░реВрдкреБрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд░рдирд╛ рднреА рдЪрд╛рд╣рд┐рдПред
  3. рдкреНрд░рд╛рдЪрд▓ db_block_checksum: рдареАрдХ рд╣реИ, рд╕рд╛рде рд╣реА, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд▓реЗрдирджреЗрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЙрдкрдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрдлрд░ рдХреИрд╢ рдореЗрдВ рдбрд╛рд░реНрдЯреА рдмреНрд▓реЙрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИред
    рдЬреЛ, рдЬрдм рдбреЗрдЯрд╛рдмреНрд▓реЙрдХ рдХреЗ рдЪреЗрдХрд╕рдо рдХреА рдЬрд╛рдВрдЪ рд╕рдХреНрд╖рдо рд╣реЛрддреА рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдбреЗрдЯрд╛рдмреНрд▓реЙрдХ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рд╕реЗ рдЗрди рдЪреЗрдХрд╕рдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреА рд╣реЛрддреА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреНрд▓реЙрдХ рд╣реЗрдбрд░ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдмрд╛рддреЛрдВ рд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрддрд╛ рд╣реИ: рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ / рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред
    рдРрд╕рд╛ рдХрд╛рд░реНрдп, рдлрд┐рд░ рд╕реЗ, рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЗрдВ рджреЗрд░реА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рддрдВрддреНрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
    рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд┐рдХреНрд░реЗрддрд╛, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ, рдЗрд╕рдХреЗ (рдкреИрд░рд╛рдореАрдЯрд░) рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рдБ, рдПрдХ рдкреНрд░рднрд╛рд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди, рдареАрдХ рд╣реИ, рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, "рдмрдВрдж" рддрдХ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рднрд╛рд╡.

рдЦреИрд░, рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдлреА рдХрд╛рд░рдЧрд░ рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИред

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

рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдХрдо рд╕реЗ рдХрдо рд╕рдордЭ рдХреЗ рд╕реНрддрд░ рдкрд░: рд╕рд┐рд╕реНрдЯрдо рдХреЛ "рд╕рдорд╛рдпреЛрдЬрди рдШреБрдВрдбреА" рдФрд░ рдЗрди рдШреБрдВрдбреА рдХреЗ рдШреВрд░реНрдгрди рдХреА рдЕрдиреБрдореЗрдп рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рддрдм рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдЗрд╖реНрдЯрддрдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИред
рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдЬреЛ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рдХреА рдЗрд╕ рдмрд╣реБрдд рдЧрд╣рд░реА рд╕рдордЭ рдХреЗ рдЙрджреНрднрд╡ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХрдо рд╕реЗ рдХрдо рдПрдХ рджрд┐рдП рдЧрдП рднрд╛рд░ рдХреЗ рддрд╣рдд рдЗрд╕рдХрд╛ рд╕рдВрдЪрд╛рд▓рдиред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдордЭрдиреЗ рдХреА рд▓рд╛рдЧрдд рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реИред

рдореИрдВ рдЕрд▓рдЧ рд╕реЗ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛: рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдЪрд╛рд▓рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рдХреА рдкрд░реНрдпрд╛рдкреНрддрддрд╛ рдХреА рдбрд┐рдЧреНрд░реА рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдФрд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ