日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南

發(fā)布時間:2024/8/24 编程问答 51 如意码农
生活随笔 收集整理的這篇文章主要介紹了 [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第一章 ADDM簡介
       
       
在Oracle9i及之前,DBA們已經(jīng)擁有了很多很好用的性能分析工具,比如,tkprof、sql_trace、statspack、set
event
10046&10053等等。這些工具能夠幫助DBA很快的定位性能問題。但這些工具都只給出一些統(tǒng)計數(shù)據(jù),然后再由DBA們根據(jù)自己的經(jīng)驗進行
優(yōu)化。
       
那能不能由機器自動在統(tǒng)計數(shù)據(jù)的基礎(chǔ)上給出優(yōu)化建議呢?Oracle10g中就推出了新的優(yōu)化診斷工具:數(shù)據(jù)庫自動診斷監(jiān)視工具(Automatic
Database Diagnostic Monitor ADDM)和SQL優(yōu)化建議工具(SQL Tuning Advisor
STA)。這兩個工具的結(jié)合使用,能使DBA節(jié)省大量優(yōu)化時間,也大大減少了系統(tǒng)宕機的危險。簡單點說,ADDM就是收集相關(guān)的統(tǒng)計數(shù)據(jù)到自動工作量知識
庫(Automatic Workload Repository
AWR)中,而STA則根據(jù)這些數(shù)據(jù),給出優(yōu)化建議。例如,一個系統(tǒng)資源緊張,出現(xiàn)了明顯的性能問題,由以往的辦法,做個一個statspack快照,等
30分鐘,再做一次。查看報告,發(fā)現(xiàn)’ db file scattered read’事件在top 5
events里面。根據(jù)經(jīng)驗,這個事件一般可能是因為缺少索引、統(tǒng)計分析信息不夠新、熱表都放在一個數(shù)據(jù)文件上導致IO爭用等原因引起的。根據(jù)這些經(jīng)驗,
我們需要逐個來定位排除,比如查看語句的查詢計劃、查看user_tables的last_analysed子段,檢查熱塊等等步驟來最后定位出原因,并
給出優(yōu)化建議。但是,有了STA以后,它就可以根據(jù)ADDM采集到的數(shù)據(jù)直接給出優(yōu)化建議,甚至給出優(yōu)化后的語句(搶了DBA的飯碗嘍)。
        ADDM能發(fā)現(xiàn)定位的問題包括:
•        操作系統(tǒng)內(nèi)存頁入頁出問題
•        由于Oracle負載和非Oracle負載導致的CPU瓶頸問題
•        導致不同資源負載的Top SQL語句和對象——CPU消耗、IO帶寬占用、潛在IO問題、RAC內(nèi)部通訊繁忙
•        按照PLSQL和JAVA執(zhí)行時間排的Top SQL語句.
•        過多地連接 (login/logoff).
•        過多硬解析問題——由于shared pool過小、書寫問題、綁定大小不適應、解析失敗原因引起的。
•        過多軟解析問題
•        索引查詢過多導致資源爭用.
•        由于用戶鎖導致的過多的等待時間 (通過包dbms_lock加的鎖)
•        由于DML鎖導致的過多等待時間(例如鎖住表了)
•        由于管道輸出導致的過多等待時間(如通過包dbms_pipe.put進行管道輸出)
•        由于并發(fā)更新同一個記錄導致的過多等待時間(行級鎖等待)
•        由于ITL不夠?qū)е碌倪^多等待時間(大量的事務操作同一個數(shù)據(jù)塊)
•        系統(tǒng)中過多的commit和rollback(logfile sync事件).
•        由于磁盤帶寬太小和其他潛在問題(如由于logfile太小導致過多的checkpoint,MTTR設(shè)置問題,過多的undo操作等等)導致的IO性能問題I
•        對于DBWR進程寫數(shù)據(jù)塊,磁盤IO吞吐量不足
•        由于歸檔進程無法跟上redo日至產(chǎn)生的速度,導致系統(tǒng)變慢
•        redo數(shù)據(jù)文件太小導致的問題
•        由于擴展磁盤分配導致的爭用
•        由于移動一個對象的高水位導致的爭用問題
•        內(nèi)存太小問題——SGA Target, PGA, Buffer Cache, Shared Pool
•        在一個實例或者一個機群環(huán)境中存在頻繁讀寫爭用的熱塊
•        在一個實例或者一個機群環(huán)境中存在頻繁讀寫爭用的熱對象
•        RAC環(huán)境中內(nèi)部通訊問題

•        LMS進程無法跟上導致鎖請求阻塞
•        在RAC環(huán)境中由于阻塞和爭用導致的實例傾斜
•        RMAN導致的IO和CPU問題
•        Streams和AQ問題
•        資源管理等待事件

有一點要記住:AWR收集的數(shù)據(jù)時放到內(nèi)存中(share
pool),通過一個新的后臺進程MMON定期寫到磁盤中。所以10g的share
pool要求比以前版本更大,一般推薦比以前大15-20%。另外,還要求系統(tǒng)參數(shù)STATISTICS_LEVEL設(shè)置為TYPICAL(推薦)或
ALL;
ALTER SESSION SET STATISTICS_LEVEL= TYPICAL;

第二章 工作采集、診斷過程
        Oracle10g提供了一個圖形化的界面(通過OEM),使這個工具使用起來非常簡單。下面這里介紹一下如何通過sqlplus使用這個工具。這個工具的使用非常簡單,它是不需要安裝的。
第一步:創(chuàng)建測試用的表
SQL> CREATE TABLE bigtab AS SELECT rownum as "id", a.* FROM dba_objects a;

Table created.

SQL> create table smalltab as select rownum as "id", a.* FROM dba_tables a;

Table created.

SQL> ALTER TABLE bigtab MODIFY (empno NUMBER);

Table altered.

SQL> DECLARE
2       n NUMBER;
3    BEGIN
4       FOR n IN 1..100
5       LOOP
6           INSERT INTO bigtab SELECT rownum as "id", a.* FROM dba_objects a;
7           COMMIT;
8       END LOOP;
9   END;
/

PL/SQL procedure successfully completed.

第二步:采集一次工作量快照
SQL> begin
  2   dbms_workload_repository.create_snapshot('TYPICAL');
  3  end;
  4  /

PL/SQL procedure successfully completed.

第三步:進行一些高負荷操作
DECLARE
    v_var number;
BEGIN
    FOR n IN 1..6
    LOOP
        select count(*) into v_var from bigtab b, smalltab a;
    END LOOP;
END;
/

PL/SQL procedure successfully completed.

第四步:再次采集一次工作量快照
要注意的是:兩次快照之間的間隔時間必須足夠(一般推薦30分鐘左右),否則得到的ADDM報告中就會提示:THERE WAS NOT ENOUGH DATABASE TIME FOR ADDM ANALYSIS.
SQL> begin
  2   dbms_workload_repository.create_snapshot('TYPICAL');
  3  end;
  4  /

PL/SQL procedure successfully completed.

第五步:創(chuàng)建一個優(yōu)化診斷任務并執(zhí)行
先獲取到兩次快照的ID:
SQL> select snap_id from
  2  (SELECT * FROM dba_hist_snapshot
  3  ORDER BY snap_id desc)
  4  where rownum <=2;

SNAP_ID
--------
      66
      65

然后創(chuàng)建優(yōu)化任務,并執(zhí)行。

DECLARE
    task_name VARCHAR2(30) := 'DEMO_ADDM01';
    task_desc VARCHAR2(30) := 'ADDM Feature Test';
    task_id NUMBER;
BEGIN
    dbms_advisor.create_task('ADDM', task_id, task_name, task_desc, null);
    dbms_advisor.set_task_parameter(task_name, 'START_SNAPSHOT', 65);
    dbms_advisor.set_task_parameter(task_name, 'END_SNAPSHOT', 66);
    dbms_advisor.set_task_parameter(task_name, 'INSTANCE', 1);
    dbms_advisor.set_task_parameter(task_name, 'DB_ID', 1712582900);
    dbms_advisor.execute_task(task_name);
END;
/

PL/SQL procedure successfully completed.

其中,set_task_parameter是用來設(shè)置任務參數(shù)的。START_SNAPSHOT是起始快照ID,END_SNAPSHOT是結(jié)束快照
ID,INSTANCE是實例號,對于單實例,一般是1,在RAC環(huán)境下,可以通過查詢視圖v$instance得到,DB_ID是數(shù)據(jù)庫的唯一識別號,
可以通過查詢v$database查到。

