久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

深入探討Oracle數(shù)據(jù)庫(kù)10g的Shrink機(jī)制

瀏覽:134日期:2023-11-23 09:58:29

從10g開(kāi)始,oracle開(kāi)始提供Shrink的命令,假如我們的表空間中支持自動(dòng)段空間管理 (ASSM),就可以使用這個(gè)特性縮小段,即降低HWM。這里需要強(qiáng)調(diào)一點(diǎn),10g的這個(gè)新特性,僅對(duì)ASSM表空間有效,否則會(huì)報(bào) ORA-10635: Invalid segment or tablespace type。

在這里,我們來(lái)討論如和對(duì)一個(gè)ASSM的segment回收浪費(fèi)的空間。

同樣,我們用系統(tǒng)視圖all_objects來(lái)在tablespace ASSM上創(chuàng)建測(cè)試表my_objects,這一小節(jié)的內(nèi)容,實(shí)驗(yàn)環(huán)境為oracle10.1.0.2:

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod

PL/SQL Release 10.1.0.2.0 - Production

CORE 10.1.0.2.0 Production

TNS for 32-bit Windows: Version 10.1.0.2.0 - Production

NLSRTL Version 10.1.0.2.0 – Production

SQL> select TABLESPACE_NAME,BLOCK_SIZE,EXTENT_MANAGEMENT,

2 ALLOCATION_TYPE, SEGMENT_SPACE_MANAGEMENT

3 from dba_tablespaces where TABLESPACE_NAME = 'ASSM';

TABLESPACE_NAME BLOCK_SIZE EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPACE_MANAGEMENT

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

ASSM 8192 LOCAL UNIFORM AUTO

SQL> create table my_objects tablespace assm

2 as select * from all_objects;

Table created

然后我們隨機(jī)地從table MY_OBJECTS中刪除一部分?jǐn)?shù)據(jù):

SQL> select count(*) from my_objects;

COUNT(*)

----------

47828

SQL> delete from my_objects where object_name like '%C%';

16950 rows deleted

SQL> delete from my_objects where object_name like '%U%';

4503 rows deleted

SQL> delete from my_objects where object_name like '%A%';

6739 rows deleted

現(xiàn)在我們使用show_space和show_space_assm來(lái)看看my_objects的數(shù)據(jù)存儲(chǔ)狀況:

SQL> exec show_space('MY_OBJECTS','DLINGER');

Total Blocks............................680

Total Bytes.............................5570560

Unused Blocks...........................1

Unused Bytes............................8192

Last Used Ext FileId....................6

Last Used Ext BlockId...................793

Last Used Block.........................4

PL/SQL 過(guò)程已成功完成。

SQL> exec show_space_assm('MY_OBJECTS','DLINGER');

free space 0-25% Blocks:................0

free space 25-50% Blocks:...............205

free space 50-75% Blocks:...............180

free space 75-100% Blocks:..............229

Full Blocks:............................45

Unformatted blocks:.....................0

PL/SQL 過(guò)程已成功完成。

這里,table my_objects的HWM下有679個(gè)block,其中,free space為25-50%的block有205個(gè),free space為50-75%的block有180個(gè),free space為75-100%的block有229個(gè),full space的block只有45個(gè),這種情況下,我們需要對(duì)這個(gè)table的現(xiàn)有數(shù)據(jù)行進(jìn)行重組。

要使用assm上的shink,首先我們需要使該表支持行移動(dòng),可以用這樣的命令來(lái)完成:

alter table my_objects enable row movement;

現(xiàn)在,就可以來(lái)降低my_objects的HWM,回收空間了,使用命令:

alter table bookings shrink space;

我們具體的看一下實(shí)驗(yàn)的結(jié)果:

SQL> alter table my_objects enable row movement;

表已更改。

SQL> alter table my_objects shrink space;

表已更改。

SQL> exec show_space('MY_OBJECTS','DLINGER');

Total Blocks............................265

Total Bytes.............................2170880

Unused Blocks...........................2

Unused Bytes............................16384

Last Used Ext FileId....................6

Last Used Ext BlockId...................308

Last Used Block.........................3

PL/SQL 過(guò)程已成功完成。

SQL> exec show_space_assm('MY_OBJECTS','DLINGER');

free space 0-25% Blocks:................0

free space 25-50% Blocks:...............1

free space 50-75% Blocks:...............0

free space 75-100% Blocks:..............0

Full Blocks:............................249

Unformatted blocks:.....................0

PL/SQL 過(guò)程已成功完成。

