在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

Oracle內存分配與調整講解

Oracle內存分配與調整講解

更新時間:2025-10-14 文章作者:未知 信息來源:網絡 閱讀次數:

數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應...
數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。

前言

對于 oracle 的內存的管理,截止到9iR2,都是相當重要的環節,管理不善,將可能給數據庫帶來嚴重的性能問題。下面我們將一步一步就內存管理的各個方面進行探討。

概述

Oracle 的內存可以按照共享和私有的角度分為系統全局區和進程全局區,也就是SGA和PGA(process global area or private global area)。對于SGA區域內的內存來說,是共享的全局的,在UNIX 上,必須為oracle 設置共享內存段(可以是一個或者多個),因為oracle 在UNIX上是多進程;而在WINDOWS上oracle是單進程(多個線程),所以不用設置共享內存段。PGA是屬于進程(線程)私有的區域。在oracle 使用共享服務器模式下(MTS),PGA中的一部分,也就是UGA會被放入共享內存large_pool_size 中。

對于SGA部分,我們通過sqlplus 中查詢可以看到:

SQL> select * from v$sga;

NAME VALUE

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

Fixed Size 454032

Variable Size 109051904

Database Buffers 385875968

Redo Buffers 667648

Fixed Size

Oracle 的不同平臺和不同版本下可能不一樣,但對于確定環境是一個固定的值,里面存儲了SGA 各部分組件的信息,可以看作引導建立SGA的區域。

Variable Size

包含了shared_pool_size、java_pool_size、large_pool_size 等內存設置。

Database Buffers

指數據緩沖區,在8i 中包含db_block_buffer*db_block_size、buffer_pool_keep、buffer_pool_recycle 三部分內存。在9i 中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、db_nk_cache_size。

Redo Buffers

指日志緩沖區,log_buffer。在這里要額外說明一點的是,對于v$parameter、v$sgastat、v$sga查詢值可能不一樣。v$parameter 里面的值,是指用戶在初始化參數文件里面設置的值,v$sgastat是oracle 實際分配的日志緩沖區大小(因為緩沖區的分配值實際上是離散的,也不是以block 為最小單位進行分配的),v$sga 里面查詢的值,是在oracle 分配了日志緩沖區后,為了保護日志緩沖區,設置了一些保護頁,通常我們會發現保護頁大小大約是11k(不同環境可能不一樣)。參考如下內容

SQL> select substr(name,1,10) name,substr(value,1,10) value

2 from v$parameter where name = 'log_buffer';

NAME VALUE

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

log_buffer 524288

SQL> select * from v$sgastat ;

POOL NAME BYTES

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

fixed_sga 454032

buffer_cache 385875968

log_buffer 656384

SQL> select * from v$sga;

NAME VALUE

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

Fixed Size 454032

Variable Size 109051904

Database Buffers 385875968

Redo Buffers 667648

關于各部分內存的作用,參考Oracle體系結構,在此不再敘述。

SGA的大小

那么我們現在來考察內存參數的設置。實際上,對于特定的環境,總是存在著不同的最優設置的,沒有任何一種普遍適用的最優方案。但為什么在這里我們還要來談設置這個話題呢,那僅僅是出于一個目的,避免過度的犯錯誤。事實上,在任何一個生產系統正式投入使用之前,我們不擁有任何系統運行信息讓我們去調整,這樣就只有兩種可能,一是根據文檔推薦設置,另外一種就是根據經驗設置。相對來說,根據經驗的設置比根據文檔的設置要可靠一些。尤其是那些24*7 的系統,我們更要減少錯誤的發生。那么我們嘗試去了解不同的系統不同的應用的具體設置情況,從而提供一個參照信息給大家。

為了得出一個參照設置,我們就必須假定一個參照環境。以下所有設置我們基于這樣一個假定,那就是硬件服務器上只考慮存在操作系統和數據庫,在這個單一的環境中,我們來考慮內存的設置。

在設置參數之前呢,我們首先要問自己幾個問題

一:物理內存多大

二:操作系統估計需要使用多少內存

三:數據庫是使用文件系統還是裸設備

四:有多少并發連接

五:應用是OLTP 類型還是OLAP 類型

根據這幾個問題的答案,我們可以粗略地為系統估計一下內存設置。那我們現在來逐個問題地討論,首先物理內存多大是最容易回答的一個問題,然后操作系統估計使用多少內存呢?從經驗上看,不會太多,通常應該在200M 以內(不包含大量進程PCB)。