第六步:查看優(yōu)化建議結(jié)果
通知函數(shù)dbms_advisor.get_task_report可以得到優(yōu)化建議結(jié)果。

SQL> SET LONG 1000000 PAGESIZE 0 LONGCHUNKSIZE 1000
SQL> COLUMN get_clob FORMAT a80
SQL> SELECT dbms_advisor.get_task_report('DEMO_ADDM01', 'TEXT', 'ALL') FROM DUAL;

DBMS_ADVISOR.GET_TASK_REPORT('
--------------------------------------------------------------------------------
          DETAILED ADDM REPORT FOR TASK 'DEMO_ADDM01' WITH ID 243
          -------------------------------------------------------

Analysis Period: 23-NOV-2005 from 15:02:27 to 16:06:42
         Database ID/Instance: 1712582900/1
      Database/Instance Names: EDGAR/edgar
                    Host Name: HUANGED
             Database Version: 10.2.0.1.0
               Snapshot Range: from 65 to 66
                Database Time: 1463 seconds
        Average Database Load: .4 active sessions

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

FINDING 1: 100% impact (1463 seconds)
-------------------------------------
Significant virtual memory paging was detected on the host operating system.

RECOMMENDATION 1: Host Configuration, 100% benefit (1463 seconds)
      ACTION: Host operating system was experiencing significant paging but no
         particular root cause could be detected. Investigate processes that
         do not belong to this instance running on the host that are consuming
         significant amount of virtual memory. Also consider adding more
         physical memory to the host.

FINDING 2: 100% impact (1463 seconds)
-------------------------------------
SQL statements consuming significant database time were found.

RECOMMENDATION 1: SQL Tuning, 68% benefit (998 seconds)
      ACTION: Tune the PL/SQL block with SQL_ID "064wqx7c5b81z". Refer to the
         "Tuning PL/SQL Applications" chapter of Oracle's "PL/SQL User's Guide
         and Reference"
         RELEVANT OBJECT: SQL statement with SQL_ID 064wqx7c5b81z
         DECLARE
         v_var number;
         BEGIN
         FOR n IN 1..10000
         LOOP
         select count(*) into v_var from bigtab b, smalltab a;
         END LOOP;
         END;

RECOMMENDATION 2: SQL Tuning, 67% benefit (986 seconds)
      ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID
         "fvqfghq71cqns".
         RELEVANT OBJECT: SQL statement with SQL_ID fvqfghq71cqns and
         PLAN_HASH 3281046854
         SELECT COUNT(*) FROM BIGTAB B, SMALLTAB A
      RATIONALE: SQL statement with SQL_ID "fvqfghq71cqns" was executed 6
         times and had an average elapsed time of 166 seconds.

FINDING 3: 69% impact (1002 seconds)
------------------------------------
Time spent on the CPU by the instance was responsible for a substantial part
of database time.

RECOMMENDATION 1: SQL Tuning, 67% benefit (986 seconds)
      ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID
         "fvqfghq71cqns".
         RELEVANT OBJECT: SQL statement with SQL_ID fvqfghq71cqns and
         PLAN_HASH 3281046854
         SELECT COUNT(*) FROM BIGTAB B, SMALLTAB A
      RATIONALE: SQL statement with SQL_ID "fvqfghq71cqns" was executed 6
         times and had an average elapsed time of 166 seconds.
      RATIONALE: Average CPU used per execution was 162 seconds.

RECOMMENDATION 2: SQL Tuning, 2.1% benefit (30 seconds)
      ACTION: Tune the PL/SQL block with SQL_ID "2b064ybzkwf1y". Refer to the
         "Tuning PL/SQL Applications" chapter of Oracle's "PL/SQL User's Guide
         and Reference"
         RELEVANT OBJECT: SQL statement with SQL_ID 2b064ybzkwf1y
         BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
      RATIONALE: SQL statement with SQL_ID "2b064ybzkwf1y" was executed 125
         times and had an average elapsed time of 0.26 seconds.
      RATIONALE: Average CPU used per execution was 0.24 seconds.

FINDING 4: 2.2% impact (33 seconds)
-----------------------------------
PL/SQL execution consumed significant database time.

RECOMMENDATION 1: SQL Tuning, 2.2% benefit (33 seconds)
      ACTION: Tune the PL/SQL block with SQL_ID "2b064ybzkwf1y". Refer to the
         "Tuning PL/SQL Applications" chapter of Oracle's "PL/SQL User's Guide
         and Reference"
         RELEVANT OBJECT: SQL statement with SQL_ID 2b064ybzkwf1y
         BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
      RATIONALE: SQL statement with SQL_ID "2b064ybzkwf1y" was executed 125
         times and had an average elapsed time of 0.26 seconds.
      RATIONALE: Average time spent in PL/SQL execution was 0.26 seconds.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ADDITIONAL INFORMATION
          ----------------------

Wait class "Application" was not consuming significant database time.
Wait class "Commit" was not consuming significant database time.
Wait class "Concurrency" was not consuming significant database time.
Wait class "Configuration" was not consuming significant database time.
Wait class "Network" was not consuming significant database time.
Wait class "User I/O" was not consuming significant database time.
Session connect and disconnect calls were not consuming significant database
time.
Hard parsing of SQL statements was not consuming significant database time.

The analysis of I/O performance is based on the default assumption that the
average read time for one database block is 10000 micro-seconds.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TERMINOLOGY
          -----------

DATABASE TIME: This is the ADDM's measurement of throughput. From the user's
   point of view: this is the total amount of time spent by users waiting for
   a response from the database after issuing a call (not including
   networking). From the database instance point of view: this is the total
   time spent by forground processes waiting for a database resource (e.g.,
   read I/O), running on the CPU and waiting for a free CPU (run-queue). The
   target of ADDM analysis is to reduce this metric as much as possible,
   thereby reducing the instance's response time.

AVERAGE DATABASE LOAD: At any given time we can count how many users (also
   called 'Active Sessions') are waiting for an answer from the instance. This
   is the ADDM's measurement for instance load. The 'Average Database Load' is
   the average of the the load measurement taken over the entire analysis
   period. We get this number by dividing the 'Database Time' by the analysis
   period. For example, if the analysis period is 30 minutes and the 'Database
   Time' is 90 minutes, we have an average of 3 users waiting for a response.

IMPACT: Each finding has an 'Impact' associated with it. The impact is the
   portion of the 'Database Time' the finding deals with. If we assume that
   the problem described by the finding is completely solved, then the
   'Database Time' will be reduced by the amount of the 'Impact'.

BENEFIT: Each recommendation has a 'benefit' associated with it. The ADDM
   analysis estimates that the 'Database Time' can be reduced by the 'benefit'
   amount if all the actions of the recommendation are performed.

說明:
        其中第五步到第六步可以直接執(zhí)行$ORACLE_HOME/rdbms/admin/addmrpt.sql來得到,這個腳本的執(zhí)行過程和statspack腳本執(zhí)行過程類似:
SQL> @addmrpt

Current Instance
~~~~~~~~~~~~~~~~

DB Id    DB Name      Inst Num Instance
----------- ------------ -------- ------------
1712582900 EDGAR               1 edgar

Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB Id     Inst Num DB Name      Instance     Host
------------ -------- ------------ ------------ ------------
* 1712582900        1 EDGAR        edgar        HUANGED

Using 1712582900 for database Id
Using          1 for instance number

Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing <return> without
specifying a number lists all completed snapshots.

Listing the last 3 days of Completed Snapshots

Snap
Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
edgar        EDGAR                7 22 Nov 2005 00:00      1
... ...
                                 64 23 Nov 2005 15:02      1
                                 65 23 Nov 2005 16:00      1
                                 66 23 Nov 2005 16:06      1

Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 65
Begin Snapshot Id specified: 66

Enter value for end_snap: 66
End   Snapshot Id specified: 66

Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is addmrpt_1_65_66.txt.  To use this name,
press <return> to continue, otherwise enter an alternative.

Enter value for report_name:

Using the report name addmrpt_1_65_66.txt

Running the ADDM analysis on the specified pair of snapshots ...

Generating the ADDM report for this analysis ...

... ...

此外,如果是RAC環(huán)境下,可以執(zhí)行$ORACLE_HOME/rdbms/admin/addmrpti.sql,這腳本的執(zhí)行,會多出要求輸入DB ID和instance ID的要求。

第三章 診斷結(jié)果分析

我們從上面的建議結(jié)果看到了,ADDM Report的結(jié)果與Statspack Report的結(jié)果大不相同。Statspack
Report的結(jié)果給出的都是統(tǒng)計數(shù)據(jù)、各種事件,然后由DBA根據(jù)這些數(shù)據(jù)給出優(yōu)化建議,而ADDM
Report的結(jié)果包含就已經(jīng)是給出的優(yōu)化建議了(汗!DBA以后要失業(yè)了!)
第一部分:
              Analysis Period: 23-NOV-2005 from 15:02:27 to 16:06:42
         Database ID/Instance: 1712582900/1
      Database/Instance Names: EDGAR/edgar
                    Host Name: HUANGED
             Database Version: 10.2.0.1.0
               Snapshot Range: from 65 to 66
                Database Time: 1463 seconds
        Average Database Load: .4 active sessions

這一部分包括一些基礎(chǔ)信息,分析時間段、DB和instance ID&名字、主機名字、Oracle版本、快照范圍、數(shù)據(jù)庫消耗時間、多少個活動會話。
第二部分:
        下面就是ADDM發(fā)現(xiàn)的問題,并給出的相應建議。在我們這個例子中總共發(fā)現(xiàn)4個問題,下面一一解釋一下。第一個問題:
FINDING 1: 100% impact (1463 seconds)
-------------------------------------
Significant virtual memory paging was detected on the host operating system.

RECOMMENDATION 1: Host Configuration, 100% benefit (1463 seconds)
      ACTION: Host operating system was experiencing significant paging but no
         particular root cause could be detected. Investigate processes that
         do not belong to this instance running on the host that are consuming
         significant amount of virtual memory. Also consider adding more
         physical memory to the host.
        先看第一行:100% impact (1463
seconds),這是這個問題所持續(xù)的實踐及其對系統(tǒng)的影響,它的時間是1463秒,和分析期間的數(shù)據(jù)庫消耗時間(在第一部分中)是一樣(1463
秒),所以對系統(tǒng)的影響是1463/1463*100=100%的。
        再看第二行:Significant virtual memory paging was detected on the host
operating system.,這是ADDM發(fā)現(xiàn)的這個問題的具體描述:在操作系統(tǒng)中發(fā)現(xiàn)有顯著的虛擬內(nèi)存頁入頁出的問題。
        然后看ADDM給出的建議及其作用:Host Configuration, 100% benefit (1463 seconds)——更改主機配置,100%有效。
       
最后是具體該如何操作:略——在主機的操作系統(tǒng)上發(fā)現(xiàn)了明顯的頁入頁出,但是沒有發(fā)現(xiàn)明顯導致內(nèi)存頻繁換如換出的根本原因。需要仔細檢查那些消耗大量虛擬
內(nèi)存的進程(除Oracle實例外)。此外,還可以考慮增大主機的物理內(nèi)存。說明一下:我的這個實例是跑在我自己的PC機上,Oracle運行的同時有大
量的其他消耗內(nèi)存的程序(word等)在運行,所以肯定有大量的內(nèi)存交換存在。
        再看第二個問題:
FINDING 2: 100% impact (1463 seconds)
-------------------------------------
SQL statements consuming significant database time were found.

RECOMMENDATION 1: SQL Tuning, 68% benefit (998 seconds)
      ACTION: Tune the PL/SQL block with SQL_ID "064wqx7c5b81z". Refer to the
         "Tuning PL/SQL Applications" chapter of Oracle's "PL/SQL User's Guide
         and Reference"
         RELEVANT OBJECT: SQL statement with SQL_ID 064wqx7c5b81z
         DECLARE
         v_var number;
         BEGIN
         FOR n IN 1..10000
         LOOP
         select count(*) into v_var from bigtab b, smalltab a;
         END LOOP;
         END;
        ADDM發(fā)現(xiàn)有SQL語句在消耗大量數(shù)據(jù)庫時間,它的影響是100%的。給出的建議是優(yōu)化SQL,能取得68%的效果。
        具體操作是優(yōu)化ADDM找到的PL/SQL塊,它的SQL_ID是"064wqx7c5b81z"(可以通過select
sql_text from v$sql where
sql_id=’064wqx7c5b81z’;查到)。至于如何優(yōu)化SQL語句,可以參考Oracle文檔PL/SQL User's Guide
and Reference中的Tuning PL/SQL Applications章節(jié)。下面的內(nèi)容便是我們用來插入數(shù)據(jù)的測試語句。
        下面是ADDM發(fā)現(xiàn)的其他問題語句:
FINDING 3: 69% impact (1002 seconds)
------------------------------------
Time spent on the CPU by the instance was responsible for a substantial part
of database time.

RECOMMENDATION 1: SQL Tuning, 67% benefit (986 seconds)
      ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID
         "fvqfghq71cqns".
         RELEVANT OBJECT: SQL statement with SQL_ID fvqfghq71cqns and
         PLAN_HASH 3281046854
         SELECT COUNT(*) FROM BIGTAB B, SMALLTAB A
      RATIONALE: SQL statement with SQL_ID "fvqfghq71cqns" was executed 6
         times and had an average elapsed time of 166 seconds.
      RATIONALE: Average CPU used per execution was 162 seconds.

RECOMMENDATION 2: SQL Tuning, 2.1% benefit (30 seconds)
      ACTION: Tune the PL/SQL block with SQL_ID "2b064ybzkwf1y". Refer to the
         "Tuning PL/SQL Applications" chapter of Oracle's "PL/SQL User's Guide
         and Reference"
         RELEVANT OBJECT: SQL statement with SQL_ID 2b064ybzkwf1y
         BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
      RATIONALE: SQL statement with SQL_ID "2b064ybzkwf1y" was executed 125
         times and had an average elapsed time of 0.26 seconds.
      RATIONALE: Average CPU used per execution was 0.24 seconds.
        這個問題的描述是,實例消耗的CPU事件占據(jù)了大量的數(shù)據(jù)庫運行時間。由于發(fā)現(xiàn)了兩條問題語句,所以這里有兩個建議。
        第一個建議就是優(yōu)化我們的測試語句。并且說明了這個問題的根本原因:這條語句總共執(zhí)行過6次,平均每次消耗了166秒。平均這個問題消耗的CPU時間是162秒。
        第二個建議實際上是針對一個系統(tǒng)過程,這個過程是用來讀取隊列信息的,消耗的資源比較小,我們這里就不需要關(guān)心了。
        再看最后一個問題:
FINDING 4: 2.2% impact (33 seconds)
-----------------------------------
PL/SQL execution consumed significant database time.

RECOMMENDATION 1: SQL Tuning, 2.2% benefit (33 seconds)
      ACTION: Tune the PL/SQL block with SQL_ID "2b064ybzkwf1y". Refer to the
         "Tuning PL/SQL Applications" chapter of Oracle's "PL/SQL User's Guide
         and Reference"
         RELEVANT OBJECT: SQL statement with SQL_ID 2b064ybzkwf1y
         BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
      RATIONALE: SQL statement with SQL_ID "2b064ybzkwf1y" was executed 125
         times and had an average elapsed time of 0.26 seconds.
      RATIONALE: Average time spent in PL/SQL execution was 0.26 seconds.
        從內(nèi)容上看,這個問題就是上一個問題中的第二個建議。但是,它導致的結(jié)果是不一樣的。看這個問題的描述:PL/SQL的執(zhí)行次數(shù)消耗了大量的數(shù)據(jù)庫時間。它的根本原因是因為執(zhí)行次數(shù)太多(125次)。可見ADDM的問題檢查相當全面。

第三部分:
        這一部分的內(nèi)容是關(guān)于此次優(yōu)化建議的一些附加信息:
          ADDITIONAL INFORMATION
          ----------------------

Wait class "Application" was not consuming significant database time.
Wait class "Commit" was not consuming significant database time.
Wait class "Concurrency" was not consuming significant database time.
Wait class "Configuration" was not consuming significant database time.
Wait class "Network" was not consuming significant database time.
Wait class "User I/O" was not consuming significant database time.
Session connect and disconnect calls were not consuming significant database
time.
Hard parsing of SQL statements was not consuming significant database time.

The analysis of I/O performance is based on the default assumption that the
average read time for one database block is 10000 micro-seconds.
       
這是關(guān)于這次優(yōu)化診斷對各類事件(在Oracle10g,新增了很多新的事件,主要是將原先一些較含糊的事件細化了,同時將所有事件進行了歸類。可以查看
視圖V$SYSTEM_WAIT_CLASS)的一些總結(jié):Application、Commit、Concurrency、
Configuration、Network、User
I/O類等待事件沒有顯著消耗數(shù)據(jù)庫時間;會話連接、斷連請求沒有消耗大量數(shù)據(jù)庫時間;對SQL語句的硬解析沒有消耗大量數(shù)據(jù)庫時間;對IO性能的分析是
基于默認假設(shè)每次讀一個數(shù)據(jù)塊的時間是10000微秒的。
第四部分:
        這部分是對診斷報告中用到的術(shù)語的解釋:
          TERMINOLOGY
          -----------

DATABASE TIME: This is the ADDM's measurement of throughput. From the user's
   point of view: this is the total amount of time spent by users waiting for
   a response from the database after issuing a call (not including
   networking). From the database instance point of view: this is the total
   time spent by forground processes waiting for a database resource (e.g.,
   read I/O), running on the CPU and waiting for a free CPU (run-queue). The
   target of ADDM analysis is to reduce this metric as much as possible,
   thereby reducing the instance's response time.

AVERAGE DATABASE LOAD: At any given time we can count how many users (also
   called 'Active Sessions') are waiting for an answer from the instance. This
   is the ADDM's measurement for instance load. The 'Average Database Load' is
   the average of the the load measurement taken over the entire analysis
   period. We get this number by dividing the 'Database Time' by the analysis
   period. For example, if the analysis period is 30 minutes and the 'Database
   Time' is 90 minutes, we have an average of 3 users waiting for a response.

IMPACT: Each finding has an 'Impact' associated with it. The impact is the
   portion of the 'Database Time' the finding deals with. If we assume that
   the problem described by the finding is completely solved, then the
   'Database Time' will be reduced by the amount of the 'Impact'.

BENEFIT: Each recommendation has a 'benefit' associated with it. The ADDM
   analysis estimates that the 'Database Time' can be reduced by the 'benefit'
   amount if all the actions of the recommendation are performed.
       
        DATABASE
TIME:是ADDM的度量數(shù)據(jù)。從用戶角度看:這是從向數(shù)據(jù)庫請求開始,消耗在用戶等待響應上的全部時間(不包括網(wǎng)絡響應時間);從數(shù)據(jù)庫實例角度看:
前臺進程消耗在等待一種數(shù)據(jù)庫資源(例如,IO讀)、CPU運行和等待CPU釋放(隊列等待)的總共時間。ADDM分析的目標就盡量降低這個數(shù)字,也就是
減少實例響應時間。
        AVERAGE DATABASE
LOAD:所有能統(tǒng)計到的有多少用戶(也稱為“活動會話”)等待實例響應。這是實例負荷的度量指標。平均數(shù)據(jù)庫負荷是由整個分析計算出來的平均負荷。通過
“Database Time”除以分析周期時間得到。例如,分析周期時30分鐘,而數(shù)據(jù)庫運行消耗時間是90分鐘,那就說明平均有3個用戶在等待響應。
        IMPACT:每一個找到的問題都有“影響”這一項。“影響”是數(shù)據(jù)庫消耗時間用于處理這個問題的時間不分。假定我們所找到的這個問題完全解決,那么數(shù)據(jù)庫消耗時間就會相應減少“影響”時間。
        BENEFIT:每一個找到的問題都“受益”這一項。如果所有建議操作得到實施,ADDM分析估計數(shù)據(jù)庫消耗時間能減少“受益”的全部時間。

第四章 使用STA來優(yōu)化語句
        ADDM得出了診斷結(jié)果,并給出了優(yōu)化建議。通常90%的性能問題都是由于應用引起的,而應用問題肯定離不開問題語句。那么如何優(yōu)化這些語句呢,以前靠的是DBA的經(jīng)驗,現(xiàn)在就可以使用STA了。
        備注:關(guān)于STA的使用,請參考我的另一篇文章《利用SQL優(yōu)化器(STA)優(yōu)化語句》
        STA的使用非常簡單,從ADDM診斷報告中,發(fā)現(xiàn)有一個與句很影響系統(tǒng)性能,我們就對這條語句進行優(yōu)化:
第一步:創(chuàng)建優(yōu)化任務并執(zhí)行
SQL> DECLARE
  2    my_task_name VARCHAR2(30);
  3    my_sqltext CLOB;
  4  BEGIN
  5    my_sqltext := 'select a.table_name, b.object_id from bigtab b, smalltab a';
  6  
  7    my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
  8                             sql_text => my_sqltext,
  9                             user_name => 'DEMO',
10                             scope => 'COMPREHENSIVE',
11                             time_limit => 60,
12                             task_name => 'TEST_sql_tuning_task',
13                             description => 'Task to tune a query on a specified PRODUCT');
14  
15    dbms_sqltune.Execute_tuning_task (task_name => 'TEST_sql_tuning_task');
16  END;
17  /