在執(zhí)行玩shrink命令后,我們可以看到,table my_objects的HWM現(xiàn)在降到了264的位置,而且HWM下的block的空間使用狀況,full space的block有249個(gè),free space 為25-50% Block只有1個(gè)。

我們接下來(lái)討論一下shrink的實(shí)現(xiàn)機(jī)制,我們同樣使用討論move機(jī)制的那個(gè)實(shí)驗(yàn)來(lái)觀察。

SQL> create table TEST_HWM (id int ,name char(2000)) tablespace ASSM;

Table created

往table test_hwm中插入如下的數(shù)據(jù):

insert into TEST_HWM values (1,'aa');

insert into TEST_HWM values (2,'bb');

insert into TEST_HWM values (2,'cc');

insert into TEST_HWM values (3,'dd');

insert into TEST_HWM values (4,'ds');

insert into TEST_HWM values (5,'dss');

insert into TEST_HWM values (6,'dss');

insert into TEST_HWM values (7,'ess');

insert into TEST_HWM values (8,'es');

insert into TEST_HWM values (9,'es');

insert into TEST_HWM values (10,'es');

我們來(lái)看看這個(gè)table的rowid和block的ID和信息:

SQL> select rowid , id,name from TEST_HWM;

ROWID ID NAME

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

AAANhqAAGAAAAFHAAA 1 aa

AAANhqAAGAAAAFHAAB 2 bb

AAANhqAAGAAAAFHAAC 2 cc

AAANhqAAGAAAAFIAAA 3 dd

AAANhqAAGAAAAFIAAB 4 ds

AAANhqAAGAAAAFIAAC 5 dss

AAANhqAAGAAAAFJAAA 6 dss

AAANhqAAGAAAAFJAAB 7 ess

AAANhqAAGAAAAFJAAC 8 es

AAANhqAAGAAAAFKAAA 9 es

AAANhqAAGAAAAFKAAB 10 es

11 rows selected

SQL> select EXTENT_ID,FILE_ID,RELATIVE_FNO,BLOCK_ID,BLOCKS

2 from dba_extents where segment_name='TEST_HWM' ;

EXTENT_ID FILE_ID RELATIVE_FNO BLOCK_ID BLOCKS

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

0 6 6 324 5

1 6 6 329 5

然后從table test_hwm中刪除一些數(shù)據(jù):

delete from TEST_HWM where id = 2;

delete from TEST_HWM where id = 4;

delete from TEST_HWM where id = 3;

delete from TEST_HWM where id = 7;

delete from TEST_HWM where id = 8;

觀察table test_hwm的rowid和blockid的信息:

SQL> select rowid , id,name from TEST_HWM;

ROWID ID NAME

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

AAANhqAAGAAAAFHAAA 1 aa

AAANhqAAGAAAAFIAAC 5 dss

AAANhqAAGAAAAFJAAA 6 dss

AAANhqAAGAAAAFKAAA 9 es

AAANhqAAGAAAAFKAAB 10 es

SQL> select EXTENT_ID,FILE_ID,RELATIVE_FNO,BLOCK_ID,BLOCKS

2 from dba_extents where segment_name='TEST_HWM' ;

EXTENT_ID FILE_ID RELATIVE_FNO BLOCK_ID BLOCKS

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

0 6 6 324 5

1 6 6 329 5

從以上的信息,我們可以看到,在table test_hwm中,剩下的數(shù)據(jù)是分布在AAAAFH,AAAAFI,AAAAFJ,AAAAFK這樣四個(gè)連續(xù)的block中。

SQL> exec show_space_assm('TEST_HWM','DLINGER');

free space 0-25% Blocks:................0

free space 25-50% Blocks:...............1

free space 50-75% Blocks:...............3

free space 75-100% Blocks:..............3

Full Blocks:............................0

Unformatted blocks:.....................0

通過(guò)show_space_assm我們可以看到目前這四個(gè)block的空間使用狀況,AAAAFH,AAAAFI,AAAAFJ上各有一行數(shù)據(jù),我們猜測(cè)free space為50-75%的3個(gè)block是這三個(gè)block,那么free space為25-50%的1個(gè)block就是AAAAFK了,剩下free space為 75-100% 的3個(gè)block,是HWM下已格式化的尚未使用的block。(關(guān)于assm下hwm的移動(dòng)我們前面已經(jīng)詳細(xì)地討論過(guò)了,在extent不大于于16個(gè)block時(shí),是以一個(gè)extent為單位來(lái)移動(dòng)的)

然后,我們對(duì)table my_objects執(zhí)行shtink的操作:

SQL> alter table test_hwm enable row movement;

Table altered

SQL> alter table test_hwm shrink space;