接下來我們要探討一個重要的問題,那就是關于文件系統和裸設備的問題,這往往容易被我們所忽略。操作系統對于文件系統,使用了大量的buffer 來緩存操作系統塊。這樣當數據庫獲取數據塊的時候,雖然SGA 中沒有命中,但卻實際上可能是從操作系統的文件緩存中獲取的。而假如數據庫和操作系統支持異步IO,則實際上當數據庫寫進程DBWR寫磁盤時,操作系統在文件緩存中標記該塊為延遲寫,等到真正地寫入磁盤之后,操作系統才通知DBWR寫磁盤完成。對于這部分文件緩存,所需要的內存可能比較大,作為保守的估計,我們應該考慮在0.2——0.3 倍內存大小。但是如果我們使用的是裸設備,則不考慮這部分緩存的問題。這樣的情況下SGA就有調大的機會。

關于數據庫有多少并發連接,這實際上關系到PGA 的大小(MTS 下還有large_pool_size)。事實上這個問題應該說還跟OLTP 類型或者OLAP 類型相關。對于OLTP類型oracle 傾向于可使用MTS,對于OLAP 類型使用獨立模式,同時OLAP 還可能涉及到大量的排序操作的查詢,這些都影響到我們內存的使用。那么所有的問題綜合起來,實際上主要反映在UGA的大小上。UGA主要包含以下部分內存設置

SQL> show parameters area_size

NAME                        TYPE                VALUE

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

bitmap_merge_area_size      integer            1048576

create_bitmap_area_size     integer            8388608

hash_area_size              integer            131072

sort_area_size              integer            65536

在這部分內存中我們最關注的通常是sort_area_size,這是當查詢需要排序的時候,數據庫會話將使用這部分內存進行排序,當內存大小不足的時候,使用臨時表空間進行磁盤排序。由于磁盤排序效率和內存排序效率相差好幾個數量級,所以這個參數的設置很重要。這四個參數都是針對會話進行設置的,是單個會話使用的內存的大小,而不是整個數據庫使用的。偶爾會看見有人誤解了這個參數以為是整個數據庫使用的大小,這是極其嚴重的錯誤。假如設置了MTS,則UGA被分配在large_pool_size,也就是說放在了共享內存里面,不同進程(線程)之間可以共享這部分內存。在這個基礎上,我們假設數據庫存在并發執行serverprocess 為100 個,根據上面我們4 個參數在oracle8.1.7 下的默認值,我們來計算獨立模式下PGA 的大致大小。由于會話并不會經常使用create_bitmap_area_size 、bitmap_merge_area_size,所以我們通常不對四個參數求和。在考慮到除這四個參數外會話所保存的變量、堆棧等信息,我們估計為2M,則200 個進程最大可能使用200M 的PGA。

現在,根據上面這些假定,我們來看SGA 實際能達到多少內存。在1G 的內存的服務器上,我們能分配給SGA 的內存大約為400—500M。若是2G 的內存,大約可以分到1G的內存給SGA,8G 的內存可以分到5G的內存給SGA。當然我們這里是以默認的排序部分內存sort_area_size=64k進行衡量的,假如我們需要調大該參數和hash_area_size等參數,然后我們應該根據并發的進程的數量,來衡量考慮這個問題。

事實上,通常我們更習慣通過直觀的公式化來表達這樣的問題:

OS使用內存+SGA+并發執行進程數*(sort_area_size+hash_ara_size+2M) < 0.7*總內存

(公式是死的,系統是活的,實際應用的調整不必框公式,這不過是一個參考建議)

在我們的實際應用中,假如采用的是裸設備,我們可適當的增大SGA(如果需要的話)。由于目前幾乎所有的操作系統都使用虛擬緩存,所以實際上如果就算SGA 設置的比較大也不會導致錯誤,而是可能出現頻繁的內存頁的換入與換出(page in/out)。在操作系統一級如果觀察到這個現象,那么我們就需要調整內存的設置。

SGA內參數設置

Log_buffer

對于日志緩沖區的大小設置,通常我覺得沒有過多的建議,因為參考LGWR寫的觸發條件之后,我們會發現通常超過3M意義不是很大。作為一個正式系統,可能考慮先設置這部分為log_buffer=1—3M 大小,然后針對具體情況再調整。

Large_pool_size