PL/SQL procedure successfully completed       
       
       
DBMS_SQLTUNE.CREATE_TUNING_TASK就是用來創(chuàng)建優(yōu)化任務的函數(shù)。其中,sql_text是需要優(yōu)化的語
句,user_name是該語句通過哪個用戶執(zhí)行,scope是優(yōu)化范圍(limited或comprehensive),time_limit優(yōu)化過程
的時間限制,task_name優(yōu)化任務名稱,description優(yōu)化任務描述。
        dbms_sqltune.Execute_tuning_task是執(zhí)行優(yōu)化的函數(shù)。
第二步:查看優(yōu)化建議結(jié)果
SQL> set long 10000
SQL> set longchunksize 1000
Cannot SET LONGCHUNKSIZE

SQL> set linesize 100
SQL> SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('TEST_sql_tuning_task') FROM DUAL;

DBMS_SQLTUNE.REPORT_TUNING_TAS
--------------------------------------------------------------------------------
GENERAL INFORMATION SECTION
-------------------------------------------------------------------------------
Tuning Task Name                  : TEST_sql_tuning_task
Tuning Task Owner                 : DEMO
Scope                             : COMPREHENSIVE
Time Limit(seconds)               : 60
Completion Status                 : COMPLETED
Started at                        : 11/24/2005 14:46:23
Completed at                      : 11/24/2005 14:46:24
Number of SQL Restructure Findings: 1