Table altered

SQL> select rowid ,id,name from TEST_HWM;

ROWID ID NAME

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

AAANhqAAGAAAAFHAAA 1 aa

AAANhqAAGAAAAFHAAB 10 es

AAANhqAAGAAAAFHAAD 9 es

AAANhqAAGAAAAFIAAC 5 dss

AAANhqAAGAAAAFJAAA 6 dss

SQL> select EXTENT_ID,FILE_ID,RELATIVE_FNO,BLOCK_ID,BLOCKS

2 from dba_extents where segment_name='TEST_HWM' ;

EXTENT_ID FILE_ID RELATIVE_FNO BLOCK_ID BLOCKS

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

0 6 6 324 5

1 6 6 329 5

當(dāng)執(zhí)行了shrink操作后,有意思的現(xiàn)象出現(xiàn)了。我們來(lái)看看oracle是如何移動(dòng)行數(shù)據(jù)的,這里的情況和move已經(jīng)不太一樣了。我們知道,在move操作的時(shí)候,所有行的rowid都發(fā)生了變化,table所位于的block的區(qū)域也發(fā)生了變化,但是所有行物理存儲(chǔ)的順序都沒(méi)有發(fā)生變化,所以我們得到的結(jié)論是,oracle以block為單位,進(jìn)行了block間的數(shù)據(jù)copy。那么shrink后,我們發(fā)現(xiàn),部分行數(shù)據(jù)的rowid發(fā)生了變化,同時(shí),部分行數(shù)據(jù)的物理存儲(chǔ)的順序也發(fā)生了變化,而table所位于的block的區(qū)域卻沒(méi)有變化,這就說(shuō)明,shrink只移動(dòng)了table其中一部分的行數(shù)據(jù),來(lái)完成釋放空間,而且,這個(gè)過(guò)程是在table當(dāng)前所使用的block中完成的。

那么Oracle具體移動(dòng)行數(shù)據(jù)的過(guò)程是怎樣的呢?我們根據(jù)這樣的實(shí)驗(yàn)結(jié)果,可以來(lái)猜測(cè)一下:

Oracle是以行為單位來(lái)移動(dòng)數(shù)據(jù)的。Oracle從當(dāng)前table存儲(chǔ)的最后一行數(shù)據(jù)開(kāi)始移動(dòng),從當(dāng)前table最先使用的block開(kāi)始搜索空間,所以,shrink之前,rownum=10的那行數(shù)據(jù)(10,es),被移動(dòng)到block AAAAFH上,寫(xiě)到(1,aa)這行數(shù)據(jù)的后面,所以(10,es)的rownum和rowid同時(shí)發(fā)生改變。然后是(9,es)這行數(shù)據(jù),重復(fù)上述過(guò)程。這是oracle從后向前移動(dòng)行數(shù)據(jù)的大致遵循的規(guī)則,那么具體移動(dòng)行數(shù)據(jù)的的算法是比較復(fù)雜的,包括向ASSM的table中insert數(shù)據(jù)使用block的順序的算法也是比較復(fù)雜的,大家有興趣的可以自己來(lái)研究,在這里我們不多做討論。

我們還可以在shrink table的同時(shí)shrink這個(gè)table上的index:

alter table my_objects shrink space cascade;

同樣地,這個(gè)操作只有當(dāng)table上的index也是ASSM時(shí),才能使用。

關(guān)于日志的問(wèn)題,我們對(duì)比了同樣數(shù)據(jù)量和分布狀況的兩張table,在move和shrink下生成的redo size(table上沒(méi)有index的情況下):

SQL> select tablespace_name,SEGMENT_SPACE_MANAGEMENT from dba_tablespaces

2 where tablespace_name in('ASSM','HWM');

TABLESPACE_NAME SEGMENT_SPACE_MANAGEMENT

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

ASSM AUTO

HWM MANUAL

SQL> create table my_objects tablespace ASSM as select * from all_objects where rownum<20000;

Table created

SQL> create table my_objects1 tablespace HWM as select * from all_objects where rownum<20000;

Table created

SQL> select bytes/1024/1024 from user_segments where segment_name = 'MY_OBJECTS';

BYTES/1024/1024

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

2.1875

SQL> delete from my_objects where object_name like '%C%';

7278 rows deleted

SQL> delete from my_objects1 where object_name like '%C%';

7278 rows deleted

SQL> delete from my_objects where object_name like '%U%';

2732 rows deleted

SQL> delete from my_objects1 where object_name like '%U%';

2732 rows deleted

SQL> commit;

Commit complete

SQL> alter table my_objects enable row movement;