對于大緩沖池的設置,假如不使用MTS,建議在20—30M 足夠了。這部分主要用來保存并行查詢時候的一些信息,還有就是RMAN 在備份的時候可能會使用到。如果設置了MTS,則由于UGA部分要移入這里,則需要具體根據server process數量和相關會話內存參數的設置來綜合考慮這部分大小的設置。

Java_pool_size

假如數據庫沒有使用JAVA,我們通常認為保留10—20M大小足夠。事實上可以更少,甚至最少只需要32k,但具體跟安裝數據庫的時候的組件相關(比如http server)。

Shared_pool_size

這是迄今為止最具有爭議的一部分內存設置。按照很多文檔的描述,這部分內容應該幾乎和數據緩沖區差不多大小。但實際上情況卻不是這樣的。首先我們要考究一個問題,那就是這部分內存的作用,它是為了緩存已經被解析過的SQL,而使其能被重用,不再解析。這樣做的原因是因為,對于一個新的SQL(shared_pool 里面不存在已經解析的可用的相同的SQL),數據庫將執行硬解析,這是一個很消耗資源的過程。而若已經存在,則進行的僅僅是軟分析(在共享池中尋找相同SQL),這樣消耗的資源大大減少。所以我們期望能多共享一些SQL,并且如果該參數設置不夠大,經常會出現ora-04031錯誤,表示為了解析新的SQL,沒有可用的足夠大的連續空閑空間,這樣自然我們期望該參數能大一些。但是該參數的增大,卻也有負面的影響,因為需要維護共享的結構,內存的增大也會使得SQL 的老化的代價更高,帶來大量的管理的開銷,所有這些可能會導致CPU 的嚴重問題。

在一個充分使用綁定變量的比較大的系統中,shared_pool_size 的開銷通常應該維持在300M 以內。除非系統使用了大量的存儲過程、函數、包,比如oracle erp 這樣的應用,可能會達到500M甚至更高。于是我們假定一個1G內存的系統,可能考慮設置該參數為100M,2G 的系統考慮設置為150M,8G 的系統可以考慮設置為200—300M。

對于一個沒有充分使用或者沒有使用綁定變量系統,這可能給我們帶來一個嚴重的問題。所謂沒有使用bind var 的SQL,我們稱為Literal SQL。也就是比如這樣的兩句SQL我們認為是不同的SQL,需要進行2 次硬解析:

select * from EMP where name = ‘TOM’;

select * from EMP where name = ‘JERRY’;

假如把’TOM’ 和 ‘JERRY’ 換做變量V,那就是使用了bind var,我們可以認為是同樣的SQL 從而能很好地共享。共享SQL 本來就是shared_pool_size 這部分內存存在的本意,oracle的目的也在于此,而我們不使用bind var 就是違背了oracle 的初衷,這樣將給我們的系統帶來嚴重的問題。當然,如果通過在操作系統監控,沒有發現嚴重的cpu問題,我們如果發現該共享池命中率不高可以適當的增加shred_pool_size。但是通常我們不主張這部分內存超過800M(特殊情況下可以更大)。

事實上,可能的話我們甚至要想辦法避免軟分析,這在不同的程序語言中實現方式有差異。我們也可能通過設置session_cached_cursors 參數來獲得幫助(這將增大PGA)。

Data buffer

現在我們來談數據緩沖區,在確定了SGA 的大小并分配完了前面部分的內存后,其余的,都分配給這部分內存。通常,在允許的情況下,我們都嘗試使得這部分內存更大。這部分內存的作用主要是緩存DB BLOCK,減少甚至避免從磁盤上獲取數據,在8i中通常是由db_block_buffers*db_block_size 來決定大小的。如果我們設置了buffer_pool_keep 和buffer_pool_recycle,則應該加上后面這兩部分內存的大小。

9i下參數的變化

Oracle的版本的更新,總是伴隨著參數的變化,并且越來越趨向于使得參數的設置更簡單,因為復雜的參數設置使得DBA們經常焦頭爛額。關于內存這部分的變化,我們可以考察下面的參數。事實上在9i中數據庫本身可以給出一組適合當前運行系統的SGA相關部分的參數調整值(參考V$DB_CACHE_ADVICE、V$SHARED_POOL_ADVICE),關于PGA也有相關視圖V$PGA_TARGET_ADVICE 等。

Data buffer