-------------------------------------------------------------------------------
Schema Name: DEMO
SQL ID     : f5k29d73zdpsd
SQL Text   : select a.table_name, b.object_id from bigtab b, smalltab a

-------------------------------------------------------------------------------
FINDINGS SECTION (1 finding)
-------------------------------------------------------------------------------

1- Restructure SQL finding (see plan 1 in explain plans section)
----------------------------------------------------------------
  An expensive cartesian product operation was found at line ID 1 of the
  execution plan.

Recommendation
  --------------
  - Consider removing the disconnected table or view from this statement or
    add a join condition which refers to it.

Rationale
  ---------
    A cartesian product should be avoided whenever possible because it is an
    expensive operation and might produce a large amount of data.

-------------------------------------------------------------------------------
EXPLAIN PLANS SECTION
-------------------------------------------------------------------------------

1- Original
-----------
Plan hash value: 3479921507

--------------------------------------------------------------------------------
| Id  | Operation            | Name     | Rows  | Bytes | Cost (%CPU)| Time
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT     |          |  1474M|    32G|  4316K  (2)| 14:23:21
|   1 |  MERGE JOIN CARTESIAN|          |  1474M|    32G|  4316K  (2)| 14:23:21
|   2 |   TABLE ACCESS FULL  | SMALLTAB |  1223 | 23237 |    11   (0)| 00:00:01
|   3 |   BUFFER SORT        |          |  1205K|  5887K|  4316K  (2)| 14:23:21
|   4 |    TABLE ACCESS FULL | BIGTAB   |  1205K|  5887K|  3530   (2)| 00:00:43
--------------------------------------------------------------------------------

-------------------------------------------------------------------------------

優(yōu)化建議結(jié)果分為三部分,下面簡單介紹一下每個部分。
第一部分:
        和所有Oracle的報告一樣,第一部分總是基礎(chǔ)信息?。