Table altered

SQL> select value from v$mystat, v$statname

2 where v$mystat.statistic# = v$statname.statistic#

3 and v$statname.name = 'redo size';

VALUE

----------

27808792

SQL> alter table my_objects shrink space;

Table altered

SQL> select value from v$mystat, v$statname

2 where v$mystat.statistic# = v$statname.statistic#

3 and v$statname.name = 'redo size';

VALUE

----------

32579712

SQL> alter table my_objects1 move;

Table altered

SQL> select value from v$mystat, v$statname

2 where v$mystat.statistic# = v$statname.statistic#

3 and v$statname.name = 'redo size';

VALUE

----------

32676784

對(duì)于table my_objects,進(jìn)行shrink,產(chǎn)生了32579712 – 27808792=4770920,約4.5M的redo ;對(duì)table my_objects1進(jìn)行move,產(chǎn)生了32676784-32579712= 97072,約95K的redo size。那么,與move比較起來(lái),shrink的日志寫(xiě)要大得多。

Shrink的幾點(diǎn)問(wèn)題:

a. shrink后index是否需要rebuild:

因?yàn)閟hrink的操作也會(huì)改變行數(shù)據(jù)的rowid,那么,如果table上有index時(shí),shrink table后index會(huì)不會(huì)變?yōu)閁NUSABLE呢?我們來(lái)看這樣的實(shí)驗(yàn),同樣構(gòu)建my_objects的測(cè)試表:

create table my_objects tablespace ASSM as select * from all_objects where rownum<20000;

create index i_my_objects on my_objects (object_id);

delete from my_objects where object_name like '%C%';

delete from my_objects where object_name like '%U%';

現(xiàn)在我們來(lái)shrink table my_objects:

SQL> alter table my_objects enable row movement;

Table altered

SQL> alter table my_objects shrink space;

Table altered

SQL> select index_name,status from user_indexes where index_name='I_MY_OBJECTS';

INDEX_NAME STATUS

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

I_MY_OBJECTS VALID

我們發(fā)現(xiàn),table my_objects上的index的狀態(tài)為VALID,估計(jì)shrink在移動(dòng)行數(shù)據(jù)時(shí),也一起維護(hù)了index上相應(yīng)行的數(shù)據(jù)rowid的信息。我們認(rèn)為,這是對(duì)于move操作后需要rebuild index的改進(jìn)。但是如果一個(gè)table上的index數(shù)量較多,我們知道,維護(hù)index的成本是比較高的,shrink過(guò)程中用來(lái)維護(hù)index的成本也會(huì)比較高。

b. shrink時(shí)對(duì)table的lock

在對(duì)table進(jìn)行shrink時(shí),會(huì)對(duì)table進(jìn)行怎樣的鎖定呢?當(dāng)我們對(duì)table MY_OBJECTS進(jìn)行shrink操作時(shí),查詢v$locked_objects視圖可以發(fā)現(xiàn),table MY_OBJECTS上加了row-X (SX) 的lock:

SQL>select OBJECT_ID, SESSION_ID,ORACLE_USERNAME,LOCKED_MODE from v$locked_objects;

OBJECT_ID SESSION_ID ORACLE_USERNAME LOCKED_MODE

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

55422 153 DLINGER 3

SQL> select object_id from user_objects where object_name = 'MY_OBJECTS';

OBJECT_ID

----------

55422

那么,當(dāng)table在進(jìn)行shrink時(shí),我們對(duì)table是可以進(jìn)行DML操作的。

c. shrink對(duì)空間的要求

我們?cè)谇懊嬗懻摿藄hrink的數(shù)據(jù)的移動(dòng)機(jī)制,既然oracle是從后向前移動(dòng)行數(shù)據(jù),那么,shrink的操作就不會(huì)像move一樣,shrink不需要使用額外的空閑空間。