9i 中保留了8i中的參數,如設置了新的參數,則忽略舊的參數。9i中用db_cache_size來取代db_block_buffers , 用db_keep_cache_size 取代buffer_pool_keep, 用db_recycle_cache_size 取代buffer_pool_recycle;這里要注意9i 中設置的是實際的緩存大小而不再是塊的數量。另外9i新增加了db_nk_cache_size,這是為了支持在同一個數據庫中使用不同的塊大小而設置的。對于不同的表空間,可以定義不同的數據塊的大小,而緩沖區的定義則依靠該參數的支持。其中n 可以為2、4、6、8、16 等不同的值。在這里順便提及的一個參數就是db_block_lru_latches,該參數在9i中已經成為了保留參數,不推薦手工設置。

PGA

在9i 里面這部分也有了很大的變化。在獨立模式下,9i已經不再主張使用原來的UGA相關的參數設置,而代之以新的參數。假如workarea_size_policy=AUTO(缺省),則所有的會話的UGA 共用一大塊內存,該內存由pga_aggregate_target 設置。在我們根據前面介紹的方法評估了所有進程可能使用的最大PGA 內存之后,我們可以通過在初始化參數中設置這個參數,從而不再關心其他”*_area_size” 參數。

SGA_MAX_SIZE

在9i中若設置了SGA_MAX_SIZE,則在總和小于等于這個值內,可以動態的調整數據緩沖區和共享池的大小

SQL> show parameters sga_max_size

NAME           TYPE             VALUE

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

sga_max_size  unknown          193752940

SQL> alter system set db_cache_size = 30000000;

System altered.

SQL> alter system set shared_pool_size = 20480000;

System altered.

Lock_SGA = TRUE 的問題

由于幾乎所有的操作系統都支持虛擬內存,所以即使我們使用的內存小于物理內存,也

不能避免操作系統將SGA 換到虛擬內存(SWAP)。所以我們可以嘗試使得SGA 鎖定在物理內存中不被換到虛擬內存中,這樣減少頁面的換入和換出,從而提高性能。但在這里遺憾的是,windows 是無法避免這種情況的。下面我們來參考在不同的幾個系統下怎么實現lock_sga

AIX 5L(AIX 4.3.3 以上)

logon aix as root

cd /usr/samples/kernel

./vmtune (信息如下) v_pingshm已經是1

./vmtune -S 1

然后oracle用戶修改initSID.ora 中 lock_sga = true

重新啟動數據庫

HP UNIX

Root身份登陸

Create the file "/etc/privgroup": vi /etc/privgroup

Add line "dba MLOCK" to file

As root, run the command "/etc/setprivgrp -f /etc/privgroup":

$/etc/setprivgrp -f /etc/privgroup

oracle用戶修改initSID.ora中lock_sga=true

重新啟動數據庫

SOLARIS (solaris2.6以上)

8i版本以上數據庫默認使用隱藏參數 use_ism = true ,自動鎖定SGA于內存中,不用設置lock_sga, 如果設置 lock_sga =true 使用非 root 用戶啟動數據庫將返回錯誤。

WINDOWS

不能設置lock_sga=true,可以通過設置pre_page_sga=true,使得數據庫啟動的時候就把所有內存頁裝載,這樣可能起到一定的作用。

 

關于內存參數的調整

關于參數調整,是oracle的復雜性的一個具體體現。通常來講,我們更傾向于讓客戶做statspack 報告,然后告訴我們os 監控的狀況,在這些的信息的基礎上,再向客戶索取具體

的詳細信息以診斷問題的所在。系統的調整,現在我們通常采用從等待事件入手的方法。因為一個系統感覺到慢,必然是在某個環節上出現等待,那么我們從等待最多的事件入手逐步診斷并解決問題。

對于內存的調整,相對來說簡單一些,我們首先可以針對數據緩沖區的大小來看。首先觀察命中率。

數據緩沖區命中率

SQL> select value from v$sysstat where name ='physical reads';

VALUE

----------

14764

SQL> select value from v$sysstat where name ='physical reads direct';

VALUE

----------

50

SQL> select value from v$sysstat where name ='physical reads direct (lob)';

VALUE

----------

0

SQL> select value from v$sysstat where name ='consistent gets';

VALUE

----------

167763

SQL> select value from v$sysstat where name = 'db block gets';

VALUE

----------

14305

這里命中率的計算應該是

令 x = physical reads direct + physical reads direct (lob)

命中率 =100 - ( physical reads - x) / (consistent gets + db block gets - x)*100

通常如果發現命中率低于90%,則應該調整應用可可以考慮是否增大數據緩沖區共享池的命中率

SQL> select sum(pinhits-reloads)/sum(pins)*100 "hit radio" from v$librarycache;

hit radio

----------

99.809291

假如共享池的命中率低于95%,就要考慮調整應用(通常是沒使用bind var )或者增加內存。

關于排序部分

SQL> select name,value from v$sysstat where name like '%sort%';

NAME                 VALUE

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

sorts (memory)       67935

sorts (disk)         1

sorts (rows)         7070

假如我們發現sorts (disk)/ (sorts (memory)+ sorts (disk))的比例過高,則通常意味著sort_area_size 部分內存較小,可考慮調整相應的參數。

關于log_buffer

SQL> select name,value from v$sysstat

2 where name in('redo entries','redo buffer allocation retries');

NAME                           VALUE

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

redo entries                   2325719

redo buffer allocation retries 10

假如redo buffer allocation retries/ redo entries 的比例超過1%我們就可以考慮增大log_buffer

通常來說,內存的調整的焦點就集中在這幾個方面,更多更詳細的內容,建議從statspack入手來一步一步調整。最后關于內存的調整,再強調這一點,一定要結合操作系統來衡量,任何理論都必須要實踐來檢驗。在操作系統中觀察page in/out 狀況,發現問題嚴重,應該考慮調小SGA。

32bit 和64bit 的問題

對于oracle 來說,存在著32bit與64bit的問題。這個問題影響到的主要是SGA的大小。在32bit的數據庫下,通常oracle只能使用不超過1.7G的內存,即使我們擁有12G的內存,但是我們卻只能使用1.7G,這是一個莫大的遺憾。假如我們安裝64bit的數據庫,我們就可以使用很大的內存,我們幾乎不可能達到上限。但是64bit 的數據庫必須安裝在64bit 的操作系統上,可惜目前windows 上只能安裝32bit的數據庫,我們通過下面的方式可以查看數據庫是32bit 還是64bit:

SQL> select * from v$version;

BANNER

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

Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

PL/SQL Release 8.1.7.0.0 - Production

CORE 8.1.7.0.0 Production

TNS for 32-bit Windows: Version 8.1.7.0.0 - Production

NLSRTL Version 3.4.1.0.0 - Production

但是在特定的操作系統下,可能提供了一定的手段,使得我們可以使用超過1.7G 的內存,達到2G 以上甚至更多。在這里我們針對不同的平臺下的具體實現方式做一個總結。