GENERAL INFORMATION SECTION
-------------------------------------------------------------------------------
Tuning Task Name                  : TEST_sql_tuning_task
Tuning Task Owner                 : DEMO
Scope                             : COMPREHENSIVE
Time Limit(seconds)               : 60
Completion Status                 : COMPLETED
Started at                        : 11/24/2005 14:46:23
Completed at                      : 11/24/2005 14:46:24
Number of SQL Restructure Findings: 1

-------------------------------------------------------------------------------
Schema Name: DEMO
SQL ID     : f5k29d73zdpsd
SQL Text   : select a.table_name, b.object_id from bigtab b, smalltab a
        這部分信息包括:任務名稱、任務所有者、任務范圍、任務執(zhí)行時間限制(前面幾個信息實際上就是我們創(chuàng)建任務時指定的參數(shù))、任務狀態(tài)、任務開始時間、完成時間、發(fā)現(xiàn)的需要重新構(gòu)造的問題語句數(shù)量。接下來就是schema名稱、SQL ID和SQL內(nèi)容。
第二部分:
        這部分是優(yōu)化器發(fā)現(xiàn)的需要優(yōu)化的語句,在我們的例子中,肯定只有一條:
-------------------------------------------------------------------------------
FINDINGS SECTION (1 finding)
-------------------------------------------------------------------------------

1- Restructure SQL finding (see plan 1 in explain plans section)
----------------------------------------------------------------
  An expensive cartesian product operation was found at line ID 1 of the
  execution plan.

Recommendation
  --------------
  - Consider removing the disconnected table or view from this statement or
    add a join condition which refers to it.

Rationale
  ---------
    A cartesian product should be avoided whenever possible because it is an
    expensive operation and might produce a large amount of data.
       
        首先是在查詢計劃中發(fā)現(xiàn)的問題:在語句1的查詢計劃中發(fā)現(xiàn)有很大的笛卡爾積操作(顯然,我們的語句是一個外連接操作,做的就是迪卡爾積操作);
        其次是針對問題給出的建議:考慮將不需要做連接查詢的表或視圖去掉,或者增加一個連接條件;
        最后導致問題的根本原因:由于迪卡爾積是一個會產(chǎn)生很大數(shù)據(jù)量的消耗資源的操作,所以需要盡量避免迪卡爾積操作。
第三部分:
        這一部分是SQL語句的查詢計劃。
-------------------------------------------------------------------------------
EXPLAIN PLANS SECTION
-------------------------------------------------------------------------------

1- Original
-----------
Plan hash value: 3479921507

--------------------------------------------------------------------------------
| Id  | Operation            | Name     | Rows  | Bytes | Cost (%CPU)| Time
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT     |          |  1474M|    32G|  4316K  (2)| 14:23:21
|   1 |  MERGE JOIN CARTESIAN|          |  1474M|    32G|  4316K  (2)| 14:23:21
|   2 |   TABLE ACCESS FULL  | SMALLTAB |  1223 | 23237 |    11   (0)| 00:00:01
|   3 |   BUFFER SORT        |          |  1205K|  5887K|  4316K  (2)| 14:23:21
|   4 |    TABLE ACCESS FULL | BIGTAB   |  1205K|  5887K|  3530   (2)| 00:00:43
--------------------------------------------------------------------------------

-------------------------------------------------------------------------------
        這里給出的是語句優(yōu)化前的原始查詢計劃。如果優(yōu)化器認為這條語句需要重寫,它還會給出重寫后的查詢計劃。

總結(jié)

