"> قابليت‌ جديد اوراكل 11 براي افزايش سرعت و بهبود عملكرد كدهاي SQL

قابلیت‌ جدید اوراکل ۱۱ برای افزایش سرعت و بهبود عملکرد کدهای SQL

اوراکل 11

قابلیت‌ جدید اوراکل ۱۱ برای افزایش سرعت و بهبود عملکرد کدهای SQL را براتون آماده کردیم.خیلی دشوار است که بتوان به‌طور همزمان پایگاه‌داده و سیستم را تغییر داد و همچنین تضمین کرد که کارایی کدهای SQL همانند سابق خواهد بود و همه آن‌ها از بهینه‌ترین پلان اجرای SQL استفاده خواهند کرد. این مقاله با ارائه چند سؤال چندگزینه‌ای، قابلیت‌های اصلی معرفی شده در اوراکل ۱۱g را برای مدیریت تغییرات سیستم و همچنین تضمین عملکرد بهینه کدهای SQL بررسی میکند.

اوراکل ۱۱

خیلی دشوار است که بتوان به‌طور همزمان پایگاه‌داده و سیستم را تغییر داد و همچنین تضمین کرد که کارایی کدهای SQL همانند سابق خواهد بود و همه آن‌ها از بهینه‌ترین پلان اجرای SQL استفاده خواهند کرد. این مقاله با ارائه چند سؤال چندگزینه‌ای، قابلیت‌های اصلی معرفی شده در اوراکل ۱۱g را برای مدیریت تغییرات سیستم و همچنین تضمین عملکرد بهینه کدهای SQL بررسی می کند. این سؤال‌ها شبیه سؤالاتی است که معمولاً در آزمون OracleDatabase 11g New Features for Administrators و آزمونOracle Database 11g Performance Tuning مطرح می شود.

ابزار SQL Performance Analyzer
در اوراکل ۱۱g می‌توانید از SQL Performance Analyzer برای پیش‌بینی تأثیر تغییرات روی سیستم، به ازای بار کاری خاص استفاده کنید و به این ترتیب از وقوع مشکلات شدید ناشی از عدم کارایی سیستم جلوگیری کنید. این قابلیت در تمام مواردی که در آن‌ها تغییرات در محیط پایگاه‌داده باعث تغییر در ساختار پلان‌های اجرایی می شود، به‌کار می رود. تغییرات سیستمی تمام موارد از جمله تغییر در پارامترها، اسکیماها، سخت‌افزار و سیستم‌عامل و همچنین ارتقای نرم‌افزار پایگاه‌داده را شامل می شود.

موارد زیر، نحوه و مراحل استفاده از SQL Performance Analyzer را نشان می دهد:
۱- بار کاری را از سیستم عملیاتی به اصطلاح Capture کنید. برای این کار از ابزارAutomatice Workload Repository که توسط خود اوراکل ارائه شده یا از مجموعه ابزارهای SQL tuning استفاده کنید.
۲- بار کاری محیط عملیاتی را به سیستم آزمایشی انتقال دهید.
۳- در سیستم آزمایشی، کارایی اعمال بارکاری مذکور را قبل از انجام تغییرات و با استفاده از SQL Performance Analyzer بررسی کنید.
۴- تغییرات پیشنهادشده توسط SQL Performance Analyzer را در سیستم ایجاد کنید.
۵- با استفاده از SQL Performance Analyzer کارایی سیستم بعد از اعمال تغییرات را محاسبه کنید.
۶- دوباره از SQL Performance Analyzer استفاده کنید تا کارایی کدهای SQL را براساس آمار حاصل از اجرای آن‌ها، نظیر زمان لازم برای اجرای کد، زمان اختصاص یافته توسط CPU و تعداد بازخوانی ها از بافر مشاهده کنید.
۷- کارایی تمام جملات SQL را که عملکرد ضعیف‌تری داشتند، دوباره بررسی و تغییرات لازم را اعمال کنید.

پرسش: DBA سیستم برای بررسی جملات SQL با کارایی کم، باید از کدام‌یک از ابزارهای پیشنهاد شده در مجموعه ابزارهای پیشنهاد شده برای تنظیم پایگاه‌داده استفاده کند؟
الف- ابزار Oracle SQL Repair Advisor
ب- ابزار Oracle Access Advisor
پ- ابزار SQL Performance Analyzer
ت- ابزار Oracle Automatic Database Diagnostic Monitor