全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日韩视频在线观看一区二区三区| 一级全黄肉体裸体全过程| 免费看欧美黑人毛片| 好吊色视频988gao在线观看| 伊人成人免费视频| 国产美女视频免费| 国内精品国产三级国产aⅴ久| 福利在线小视频| 污污污污污污www网站免费| 日本久久久网站| 久久久久久久中文| www欧美激情| 欧美美女黄色网| 热99这里只有精品| 亚洲视频在线观看一区二区三区| 男人天堂新网址| 精品国产成人av在线免| 超碰在线免费av| 黄在线观看网站| 欧洲精品在线播放| 成年人网站大全| 无码毛片aaa在线| 久久久久免费精品| 国产精品国产三级国产专区51| 丰满少妇被猛烈进入高清播放| 欧美激情第3页| 国产精品秘入口18禁麻豆免会员| 污视频网站观看| 国产男女无遮挡| av黄色在线网站| 青青青青草视频| 欧美一级片免费播放| 黑人巨大国产9丨视频| 麻豆传传媒久久久爱| 国产精品一色哟哟| 国产成人免费高清视频| 手机免费av片| 99中文字幕在线| 91嫩草国产丨精品入口麻豆| 欧美日韩久久婷婷| 国产无色aaa| 国产aaa免费视频| 日本a视频在线观看| 欧美v在线观看| 亚洲77777| 91制片厂免费观看| 亚洲成人福利在线观看| 91pony九色| 亚洲理论电影在线观看| 免费人成自慰网站| 热久久精品国产| 国产精品jizz在线观看老狼| 国产天堂视频在线观看| 玩弄japan白嫩少妇hd| 日本美女视频一区| 亚洲国产精品无码av| 亚洲人成色77777| 女女同性女同一区二区三区按摩| 男同互操gay射视频在线看| 免费高清一区二区三区| 午夜视频你懂的| 97碰在线视频| 成人综合久久网| 丰满少妇久久久| 午夜欧美福利视频| 成人黄色大片网站| 超碰中文字幕在线观看| 国产又黄又大又粗视频| 大地资源第二页在线观看高清版| 欧美 日韩 国产 高清| 中文字幕亚洲影院| 激情五月宗合网| 高清无码视频直接看| 日韩爱爱小视频| 欧美污视频网站| 欧美 日韩 亚洲 一区| 乱熟女高潮一区二区在线| 浓精h攵女乱爱av| 免费日韩视频在线观看| 乱子伦视频在线看| 黄色一级大片在线观看| av动漫免费看| 婷婷激情四射五月天| 日韩视频在线免费看| 日本成人中文字幕在线| 麻豆av免费在线| 最近中文字幕一区二区| 欧美精品自拍视频| 老司机午夜性大片| 尤蜜粉嫩av国产一区二区三区| 国产午夜精品视频一区二区三区| 91亚洲精品国产| 超碰91在线播放| 亚洲涩涩在线观看| www.天天射.com| 亚洲欧洲日产国码无码久久99| 在线免费黄色小视频| 男人操女人逼免费视频| 国模吧无码一区二区三区| 国产亚洲天堂网| 又色又爽又黄视频| 黄色成人在线看| 女人另类性混交zo| 国产小视频精品| 欧美一级视频在线播放| 日本不卡在线观看视频| 亚洲色图 在线视频| 亚洲色婷婷久久精品av蜜桃| 国产精品12345| 午夜国产一区二区三区| 欧美日韩视频免费| 国产av人人夜夜澡人人爽| 欧美一级特黄aaa| 黄色免费福利视频| eeuss中文| 污污的视频免费| aa在线免费观看| 国产成人亚洲综合无码| 午夜xxxxx| 亚洲第一天堂久久| 国产免费一区二区三区视频| 黄色动漫网站入口| aa在线免费观看| 蜜臀av午夜一区二区三区| 成人久久久久久久久| 男女无套免费视频网站动漫| 成年人视频在线免费| 日本人69视频| 四虎1515hh.com| 国产91沈先生在线播放| 欧美日韩中文字幕在线播放| 成人午夜免费在线| 黄色国产精品视频| 久久婷五月综合| 麻豆传媒网站在线观看| 蜜桃传媒一区二区三区| 蜜桃免费在线视频| 国产aⅴ爽av久久久久| 一区二区久久精品| 色欲色香天天天综合网www| 男人天堂网视频| 色哟哟免费网站| 97在线播放视频| 欧美性受xxxx黒人xyx性爽| 浴室偷拍美女洗澡456在线| 日韩视频第二页| 男人添女人下部视频免费| 91蝌蚪视频在线观看| 特级西西444| 邪恶网站在线观看| 毛片在线视频播放| 精品无码av无码免费专区| 高清一区二区视频| 欧美日韩亚洲第一| 成人av一级片| 日韩国产一级片| 91最新在线观看| 亚洲天堂av线| 日本黄色福利视频| 日韩成人手机在线| 大陆极品少妇内射aaaaa| 情侣黄网站免费看| 夜夜夜夜夜夜操| 丁香花在线影院观看在线播放| 乱熟女高潮一区二区在线| 国产a级一级片| www.污污视频| 成人性做爰片免费视频| 9色porny| 91淫黄看大片| 一区二区三区日韩视频| 特黄特黄一级片| 玩弄中年熟妇正在播放| 最近免费中文字幕中文高清百度| 午夜一区二区视频| 国产精品88久久久久久妇女| 国产freexxxx性播放麻豆| 日本va中文字幕| 久久久99精品视频| 日本免费观看网站| 国产一区二区三区播放| 欧美日韩在线中文| 看看黄色一级片| 欧美性大战久久久久xxx | 超碰成人在线播放| 精品人妻人人做人人爽| 欧美综合在线观看视频| 成人高清在线观看视频| 日韩免费视频播放| 中文字幕22页| 少妇高潮喷水久久久久久久久久| 鲁一鲁一鲁一鲁一av| 尤物av无码色av无码| 久久精品亚洲天堂| 高清一区在线观看| 久久久久久久激情| 日本三级免费观看| 国产黄页在线观看| 深夜做爰性大片蜜桃| 欧洲美女亚洲激情|