以上是生活随笔為你收集整理的[转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

亚洲午夜精品在线观看 | 婷婷精品在线视频 | 久草在线99 | 在线观看mv的中文字幕网站 | 久久久久亚洲精品男人的天堂 | 九九在线高清精品视频 | 天天操欧美 | 久久精精品视频 | 精品国自产在线观看 | 午夜12点| 亚洲成人黄色在线 | 欧美91精品久久久久国产性生爱 | 丁香六月婷 | 日日草av| 99色亚洲 | 日韩午夜精品 | 亚洲精品美女久久 | 久久黄色影视 | 久久黄色片子 | 久久精品综合网 | www五月天| 亚洲精品动漫成人3d无尽在线 | 中文字幕你懂的 | 欧美日在线观看 | 日韩久久片 | 91成人看片 | 中文字幕高清av | 天堂中文在线播放 | 黄网站免费久久 | 国产欧美日韩一区 | 国内一级片在线观看 | 免费在线播放黄色 | 成人在线免费观看视视频 | 久久久久久久网站 | 国内精品视频在线 | 日韩黄色一区 | 狠狠色丁香久久婷婷综 | 国产精品av久久久久久无 | 国产精品va | 亚洲精品国内 | 99精品国产免费久久久久久下载 | 最近2019中文免费高清视频观看www99 | 久草在线官网 | 亚洲精品理论 | 亚洲精品美女久久久久 | 国产一级片在线播放 | 国产爽视频 | 手机看片国产 | 久久久不卡影院 | 高清免费av在线 | 精品视频久久久久久 | 午夜精品成人一区二区三区 | 在线观看蜜桃视频 | 一区二区视频在线免费观看 | 黄色日视频 | 国产一级视频在线 | 国产最新91 | av性网站 | 天天做夜夜做 | 色偷偷88888欧美精品久久 | 免费网站色| 夜夜躁狠狠躁 | 九色福利视频 | 最近日韩免费视频 | 一区二区三区电影 | 天天射夜夜爽 | 久久视频国产精品免费视频在线 | 国产一区二区免费在线观看 | 爱av在线网| 亚洲在线视频免费观看 | 久久99精品久久只有精品 | 久久精品国产亚洲 | 人人讲下载 | 成人精品一区二区三区中文字幕 | 久久久亚洲精华液 | 亚洲理论在线观看电影 | 国产精品一区二区 91 | 99riav1国产精品视频 | 国产成人久久精品77777综合 | 美女黄久久 | 久久久久久久久免费视频 | www.色爱| 毛片888| 中文字幕 在线看 | 国产精品一级在线 | 色资源网在线观看 | 国产高清视频色在线www | 成人小电影在线看 | 国产免费一区二区三区最新 | 国产免费av一区二区三区 | 久av电影 | 成人av在线播放网站 | 97在线看| 免费精品视频在线 | 国产小视频国产精品 | 国产色 在线 | 国产大尺度视频 | 成人黄大片视频在线观看 | 国内丰满少妇猛烈精品播放 | 欧美大片在线看免费观看 | 99精品国产99久久久久久97 | 成人羞羞视频在线观看免费 | 亚洲在线精品 | 欧美色伊人 | 在线看污网站 | 久精品视频在线观看 | 日韩av影视在线观看 | 开心综合网 | 欧美一级久久久 | 亚洲1级片| 欧美日韩一级在线 | 福利视频在线看 | 欧美激情综合五月色丁香 | 国产婷婷久久 | 亚洲国产免费网站 | 韩国精品在线观看 | 久久视频热 | 国产视频不卡一区 | 日韩爱爱片 | 91av综合| 美女搞黄国产视频网站 | 97超级碰碰 | 国产精品日韩高清 | 久久国产系列 | 特级西西444www大精品视频免费看 | 色综合天天狠天天透天天伊人 | 亚洲精品在线二区 | 欧美激情第八页 | 久久久91精品国产一区二区三区 | 欧美国产日韩一区二区 | 日韩一区二区三免费高清在线观看 | 中文字幕欧美激情 | 激情黄色一级片 | 911国产在线观看 | 91久久精品一区二区二区 | 免费91麻豆精品国产自产在线观看 | 91一区二区三区在线观看 | 最近高清中文在线字幕在线观看 | 亚洲欧美日韩精品一区二区 | 久草亚洲视频 | 国产成人精品一区二 | 特级毛片在线免费观看 | 全久久久久久久久久久电影 | 免费观看xxxx9999片 | 精品嫩模福利一区二区蜜臀 | 免费观看久久久 | 99热超碰在线 | 最近乱久中文字幕 | 色a网| 久久观看免费视频 | 黄色av一级 | 毛片视频电影 | 成人网页在线免费观看 | 九九九九九九精品任你躁 | 九九久久影视 | 亚洲精品中文在线观看 | 在线观看中文字幕dvd播放 | 亚洲精品在线免费 | 亚洲精品tv久久久久久久久久 | 免费久久久 | 精品久久一 | 精品uu| a级片在线播放 | 久久中文字幕视频 | 啪啪av在线 | 激情婷婷丁香 | 天天爽天天爽夜夜爽 | www夜夜操| 国产精品久久一区二区三区, | 人人干免费 | 一区二区三区免费看 | 岛国av在线 | 一区二区理论片 | 国产一区二区精品 | 丁香激情网 | 992tv人人网tv亚洲精品 | 69视频国产| 开心色婷婷 | 日本久久精 | 91精品久久香蕉国产线看观看 | 人人爽人人搞 | 国产午夜激情视频 | 免费不卡中文字幕视频 | 91男人影院 | 天天操夜夜操国产精品 | 97人人添人澡人人爽超碰动图 | 国产成人精品一区二区三区 | 热久久最新地址 | 久久中文精品视频 | 国产午夜精品久久 | 国产一区二区在线观看免费 | 午夜av日韩| 精品在线一区二区三区 | 日日夜夜中文字幕 | 国产一区二区不卡视频 | a色视频| av观看网站| 99re国产| 成人午夜电影网 | 国产视频在线观看一区 | 国产精品国产毛片 | a级国产片 | 国产99久久精品一区二区300 | 99热九九这里只有精品10 | 草久在线播放 | 在线免费亚洲 | 国产中文欧美日韩在线 | 国产一二三区av | 久久久久综合精品福利啪啪 | 国产一区二区三区免费在线 | 国产精品美女久久久久久久网站 | 久久综合亚洲鲁鲁五月久久 | 亚洲传媒在线 | 欧美日韩国产在线观看 | 色一级片| 亚洲天堂网在线观看视频 | 婷婷 综合 色 | 日韩试看 | 奇米先锋 | 18国产精品福利片久久婷 | 国产精品999久久久 久产久精国产品 | 久草在线视频首页 | 国产精品无av码在线观看 | 69国产成人综合久久精品欧美 | 超碰免费成人 | 国产精品久久一区二区无卡 | 国产资源在线视频 | 97精品国产91久久久久久 | 黄色一及电影 | 久久久久久久久久电影 | 色99视频| 精品久久久精品 | 色婷婷激情网 | 欧洲成人av | 91精品国产91 | 国产精品一区欧美 | 97人人超 | 日日骑 | 国产精品毛片一区视频播 | 伊人久久国产 | 日韩美在线观看 | 天天干天天拍天天操 | 久久久免费视频播放 | 色多多污污 | 91c网站色版视频 | 激情五月综合 | 欧美日韩亚洲第一页 | 午夜色婷婷| 久久亚洲免费视频 | 日韩久久久久久久 | 91精品国产网站 | 中文字幕资源网在线观看 | 五月天国产 | 色天天综合久久久久综合片 | a视频在线 | 日韩在线免费 | 亚洲成人av在线 | 中文字幕高清 | 国产欧美最新羞羞视频在线观看 | 国产精品96久久久久久吹潮 | 精品美女国产在线 | 激情深爱.com | 久久91久久久久麻豆精品 | av网站免费在线 | 欧美成人精品三级在线观看播放 | 国产免费观看高清完整版 | 成人一区二区三区在线 | a视频在线观看免费 | 亚洲在线视频免费 | 黄色一级在线免费观看 | 水蜜桃亚洲一二三四在线 | 国产精品一区二区免费在线观看 | 国产一区二区在线视频观看 | 亚洲激情精品 | 亚洲在线不卡 | 激情婷婷久久 | 麻豆免费精品视频 | 9797在线看片亚洲精品 | 久久理论电影网 | 久久免费视频一区 | 日本久久中文字幕 | 不卡视频一区二区三区 | 日日久视频 | 欧美成人精品xxx | 九九热在线视频 | a色视频| 天天添夜夜操 | avwww在线观看 | 日韩手机在线观看 | 黄色影院在线观看 | 久久一区二区免费视频 | 日韩精品一区二区三区在线播放 | 欧美国产不卡 | 欧美性做爰猛烈叫床潮 | av福利第一导航 | 四虎国产免费 | 久久久久久久久久电影 | 韩国精品一区二区三区六区色诱 | www.99在线观看 | 精品国模一区二区三区 | 亚洲视频h | 最新久久久 | 毛片精品免费在线观看 | 2019中文字幕网站 | 欧美色图30p | www.久久婷婷| 欧美 日韩精品 | 欧美少妇xxx | 69视频永久免费观看 | 国产999精品久久久久久绿帽 | 天天爱天天射 | 手机在线永久免费观看av片 | 国产精品毛片久久久久久久久久99999999 | 日韩免费网站 | 日韩影视精品 | 久久在线精品 | 热久久免费视频 | 黄色av电影一级片 | 国内久久久久久 | 尤物97国产精品久久精品国产 | 日日夜夜91 | 婷婷五天天在线视频 | 国产小视频网站 | 午夜精品中文字幕 | 国产又黄又硬又爽 | 2022久久国产露脸精品国产 | 国产玖玖在线 | 香蕉精品视频在线观看 | 久久无码av一区二区三区电影网 | 国产成年人av | 在线观看av的网站 | av在线网站免费观看 | 久久免费国产视频 | 久久久www成人免费精品张筱雨 | 色婷婷综合激情 | 摸阴视频| 成人在线观看免费 | 欧美日韩一区二区三区免费视频 | 综合网成人 | 久久躁日日躁aaaaxxxx | 国产精品一区二区三区四区在线观看 | 国内精品久久久久久久影视简单 | 亚洲欧美在线视频免费 | 亚洲男模gay裸体gay | 欧美另类高潮 | 久久成人免费视频 | 全黄网站 | 4438全国亚洲精品观看视频 | 免费合欢视频成人app | 麻豆国产网站入口 | 五月天天天操 | 91女子私密保健养生少妇 | 亚洲成av人电影 | 国产婷婷久久 | 免费裸体视频网 | 国产日韩欧美在线播放 | 国产无套精品久久久久久 | 青青网视频| 国产视频不卡 | 91精品视频观看 | 久草com| 亚洲精品资源在线 | 欧美大jb| 久草在线手机视频 | 欧美精品免费在线观看 | www欧美xxxx | 黄色视屏免费在线观看 | 久久久福利 | www.午夜视频| 麻豆免费在线视频 | 超碰大片 | 91视频久久久 | 亚洲三级精品 | 成人久久网 | 五月天激情综合 | 国产精品96久久久久久吹潮 | 久久精品99精品国产香蕉 | 欧美黄色成人 | 国产福利中文字幕 | 成人在线播放av | 国产精品亚洲片夜色在线 | 日韩视频在线一区 | 日韩在线观看视频中文字幕 | 天天玩天天操天天射 | 久草免费看 | 日韩大片在线 | 久久综合九色综合欧美狠狠 | 中文字幕色婷婷在线视频 | 婷婷草| 美女精品网站 | 国产成人三级在线播放 | 九色精品免费永久在线 | 国产精品自产拍在线观看中文 | 亚洲综合色网站 | 色www免费视频 | 婷婷久久综合网 | 999久久久久久久久久久 | 欧美性色网站 | 91一区二区在线 | 国产91精品久久久久久 | 国产精品免费观看在线 | 美女福利视频在线 | 成人黄色电影免费观看 | 国产中文字幕在线免费观看 | 国产精品毛片一区视频 | 成人国产精品久久久春色 | 欧美一级性视频 | av 在线观看 | 欧美性色综合网 | 国产专区视频 | 亚洲国产精久久久久久久 | 黄色av网站在线观看免费 | 国产精品久久久久久久久费观看 | 久草在线视频网 | 97色综合| 99精品国产兔费观看久久99 | 亚洲一区日韩 | 精品国产一区二区三区日日嗨 | av免费看在线 | 国产视频欧美视频 | 亚洲精品婷婷 | 女人18精品一区二区三区 | 天天做夜夜做 | 精品国产伦一区二区三区免费 | 国产精品久久久久一区二区三区共 | 久久久黄色免费网站 | 午夜视频在线观看一区二区三区 | 91最新中文字幕 | 狠狠色狠狠综合久久 | 精品在线看 | 国产系列在线观看 | 国产玖玖精品视频 | 久久欧美视频 | www.日韩免费 | 久久精品视频4 | 中文字幕视频一区 | 91精品免费在线视频 | 亚洲专区路线二 | 午夜久久久精品 | 狠狠干网址 | 国产视频二 | 亚洲激情综合 | 国产精品不卡视频 | 久久久久亚洲最大xxxx | 国产一级不卡毛片 | 国产色视频123区 | 日本中文不卡 | 国产精品入口麻豆 | 伊人五月综合 | 国产在线观看高清视频 | 久免费视频 | 亚洲精品黄色片 | 久久国产系列 | 日韩精品一区在线播放 | 免费合欢视频成人app | 7777精品伊人久久久大香线蕉 | 欧美伦理电影一区二区 | 日韩三级成人 | 在线免费观看视频一区 | 久久精品人 | 99精品视频在线播放观看 | 国产99久久久国产精品成人免费 | 国产伦精品一区二区三区… | 日韩av影视在线观看 | 粉嫩av一区二区三区四区 | 男女激情片在线观看 | 亚洲精品国精品久久99热一 | 亚洲另类视频 | 久草影视在线 | 丁香婷婷久久 | 国产91综合一区在线观看 | 亚洲精品在线免费 | 91自拍视频在线 | 国产成本人视频在线观看 | 99热国内精品 | 国产亚洲午夜高清国产拍精品 | 欧美日韩一区二区三区在线免费观看 | 午夜久久影院 | 久久国产成人午夜av影院宅 | 亚洲综合国产精品 | 在线免费观看黄色 | www.香蕉视频在线观看 | 成片免费观看视频大全 | 99热精品国产一区二区在线观看 | 国产资源在线播放 | 国产97免费 | 亚洲精品乱码久久久久久9色 | 天干啦夜天干天干在线线 | 中文十次啦 | 亚洲人成综合 | 一区二区三区在线观看免费视频 | 丁香视频五月 | 国产精品一区在线观看你懂的 | 成人一区二区在线 | 国产亚洲午夜高清国产拍精品 | 成人h动漫在线看 | 最近日韩中文字幕中文 | 网站免费黄 | 中文字幕精品www乱入免费视频 | 四虎成人av | 中文字幕av免费在线观看 | 综合黄色网 | 免费在线观看av网址 | 久香蕉 | 日日碰狠狠躁久久躁综合网 | av超碰在线 | 丝袜美腿亚洲综合 | 天天操天天操天天操 | 午夜精品一区二区三区在线观看 | 91麻豆操| 亚洲精品自在在线观看 | 久久久精品久久日韩一区综合 | 999国内精品永久免费视频 | 国产成人免费观看久久久 | 国产在线免费观看 | 国产成人av电影在线观看 | 欧美日韩国产在线一区 | 精品久久网站 | 又黄又爽又色无遮挡免费 | 国产精久久久久久久 | 在线你懂的视频 | 久久天天躁狠狠躁夜夜不卡公司 | 国内外成人在线 | 国产精品欧美久久久久久 | 日韩国产精品久久久久久亚洲 | 久久怡红院 | 天天操天天干天天摸 | 波多野结衣在线观看一区 | 高清久久久久久 | 亚洲综合国产精品 | 日日夜夜人人精品 | 一区二区三区高清 | 91av视频在线播放 | 天天爱天天舔 | 韩国三级一区 | 天堂在线v | 国产91精品看黄网站在线观看动漫 | 91网在线观看 | 国产精品国产三级国产aⅴ9色 | 天天插日日操 | 免费午夜视频在线观看 | 久久亚洲综合色 | 在线播放一区二区三区 | 中文免费观看 | 国产二区视频在线 | 中文字幕在线观看第一页 | 日韩91在线 | 中文字幕av日韩 | 久久久综合精品 | 日韩欧美精品在线观看视频 | av大全免费在线观看 | 麻豆国产视频 | 91尤物国产尤物福利在线播放 | 久久亚洲区 | 99国产一区 | 日本精品二区 | 99产精品成人啪免费网站 | 免费成人黄色av | 免费看的国产视频网站 | 亚洲精品美女在线 | 午夜精品久久久久 | 久久久精品国产一区二区 | 国产剧情一区二区在线观看 | 午夜精品久久一牛影视 | 国产中文字幕视频在线观看 | 人人澡人人爱 | 国产毛片aaa| 一级做a爱片性色毛片www | 欧美激情在线网站 | 超碰av在线| 国产69久久久 | 日韩大片在线 | 97超碰免费在线 | av天天草 | 欧美一二三区在线播放 | 欧美精品在线视频观看 | 国产视频精品免费 | 免费色av | 99久久国产免费看 | 免费观看十分钟 | 天天爱天天插 | av解说在线| 亚洲日本韩国一区二区 | 日韩欧美一区二区三区视频 | 欧美日韩精品在线观看 | 97国产在线视频 | 五月婷婷综合激情网 | 欧美一级艳片视频免费观看 | 夜夜澡人模人人添人人看 | 99久久99久久综合 | 国产一级免费电影 | 96av视频| 久久国产美女 | 日韩av网页 | 国产精品一区二区白浆 | 欧美性色网站 | 国内99视频 | 久久伦理电影网 | av免费成人 | 欧美人交a欧美精品 | 国产在线中文 | 五月婷婷色 | 99久久精品免费 | 在线电影中文字幕 | 国产精品久久久久久久免费 | 天天草av| 成年美女黄网站色大片免费看 | 成人免费视频免费观看 | 91亚洲成人 | 狠狠狠狠狠狠操 | 国产一线天在线观看 | 成人福利在线观看 | 在线99| 久久久蜜桃一区二区 | 中文字幕av播放 | 91精品国产99久久久久久久 | 欧美日韩aaaa | 久久成人综合 | 久久资源总站 | 99久久精品视频免费 | 在线观看亚洲电影 | 国产一区二区在线影院 | 日韩深夜在线观看 | 久久爱导航 | 欧美一区二区日韩一区二区 | 久久免费视频99 | 日日日操| 欧美孕妇视频 | 亚洲一区日韩精品 | 深爱激情五月网 | 成人播放器 | 在线中文字幕av观看 | 欧美日韩国产区 | 97日日碰人人模人人澡分享吧 | 成人av在线直播 | 在线免费黄色av | 国产私拍在线 | 亚洲天堂激情 | 国产精品久久在线观看 | 日韩在线免费不卡 | 久久歪歪 | 777视频在线观看 | 综合色播 | 亚洲精品www | 一区二区三区电影大全 | 国产精品美女久久久久久免费 | 天天鲁一鲁摸一摸爽一爽 | 日韩电影精品 | 亚洲视频综合在线 | 国产精品毛片完整版 | 91成人精品一区在线播放69 | 久久亚洲欧美日韩精品专区 | 国产精品久久久久久超碰 | 在线观看91久久久久久 | 久久精品伊人 | 欧美一级裸体视频 | 天天操天天干天天爽 | 亚洲综合色丁香婷婷六月图片 | 蜜桃传媒一区二区 | 色综合人人 | 久久色在线播放 | av视屏在线| 91精品视频免费在线观看 | 国产精品mm | 亚洲精色 | 日韩免费中文字幕 | 久久涩涩网站 | 国产最新网站 | 日韩一区二区三区观看 | 五月婷婷在线视频观看 | 欧美极品裸体 | 美州a亚洲一视本频v色道 | 国产美女视频一区 | 国产麻豆精品传媒av国产下载 | 亚洲国产精品推荐 | 成年人看片 | www激情网| 国内偷拍精品视频 | 日韩欧美精选 | 欧美激情在线看 | 在线免费看黄网站 | 国产男女爽爽爽免费视频 | 最新一区二区三区 | 午夜aaaa | 超碰99在线| 精品视频在线视频 | 五月天激情综合 | h动漫中文字幕 | 亚洲精品视频中文字幕 | 免费观看9x视频网站在线观看 | 国产精品毛片久久久久久久 | 免费观看日韩 | 久久爽久久爽久久av东京爽 | 青草视频在线免费 | 久草视频免费播放 | 日韩在线精品一区 | 久久久香蕉视频 | 久久久久国产精品一区 | 亚洲美女视频网 | 最新超碰在线 | 亚洲视频播放 | 久草精品资源 | 98超碰在线| 久久久美女 | 九色琪琪久久综合网天天 | 亚洲无毛专区 | 日本精品一区二区三区在线播放视频 | 精品视频123区在线观看 | 九九热免费视频在线观看 | 欧美精品久久久久 | 国产高清一 | 国产日产精品久久久久快鸭 | 国产综合久久 | 欧美日韩视频一区二区三区 | 亚洲欧洲一区二区在线观看 | 欧美最新大片在线看 | 看污网站| 91你懂的| 久久五月婷婷丁香社区 | 久久午夜网| 99中文字幕 | 91av官网 | 婷婷在线资源 | 天堂va在线观看 | 国产精品s色 | 91视频在线免费 | 国产亚洲视频在线 | 精品视频在线播放 | 久久久免费少妇 | www.久久成人 | 99精品视频网 | 国产成人精品久久亚洲高清不卡 | 精品国产色 | 蜜臀av夜夜澡人人爽人人桃色 | 欧美激情视频三区 | 亚洲国产免费网站 | 激情五月婷婷综合 | 精品国产精品久久一区免费式 | 91正在播放 | 麻豆视频免费播放 | 操久久免费视频 | 亚洲欧洲一区二区在线观看 | 2023天天干| 欧美永久视频 | 国产黄色免费看 | 成人福利在线观看 | 精久久久久 | 欧美日韩精品在线观看视频 | 青草视频网 | 99热这里是精品 | av中文字幕在线免费观看 | 欧美日韩免费视频 | 日韩深夜在线观看 | 国产精品自拍在线 | 久久黄色网址 | 成人九九视频 | 欧美精品乱码99久久影院 | 婷婷色婷婷 | 成人免费在线观看入口 | 精品国产一区二区三区av性色 | 婷婷 综合 色 | 成人免费观看a | 在线视频你懂 | 精品国产美女在线 | 欧美大片在线观看一区 | 日本精品视频免费 | 久久久av电影| 日韩性xxx| 欧美精品首页 | 国产又粗又猛又黄又爽视频 | 欧美国产精品久久久久久免费 | 麻豆视频网址 | 久草| 国产精品自产拍 | 日本精品视频在线播放 | 中文字幕一区在线 | 亚洲最大激情中文字幕 | 中文字幕在线一二 | 欧美精品你懂的 | 我爱av激情网 | 亚洲成人黄色网址 | 久久婷婷视频 | 97碰碰视频 | 久久影视一区 | 久久伊人精品天天 | 精品黄色在线观看 | 久久成人人人人精品欧 | 色资源网免费观看视频 | 免费在线观看日韩 | 日韩视频在线一区 | 亚洲国产中文在线观看 | 99在线播放 | 久草资源在线观看 | 99精品成人 | 在线91观看 | 婷婷丁香五 | a级国产片| 夜夜操天天摸 | 亚州免费视频 | 欧美日本一区 | 亚洲年轻女教师毛茸茸 | 99久久久久久久久久 | 久草视频手机在线 | 成人久久久精品国产乱码一区二区 | 色综合国产 | 午夜在线日韩 | 亚洲视频综合 | 五月天丁香亚洲 | 精品免费一区二区三区 | 国产色拍| 中文字幕欧美三区 | 日韩欧美视频在线观看免费 | 日韩高清一区 | 亚洲永久国产精品 | www五月婷婷 | 精品一区二区影视 | 人人射人人澡 | 色婷婷啪啪免费在线电影观看 | 婷婷深爱激情 | 日本韩国精品在线 | 国产在线播放观看 | 91成人短视频在线观看 | 国产成人av免费在线观看 | 国产成人61精品免费看片 | av电影不卡 | 国产一级免费av | 久久er99热精品一区二区 | 欧美激情视频一二三区 | 国产精品久久久久久久久蜜臀 | 久久不卡免费视频 | 成年人免费观看在线视频 | 婷婷久草 | 人人舔人人爽 | a久久久久久 | 日本在线观看一区二区 | 婷婷久久久久 | 在线观看免费av网 | 日韩成人精品一区二区 | 99久久99久久精品国产片果冰 | 欧美日韩精品免费观看视频 | 永久免费精品视频网站 | 夜夜夜影院| 四虎影视成人永久免费观看视频 | 成年人视频在线观看免费 | 日日精品 | 国产视频一区在线免费观看 | 国产精品久久嫩一区二区免费 | 免费福利视频网站 | 日韩va欧美va亚洲va久久 | 国产精品国产三级国产aⅴ入口 | 免费一区在线 | 一区二区三区四区影院 | 日韩中文在线观看 | 成人免费观看视频网站 | 色婷婷精品 | 日韩理论 | 美女黄频在线观看 | 91av视频免费观看 | 亚洲国产片 | 精品久操 | 国产精品久久99 | 91精品欧美一区二区三区 | 亚洲精品资源在线观看 | 手机av永久免费 | 友田真希av | 2020天天干夜夜爽 | 精品视频国产 | 青青啪 | 91亚洲精品国偷拍 | 国产精品久久在线 | 欧美福利网址 | 色婷婷激情五月 | 一区二区三区观看 | 欧美午夜寂寞影院 | 国产麻豆精品传媒av国产下载 | 91久久人澡人人添人人爽欧美 | 国产大尺度视频 | 超碰日韩在线 | 波多野结衣在线观看视频 | 欧美韩国日本在线 | www日日夜夜| 国产精品一区二区三区视频免费 | 日韩和的一区二在线 | 麻豆一区在线观看 | a视频在线观看免费 | 97超碰精品| 国产精品成人自产拍在线观看 | 国产精品 日本 | 福利视频网站 | 人人干网站 | 久久一区精品 | 午夜久久久久久久久久久 | 成人免费在线观看入口 | 97成人免费视频 | 91精品国自产在线观看 | 五月天婷婷在线播放 | 免费av 在线 | 四虎最新域名 | 国产婷婷久久 | 国产精品乱码久久 | 午夜电影中文字幕 | 国产情侣一区 | 91九色精品国产 | 免费在线观看视频一区 | 久久免费毛片视频 | 婷婷六月综合亚洲 | 欧美另类调教 | 国产特级毛片aaaaaa高清 | 久久久黄视频 | 中文字幕日韩高清 | 特级大胆西西4444www | 国内揄拍国产精品 | 麻豆国产精品永久免费视频 | 91在线视频播放 | 国产美女网 | 中文字幕中文 | 欧美午夜久久久 | 亚洲a色 | www.激情五月.com | 麻豆精品在线视频 | 日韩在线电影一区二区 | 国产一级特黄毛片在线毛片 | 97精品国自产拍在线观看 | 国产免费观看久久 | 在线观看成人福利 | 久久亚洲区 | 麻豆视频网址 | 永久免费毛片在线观看 | 国产免费观看久久黄 | 亚洲视频观看 | 国产在线第三页 | 99久久婷婷 | 久久ww| 日韩精品免费专区 | 久久精品久久久精品美女 | 99热这里只有精品在线观看 | 九九久| 久久久久人人 | 免费福利片2019潦草影视午夜 | 激情综合五月婷婷 | 久久久久久久久综合 | 手机av永久免费 | 超碰免费公开 | 91久久精品一区二区三区 | 99色视频| 91成年人视频 | 麻豆视频成人 | 激情视频区| 亚洲天堂网站 | 日韩综合在线观看 | 西西444www高清大胆 | 99久久婷婷国产一区二区三区 | 久久女教师 | 久久大视频 | 成人国产一区二区 | 成人电影毛片 | 国产精品免费久久久久久久久久中文 | 亚洲午夜久久久久久久久久久 | 久久久亚洲精华液 | 久久任你操 | 日日操天天操狠狠操 | 国产一区二区在线免费播放 | 久久电影国产免费久久电影 | 日韩mv欧美mv国产精品 | 怡红院久久 | 欧美日韩视频在线观看一区二区 | 三上悠亚一区二区在线观看 | 伊人一级 | 日本性生活一级片 | 久久夜色精品国产欧美乱 | 国产精品 国产精品 | 日韩乱理| 久久99精品国产麻豆宅宅 | 久久久www成人免费精品张筱雨 | 99精品区| 成人资源站| 97在线观看免费 | 欧美在线a视频 | 一区二区三区免费 | 99久久er热在这里只有精品15 | www.com.黄| 久久人人爽爽人人爽人人片av | 久久99精品国产99久久6尤 | 国产免费又粗又猛又爽 | 99在线观看精品 | 综合国产在线 | 中文字幕免费观看视频 | 国产精品久久久一区二区三区网站 | 黄色成人av网址 | 天天干,天天操,天天射 | 亚洲国产视频直播 | 中文字幕高清在线 | 97在线视频免费看 | 在线视频婷婷 | 久操视频在线播放 | 日韩欧美精品一区 | 色婷婷在线视频 | 国产理伦在线 |