پاسخ: گزینه پ، درست است. گزینه الف نادرست است، زیرا SQL Repair Advisor برای تحلیل جمله‌های SQL که با خطا مواجه شده‌اند و خطای آن نیز از نوع بحرانی بوده است، به کار می رود تا پیشنهادهایی را برای بهبود آن جمله SQL ارائه دهد. گزینه ب نادرست است، زیرا SQL Access Advisor پیشنهادهایی برای بهینه‌سازی ساختار رسانه‌ذخیره‌سازی ارائه میدهد. گزینه ت نیز نادرست است، زیرا ابزار Automatic Diagnostic Monitor یک ابزار خطایابی است که کارایی پایگاه‌داده را در فواصل زمانی مشخص تحلیل کرده و هر گونه مشکل در کارایی سیستم را شناسایی میکند.

پرسش: کدام‌یک از جمله‌های زیر درباره SQL Performance Analyzerدرست است؟
الف- این برنامه می تواند به تأثیر تغییرات در زمان پاسخ‌گویی جمله‌های SQL دسترسی داشته‌باشد.
ب- این برنامه می تواند تأثیر جمله‌های SQL را بر همدیگر مشخص کند.
پ- این برنامه می تواند تنها یک سناریوی اجرای یک جمله SQL را بررسی کند.
ت- این برنامه می تواند به کدهای SQL در سمت Application دسترسی یابد و آن دسته از جمله‌های SQL را که کارایی آن‌ها تغییر یافته است، شناسایی کند.
ث- این برنامه می تواند داده‌های مربوط به تأثیر پارامترها را بر جمله‌های SQL در اختیار قرار دهد.

پاسخ: موارد الف، پ، ت و ث درست هستند. گزینه ب نادرست است، زیرا ابزار SQL Performance Analyzer تأثیر کارایی جمله‌های SQL را بر یکدیگر شناسایی نمی کند.

پرسش: شما از SQL Performance Analyzer استفاده می کنید تا بار کاری جمله‌های SQL را تحلیل کنید و می توانید مجموعه ابزار تنظیم وضعیت جمله‌های SQL را به عنوان بخشی از فرآیند کنترل بار کاری جملات SQL استفاده کنید. چه اطلاعاتی به عنوان بخشی از این فرآیند ذخیره می شود؟
الف- جمله SQL
ب- Context حاصل از اجرای برنامه
پ- تعداد دفعات تکرار هر برنامه
ت- آمار مربوط به وضعیت اجرای کد

پاسخ: موارد الف، ب و پ درست هستند. هنگام ایجاد اطلاعات برای بهینه‌سازی کدهای SQL ابزار SQL Perforamce Analyzer کد SQL برنامه و Context مربوط به اجرای کد و تعداد دفعات اجرای جمله SQL را ذخیره می کند. ابزار SQL Performace Analyzer در مرحله بعد از این اطلاعات استفاده می کند تا کارایی جمله‌های SQL را تحلیل کند.

ابزار SQL Plan Management
بعد از آن‌که ابزار بهینه‌ساز، یک پلان اجرایی بهینه برای جمله SQL ایجاد کرد، تضمینی نیست که بهینه‌ساز همیشه از آن پلان اجرایی استفاده کند. این پلان می تواند به دلایل مختلف تغییر کند،‌ که از جمله آن‌ها می توان به تغییر در تعاریف اسکیماها، تغییر در تنظیمات سیستم و ترکیب و ساختار داده که به صورت موردی یا ترکیبی بر کارایی سیستم تأثیر می گذارند و ارتقای پایگاه‌داده یا تغییر در نسخه برنامه بهینه‌ساز یا وضعیت‌های جدید، اشاره کرد. عدم توانایی در تضمین این‌که یک پلان اجرایی جدید می تواند باعث بهبود عملکرد سیستم شود، عاملی شده که به واسطه آن بعضی از مدیران پایگاه‌داده از امکان غیرفعال کردن تغییر در پلان اجرایی یا تغییر در وضعیت بهینه‌ساز استفاده کنند. در اوراکل ۱۱g قابلیت جدیدی به نام 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 به فهرست پلان‌های موجود اضافه میکند.

  • پسورد: www.mspsoft.com
مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم