• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            第四部分、性能調(diào)整
            [Q]如果設(shè)置自動(dòng)跟蹤
            [A]用system登錄
            執(zhí)行$ORACLE_HOME/rdbms/admin/utlxplan.sql創(chuàng)建計(jì)劃表
            執(zhí)行$ORACLE_HOME/sqlplus/admin/plustrce.sql創(chuàng)建plustrace角色
            如果想計(jì)劃表讓每個(gè)用戶(hù)都能使用,則
            SQL>create public synonym plan_table for plan_table;
            SQL> grant all on plan_table to public;
            如果想讓自動(dòng)跟蹤的角色讓每個(gè)用戶(hù)都能使用,則
            SQL> grant plustrace to public;
            通過(guò)如下語(yǔ)句開(kāi)啟/停止跟蹤
            SET AUTOTRACE ON |OFF
            | ON EXPLAIN | ON STATISTICS | TRACEONLY | TRACEONLY EXPLAIN
            [Q]如果跟蹤自己的會(huì)話(huà)或者是別人的會(huì)話(huà)
            [A]跟蹤自己的會(huì)話(huà)很簡(jiǎn)單
            Alter session set sql_trace true|false
            Or
            Exec dbms_session.set_sql_trace(TRUE);
            如果跟蹤別人的會(huì)話(huà),需要調(diào)用一個(gè)包
            exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)
            跟蹤的信息在user_dump_dest 目錄下可以找到或通過(guò)如下腳本獲得文件名稱(chēng)(適用于Win環(huán)境,如果是unix需要做一定修改)
            SELECT p1.value||'\'||p2.value||'_ora_'||p.spid||'.ora' filename
            FROM
            v$process p,
            v$session s,
            v$parameter p1,
            v$parameter p2
            WHERE p1.name = 'user_dump_dest'
            AND p2.name = 'db_name'
            AND p.addr = s.paddr
            AND s.audsid = USERENV ('SESSIONID')
            最后,可以通過(guò)Tkprof來(lái)解析跟蹤文件,如
            Tkprof 原文件 目標(biāo)文件 sys=n
            [Q]怎么設(shè)置整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)跟蹤
            [A]其實(shí)文檔上的alter system set sql_trace=true是不成功的
            但是可以通過(guò)設(shè)置事件來(lái)完成這個(gè)工作,作用相等
            alter system set events
            '10046 trace name context forever,level 1';
            如果關(guān)閉跟蹤,可以用如下語(yǔ)句
            alter system set events
            '10046 trace name context off';
            其中的level 1與上面的8都是跟蹤級(jí)別
            level 1:跟蹤SQL語(yǔ)句,等于sql_trace=true
            level 4:包括變量的詳細(xì)信息
            level 8:包括等待事件
            level 12:包括綁定變量與等待事件
            [Q]怎么樣根據(jù)OS進(jìn)程快速獲得DB進(jìn)程信息與正在執(zhí)行的語(yǔ)句
            [A]有些時(shí)候,我們?cè)贠S上操作,象TOP之后我們得到的OS進(jìn)程,怎么快速根據(jù)OS信息獲得DB信息呢?
            我們可以編寫(xiě)如下腳本:
            $more whoit.sh
            #!/bin/sh
            sqlplus /nolog 100,cascade=> TRUE);
            dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
            這是對(duì)命令與工具包的一些總結(jié)
            1、對(duì)于分區(qū)表,建議使用DBMS_STATS,而不是使用Analyze語(yǔ)句。
            a) 可以并行進(jìn)行,對(duì)多個(gè)用戶(hù),多個(gè)Table
            b) 可以得到整個(gè)分區(qū)表的數(shù)據(jù)和單個(gè)分區(qū)的數(shù)據(jù)。
            c) 可以在不同級(jí)別上Compute Statistics:?jiǎn)蝹€(gè)分區(qū),子分區(qū),全表,所有分區(qū)
            d) 可以倒出統(tǒng)計(jì)信息
            e) 可以用戶(hù)自動(dòng)收集統(tǒng)計(jì)信息
            2、DBMS_STATS的缺點(diǎn)
            a) 不能Validate Structure
            b) 不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,這兩個(gè)仍舊需要使用Analyze語(yǔ)句。
            c) DBMS_STATS 默認(rèn)不對(duì)索引進(jìn)行Analyze,因?yàn)槟J(rèn)Cascade是False,需要手工指定為T(mén)rue
            3、對(duì)于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS來(lái)收集信息。
            [Q]怎么樣快速重整索引
            [A]通過(guò)rebuild語(yǔ)句,可以快速重整或移動(dòng)索引到別的表空間
            rebuild有重建整個(gè)索引數(shù)的功能,可以在不刪除原始索引的情況下改變索引的存儲(chǔ)參數(shù)
            語(yǔ)法為
            alter index index_name rebuild tablespace ts_name
            storage(……);
            如果要快速重建整個(gè)用戶(hù)下的索引,可以用如下腳本,當(dāng)然,需要根據(jù)你自己的情況做相應(yīng)修改
            SQL> set heading off
            SQL> set feedback off
            SQL> spool d:\index.sql
            SQL> SELECT 'alter index ' || index_name || ' rebuild '
            ||'tablespace INDEXES storage(initial 256K next 256K pctincrease 0);'
            FROM all_indexes
            WHERE ( tablespace_name != 'INDEXES'
            OR next_extent != ( 256 * 1024 )
            )
            AND owner = USER
            SQL>spool off
            另外一個(gè)合并索引的語(yǔ)句是
            alter index index_name coalesce,這個(gè)語(yǔ)句僅僅是合并索引中同一級(jí)的leaf block
            消耗不大,對(duì)于有些索引中存在大量空間浪費(fèi)的情況下,有一些作用。
            [Q]如何使用Hint提示
            [A] 在select/delete/update后寫(xiě)/*+ hint */
            如 select /*+ index(TABLE_NAME INDEX_NAME) */ col1...
            注意/*和+之間不能有空格
            如用hint指定使用某個(gè)索引
            select /*+ index(cbotab) */ col1 from cbotab;
            select /*+ index(cbotab cbotab1) */ col1 from cbotab;
            select /*+ index(a cbotab1) */ col1 from cbotab a;
            其中
            TABLE_NAME是必須要寫(xiě)的,且如果在查詢(xún)中使用了表的別名,在hint也要用表的別名來(lái)代替表名;
            INDEX_NAME可以不必寫(xiě),Oracle會(huì)根據(jù)統(tǒng)計(jì)值選一個(gè)索引;
            如果索引名或表名寫(xiě)錯(cuò)了,那這個(gè)hint就會(huì)被忽略;
            [Q]怎么樣快速?gòu)?fù)制表或者是插入數(shù)據(jù)
            [A]快速?gòu)?fù)制表可以指定Nologging選項(xiàng)
            如:Create table t1 nologging
            as select * from t2;
            快速插入數(shù)據(jù)可以指定append提示,但是需要注意
            noarchivelog模式下,默認(rèn)用了append就是nologging模式的。
            在archivelog下,需要把表設(shè)置程N(yùn)ologging模式。
            如insert /*+ append */ into t1
            select * from t2
            注意:如果在9i環(huán)境中并設(shè)置了FORCE LOGGING,則以上操作是無(wú)效的,并不會(huì)加快,當(dāng)然,可以通過(guò)如下語(yǔ)句設(shè)置為NO FORCE LOGGING。
            Alter database no force logging;
            是否開(kāi)啟了FORCE LOGGING,可以用如下語(yǔ)句查看
            SQL> select force_logging from v$database;
            [Q]怎么避免使用特定索引
            [A]在很多時(shí)候,Oracle會(huì)錯(cuò)誤的使用索引而導(dǎo)致效率的明顯下降,我們可以使用一點(diǎn)點(diǎn)技巧而避免使用不該使用的索引,如:
            表test,有字段a,b,c,d,在a,b,c上建立聯(lián)合索引inx_a(a,b,c),在b上單獨(dú)建立了一個(gè)索引Inx_b(b)。
            在正常情況下,where a=? and b=? and c=?會(huì)用到索引inx_a,
            where b=?會(huì)用到索引inx_b
            但是,where a=? and b=? and c=? group by b會(huì)用到哪個(gè)索引呢?在分析數(shù)據(jù)不正確(很長(zhǎng)時(shí)間沒(méi)有分析)或根本沒(méi)有分析數(shù)據(jù)的情況下,oracle往往會(huì)使用索引inx_b。通過(guò)執(zhí)行計(jì)劃的分析,這個(gè)索引的使用,將大大耗費(fèi)查詢(xún)時(shí)間。
            當(dāng)然,我們可以通過(guò)如下的技巧避免使用inx_b,而使用inx_a。
            where a=? and b=? and c=? group by b||'' --如果b是字符
            where a=? and b=? and c=? group by b+0 --如果b是數(shù)字
            通過(guò)這樣簡(jiǎn)單的改變,往往可以是查詢(xún)時(shí)間提交很多倍
            當(dāng)然,我們也可以使用no_index提示,相信很多人沒(méi)有用過(guò),也是一個(gè)不錯(cuò)的方法:
            select /*+ no_index(t,inx_b) */ * from test t
            where a=? and b=? and c=? group by b
            [Q]Oracle什么時(shí)候會(huì)使用跳躍式索引掃描
            [A]這是9i的一個(gè)新特性跳躍式索引掃描(Index Skip Scan).
            例如表有索引index(a,b,c),當(dāng)查詢(xún)條件為
            where b=?的時(shí)候,可能會(huì)使用到索引index(a,b,c)
            如,執(zhí)行計(jì)劃中出現(xiàn)如下計(jì)劃:
            INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE)
            Oracle的優(yōu)化器(這里指的是CBO)能對(duì)查詢(xún)應(yīng)用Index Skip Scans至少要有幾個(gè)條件:
            1 優(yōu)化器認(rèn)為是合適的。
            2 索引中的前導(dǎo)列的唯一值的數(shù)量能滿(mǎn)足一定的條件(如重復(fù)值很多)。
            3 優(yōu)化器要知道前導(dǎo)列的值分布(通過(guò)分析/統(tǒng)計(jì)表得到)。
            4 合適的SQL語(yǔ)句
            等。
            [Q]怎么樣創(chuàng)建使用虛擬索引
            [A]可以使用nosegment選項(xiàng),如
            create index virtual_index_name on table_name(col_name) nosegment;
            如果在哪個(gè)session需要測(cè)試虛擬索引,可以利用隱含參數(shù)來(lái)處理
            alter session set "_use_nosegment_indexes" = true;
            就可以利用explain plan for select ……來(lái)看虛擬索引的效果
            利用@$ORACLE_HOME/rdbms/admin/utlxpls查看執(zhí)行計(jì)劃
            最后,根據(jù)需要,我們可以刪除虛擬索引,如普通索引一樣
            drop index virtual_index_name;
            注意:虛擬索引并不是物理存在的,所以虛擬索引并不等同于物理索引,不要用自動(dòng)跟蹤去測(cè)試虛擬索引,因?yàn)槟鞘菍?shí)際執(zhí)行的效果,是用不到虛擬索引的。
            [Q]怎樣監(jiān)控?zé)o用的索引
            [A]Oracle 9i以上,可以監(jiān)控索引的使用情況,如果一段時(shí)間內(nèi)沒(méi)有使用的索引,一般就是無(wú)用的索引
            語(yǔ)法為:
            開(kāi)始監(jiān)控:alter index index_name monitoring usage;
            檢查使用狀態(tài):select * from v$object_usage;
            停止監(jiān)控:alter index index_name nomonitoring usage;
            當(dāng)然,如果想監(jiān)控整個(gè)用戶(hù)下的索引,可以采用如下的腳本:
            set heading off
            set echo off
            set feedback off
            set pages 10000
            spool start_index_monitor.sql
            SELECT 'alter index '||owner||'.'||index_name||' monitoring usage;'
            FROM dba_indexes
            WHERE owner = USER;
            spool off
            set heading on
            set echo on
            set feedback on
            ------------------------------------------------
            set heading off
            set echo off
            set feedback off
            set pages 10000
            spool stop_index_monitor.sql
            SELECT 'alter index '||owner||'.'||index_name||' nomonitoring usage;'
            FROM dba_indexes
            WHERE owner = USER;
            spool off
            set heading on
            set echo on
            set feedback on
            [Q]怎么樣能固定我的執(zhí)行計(jì)劃
            [A]可以使用OUTLINE來(lái)固定SQL語(yǔ)句的執(zhí)行計(jì)劃
            用如下語(yǔ)句可以創(chuàng)建一個(gè)OUTLINE
            Create oe replace outline OutLn_Name on
            Select Col1,Col2 from Table
            where ……
            如果要?jiǎng)h除Outline,可以采用
            Drop Outline OutLn_Name;
            對(duì)于已經(jīng)創(chuàng)建了的OutLine,存放在OUTLN用戶(hù)的OL$HINTS表下面
            對(duì)于有些語(yǔ)句,你可以使用update outln.ol$hints來(lái)更新outline
            如update outln.ol$hints(ol_name,'TEST1','TEST2','TEST2','TEST1)
            where ol_name in ('TEST1','TEST2');
            這樣,你就把Test1 OUTLINE與Test2 OUTLINE互換了
            如果想利用已經(jīng)存在的OUTLINE,需要設(shè)置以下參數(shù)
            Alter system/session set Query_rewrite_enabled = true
            Alter system/session set use_stored_outlines = true
            [Q]v$sysstat中的class分別代表什么
            [A]統(tǒng)計(jì)類(lèi)別
            1 代表事例活動(dòng)
            2 代表Redo buffer活動(dòng)
            4 代表鎖
            8 代表數(shù)據(jù)緩沖活動(dòng)
            16 代表OS活動(dòng)
            32 代表并行活動(dòng)
            64 代表表訪問(wèn)
            128 代表調(diào)試信息
            [Q]怎么殺掉特定的數(shù)據(jù)庫(kù)會(huì)話(huà)
            [A] Alter system kill session 'sid,serial#';
            或者
            alter system disconnect session 'sid,serial#' immediate;
            在win上,還可以采用oracle提供的orakill殺掉一個(gè)線(xiàn)程(其實(shí)就是一個(gè)Oracle進(jìn)程)
            在Linux/Unix上,可以直接利用kill殺掉數(shù)據(jù)庫(kù)進(jìn)程對(duì)應(yīng)的OS進(jìn)程
            [Q]怎么快速查找鎖與鎖等待
            [A]數(shù)據(jù)庫(kù)的鎖是比較耗費(fèi)資源的,特別是發(fā)生鎖等待的時(shí)候,我們必須找到發(fā)生等待的鎖,有可能的話(huà),殺掉該進(jìn)程。
            這個(gè)語(yǔ)句將查找到數(shù)據(jù)庫(kù)中所有的DML語(yǔ)句產(chǎn)生的鎖,還可以發(fā)現(xiàn),任何DML語(yǔ)句其實(shí)產(chǎn)生了兩個(gè)鎖,一個(gè)是表鎖,一個(gè)是行鎖。
            可以通過(guò)alter system kill session ‘sid,serial#’來(lái)殺掉會(huì)話(huà)
            SELECT /*+ rule */ s.username,
            decode(l.type,'TM','TABLE LOCK',
            'TX','ROW LOCK',
            NULL) LOCK_LEVEL,
            o.owner,o.object_name,o.object_type,
            s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
            FROM v$session s,v$lock l,dba_objects o
            WHERE l.sid = s.sid
            AND l.id1 = o.object_id(+)
            AND s.username is NOT NULL
            如果發(fā)生了鎖等待,我們可能更想知道是誰(shuí)鎖了表而引起誰(shuí)的等待
            以下的語(yǔ)句可以查詢(xún)到誰(shuí)鎖了表,而誰(shuí)在等待。
            SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
            o.owner,o.object_name,o.object_type,s.sid,s.serial#
            FROM v$locked_object l,dba_objects o,v$session s
            WHERE l.object_id=o.object_id
            AND l.session_id=s.sid
            ORDER BY o.object_id,xidusn DESC
            以上查詢(xún)結(jié)果是一個(gè)樹(shù)狀結(jié)構(gòu),如果有子節(jié)點(diǎn),則表示有等待發(fā)生。如果想知道鎖用了哪個(gè)回滾段,還可以關(guān)聯(lián)到V$rollname,其中xidusn就是回滾段的USN
            [Q] 如何有效的刪除一個(gè)大表(extent數(shù)很多的表)
            [A] 一個(gè)有很多(100k)extent的表,如果只是簡(jiǎn)單地用drop table的話(huà),會(huì)很大量消耗CPU(Oracle要對(duì)fet$、uet$數(shù)據(jù)字典進(jìn)行操作),可能會(huì)用上幾天的時(shí)間,較好的方法是分多次刪除extent,以減輕這種消耗:
            1. truncate table big-table reuse storage;
            2. alter table big-table deallocate unused keep 2000m ( 原來(lái)大小的n-1/n);
            3. alter table big-table deallocate unused keep 1500m ;
            ....
            4. drop table big-table;
            [Q]如何收縮臨時(shí)數(shù)據(jù)文件的大小
            [A]9i以下版本采用
            ALTER DATABASE DATAFILE 'file name' RESIZE 100M類(lèi)似的語(yǔ)句
            9i以上版本采用
            ALTER DATABASE TEMPFILE 'file name' RESIZE 100M
            注意,臨時(shí)數(shù)據(jù)文件在使用時(shí),一般不能收縮,除非關(guān)閉數(shù)據(jù)庫(kù)或斷開(kāi)所有會(huì)話(huà),停止對(duì)臨時(shí)數(shù)據(jù)文件的使用。
            [Q]怎么清理臨時(shí)段
            [A]可以使用如下辦法
            1、 使用如下語(yǔ)句查看一下認(rèn)誰(shuí)在用臨時(shí)段
            SELECT username,sid,serial#,sql_address,machine,program,
            tablespace,segtype, contents
            FROM v$session se,v$sort_usage su
            WHERE se.saddr=su.session_addr
            2、 那些正在使用臨時(shí)段的進(jìn)程
            SQL>Alter system kill session 'sid,serial#';
            3、把TEMP表空間回縮一下
            SQL>Alter tablespace TEMP coalesce;
            還可以使用診斷事件
            1、 確定TEMP表空間的ts#
            SQL> select ts#, name FROM v$tablespace;
            TS# NAME
            -----------------------
            0 SYSYEM
            1 RBS
            2 USERS
            3* TEMP
            ……
            2、 執(zhí)行清理操作
            alter session set events 'immediate trace name DROP_SEGMENTS level TS#+1'
            說(shuō)明:
            temp表空間的TS# 為 3*, So TS#+ 1= 4
            如果想清除所有表空間的臨時(shí)段,則
            TS# = 2147483647
            [Q]怎么樣dump數(shù)據(jù)庫(kù)內(nèi)部結(jié)構(gòu),如上面顯示的控制文件的結(jié)構(gòu)
            [A]常見(jiàn)的有
            1、分析數(shù)據(jù)文件塊,轉(zhuǎn)儲(chǔ)數(shù)據(jù)文件n的塊m
            alter system dump datafile n block m
            2、分析日志文件
            alter system dump logfile logfilename;
            3、分析控制文件的內(nèi)容
            alter session set events 'immediate trace name CONTROLF level 10'
            4、分析所有數(shù)據(jù)文件頭
            alter session set events 'immediate trace name FILE_HDRS level 10'
            5、分析日志文件頭
            alter session set events 'immediate trace name REDOHDR level 10'
            6、分析系統(tǒng)狀態(tài),最好每10分鐘一次,做三次對(duì)比
            alter session set events 'immediate trace name SYSTEMSTATE level 10'
            7、分析進(jìn)程狀態(tài)
            alter session set events 'immediate trace name PROCESSSTATE level 10'
            8、分析Library Cache的詳細(xì)情況
            alter session set events 'immediate trace name library_cache level 10'
            [Q]如何獲得所有的事件代碼
            [A] 事件代碼范圍一般從10000 to 10999,以下列出了這個(gè)范圍的事件代碼與信息
            SET SERVEROUTPUT ON
            DECLARE
            err_msg VARCHAR2(120);
            BEGIN
            dbms_output.enable (1000000);
            FOR err_num IN 10000..10999
            LOOP
            err_msg := SQLERRM (-err_num);
            IF err_msg NOT LIKE '%Message '||err_num||' not found%' THEN
            dbms_output.put_line (err_msg);
            END IF;
            END LOOP;
            END;
            /
            在Unix系統(tǒng)上,事件信息放在一個(gè)文本文件里
            $ORACLE_HOME/rdbms/mesg/oraus.msg
            可以用如下腳本查看事件信息
            event=10000
            while [ $event -ne 10999 ]
            do
            event=`expr $event + 1`
            oerr ora $event
            done
            對(duì)于已經(jīng)確保的/正在跟蹤的事件,可以用如下腳本獲得
            SET SERVEROUTPUT ON
            DECLARE
            l_level NUMBER;
            BEGIN
            FOR l_event IN 10000..10999
            LOOP
            dbms_system.read_ev (l_event,l_level);
            IF l_level > 0 THEN
            dbms_output.put_line ('Event '||TO_CHAR (l_event)||
            ' is set at level '||TO_CHAR (l_level));
            END IF;
            END LOOP;
            END;
            /
            [Q]什么是STATSPACK,我怎么使用它?
            [A]Statspack是Oracle 8i以上提供的一個(gè)非常好的性能監(jiān)控與診斷工具,基本上全部包含了BSTAT/ESTAT的功能,更多的信息
            可以參考附帶文檔$ORACLE_HOME/rdbms/admin/spdoc.txt。
            安裝Statspack:
            cd $ORACLE_HOME/rdbms/admin
            sqlplus "/ as sysdba" @spdrop.sql -- 卸載,第一次可以不需要
            sqlplus "/ as sysdba" @spcreate.sql -- 需要根據(jù)提示輸入表空間名
            使用Statspack:
            sqlplus perfstat/perfstat
            exec statspack.snap; -- 進(jìn)行信息收集統(tǒng)計(jì),每次運(yùn)行都將產(chǎn)生一個(gè)快照號(hào)
            -- 獲得快照號(hào),必須要有兩個(gè)以上的快照,才能生成報(bào)表
            select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT;
            @spreport.sql -- 輸入需要查看的開(kāi)始快照號(hào)與結(jié)束快照號(hào)
            其他相關(guān)腳本s:
            spauto.sql - 利用dbms_job提交一個(gè)作業(yè),自動(dòng)的進(jìn)行STATPACK的信息收集統(tǒng)計(jì)
            sppurge.sql - 清除一段范圍內(nèi)的統(tǒng)計(jì)信息,需要提供開(kāi)始快照與結(jié)束快照號(hào)
            sptrunc.sql - 清除(truncate)所有統(tǒng)計(jì)信息


            Posted on 2006-09-29 17:26 艾凡赫 閱讀(374) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): ORACLE數(shù)據(jù)庫(kù)
            www.久久精品| 久久精品免费全国观看国产| 97精品伊人久久久大香线蕉| 国产呻吟久久久久久久92| 伊人久久成人成综合网222| 午夜人妻久久久久久久久| 狠色狠色狠狠色综合久久| 亚洲精品国产综合久久一线| 亚洲伊人久久精品影院| 久久国产精品国语对白| 精品久久久久久无码专区不卡| 国内精品久久久久久久coent| 久久久黄色大片| 国产福利电影一区二区三区,免费久久久久久久精 | 91精品观看91久久久久久| 99久久精品免费看国产一区二区三区| 久久精品国内一区二区三区| 久久婷婷国产剧情内射白浆 | 94久久国产乱子伦精品免费| 久久这里的只有是精品23| 久久99国产精品99久久| 99久久精品国产一区二区| 久久久久亚洲精品天堂久久久久久 | 久久精品中文字幕一区| 2021久久国自产拍精品| 人妻精品久久久久中文字幕一冢本 | 亚洲伊人久久大香线蕉苏妲己| 香蕉久久av一区二区三区| 欧美日韩精品久久久久| 热久久国产欧美一区二区精品| 久久香蕉一级毛片| 国内精品久久国产大陆| 97久久香蕉国产线看观看| 久久丫精品国产亚洲av不卡| 久久精品国产亚洲AV久| 久久亚洲sm情趣捆绑调教| 一级做a爰片久久毛片看看| 欧美久久亚洲精品| 日本五月天婷久久网站| 青青草原综合久久大伊人| 亚洲午夜久久久影院伊人|