میهمان گرامی ، خوش آمدید . عضــویت



رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

ابزار SQL Plan Management

#1
Lightbulb 
ابزار SQL Plan Management



بعد از آنكه ابزار بهينه ساز، يك پلان اجرايي بهينه براي جمله SQL ايجاد كرد، تضميني نيست كه بهينه ساز هميشه از آن پلان اجرايي استفاده كند. اين پلان ميتواند به دلايل مختلف تغيير كند، كه از جمله آنها ميتوان به تغيير در تعاريف اسكيماها، تغيير در تنظيمات سيستم و تركيب و ساختار داده كه به صورت موردي يا تركيبي بر كارايي سيستم تأثير ميگذارند و ارتقاي پايگاهداده يا تغيير در نسخه برنامه بهينه ساز يا وضعيتهاي جديد، اشاره كرد. عدم توانايي در تضمين اينكه يك پلان اجرايي جديد ميتواند باعث بهبود عملكرد سيستم شود، عاملي شده كه به واسطه آن بعضي از مديران پايگاهداده از امكان غيرفعال كردن تغيير در پلان اجرايي يا تغيير در وضعيت بهينهساز استفاده كنند. در اوراكل 11g قابليت جديدي به نام SQL Plan Management ارائه شدهاست كه نياز به Freeze كردن وضعيت و آمار بهينهساز را برطرف كرده تا امكان كنترل نحوه استفاده از پلان SQL ايجاد شده فراهم شود.

ابزار SQL Plan Management به صورت خودكار با استفاده از پلان اجرايي پايه كدهاي SQL به كنترل تغييرات در پلان كدهاي SQL ميپردازد. با فعالكردن SQL Plan Management يك پلان SQL كه بهتازگي ايجاد شده، تنها در صورتي ميتواند به بخشي از پلان پايه افزوده شود كه باعث كاهش كارايي پايگاهداده نشود. هنگام اجراي يك جمله SQL تنها يكي از پلانهايي استفاده ميشود كه به عنوان پلان پايه آن كد SQL شناخته شدهباشند.

ميتوانيد استفاده از پلانهاي پايه را براي كدهاي SQL يا با استفاده از بارگذاريكلي آنها توسط پكيجي به نام DBMS_SPM انجام دهيد يا آنكه با استفاده از پارامتر OPITIMIZER_CAPTURE_SQL_PLAN_BASELINES
و تنظيم كردن آن به مقدار TRUE اين كار را انجامدهيد. با دراختيارداشتن پلانهاي پايه SQL ميتوانيد با استفاده از تابعDBMS_SPM.EVOLVE_SQL_PLAN_BASELINE، يك پلان جديد به پلانهاي فعال اضافهكنيد يا با استفاده از ابزار SQL Tuning Advisor راهنماييهايي را درباره اينكه آيا پلان جديد بهتر از پلان پايه است، دريافت كنيد.


پرسش: مزيتهاي استفاده از SQL Plan Management چيست؟


الف- اين ابزار باعث ثبات در كارايي سيستمشده و مانع از تغييرات ناخواسته در پلانهاي اجرايي كدها ميشود.
ب- اين ابزار به شما امكان ميدهد تا هنگام مهاجرت به يك نسخه جديد از پايگاهداده اوراكل، به صورت موقت استفاده از پلانهاي اجرايي SQL را Freeze كنيد.
پ- يك پلان اجرايي جديد تا زماني كه شما تأييد نكنيد، آن پلان از پلان موجود، بهتر و مؤثرتر است، توسط پايگاهداده استفاده نخواهد شد.
ت- ميتوانيد تأثير تغييرات سيستمي بر باركاري پايگاهداده را پيشبيني كنيد.

پاسخ: موارد الف، ب و پ درست هستند. گزينه ت نادرست است. زيرا ارزيابي تأثير تغييرات سيستم بر باركاري كدهاي SQL به عهده ابزار SQL Performance Analyzer است.

پرسش: هنگام بررسي پلان پايه اجرايي براي يك جمله SQL متوجه ميشويد كه يك پلان اجرايي خاص توسط سيستم مورد استفاده قرار نميگيرد و شما اعتقاد داريد پلان مذكور كاراتر از پلان مورد استفاده است و ميخواهيد تا از آن استفاده كنيد. كدام مرحله بايد انجام شود تا مطمئن شويد كه بهينهسازي هميشه از آن پلان استفاده ميكند.

الف- پلان مذكور را به عنوان پلان از نوع FIXED معرفي كنيد.
ب- از ابزار SQL Tuing Advisor استفاده كنيد.
پ- پلان مذكور را به عنوان پلان از نوع ACCEPTED معرفي كنيد.
ت- پلان استفاده نشده را با معرفي از پكيج DBMS_SPM تكامل دهيد.


پاسخ: گزينه الف، درست است. علامتگذاري اين پلان به عنوان پلان نوع FIXED تضمين ميكند كه بهينهساز تنها از آن پلان و نه موارد جايگزين استفاده ميكند. گزينه ب نادرست است، زيرا SQL Tuning Advisor استفاده از پروفايل SQL را پيشنهاد ميكند و شما مجبوريد از اين پيشنهاد استفاده كرده و پلان استفاده نشده را در پلانهاي پايه كد SQL قرار دهيد. جواب پ نادرست است، زيرا علامتگذاري پلان به عنوان پلان ACCEPTED به آن معنا است كه شما آن پلان را به عنوان پلان مورد معتبر، ارزيابي كردهايد، اما تضمين نميكند كه آن پلان هنگام اجراي جمله SQL مورد استفاده قرار خواهد گرفت. گزينه ت نادرست است، زيرا EVOLVE_SQL_PLAN_BASELINE كه در بسته DBMS_SPM قرار دارد، مشخص ميكند كه آيا پلان جديد از پلان پايه كنوني براي جمله SQL عملكرد بهتري دارد يا خير، اما در عين حال پلان مذكور را به عنوان پلان ACCEPTED و نه پلان FIXED به فهرست پلانهاي موجود اضافه ميكند.
خدایا ، امروز زندگیم را در دستان توانمندت قرار می دهم و به تو، توکل می کنم که چراغ و هدایتگر راهم باشی .
خدایا اگر به یاد آورم که در گذشته چگونه از من مراقبت کردی
در زمان حال به تو توکل می کنم و می دانم، سپردن آینده به دستان توانای تو، بسیار اسان است.
Rose
اگر می خواهی خوشبخت ، باشی سعادت دیگران را هم در نظر بگیر
اگر شادی و تمام چیزهای مطلوب را با دیگران قسمت کنید ،
شادی و چیزهای مطلوب بیشتری را به سمت خودتان جذب می کنید.
امتحان کنیدRose
شهر از بالا زیباست ؛ و آدم ها از دور جذاب .لطفاً فاصله مناسب رو حفظ کنید تا قشنگ بمونیدRose

 سپاس شده توسط rajabioun10 ، hadi




کاربران در حال بازدید این موضوع: 1 مهمان