主站蜘蛛池模板: 亚洲综合视频一区 | 日韩精品 | 亚洲一区二区三区四区五区午夜 | 国产成人精品综合 | 国产极品视频在线观看 | 先锋av资源在线 | 日韩欧美视频一区 | 欧美在线观看一区 | 91蜜桃视频 | 日本亚洲欧美 | 国产成人精品一区二区三区视频 | 国产成人精品综合 | 真人一级毛片 | 亚洲一区二区精品视频 | 国产成人在线播放 | 久国产精品视频 | 国产欧美日韩综合精品 | 成人在线网站 | 精品欧美 | 亚洲综合中文网 | 一区二区三区在线观看视频 | 亚洲91 | 91精品综合久久久久久五月天 | 人人草天天草 | 久久精品久久久久久久久久久久久 | 最新日韩av| 久草日韩 | 亚洲精品www | 久久视频一区二区 | 免费观看一区二区三区毛片 | 午夜视频在线观看网站 | 91资源在线| a网站在线观看 | 亚洲国产精品自拍 | 特黄特黄视频 | 日韩在线成人 | 国产精品夜夜春夜夜爽久久电影 | 黄色a视频| 91精品国产欧美一区二区成人 | 国产成人精品免费视频大全 | 精品国产乱码久久久久久久软件 | 夜夜撸av | 欧美日本免费 | 国产精品伊人 | 亚洲视频1区| 99久久精品免费看国产免费软件 | 亚洲精品一区二区三区 | 欧美性猛交一区二区三区精品 | 一区毛片| 91精品国产91久久久久久密臀 | 五月婷婷激情网 | a级片网站 | 91伊人 | 日韩欧美在线播放视频 | 国产精品.xx视频.xxtv | 91伊人| 国产精品久久久 | 黄色一级大片视频 | 91久久久久久久久久久久久久久久 | 国产a区 | www欧美 | 亚洲 欧美 精品 | 精品久久久久久久久久久久 | 成年人黄色一级片 | 日本一区二区高清不卡 | 香蕉大人久久国产成人av | 免费午夜剧场 | 亚洲精品www | 四色成人av永久网址 | 狠狠操中文字幕 | 青青久视频 | 羞羞色影院 | www.se天堂| 成人h视频| 午夜激情在线观看 | 波多野结衣先锋影音 | 伊人网在线观看 | 免费的日批视频 | 国内精品视频一区国产 | 国产精品亚洲成人 | 一区二区三区国产精品 | 亚洲日韩中文字幕一区 | 黄视频在线播放 | 欧美一区二区三区在线 | 成人观看免费视频 | av网站在线免费看 | 中文字幕一区二区在线观看 | 国产欧美久久久久久 | 日韩欧美在线视频 | 九九久久精品 | 国产精品免费观看 | 操操网| 久久伊人久久 | 天堂欧美城网站 | 天天天综合网 | 久久成人免费视频 | 国产在线小视频 | 国产一区二区三区精品久久久 | 精品国产不卡一区二区三区 | 伊人91| 日本久久网 | 99精品一区二区 | 天天操夜夜操av | 伊人yinren22综合开心 | 秋霞av电影 | 色999视频| 国产一区二区三区欧美 | 特级丰满少妇一级aaaa爱毛片 | 伊人久久综合 | 中文字幕一区二区三区四区不卡 | 九色国产 | 噜噜噜在线 | 欧美黄色片免费观看 | 国产免费成人 | 久草电影网 | 成人免毛片 | 中文字幕精品一区 | 亚洲精品久久久久久下一站 | 欧美性影院 | 国产午夜手机精彩视频 | 久久精品国产视频 | 免费观看一区二区三区毛片 | 久操不卡| 亚洲精品乱码久久久久久蜜桃图片 | 日韩成人tv| 国产精品视频入口 | 欧美日韩综合 | 免费在线成人 | 亚洲天堂久久 | a一级黄| 国产噜噜噜噜噜久久久久久久久 | 最新av中文字幕 | 精品国产髙清在线看国产毛片 | www.一区二区 | 国产精品久久久久久久午夜 | 亚洲一区 国产 | 午夜精品久久久久久久久久久久 | 日韩欧美在线视频观看 | 国产精品18久久久久久久久 | 亚洲一区二区中文字幕 | 国产一区二区视频在线观看 | 99精品国产高清一区二区麻豆 | 91精品国产综合久久久久久漫画 | 日本免费一区二区三区 | 二区免费视频 | 亚洲精选国产 | 日韩一区二区不卡 | www.日韩三级 | www.久久.com | 亚洲一区二区三区在线视频 | 免费av一区二区三区 | 免费视频一区 | 国产传媒视频 | 久操成人 | 欧美美乳| 亚洲欧美日韩天堂 | 欧美日韩亚洲高清 | 午夜视频在线 | 国产 日韩 欧美 在线 | 91精品国产人妻国产毛片在线 | 色爱av| 青春草在线观看 | 国产成人精品一区二区 | 欧美一级视频在线观看 | 亚洲成人精品久久久 | 欧美顶级毛片在线播放 | 久久9999 | 国产午夜视频 | 国产人成精品一区二区三 | 成年人免费看片 | 日韩和的一区二在线 | 精品日韩在线观看 | 91久久 | 国产成人精品一区二区三区视频 | 国产一区二区影院 | 国产成人精品久久二区二区 | 中文久久 | 亚洲福利国产 | 日韩在线精品视频 | 91免费在线看| 国产精品地址 | 偷拍做爰吃奶视频免费看 | 欧美一级做性受免费大片免费 | 精品国产一区二区三区日日嗨 | 欧美视频免费 | 精品久久久久久久久久久久久久久久久久久 | 日日爱夜夜操 | 亚洲丶国产丶欧美一区二区三区 | 天天操天天插天天干 | 国产中文字幕在线观看 | 欧美精品欧美极品欧美激情 | 日日干夜夜操 | 日本不卡免费新一二三区 | 秋霞在线一区 | 中文字幕日韩久久 | 日韩欧美一区二区三区久久婷婷 | 成人在线免费 | 国产视频一区二区 | 久久亚洲一区二区三 | 在线亚洲人成电影网站色www | 免费一区二区三区 | 国产一区二区三区精品久久久 | 日本视频中文字幕 | 国产精品久久久久久久久久久久久久久久 | 国产精品久久国产精品 | 久久中文字幕一区 | 欧美一区二区三区精品 | 精品久久香蕉国产线看观看亚洲 | 国产大片aaa | 91视频精选 | 天天干视频| 精品国产一区二区三区不卡蜜臂 | 欧美 日韩 国产 一区 | 国产精品国产精品国产专区不卡 | 成人免费福利视频 | 黄色av网站在线免费观看 | 91高清视频| 美女精品视频 | 91精品久久久久久久91蜜桃 | 久久男人 | 亚洲精品a在线观看 | 色欧美片视频在线观看 | 国产福利在线免费 | www.中文字幕 | 国产精品国产成人国产三级 | 精品国产乱码久久久久久久软件 | 91精品国产乱码久久久久久久久 | 精品视频在线播放 | 久久久久久免费精品 | 操操操夜夜操 | 久草成人 | 91免费看电影 | 国产精品无码久久久久 | 欧美日韩成人在线观看 | 久久人人爽人人爽 | 福利视频一区 | 精品免费国产一区二区三区 | 美女黄视频网站 | 精品久久久久久久久久久久久久 | 国产影音先锋 | 国产精品一区二区三区四区 | 九九热欧美 | 日本黄色毛片 | 一区二区三区国产精品 | 欧美黄色片 | 精品亚洲一区二区 | 5060毛片 | 国产欧美日本 | 国产精品日本欧美一区二区三区 | 福利视频网址导航 | 午夜免费看片 | 久久99精品久久久久久琪琪 | 国产97久久 | sese综合 | 欧美精品日韩 | 国产精品一区一区三区 | 亚洲一区二区三区四区五区中文 | 成人h动漫免费观看网站 | 国产精品久久久久久一区二区三区 | 天堂一区 | 综合婷婷 | 日本成人片网站 | 欧美人体一区二区三区 | 欧美自拍网 | 久久综合狠狠综合久久综合88 | 奇米精品一区二区三区在线观看 | 欧美a网站| 日韩欧美国产电影 | 欧美日韩中文字幕 | 精品国产一区二区在线 | 亚洲一区久久 | 天天碰天天操 | 女人夜夜春高潮爽a∨片传媒 | av在线免费观看网址 | 日韩日韩日韩日韩日韩日韩 | 黄色地址| 欧美成人久久 | 免费看黄视频网站 | 久久人人爽人人爽 | 人人插| 亚洲精久 | 国产一区二区高潮 | 在线播放亚洲 | 国产精品免费看 | www亚洲精品 | 嫩草影院永久入口 | 欧美一区二区三区aa大片漫 | 国产伦精品一区二区三区四区视频 | 羞羞视频在线观看免费 | 免费av在线播放 | 日本一区二区不卡 | 青青草超碰在线 | 中文字幕亚洲一区二区va在线 | 国产亚洲在线 | 成人在线免费观看 | 日韩视频在线免费观看 | 婷婷综合久久 | 欧美日韩久久久 | 国产一区二区三区四区五区加勒比 | 亚洲精久久 | 国产视频一视频二 | 国产一区二区精品在线 | 精品在线播放 | 免费一区二区 | 男人的天堂视频网站 | 色在线看 | 午夜精品一区二区三区在线视频 | 在线视频 亚洲 | 日韩视频中文字幕 | 99热播在线| 久久久av亚洲男天堂 | 日韩国产精品视频 | 欧美日韩国产一区 | 欧美精品一区二区三区一线天视频 | 中文字幕视频在线 | 成人在线国产 | 欧美激情国产日韩精品一区18 | 国产黄色大片 | 日韩中文字幕一区 | 中文字幕视频在线观看 | 91精品国产91久久久久久最新 | 中文字幕一区在线观看视频 | 久久午夜综合久久 | 久久综合一区 | 成人av教育 | 亚洲精品成人av | 成人做爰999 | 免费国产一区 | 精品国产欧美 | 久久久av | 久久久久久久91 | 美女黄在线观看 | av一区二区在线观看 | 99久久日韩精品视频免费在线观看 | 国产日韩欧美一区二区在线观看 | 亚洲综合在线视频 | 午夜精品一区二区三区在线视频 | 亚洲一区综合 | 玖玖在线精品 | 最新天堂中文在线 | 国产一区二区资源 | 九九免费精品视频 | 亚洲热妇 | 亚洲欧洲成人 | 国产精品视频专区 | 天天看天天摸天天操 | 97国产在线 | 中文字幕在线精品 | 久草天堂 | 国产美女久久久 | 中文字幕一区二区三区乱码图片 | 欧美午夜寂寞影院 | 久久九| 日韩视频在线观看 | 91九色porny首页最多播放 | 黄色国产在线看 | 国产中文视频 | 亚洲精品一区二区 | 先锋资源在线观看 | 99精品国产高清一区二区麻豆 | 一级免费av | 国产精品久久久久久久久免费桃花 | 色网站视频 | 欧美精品一区二区三区手机在线 | 日日爱影视 | 国产日韩欧美在线 | 97国产一区二区精品久久呦 | 久久麻豆视频 | 在线播放国产精品 | 欧美精品一区二区在线观看 | 九九视频这里只有精品 | 成人免费视频网址 | 伊人网站 | 亚洲aⅴ天堂av在线电影软件 | 国产日韩精品一区二区 | 九九香蕉视频 | 国产欧美日韩一区 | 亚洲欧美久久久 | 免费成人在线网站 | av在线三级 | 狠狠艹夜夜艹 | 成人免费视频7777777 | 久久久久久网站 | 成人一区视频 | 国产精品一区久久久久 | 91精品国产欧美一区二区 | 欧美日一区 | 二区视频| 国产一区二区三区精品久久久 | 91网址| 久久99国产精品 | 国产xxxx成人精品免费视频频 | jlzzjlzz亚洲日本少妇 | 黄色一级电影免费观看 | 亚洲精品www久久久久久 | 高清av在线| 成人一区二区在线 | 五月免费视频 | 日本一本在线 | 精品成人一区二区 | 免费一级欧美在线观看视频 | 国产欧美日韩综合精品一区二区 | 欧美男人天堂 | 在线精品亚洲欧美日韩国产 | www.fefe66.com| 99久久婷婷 | 91精品国产综合久久久久久漫画 | 视频一区二 | av男人的天堂网 | 久久国产精彩视频 | 久久99国产精品久久99大师 | 日韩在线视频在线观看 | 国产乱人伦av在线a jizz久久久 www.亚洲 | 色婷婷一区二区三区四区 | 国产精品18hdxxxⅹ在线 | 精品在线一区二区 | 日韩精品网站在线观看 | 久久精品欧美一区二区三区不卡 | 久久精品国产一区 | 国产成人一级片 | 中文字幕日韩欧美一区二区三区 | 久久精品无码一区二区日韩av | 色天天综合久久久久综合片 | 国产精品视频导航 | 国产精品美女视频一区二区三区 | 97影院在线午夜 | 午夜三区 | 91精品区 | 中文一二区 | 亚洲精品二区 | 青青草人人 | 日韩在线一区二区三区 | 国产成人精品免高潮在线观看 | 91久久久久久久久 | 国产精品成人3p一区二区三区 | 欧美中文字幕一区 | 精品一区二区三区免费毛片爱 | 97视频精品 | 欧美爱爱视频 | 日韩精品一区二区三区四区视频 | 中文字幕本久久精品一区 | 国产2区 | 久久精彩 | 日韩亚洲在线 | 国产精品毛片一区二区在线看 | 国产激情网址 | 久久国产一区二区三区 | 欧美中文字幕一区 | 亚洲欧美韩国 | 国产精品乱码一区二区三区 | 成人在线免费视频 | 国产女人和拘做受视频 | 日韩精品小视频 | 免费的国产视频 | 欧美一二区 | 天天看天天做 | 精品亚洲一区二区三区 | 精品婷婷 | 91一区 | 成人免费视频观看视频 | 99精品国产高清一区二区麻豆 | 日韩成人av在线 | 午夜欧美一区二区三区在线播放 | 国产一区二区三区四区在线观看 | 欧美另类一区二区 | 爱操在线 | 国产精品久久久久9999鸭 | 一级大片av | 精品中文字幕一区 | 日韩在线 | 日韩精品免费在线观看 | 久久久久国产成人精品亚洲午夜 | 夜夜操天天干 | 久久久久久久 | 中文日韩在线 | 在线免费观看黄 | 凹凸日日摸日日碰夜夜 | 午夜电影在线看 | 99爱视频| 黄a免费看 | 天堂av中文字幕 | 久久久精品影院 | 中文字幕av亚洲精品一部二部 | 午夜电影 | 在线成人一区 | 日韩免费高清在线 | 免费观看一级特黄欧美大片 | 亚洲品质自拍视频网站 | 久草一区 | 亚洲国产精品精华液com | 成人免费毛片高清视频 | 日韩精品一| 九九国产| 天天夜操 | 亚洲欧美日韩另类精品一区二区三区 | 久久久久久中文字幕 | 欧美一级日韩 | 成人av影院 | 久久兔费看a级 | 97国产精品视频 | 日韩国产欧美 | 免费国产网站 | 中文字幕日韩欧美一区二区三区 | 国产精品国产精品国产专区不卡 | 国产精品美女久久久 | 国产精品一区二区三区在线免费观看 | 欧美久久久久久久久久伊人 | 国产乱码精品一区二区三区忘忧草 | 久久精品在线 | 色站综合| 中文字幕av网 | 国产精品久久9 | 日韩在线观看精品 | 欧美精品一区二区在线观看 | 精品一区二区在线播放 | 91精品在线观看入口 | 天天夜碰日日摸日日澡 | 成人在线网站 | 亚洲成人动漫在线观看 | 亚洲一区二区免费看 | 亚洲男人天堂2024 | 69免费视频| 久久亚洲精品综合 | 一区二区色| 日韩一区二区三区av | 涩涩视频大全 | 一级a性色生活片久久毛片 夜夜视频 | 91国产精品入口 | 成人免费观看49www在线观看 | 青草青草久热精品视频在线观看 | 亚洲成人综合在线 | 亚洲午夜精品 | 国产福利在线观看 | 日韩午夜视频在线观看 | 欧美精品99 | 毛片av在线 | 在线第一页 | 黄色91在线 | 在线视频国产一区 | 天堂一区二区三区 | 毛片在线视频 | 欧美一级精品片在线看 | 99视频免费播放 | 亚洲午夜精品在线观看 | 91亚洲精品视频 | 伊人春色网 | 天堂在线中文 | 在线观看国产视频 | 久久成人在线 | 久久精品一区二区三区四区 | 国内精品久久精品 | 国产色 | 中文字幕 在线观看 | 久热精品在线 | 欧美精品一区二区三区在线 | 欧美精品三区 | 欧美激情一区二区三区 | 国产欧美一区二区 | 在线成人国产 | 成人av一区二区三区 | 在线观看亚洲 | 亚洲精品在线播放视频 | 国产精品com | 精品www | 欧美第一页 | 色黄视频在线 | 亚洲高清视频在线 | 成年人在线视频 | 久久免费看 | 久久99热精品免费观看牛牛 | 色婷婷网 | 97爱爱爱 | 美女扒开内裤让男人桶 | 在线观看国产视频 | 欧美日本亚洲 | 日本一区二区三区免费观看 | 精品久久久成人 | 久久婷婷国产麻豆91天堂 | 日韩精品一区二区三区在线观看 | 国产一区二区三区在线看 | 亚洲一区二区免费视频 | www日本高清 | 亚洲国产精品成人无久久精品 | 免费一区 | 中文字幕亚洲欧美 | 午夜视频网址 | 日韩久久久久久 | 久久不射电影网 | 中文字幕av一区二区三区免费看 | 中文字幕一区二区三 | 黄色av网站在线免费观看 | 最新日韩精品在线观看 | 国产视频大全 | 日韩精品在线一区 | 久久美女视频 | 亚洲综合在 | 黄色免费一级 | 国产一级视频 | 欧美久久一级特黄毛片 | 蜜桃在线视频 | 天天操狠狠操 | 91成人精品| 久久久精品一区二区 | 台湾av在线 | 成人免费在线观看网址 | 久久久久香蕉视频 | 一级毛片免费看 | 噜噜噜噜狠狠狠7777视频 | 国产欧美日本 | 国产一区国产二区在线观看 | 99精品欧美一区二区蜜桃免费 | 一级黄色录像免费观看 | 久久视频免费 | 国产精品无码久久久久 | 一级一片免费看 |