[20141119]使用指令碼完成sql_profile工作
[20141119]使用指令碼完成sql_profile工作.txt
--工作需要經常使用sql profile來最佳化sql語句,由於記不住命令,我基本都在toad下使用,這樣非常簡單。
--database => optiomize => oracle tuning advisor(OEM)來使用。
--有必要建立sql語句執行呼叫來使用sql profile來完成最佳化工作,簡化sql最佳化工作。
1.建立任務:
set verify off
set long 20000000
set longchunksize 20000000
column report_tuning_task format a100
declare
a varchar2(200);
begin
a := dbms_sqltune.create_tuning_task(task_name=>'tuning &1',description=>'tuning sql_id=&1',scope=>dbms_sqltune.scope_comprehensive,time_limit=>1800,sql_id=>'&1');
dbms_sqltune.execute_tuning_task( a );
end;
/
prompt =================================================================================================================================================
prompt tuning sql_id=&1 : report
prompt =================================================================================================================================================
select dbms_sqltune.report_tuning_task('tuning &1') report_tuning_task FROM dual;
prompt =================================================================================================================================================
prompt if finished,drop tuning task , run:
prompt execute dbms_sqltune.drop_tuning_task('tuning &1')
prompt if accept sql profile, run:
prompt execute dbms_sqltune.accept_sql_profile(task_name => 'tuning &1', replace => TRUE ,name=>'tuning &1');;
prompt execute dbms_sqltune.accept_sql_profile(task_name => 'tuning &1', replace => TRUE, name=>'tuning &1', FORCE_MATCH=>True)
prompt if drop or alter sql profile ,run :
prompt execute dbms_sqltune.drop_sql_profile(name => 'tuning &1')
prompt execute dbms_sqltune.alter_sql_profile(name => 'tuning &1',attribute_name=>'STATUS',value=>'DISABLED')
prompt =================================================================================================================================================
set serveroutput off
2.如果接受sql profile:
execute dbms_sqltune.accept_sql_profile(task_name => 'tuning &1', replace => TRUE,);
--如果sql語句含有文字變數,想使這些語句也有效,可以執行如下:
execute dbms_sqltune.accept_sql_profile(task_name => 'tuning &1', replace => TRUE, FORCE_MATCH=>True);
--如果不滿意可以:
execute dbms_sqltune.drop_sql_profile(name => 'tuning &1')
execute dbms_sqltune.alter_sql_profile(name => 'tuning &1',attribute_name=>'STATUS',value=>'DISABLED')
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1340660/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用指令碼完成mysql工作指令碼MySql
- sql_profile的使用(一)SQL
- 【Shell】使用Shell指令碼快速完成SQL指令碼中重複枯燥的任務指令碼SQL
- 使用指令碼進行 SAP Spartacus 安裝工作指令碼
- haproxy狀態檢測指令碼(完成高可用)指令碼
- JavaScript工作指令碼筆記整理JavaScript指令碼筆記
- 博主日常工作中使用的shell指令碼分享指令碼
- linux指令碼完成重複執行的命令Linux指令碼
- 工作中用到的指令碼合集指令碼
- Redis使用Lua指令碼Redis指令碼
- .net中 使用指令碼指令碼
- mystat指令碼以及使用指令碼
- 使用批處理指令碼或SHELL配合SQL指令碼指令碼SQL
- 只在工作日執行的指令碼指令碼
- AngularJs中,如何在render完成之後,執行Js指令碼AngularJS指令碼
- nmap指令碼使用總結指令碼
- 使用go指令碼代替makefileGo指令碼
- 使用指令碼重簽名指令碼
- gdb的指令碼使用 -- gdbinit指令碼
- 使用sql生成sql指令碼SQL指令碼
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- 分享工作中常用的一個Git指令碼Git指令碼
- 用 Python 寫指令碼傳送工作週報Python指令碼
- 淺析Lua指令碼:MySQL Proxy工作機制指令碼MySql
- 18 個一線工作中常用 Shell 指令碼指令碼
- 使用shell指令碼生成只讀許可權的sql指令碼指令碼SQL
- 跑wordpress使用者密碼指令碼密碼指令碼
- wrk(2)- Lua 指令碼的使用指令碼
- 使用ajax指令碼取資料指令碼
- 使用jmeter錄製web指令碼JMeterWeb指令碼
- Shell指令碼介紹與使用指令碼
- ecs使用指令碼安裝oracle指令碼Oracle
- 使用jQuery載入js指令碼jQueryJS指令碼
- hive streaming 使用shell指令碼Hive指令碼
- 使用shell定製awr指令碼指令碼
- Shell指令碼中cd命令使用指令碼
- 使用rman備份的指令碼指令碼
- 使用dbstart指令碼的設定指令碼