日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

11g新特性-自动sql调优(Automatic SQL Tuning)

發(fā)布時(shí)間:2025/3/15 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11g新特性-自动sql调优(Automatic SQL Tuning) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

11g新特性-自動(dòng)sql調(diào)優(yōu)(Automatic SQL Tuning)

在Oracle 10g中,引進(jìn)了自動(dòng)sql調(diào)優(yōu)特性。此外,ADDM也會(huì)監(jiān)控捕獲高負(fù)載的sql語(yǔ)句。

在Oracle 11g中,通過(guò)運(yùn)行sql tuning advisor加強(qiáng)了自動(dòng)sql調(diào)優(yōu)功能。默認(rèn)情況下是每天夜間通過(guò)自動(dòng)任務(wù)的方式運(yùn)行”自動(dòng)sql調(diào)優(yōu)“。

?

自動(dòng)sql調(diào)優(yōu)的過(guò)程:

1.識(shí)別需要調(diào)優(yōu)的sql語(yǔ)句 ?根據(jù)AWR中的CPU和I/O負(fù)載來(lái)識(shí)別

2.調(diào)優(yōu),生成新的sql profile ?

  在維護(hù)窗口(maintenance window),自動(dòng)sql調(diào)優(yōu)任務(wù)運(yùn)行時(shí),上一步識(shí)別出的sql語(yǔ)句會(huì)被“sql tuning advisor”調(diào)優(yōu)。并產(chǎn)生相應(yīng)的sql profiles。如果發(fā)現(xiàn)有統(tǒng)計(jì)信息丟失或過(guò)期,會(huì)通知GATHER_STATS_JOB

3.測(cè)試新的sql profile ?benefit%=(time_old – time_new)/(time_old)

4.執(zhí)行符合標(biāo)準(zhǔn)的新的sql profile ?

  可以查看dba_sql_profiles,有哪些sql profiles是被數(shù)據(jù)庫(kù)自動(dòng)執(zhí)行的(type 列)

5.DBA可以產(chǎn)生自動(dòng)sql調(diào)優(yōu)活動(dòng)的報(bào)告。可以確認(rèn)產(chǎn)生的sql profile是否有效、刪除新產(chǎn)生的sql profile等。

自動(dòng)sql調(diào)優(yōu)不會(huì)進(jìn)行調(diào)優(yōu)的sql:

-Ad hoc語(yǔ)句和很少重復(fù)執(zhí)行的sql

-并行查詢

-長(zhǎng)時(shí)間運(yùn)行的查詢。對(duì)于長(zhǎng)時(shí)間運(yùn)行的sql,如果使用產(chǎn)生的sql profile進(jìn)行測(cè)試,還是會(huì)需要長(zhǎng)時(shí)間運(yùn)行,就會(huì)忽略這樣的sql。如果使用新產(chǎn)生的sql profile會(huì)顯著減少時(shí)間,就不會(huì)忽略這類(lèi)長(zhǎng)時(shí)間運(yùn)行的sql。

-遞歸sql

-DDL語(yǔ)句

-使用了insert、delete的DML語(yǔ)句 上面的語(yǔ)句,可以手動(dòng)使用SQL Tuning Advisor進(jìn)行調(diào)優(yōu)。

上面的語(yǔ)句,可以手動(dòng)使用SQL Tuning Advisor進(jìn)行調(diào)優(yōu)。

?

配置自動(dòng)sql調(diào)優(yōu)

使用dbms_sqltune包進(jìn)行配置。 在maintenance window,自動(dòng)sql調(diào)優(yōu)特性會(huì)啟動(dòng)一個(gè)job(sys_auto_sql_tuning_task)。產(chǎn)生一個(gè)需要調(diào)優(yōu)的sql 列表,然后根據(jù)重要性一次進(jìn)行調(diào)優(yōu)。 一般這個(gè)job會(huì)運(yùn)行一小時(shí),可以設(shè)置該job設(shè)置: dbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK','TIME_LIMIT',7200);

begindbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK','LOCAL_TIME_LIMIT',1400);dbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK','ACCEPT_SQL_PROFILES','TRUE');dbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK','MAX_SQL_PROFILES_PER_EXEC',50);dbms_sqltune.set_tuning_task_parameter('SSY_AUTO_SQL_TUNING_TASK','MAX_AUTO_SQL_PROFILES',10002); end;

?管理自動(dòng)sql調(diào)優(yōu)任務(wù)

1.開(kāi)啟自動(dòng)sql調(diào)優(yōu)

begindbms_auto_task_admin.enable(client_name => 'sql tuning advisor',operation => 'NULL',#在所有維護(hù)窗口都開(kāi)啟window_name => 'NULL'); end;

2.關(guān)閉自動(dòng)sql調(diào)優(yōu)

begindbms_auto_task_admin.disable(client_name => 'sql tuning advisor',operation => 'NULL',window_name => 'NULL'); end;

生成文本格式的自動(dòng)sql調(diào)優(yōu)建議報(bào)告:

SQL> variable my_rept CLOB; SQL> begin :my_rept := dbms_sqltune.report_auto_tuning_task(begin_exec=>NULL,end_exec=>NULL,type=>'TEXT',level=> 'TYPICAL',section=>'ALL',object_id=>NULL,result_limit=>NULL);end; SQL> print :my_rept

相關(guān)視圖:

-DBA_ADVISOR_EXECUTIONS
-DBA_ADVISOR_SQLSTATS
-DBA_ADVISOR_SQLPLANS ?

?

轉(zhuǎn)載于:https://www.cnblogs.com/wangchaoyuana/p/7532070.html

總結(jié)

以上是生活随笔為你收集整理的11g新特性-自动sql调优(Automatic SQL Tuning)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。