تجربیات کاری چند دوست

در این وبلاگ تجربیاتی که در حین کار بدست آورده ایم را به اشتراک خواهیم گذاشت

تجربیات کاری چند دوست

در این وبلاگ تجربیاتی که در حین کار بدست آورده ایم را به اشتراک خواهیم گذاشت

تجربیات کاری چند دوست
آخرین نظرات
  • ۱۶ مرداد ۹۸، ۰۱:۰۰ - علی جهان نما
    عالی بود
گاهی ( مثلا در نبود Oracle Enterprise Manager ) نیاز به اجرای Sql tuning به صورت دستی می باشد؛ مراحل زیر عملیات Sql tuning را در خط فرمان نشان می دهد :

 1- ابتدا باید  sql_id کوئری مورد نظر را بیابید.

select sq.sql_id,sq.sql_text from v$sql sq where sq.sql_text like '%Your Query%';

یا

select sql_id from v$session where sid = x

 


2- در گام بعدی برای کوئری یک tuning task ایجاد می کنیم :

SET SERVEROUTPUT ON

declare

stmt_task VARCHAR2(40);

begin

tune_task := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id => ' 5fktw7d0p8mut');

DBMS_OUTPUT.put_line('task_id: ' || tune_task);

end;

/

task_id: TASK_1042

3- سپس برای task ایجاد شده در مرحله قبل SQL TUNING TASK را اجرا می کنیم :

begin

DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => 'TASK_1042');

end;

/

4- میتوانید وضعیت tuning task را با دستور زیر مونیتور کنید :

SELECT TASK_NAME, STATUS FROM DBA_ADVISOR_LOG WHERE TASK_NAME = 'TASK_1042'; 

5- زمانی که در دستور بالا status=COMPLETED  شد، می توانید خروجی SQL TUNING TASK برای کوئری مربوطه را مشاهده نمایید :

SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('TASK_1042') AS recommendations FROM dual;

نکته : در صورتی که می خواهید یک SQL profile را Accept کنید، می توانید از دستور زیر استفاده کنید :

begin

DBMS_SQLTUNE.ACCEPT_SQL_PROFILE(task_name => 'TASK_1042, task_owner => 'SYSTEM', replace => TRUE);

end;

/

 

  • موافقین ۱ مخالفین ۰
  • ۹۶/۱۰/۲۷
  • ۵۱۹ نمایش
  • محمد جعفری

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی