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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

oracle segment undo_71_UNDO扩展学习

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle segment undo_71_UNDO扩展学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UNDO擴展學習

UNDO是Oracle在UNDO SEGMENT(回滾段)中記錄的信息。下面使用UNDO這名字可能會包含兩種意思,一是前面說的回滾段中的記錄、二是UNDO整個機制。

在這部分內容里,沒有涉及閃回技術,要知道不少閃回技術是基于UNDO機制來實現的,比如flashback query、flashback table、flashback version query等。

首先看下我的操作環境:

sys@L10GR204> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

PL/SQL Release 10.2.0.4.0 - Production

CORE 10.2.0.4.0 Production

TNS for Linux: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

下面列出本節要討論的內容:

1) 什么時候聯機回滾段?

2) 如何證明SYSTEM回滾段只對系統對象提供服務

3) alter system set undo_tablespace = uuu;

4) 如何創建一個新的UNDO表空間并使用

5) 回滾段增減

6) 了解幾個參數

7) 構造一個CR塊

8) 快速構造ora-01555 快照過舊

9) enq: US – contention

10) Oracle INSERT、UPDATE、DELETE與Undo

什么時候聯機回滾段?

這是一個非常簡單的問題,如果大家已經掌握了數據庫的啟動過程,那就很容易回答上了。

看下面簡單實驗:

當前實例為MOOUNT狀態

sys@L10GR204> select status from v$instance;

STATUS

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

MOUNTED

這時候試圖訪問和UNDO相關視圖,將會報錯

sys@L10GR204> select * from v$rollname;

select * from v$rollname

*

ERROR at line 1:

ORA-01219: database not open: queries allowed on fixed tables/views only

當我們OPEN之后,即可讀取回滾段信息

sys@L10GR204> alter database open;

Database altered.

sys@L10GR204> col name for a55

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

1 _SYSSMU1$ ONLINE

2 _SYSSMU2$ ONLINE

3 _SYSSMU3$ ONLINE

4 _SYSSMU4$ ONLINE

5 _SYSSMU5$ ONLINE

6 _SYSSMU6$ ONLINE

7 _SYSSMU7$ ONLINE

8 _SYSSMU8$ ONLINE

9 _SYSSMU9$ ONLINE

10 _SYSSMU10$ ONLINE

11 rows selected.

-- 仔細看,USN為0的回滾段為SYSTEM,這是我們創建數據庫的時候創建于系統表空間的回滾段,只提供于更改系統對象做服務。

sys@L10GR204> set line 150

sys@L10GR204> col SEGMENT_NAME for a15

sys@L10GR204> col TABLESPACE_NAME for a10

sys@L10GR204> select segment_name, segment_type, tablespace_name from dba_segments where segment_name = 'SYSTEM';

SEGMENT_NAME SEGMENT_TYPE TABLESPACE

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

SYSTEM ROLLBACK SYSTEM

如何證明SYSTEM回滾段只對系統對象提供服務

為了證明這句話的正確性,我先將非SYSTEM的回滾段去除,只要將當前UNDO表空間脫機處理即可。

sys@L10GR204> select file_id, tablespace_name from dba_data_files where tablespace_name = 'UNDOTBS1';

FILE_ID TABLESPACE

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

2 UNDOTBS1

UNDO表空間脫機需要注意操作:

在非歸檔模式如下操作

OPEN模式直接操作:

sys@L10GR204> alter database datafile 2 offline drop;

ERROR:

ORA-03114: not connected to ORACLE

alter database datafile 2 offline drop

*

ERROR at line 1:

ORA-00603: ORACLE server session terminated by fatal error

告警日志頻繁輸出:

Mon Mar 25 13:35:28 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_pmon_3756.trc:

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Mon Mar 25 13:35:38 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_pmon_3756.trc:

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Mon Mar 25 13:35:38 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_pmon_3756.trc:

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Mon Mar 25 13:35:38 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_pmon_3756.trc:

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Mon Mar 25 13:35:38 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_pmon_3756.trc:

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

試圖關閉數據庫

sys@L10GR204> shutdown immediate

-- 系統HANG住,無法正常關閉

解決方法:

sys@L10GR204> shutdown abort

sys@L10GR204> startup mount

sys@L10GR204> recover database;

sys@L10GR204> alter database open;

經過上面一系列操作,系統能open了,但是,當我們再次關閉數據庫的時候,將得到錯誤提示

sys@L10GR204> shutdown immediate

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

這是因為UNDO表空間當前狀態是OFFLINE緣故

sys@L10GR204> select FILE#, status from v$datafile;

FILE# STATUS

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

1 SYSTEM

2 OFFLINE

3 ONLINE

4 ONLINE

5 ONLINE

在線處理之后恢復正常

sys@L10GR204> alter database datafile 2 online;

Database altered.

sys@L10GR204> select FILE#, status from v$datafile;

FILE# STATUS

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

1 SYSTEM

2 ONLINE

3 ONLINE

4 ONLINE

5 ONLINE

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

11 _SYSSMU11$ ONLINE

在數據庫open又開啟歸檔模式下,進行如下操作:

sys@L10GR204> alter database datafile 2 offline drop;

ERROR:

ORA-03114: not connected to ORACLE

alter database datafile 2 offline drop

*

ERROR at line 1:

ORA-00603: ORACLE server session terminated by fatal error

可見依然會掛起,但這時候,我們是無法通過非歸檔模式下解決方法來恢復,當打開數據庫時,直接異常終止,如下:

idle> alter database open;

alter database open

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

告警日志輸出:

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_smon_22399.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Mon Mar 25 13:50:42 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_smon_22399.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Mon Mar 25 13:50:43 2013

Errors in file /u01/app/oracle/admin/L10GR204/udump/l10gr204_ora_23025.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u01/app/oracle/oradata/L10GR204/undotbs01.dbf'

Error 604 happened during db open, shutting down database

USER: terminating instance due to error 604

Instance terminated by USER, pid = 23025

ORA-1092 signalled during: alter database open...

這時候,我們需要手工介恢復:

idle> conn / as sysdba

idle> startup mount

[oracle@khm21 ~]$ rman target /

RMAN> recover database;

idle> alter database open;

上面是在誤操作(OPEN狀態下)之后恢復的過程,OPEN狀態下將默認回滾表空間脫機處理是較危險的操作,請務必重啟到MOUNT模式下操作

sys@L10GR204> alter database datafile 2 offline drop;

-- 不帶drop選項,會報ORA-01145

sys@L10GR204> alter database datafile 2 offline;

alter database datafile 2 offline

*

ERROR at line 1:

ORA-01145: offline immediate disallowed unless media recovery enabled

在系統運行于歸檔模式下的時候,則如下操作:

sys@L10GR204> shutdown immediate

sys@L10GR204> startup mount

sys@L10GR204> alter database datafile 2 offline;

sys@L10GR204> alter database open;

下面驗證system回滾段只為系統對象做服務,使用sys用戶操作:

sys@L10GR204> create table test(id int);

Table created.

sys@L10GR204> insert into test values(1);

1 row created.

sys@L10GR204> delete from test;

1 row deleted.

sys@L10GR204> rollback;

Rollback complete.

當前只有一個SYSTEM回滾段,我們操作對象時SYSTEM表空間里的時候,SYSTEM回滾段就為此服務,因此正常。

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

通過普通用戶操作:

ning@L10GR204> show user

USER is "ning"

ning@L10GR204> create table test(id int);

create table test(id int)

*

ERROR at line 1:

ORA-01552: cannot use system rollback segment for non-system tablespace 'ning'

-提示system回滾段無法為其他表空間提供服務。

將默認回滾表空間在線處理

sys@L10GR204> alter database datafile 2 online;

Database altered.

有了默認回滾段,操作恢復正常

ning@L10GR204> create table test(id int);

Table created.

ning@L10GR204> insert into test values(5);

1 row created.

ning@L10GR204> rollback;

Rollback complete.

這時候發現產生了一個回滾段

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

1 _SYSSMU1$ ONLINE

通過如下方法可以查看_SYSSMU1$回滾段的使用情況:

sys@L10GR204> select OWNER, SEGMENT_NAME, TABLESPACE_NAME, EXTENT_ID, FILE_ID, BLOCK_ID, STATUS from dba_undo_extents where segment_name='_SYSSMU1$' and rownum <=3;

OWNER SEGMENT_NA TABLESPACE EXTENT_ID FILE_ID BLOCK_ID STATUS

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

SYS _SYSSMU1$ UNDOTBS1 0 2 9 EXPIRED

SYS _SYSSMU1$ UNDOTBS1 1 2 2569 EXPIRED

SYS _SYSSMU1$ UNDOTBS1 2 2 24217 EXPIRED

alter system set undo_tablespace = uuu;

為什么要研究修改undo表空間,只是想告訴大家,當我們執行alter system set undo_tablespace = uuu;的時候都會發生什么。

首先我們觀察當前都有哪些回滾段:

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

1 _SYSSMU1$ ONLINE

2 _SYSSMU2$ ONLINE

3 _SYSSMU3$ ONLINE

4 _SYSSMU4$ ONLINE

5 _SYSSMU5$ ONLINE

6 _SYSSMU6$ ONLINE

7 _SYSSMU7$ ONLINE

8 _SYSSMU8$ ONLINE

9 _SYSSMU9$ ONLINE

10 _SYSSMU10$ ONLINE

11 rows selected.

創建一個新的undo表空間,注意,這里為下面的實驗,我故意創建了非常小的回滾表空間。

sys@L10GR204> create undo tablespace undo_ning datafile '/u01/app/oracle/oradata/L10GR204/undo_ning.dbf' size 150K autoextend off;

Tablespace created.

將當前默認undo tablespace設置成新建的

sys@L10GR204> alter system set undo_tablespace=undo_ning;

System altered.

發現原先的回滾段全部消失,表空間過小,一個回滾段都沒創建。

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

添加數據文件

sys@L10GR204> alter tablespace undo_ning add datafile '/u01/app/oracle/oradata/L10GR204/undo_ning02.dbf' size 200k autoextend on;

Tablespace altered.

生成一個回滾段。

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

12 _SYSSMU12$ ONLINE

結論:在我們在線修改undo tablespace的時候,并不是原先的回滾段移動到新的undo tablespace,而是脫機重新創建。但如果原undo tablespace里還有active事務,則需要等到這些活動事務全部結束之后才能切換。

如何創建一個新的UNDO表空間并使用

上面已經演示過創建新UNDO表空間并使用的過程,這里分享一下如果創建過程遇到ORA-30015如何去解決。

sys@L10GR204> create undo tablespace l_u_s datafile '/u01/app/oracle/oradata/L10GR204/l_u_s01.dbf' size 1M autoextend off;

Tablespace created.

當我想使用新創建的undo表空間的時候,得到錯誤提示

sys@L10GR204> alter system set undo_tablespace=l_u_s;

alter system set undo_tablespace=l_u_s

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-30015: previously offlined undo tablespace 'UNDO_ning' is still pending

查一下當前回滾段狀態,發現_SYSSMU19$狀態為PENDING OFFLINE,估計還有個活躍事務。

sys@L10GR204> col NAME for a20

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

19 _SYSSMU19$ PENDING OFFLINE

34 _SYSSMU34$ ONLINE

35 _SYSSMU35$ ONLINE

36 _SYSSMU36$ ONLINE

37 _SYSSMU37$ ONLINE

38 _SYSSMU38$ ONLINE

39 _SYSSMU39$ ONLINE

40 _SYSSMU40$ ONLINE

9 rows selected.

我們通過下面腳本區找當前活躍事務SESSION信息

sys@L10GR204> col USERNAME for a10

sys@L10GR204> col ROLLBACK for a15

sys@L10GR204> SELECT S.SID, S.SERIAL#, S.USERNAME, R.NAME "ROLLBACK"

2 FROM V$SESSION S, V$TRANSACTION T, V$ROLLNAME R

3 WHERE S.TADDR = T.ADDR AND T.XIDUSN = R.USN

4 AND R.name IN (SELECT segment_name FROM dba_rollback_segs WHERE TABLESPACE_NAME ='UNDO_ning')

5 /

SID SERIAL# USERNAME ROLLBACK

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

148 34 ning _SYSSMU19$

直接將該SESSION KILL掉

sys@L10GR204> alter system kill session '148,34';

System altered.

這下就可以正常設置新UNDO表空間了

sys@L10GR204> alter system set undo_tablespace='L_U_S';

System altered.

sys@L10GR204> alter system set undo_retention=1;

System altered.

回滾段增減

在上面,我們已經看出,當Oracle數據庫啟動的時候,默認就會創建多個回滾段,但是,某些系統這些回滾段是不夠用的,表現在事務量非常大的系統中。

不過不用擔心,Oracle也知道有這種現象,因此如果當前回滾段不足,則會自動創建新回滾段并提供使用。一段時間(通過指定算法)后如果事務量減少,Oracle的SMON將部分回滾段脫機。

我們在上面環境的基礎下,通過實驗觀察這個效果。

這里用到了如下腳本

[oracle@khm21 ~]$ cat showsysevent.sql

column EVENT for a65

select *

from (

select event, total_waits, time_waited

from v$system_event

where wait_class <> 'Idle'

order by 3 desc

)

where EVENT = 'enq: US - contention'

/

查看當前回滾段情況:

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

12 _SYSSMU12$ ONLINE

13 _SYSSMU13$ ONLINE

創建一張測試對象表并插入數據

ning@L10GR204> create table khm(id number, domain varchar2(20));

Table created.

ning@L10GR204> begin

2 for i in 1 .. 100 loop

3 insert into khm values(i,'Integrated Cloud Applications and Platform Services');

4

5 end loop;

6 commit;

7 end;

8 /

PL/SQL procedure successfully completed.

創建一個過程,對khm表進行delete,然后馬上回滾:

create or replace procedure khm_delete

is

begin

for i in 1 .. 100 loop

delete from khm;

rollback;

end loop;

end;

/

打開100個會話并執行該存儲過程

var jobno number;

begin

for l in 1 .. 100 loop

dbms_job.submit(:jobno, 'khm_delete;');

commit;

end loop;

end;

/

發現回滾段自動增加了幾個

sys@L10GR204> select rn.usn, rn.name, rs.status from v$rollname rn, v$rollstat rs where rn.usn = rs.usn;

USN NAME STATUS

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

0 SYSTEM ONLINE

12 _SYSSMU12$ ONLINE

13 _SYSSMU13$ ONLINE

14 _SYSSMU14$ ONLINE

15 _SYSSMU15$ ONLINE

16 _SYSSMU16$ ONLINE

6 rows selected.

下面是US鎖等待統計,具體下面討論

ning@L10GR204> @showsysevent

EVENT TOTAL_WAITS TIME_WAITED

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

enq: US - contention 26 339

了解幾個參數

我不會去解釋所有和UNDO相關的參數,UNDO_MANAGEMENT、UNDO_RETENTION、UNDO_TABLESPACE這三個參數我也不解釋。

使用下面腳本查看和回滾相關的一些參數,了解一下即可,除非特殊情況不建議修改(尤其是隱含參數)

sys@L10GR204> set pagesize 9999

sys@L10GR204> set line 150

sys@L10GR204> col NAME for a30

sys@L10GR204> col VALUE for a20

sys@L10GR204> col DESCRIB for a80

sys@L10GR204> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc DESCRIB

2 FROM SYS.x$ksppi x, SYS.x$ksppcv y

3 WHERE x.inst_id = USERENV ('Instance')

4 AND y.inst_id = USERENV ('Instance')

5 AND x.indx = y.indx

6 AND x.ksppinm LIKE '%&par%'

7

sys@L10GR204> /

Enter value for par: undo

old 6: AND x.ksppinm LIKE '%&par%'

new 6: AND x.ksppinm LIKE '%undo%'

NAME VALUE DESCRIB

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

_gc_undo_affinity TRUE if TRUE, enable dynamic undo affinity

_kcl_undo_locks 128 number of locks per undo segment

_kcl_undo_grouping 32 grouping for undo block locks

_gc_undo_affinity_locks TRUE if TRUE, get affinity locks for undo

_gc_dissolve_undo_affinity FALSE if TRUE, dissolve undo affinity after an offline

_gc_initiate_undo_affinity TRUE if TRUE, initiate undo affinity after an online

undo_management AUTO instance runs in SMU mode if TRUE, else in RBU mode

undo_tablespace UNDO_ning use/switch undo tablespace

_collect_undo_stats TRUE Collect Statistics v$undostat

_undo_debug_mode 0 debug flag for undo related operations

_verify_undo_quota FALSE TRUE - verify consistency of undo quota statistics

_in_memory_undo TRUE Make in memory undo for top level transactions

_undo_autotune TRUE enable auto tuning of undo_retention

undo_retention 900 undo retention in seconds

_smon_undo_seg_rescan_limit 10 limit of SMON continous undo segments re-scan

_undo_debug_usage 0 invoke undo usage functions for testing

_optimizer_undo_cost_change 10.2.0.4 optimizer undo cost change

_optimizer_undo_changes FALSE undo changes to query optimizer

18 rows selected.

sys@L10GR204> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc DESCRIB

2 FROM SYS.x$ksppi x, SYS.x$ksppcv y

3 WHERE x.inst_id = USERENV ('Instance')

4 AND y.inst_id = USERENV ('Instance')

5 AND x.indx = y.indx

6 AND x.ksppinm LIKE '%&par%'

7

sys@L10GR204> /

Enter value for par: rollback

old 6: AND x.ksppinm LIKE '%&par%'

new 6: AND x.ksppinm LIKE '%rollback%'

NAME VALUE DESCRIB

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

transactions_per_rollback_segm 5 number of active transactions per rollback segment

ent

rollback_segments undo segment list

_rollback_segment_initial 1 starting undo segment number

_rollback_segment_count 0 number of undo segments

_offline_rollback_segments offline undo segment list

_corrupted_rollback_segments corrupted undo segment list

_cleanup_rollback_entries 100 no. of undo entries to apply per transaction cleanup

_rollback_stopat 0 stop at -position to step rollback

fast_start_parallel_rollback LOW max number of parallel recovery slaves that may be used

9 rows selected.

從中介紹幾個隱含參數:

_undo_autotune :從Oracle 10g R2開始默認為TRUE,意思是根據undo表空間大小或者系統負載情況,自動調整undo_retention。這個功能可以在線關閉,方法:alter system set "_undo_autotune"=false;

_smon_undo_seg_rescan_limit:limit of SMON continous undo segments re-scan,上面介紹了Oracle脫機回滾段是根據算法的,算法里面的其中一個條件(如果前面條件都不滿足則采用此條件)就是參考_smon_undo_seg_rescan_limit的值。

_rollback_segment_count:指定在線狀態的回滾段個數。

構造一個CR塊

下面是簡單構造一個CR塊的示例。

SESSION A:

ning@L10GR204> select distinct sid from v$mystat;

SID

----------

149

當前KHM表id=95的記錄如下:

ning@L10GR204> select * from khm where id = 95;

ID DOMAIN

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

95 Integrated Cloud Applications and Platform Services

打開一個游標,但不執行

ning@L10GR204> variable l refcursor

ning@L10GR204> exec open :l for select * from khm where id = 95;

PL/SQL procedure successfully completed.

SESSION B:

ning@L10GR204> select distinct sid from v$mystat;

SID

----------

143

在另一個會話將id=95的記錄值修改并提交

ning@L10GR204> update khm set domain = 'Create your own social network with the best community website builder - NING' where id = 95;

1 row updated.

ning@L10GR204> commit;

Commit complete.

回到打開游標的會話,執行并讀取,這時我們發現讀取到的是被SESSION B修改之前的記錄,這就從CR塊里讀出來的記錄

SESSION A:

ning@L10GR204> print l

ID DOMAIN

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

95 Integrated Cloud Applications and Platform Services

再次查詢,因為事務已經提交,所以讀取到的是UPDATE之后的內容

ning@L10GR204> select * from khm where id = 95;

ID DOMAIN

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

95 Create your own social network with the best community website builder - NING

這其中SCN的作用是非常重要的,其實SESSION A打開游標的時候就有對應的SCN,這個SCN肯定小于更新并提交時SCN,當我們print的時候還是拿當前SCN去查詢,經過跟塊上的SCN比較之后它去回滾段讀取鏡像數據。

下面我們深入了解一下構造CR塊并讀取過程。

拿下面數據作為參考進行實驗:

ning@L10GR204> select rowid, t.* from khm t where t.id >95;

ROWID ID DOMAIN

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

AAANIuAAFAAAAAWABf 96 Create your own social network with the best community website builder - NING

AAANIuAAFAAAAAWABg 97 Create your own social network with the best community website builder - NING

AAANIuAAFAAAAAWABh 98 Create your own social network with the best community website builder - NING

AAANIuAAFAAAAAWABi 99 Integrated Cloud Applications and Platform Services

AAANIuAAFAAAAAWABj 100 Integrated Cloud Applications and Platform Services

SESSION A更新兩條記錄

ning@L10GR204> update khm set domain='bbs.ning.com' where id=96;

1 row updated.

ning@L10GR204> update khm set domain='ffdg' where id=97;

1 row updated.

查看該事務存在信息

ning@L10GR204> @showtra

Enter value for sid: 149

old 13: WHERE SID=&SID

new 13: WHERE SID=149

XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBASQN UBAREC STATUS

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

50 12 3 13 44 3 45 ACTIVE

通過USN號去查看當前使用的回滾段

sys@L10GR204> select USN, NAME from v$rollname where USN=50;

USN NAME

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

50 _SYSSMU50$

如果想dump該回滾段頭信息,則如下方式操作:

sys@L10GR204> alter system dump undo header '_SYSSMU50$';

sys@L10GR204> oradebug setmypid

sys@L10GR204> oradebug tracefile_name

/u01/app/oracle/admin/L10GR204/udump/l10gr204_ora_4085.trc

如果想dump該回滾段內容看,則如下方式操作:

sys@L10GR204> alter system dump datafile 13 block 44;

sys@L10GR204> oradebug setmypid

sys@L10GR204> oradebug tracefile_name

/u01/app/oracle/admin/L10GR204/udump/l10gr204_ora_4277.trc

至于DUMP出來的內容如何去看,我將在下面分析,這里不做解釋。

下面是簡單演示如何通過v$bh查看cr狀態xcur狀態:

SESSION A:

當前是free狀態

sys@L10GR204> select file#, block#, status from v$bh where file#=5 and block#=23;

FILE# BLOCK# STATUS

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

5 23 free

插入一條記錄并查看

ning@L10GR204> insert into khm values(1,'恩墨學院 - 名師傳道,授業以專');

1 row created.

ning@L10GR204> @showrowid

Enter value for table_name: khm

old 7: from &table_name

new 7: from khm

Enter value for id: 1

old 8: where id=&id

new 8: where id=1

ROWID OBJECT_ID FILE_ID BLOCK_ID NUM ROWIDTOCHAR(ROWID)

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

AAANIuAAFAAAAAXAAA 53806 5 23 0 AAANIuAAFAAAAAXAAA

sys@L10GR204> select file#, block#, status from v$bh where file#=5 and block#=23;

FILE# BLOCK# STATUS

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

5 23 free

5 23 xcur

5 23 cr

-- INSERT一條記錄產生了一個XCUR塊兒以及CR塊兒。

SESSION B:

查詢該表:

ning@L10GR204> select * from khm;

ID DOMAIN

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

91 Create your own social network with the best community website builder - NING

92 Create your own social network with the best community website builder - NING

93 Create your own social network with the best community website builder - NING

94 Create your own social network with the best community website builder - NING

95 Create your own social network with the best community website builder - NING

96 Create your own social network with the best community website builder - NING

97 Create your own social network with the best community website builder - NING

98 Create your own social network with the best community website builder - NING

99 Integrated Cloud Applications and Platform Services

100 Integrated Cloud Applications and Platform Services

10 rows selected.

結果又產生了一個CR塊兒

sys@L10GR204> select file#, block#, status from v$bh where file#=5 and block#=23;

FILE# BLOCK# STATUS

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

5 23 free

5 23 xcur

5 23 cr

5 23 cr

SESSION C:

ning@L10GR204> select * from khm;

ID DOMAIN

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

91 Create your own social network with the best community website builder - NING

92 Create your own social network with the best community website builder - NING

93 Create your own social network with the best community website builder - NING

94 Create your own social network with the best community website builder - NING

95 Create your own social network with the best community website builder - NING

96 Create your own social network with the best community website builder - NING

97 Create your own social network with the best community website builder - NING

98 Create your own social network with the best community website builder - NING

99 Integrated Cloud Applications and Platform Services

100 Integrated Cloud Applications and Platform Services

10 rows selected.

sys@L10GR204> select file#, block#, status from v$bh where file#=5 and block#=23;

FILE# BLOCK# STATUS

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

5 23 free

5 23 cr

5 23 cr

5 23 xcur

5 23 cr

SESSION D、SESSION E、SESSION F...也同樣操作,結果是CR塊兒最多構造5個,超過5個則覆蓋之前的CR塊兒。

sys@L10GR204> select file#, block#, status from v$bh where file#=5 and block#=23;

FILE# BLOCK# STATUS

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

5 23 free

5 23 cr

5 23 cr

5 23 cr

5 23 cr

5 23 xcur

5 23 cr

7 rows selected.

CR最多創建多少個受隱含參數_db_block_max_cr_dba值的影響,默認為6。

sys@L10GR204> @GetHparDes

Enter value for par: block_max_cr

old 6: AND x.ksppinm LIKE '%&par%'

new 6: AND x.ksppinm LIKE '%block_max_cr%'

NAME VALUE DESCRIB

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

_db_block_max_cr_dba 6 Maximum Allowed Number of CR buffers per dba

快速構造ora-01555 快照過舊

ORA-01555是一個ORACLE非常經典的錯誤之一,研究UNDO的時候不能排除的內容。

ning@L10GR204> host oerr ora 1555

01555, 00000, "snapshot too old: rollback segment number %s with name "%s" too small"

// *Cause: rollback records needed by a reader for consistent read are

// overwritten by other writers

// *Action: If in Automatic Undo Management mode, increase undo_retention

// setting. Otherwise, use larger rollback segments

查看當前UNDO相關參數設置以及undo表空間大小

sys@L10GR204> show parameter undo

NAME TYPE VALUE

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

undo_management string AUTO

undo_retention integer 2

undo_tablespace string L_S_U

sys@L10GR204> select bytes/1048576, AUTOEXTENSIBLE from dba_data_files where tablespace_name='L_S_U';

BYTES/1048576 AUTOEX

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

1 NO

創建一個過程:

create or replace procedure ltb_update

is

cursor c1 is select object_id from ltb where rownum <= 100;

begin

for r_c1 in c1 loop

update ltb set owner='ning' where object_id=r_c1.object_id;

commit;

end loop;

end;

/

打開30個會話并執行該存儲過程

var jobno number;

begin

for l in 1 .. 20 loop

dbms_job.submit(:jobno, 'ltb_update;');

commit;

end loop;

end;

/

告警日志輸出大量的ORA-015555:

Tue Mar 26 21:59:21 2013

ORA-01555 caused by SQL statement below (SQL ID: a9s2m307s4dv1, Query Duration=1 sec, SCN: 0x0000.0046a23b):

Tue Mar 26 21:59:21 2013

UPDATE LTB SET OWNER='ning' WHERE OBJECT_ID=:B1

Tue Mar 26 21:59:21 2013

ORA-01555 caused by SQL statement below (SQL ID: a9s2m307s4dv1, Query Duration=1 sec, SCN: 0x0000.0046a1df):

Tue Mar 26 21:59:21 2013

UPDATE LTB SET OWNER='ning' WHERE OBJECT_ID=:B1

Tue Mar 26 21:59:21 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_j020_5371.trc:

ORA-12012: error on auto execute of job 2153

ORA-01555: snapshot too old: rollback segment number 51 with name "_SYSSMU51$" too small

ORA-06512: at "ning.LTB_UPDATE", line 6

ORA-06512: at line 1

Tue Mar 26 21:59:21 2013

Errors in file /u01/app/oracle/admin/L10GR204/bdump/l10gr204_j012_5354.trc:

ORA-12012: error on auto execute of job 2126

ORA-01555: snapshot too old: rollback segment number 54 with name "_SYSSMU54$" too small

ORA-06512: at "ning.LTB_UPDATE", line 6

ORA-06512: at line 1

最后討論下ORA-01555的解決方案:

1) 不要讓事務很大;

2) 允許undo表空間自動擴展,undo_retention根據需求設大些;

3) 減少不必要的commit;

4) 優化SQL,減少查詢時間。

enq: US – contention

上面經過測試,在事務數增加導致回滾段不足時,Oracle會分配更多回滾段,這時候服務器進程或者后臺進程需要獲得US鎖,每個回滾段都分配一個US鎖,如果這個獲取過程中發生爭用,就會產生enq: US – contention等待事件。一般情況下,US鎖爭用現象很少發生,但如果發生了,需要具體分析,從應用角度分析,或者查看BUG信息。

在上面我提到過,Oracle的SMON進程將部分回滾段脫機處理,肯定有朋友不清楚SMON居然還干這事。這是Oracle為了減少撤銷空間使用的壓力而設計的。

但是SMON并不是經常做這件事情,這里有個算法,SMON基于過去7天v$undostat動態視圖信息或者AWR中UNDO歷史快照使用信息來決定脫機回滾段數量,而且不刪除多余的回滾段,而是OFFLINE處理。

如果發現脫機回滾段嚴重影響性能,DBA也可以禁止此功能,方法:10511事件。

sys@L10GR204> host oerr ora 10511

10511, 00000, "turn off SMON check to cleanup undo dictionary"

// *Cause:

// *Action:

sys@L10GR204> alter system set events '10511 trace name context forever, level 1';

System altered.

SMON還為UNDO段做一件事情,就是定期收縮(Shrink)。當然只有SMON才定期做這件事情,不一定SMON不工作回滾段就不收縮,比如回滾段之間空間緊張時也會發生。

SMON每12個小時進行一次收縮,這個功能我們也可以使用events事件禁用,但一般不建議這么做。

sys@L10GR204> host oerr ora 10512

10512, 00000, "turn off SMON check to shrink rollback segments"

// *Cause:

// *Action:

sys@L10GR204> alter system set events '10512 trace name context forever,level 1';

System altered.

Permalink

Leave a Comment

姓名 (必填)

電子郵件 required)

URI

所見即所得編輯器

工具欄 源碼 插入代碼

元素路徑

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!

來自 <http://www.ning.com/archives/755.html>

總結

以上是生活随笔為你收集整理的oracle segment undo_71_UNDO扩展学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天天干天天操天天拍 | 久久精品国产v日韩v亚洲 | 四虎影视精品永久在线观看 | 99精品欧美一区二区三区黑人哦 | 久久蜜桃av | 四虎成人精品在永久免费 | 久久国产精品99精国产 | 很黄很黄的网站免费的 | 最新中文字幕 | 日韩av一区二区在线 | 日韩成人高清在线 | 中文字幕一区二区三区在线播放 | 精品一区二区电影 | 久久久久久久久久久久99 | 国产午夜一级毛片 | 在线观看亚洲国产 | 香蕉视频91| 久久av中文字幕片 | 手机在线免费av | 97人人精品 | 免费网站看v片在线a | 青青河边草免费直播 | 久久99久久99精品免观看软件 | 亚洲人成在| 天天操天天射天天爱 | 亚洲精品视频免费在线观看 | 欧美激情xxxx | 成年人国产精品 | 国产精品午夜久久久久久99热 | 婷婷色在线视频 | 国产又粗又猛又黄又爽视频 | 在线性视频日韩欧美 | 最近中文字幕视频完整版 | 98精品国产自产在线观看 | 日日干天天干 | 国产一级片网站 | 伊人开心激情 | 国产在线观看 | 亚洲电影在线看 | 欧美成人xxx | 亚洲精品白浆高清久久久久久 | 黄色在线看网站 | 国产精品久久伊人 | www黄色av | 免费福利视频导航 | 精品国产资源 | 99这里只有精品视频 | 狠狠狠色丁香婷婷综合久久五月 | av最新资源 | 免费在线观看成人av | 免费黄色网址网站 | 日日操夜| 午夜久久成人 | 久久线视频 | 毛片视频电影 | 成人免费一级片 | 成人免费视频在线观看 | 国产又粗又长的视频 | 国产黄色一级片 | 日韩av二区 | 美女久久久久久久久久 | 美女久久 | 911亚洲精品第一 | 91丨九色丨国产女 | 亚洲精品一区二区三区高潮 | 国产在线色视频 | 奇米影视在线99精品 | 91视频啪 | 婷婷黄色片 | 久草在线在线视频 | 国产传媒一区在线 | 99免费在线视频 | 欧美一区二区三区在线播放 | 91av视频在线免费观看 | 中文字幕大全 | 久久国产精品网站 | 久久区二区 | 人人爽人人舔 | 五月婷婷一级片 | 日韩欧美视频一区 | 中文字幕一区二区三区在线播放 | 免费看片网站91 | 在线网址你懂得 | av电影免费在线播放 | 中文字幕在线观看完整版 | 亚洲国产精品激情在线观看 | 成人午夜电影久久影院 | 中文字幕av免费观看 | 91禁在线观看 | 91成人免费观看视频 | 99久久综合狠狠综合久久 | 国产精品成人a免费观看 | 亚洲日韩欧美一区二区在线 | 亚洲精品美女免费 | 日韩在线观看第一页 | 日韩电影中文,亚洲精品乱码 | 日韩三级视频在线观看 | 亚洲va天堂va欧美ⅴa在线 | 日韩毛片在线一区二区毛片 | 在线小视频 | 日韩电影精品 | 亚洲精品视频在线免费播放 | 欧美小视频在线 | 国产性天天综合网 | 四虎成人精品永久免费av九九 | 久久精品香蕉视频 | 超碰在线观看av | 天天天色| 综合av在线 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产高清视频免费在线观看 | 免费视频你懂的 | 日韩二区三区 | 在线看日韩av | 99久在线精品99re8热视频 | 天天色天天色 | 最近日韩中文字幕中文 | 看全黄大色黄大片 | 亚洲一一在线 | 天天操操 | 国产精品美女久久久久久久久久久 | 欧美一区二视频在线免费观看 | 美女免费视频一区 | 欧美日韩一区二区三区视频 | 天天操天天摸天天干 | 在线视频久久 | 欧美色久 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 九九热免费精品视频 | 在线免费试看 | 欧美日韩在线免费观看视频 | 婷婷丁香色 | 久久天天操 | 午夜影院在线观看18 | 久久露脸国产精品 | 在线看毛片网站 | 草草草影院 | 亚洲精品网页 | 99免费观看视频 | 久久久久网址 | 日韩理论片在线 | 婷婷福利影院 | 91视频免费国产 | 成人av在线一区二区 | 国产黄视频在线观看 | 在线观看视频在线观看 | 麻豆果冻剧传媒在线播放 | 国产在线不卡视频 | 日韩欧美视频在线播放 | 免费成人av在线 | 在线播放视频一区 | 日韩久久久久久久久 | 欧美日韩在线免费观看 | 婷婷色资源 | 久久夜靖品 | 六月丁香色婷婷 | 国产剧情亚洲 | 播五月婷婷 | 欧美在线视频a | 91精品啪在线观看国产81旧版 | 久久久久久久久久久网 | 婷婷国产在线 | 香蕉97视频观看在线观看 | 天天拍夜夜拍 | 视频91在线 | 中文字幕永久免费 | 国产香蕉av| www.黄色片网站 | 91成人久久 | 久久99亚洲精品久久 | 欧美精品中文在线免费观看 | 又色又爽又激情的59视频 | 91成人看片| 成人在线免费看 | 久久精品综合视频 | 九九视频免费 | 国产一区二区三区黄 | 久久av免费| 在线观看视频91 | 免费毛片一区二区三区久久久 | 日韩免费看的电影 | 国产小视频在线观看 | 天天干天天操天天 | 欧美日韩国产一区二区在线观看 | 特级免费毛片 | 亚洲第一香蕉视频 | 国产视频一区在线免费观看 | 久久人91精品久久久久久不卡 | 色吊丝在线永久观看最新版本 | 日韩高清免费电影 | 国产精品免费久久久 | 亚洲精品视频在线播放 | 狠狠狠狠干 | 免费观看全黄做爰大片国产 | 成人久久久久久久久久 | 天天操天天艹 | 久久久久成人精品 | 麻豆免费精品视频 | 9ⅰ精品久久久久久久久中文字幕 | 精品久久久久亚洲 | 亚洲午夜久久久久 | 一区二区三区手机在线观看 | 国产精品久久久久久久久久久久午 | 亚洲一区动漫 | 视频国产一区二区三区 | 狠狠操操网 | 射射射综合网 | 天天综合色天天综合 | 欧美孕妇视频 | 国产视频精品在线 | 久久系列 | 成人亚洲精品国产www | 久久中文欧美 | 婷婷色中文 | 偷拍久久久 | 中文字幕一区二区在线播放 | 日日夜夜网站 | 亚洲成a人片77777kkkk1在线观看 | 久久看看 | 亚洲在线成人精品 | 中文字幕欧美三区 | 亚洲视频免费在线观看 | 亚洲 欧美日韩 国产 中文 | 亚洲欧美视频一区二区三区 | 手机av永久免费 | 国产91综合一区在线观看 | 99久久www免费 | 久久国产精品99久久久久久进口 | 久久久久色 | 国产日本亚洲高清 | 久久久久免费看 | 成年人视频在线免费观看 | 国产精品剧情在线亚洲 | 国内精品久久久久影院日本资源 | 亚洲精品福利在线观看 | 91久久久国产精品 | 久久精品99 | 国产一二三区在线观看 | 日韩理论片在线观看 | 欧美日韩视频 | 亚洲精品99久久久久久 | 日韩黄色免费 | 在线免费黄色av | 精品一区二区日韩 | 九九在线高清精品视频 | 国产午夜三级一区二区三桃花影视 | 精品一区二区在线免费观看 | 91精品国产自产老师啪 | 欧美色操| 国产又粗又猛又黄又爽 | 久草在线网址 | 久久99精品国产91久久来源 | 最新99热 | 久久国产视频网站 | 天天狠狠干| 伊人一级 | 2017狠狠干 | 国产成人在线一区 | 一区二区亚洲精品 | 欧美一级久久久久 | 看片在线亚洲 | 欧美成人猛片 | 中文字幕在线国产精品 | 激情网婷婷 | www.国产毛片 | www.久久免费视频 | 免费观看www小视频的软件 | 久久狠狠干 | 免费在线国产精品 | 天天曰夜夜操 | 热久精品 | 色综合久久五月天 | 激情视频国产 | 欧美少妇的秘密 | 午夜美女福利 | 欧美日韩在线免费视频 | 日韩美女一级片 | 一区二区三区在线观看免费 | 香蕉视频网址 | 亚洲精品av中文字幕在线在线 | 日韩av看片| 国产又粗又猛又黄 | 天天天色综合a | 在线观看的av | 久草视频中文在线 | 9草在线 | 日韩精品在线视频免费观看 | 亚洲欧美视频在线观看 | 国产又粗又猛又黄又爽的视频 | 日韩毛片在线一区二区毛片 | 久久久国产精品成人免费 | 五月天中文字幕 | 91av色| 国产精品高潮久久av | 欧美综合久久久 | 亚洲欧美日韩国产 | 国产精品欧美一区二区三区不卡 | 超级碰碰碰视频 | 亚洲91精品| 激情电影影院 | 日本中文字幕电影在线免费观看 | 国产小视频在线 | 色综合亚洲精品激情狠狠 | 成人在线观看av | 成人av电影在线 | 亚洲 中文字幕av | 五月婷婷丁香六月 | 97高清视频 | 国产在线观看你懂得 | 欧美日韩一区二区三区在线观看视频 | 久久国产片 | 天天撸夜夜操 | 美国av大片 | 免费色视频 | 国产精品美女视频 | 人人超碰在线 | 深爱激情综合 | 国产精品久久久久久影院 | 欧美最猛性xxxx | 亚洲专区视频在线观看 | 欧美精品久久久 | 亚洲永久精品在线 | 五月综合| 国产99久久久精品视频 | 免费福利片 | 欧美性色黄大片在线观看 | 国产在线观看二区 | 国产精品久久久久久五月尺 | 天天爽天天射 | 99久久99久久| 国产精品久久网站 | 国产精品99久久久久久小说 | 国产 一区二区三区 在线 | 欧美日韩久久不卡 | 亚洲美女在线国产 | 91麻豆产精品久久久久久 | a级片韩国| 国产精品久久久免费看 | 国产小视频免费观看 | 九九热精 | 91麻豆免费视频 | 手机看片国产 | 免费看的黄色小视频 | 99热这里只有精品1 av中文字幕日韩 | 91插插插网站 | 欧美日韩在线观看视频 | 91成熟丰满女人少妇 | 日韩一区二区三区免费电影 | 3d黄动漫免费看 | 日韩三级视频在线观看 | 探花视频在线版播放免费观看 | www婷婷| 欧美一区二区精美视频 | 中文资源在线观看 | 亚洲精品国偷自产在线99热 | 日日操天天操狠狠操 | 欧美一级专区免费大片 | 久久综合爱 | 亚洲毛片久久 | 日韩av在线一区二区 | 在线观影网站 | 97夜夜澡人人爽人人免费 | 国产一级精品绿帽视频 | 9久久精品 | 欧美激情视频免费看 | 国产一区二区日本 | 91尤物在线播放 | 狠狠88综合久久久久综合网 | 8x成人免费视频 | 精品一区二区在线免费观看 | 日本公妇色中文字幕 | 正在播放日韩 | 久草在线在线 | 激情av在线资源 | 西西人体4444www高清视频 | 9在线观看免费高清完整版在线观看明 | 欧美成人在线免费观看 | 亚洲精品在线观看视频 | 日韩中文字幕a | 欧美日韩一区二区三区在线免费观看 | 日韩欧美区| 欧洲精品视频一区 | 人人澡人人添人人爽一区二区 | 精品美女久久久久 | 又紧又大又爽精品一区二区 | 亚洲毛片久久 | 91久久精品一区二区三区 | 九九视频精品免费 | 免费精品 | 欧美日韩国产在线 | 欧美va日韩va | 九九九在线观看视频 | 久久久国内精品 | 狠狠色丁香婷婷综合欧美 | 在线观看亚洲电影 | 亚洲国产精品一区二区久久,亚洲午夜 | 久久香蕉电影 | 国产在线观看免 | 伊人网站| 欧美国产亚洲精品久久久8v | 在线视频区 | 国产精品国产三级国产aⅴ无密码 | 正在播放日韩 | 狠狠搞,com | 又黄又爽又湿又无遮挡的在线视频 | 美腿丝袜av | 久久精品高清 | 久久久精品国产一区二区电影四季 | 四虎成人免费影院 | 在线播放日韩av | 国产 欧美 日本 | 亚洲欧美日韩中文在线 | 国产日韩欧美在线影视 | av片在线看| 国产精品一区二区在线播放 | 久久久精品免费观看 | 美女精品网站 | 国产精品一级视频 | 成人av电影在线 | 91av精品| 一区二区三区高清不卡 | 亚洲人成精品久久久久 | 国产精品视频在线观看 | av福利电影 | 在线免费观看欧美日韩 | 日日草天天草 | 日本护士撒尿xxxx18 | 成人av地址| 久久视奸 | 黄色软件在线观看免费 | 特级毛片在线观看 | av片在线看| 日韩成人在线一区二区 | 日本一区二区免费在线观看 | 国产成人久久77777精品 | 久草在线官网 | 久久艹精品 | 天天天干夜夜夜操 | 黄色毛片网站在线观看 | 天天爱综合 | 高清av在线免费观看 | 国产成人精品午夜在线播放 | 高清一区二区 | 深爱激情五月网 | 国产成人精品一区二区三区免费 | 中文字幕精品三区 | 国产裸体bbb视频 | 天天天插 | 免费视频91蜜桃 | 中日韩在线 | 欧美日韩3p | 日本高清xxxx | 人人舔人人爽 | 久久久999免费视频 日韩网站在线 | 九九国产视频 | 久草免费在线 | 欧美日韩一区二区视频在线观看 | 精品高清视频 | 欧美日韩免费在线视频 | 日韩成年视频 | 国产91丝袜在线播放动漫 | 精品久久91 | 久久免费公开视频 | 国产精品av电影 | av电影 一区二区 | 手机在线看永久av片免费 | 免费黄色在线 | 四虎成人精品永久免费av | 国产人成精品一区二区三 | 成年人视频在线免费观看 | 97在线观| 久久久久国产精品www | 国产乱对白刺激视频在线观看女王 | 免费合欢视频成人app | 天天av在线播放 | 国产精品av一区二区 | h网站免费在线观看 | 在线三级av | 久久av中文字幕片 | av青草 | 亚洲电影一区二区 | 超碰在线日韩 | 91免费的视频在线播放 | 国产日韩中文字幕在线 | 免费观看全黄做爰大片国产 | 玖操 | 国产精品美女久久久久久久久久久 | 免费亚洲黄色 | 欧美精品乱码久久久久久按摩 | 日韩久久精品一区二区 | 国产成人亚洲在线观看 | 国产精品综合在线观看 | 国产一二三四在线视频 | 久久涩视频 | av不卡中文 | 国产精品黑丝在线观看 | 99视频免费播放 | 久草视频免费 | 精品国产福利在线 | 日韩在线网址 | 欧美色综合天天久久综合精品 | av九九九 | 国产成人三级在线播放 | 国产中文在线播放 | 色综合天天综合在线视频 | 欧美性做爰猛烈叫床潮 | 色亚洲网 | 国产精品中文字幕在线观看 | 视频一区二区免费 | 97天天综合网 | 韩日电影在线观看 | 97视频免费看 | 天天摸天天操天天舔 | 久草在线免费资源站 | 国色天香永久免费 | 毛片激情永久免费 | 久久五月天色综合 | 九色精品免费永久在线 | 不卡的一区二区三区 | 色噜噜日韩精品一区二区三区视频 | 99亚洲精品| 高清av在线| 玖玖综合网 | 亚洲精品在线观看视频 | 国产精品激情偷乱一区二区∴ | 亚洲欧美日韩在线一区二区 | 日韩精品三区四区 | 国产精品免费成人 | 久草视频免费 | 亚洲一区二区麻豆 | 在线看国产一区 | 丁香婷五月| 久久视频一区 | 日本h在线播放 | 在线观看亚洲电影 | 成人午夜精品福利免费 | 国产成人精品女人久久久 | 天天插狠狠插 | 天天躁天天操 | 精品欧美小视频在线观看 | 亚洲国产综合在线 | 久久好看免费视频 | 四虎永久精品在线 | 久久视频在线视频 | 日韩有码在线观看视频 | 国产精品久久久久久久久久久久久久 | 国产小视频在线观看免费 | 久久精久久精 | 色综合久久悠悠 | 亚洲一级黄色 | 久久视频在线视频 | 日韩精品一二三 | 亚洲欧美视屏 | 91中文字幕网 | 色综合婷婷久久 | 天堂入口网站 | 亚洲精品乱码久久久久久蜜桃91 | 香蕉在线视频播放网站 | 久久久不卡影院 | 午夜精品久久久久久久99无限制 | 亚洲国产高清在线观看视频 | av免费电影在线观看 | 丰满少妇麻豆av | 成人中文字幕在线 | 天天射天天干天天插 | 成人免费视频视频在线观看 免费 | 天天色天天射综合网 | 一级片免费在线 | 九九爱免费视频在线观看 | www国产一区 | 国产在线欧美在线 | 999一区二区三区 | 亚洲精品456在线播放第一页 | 免费在线视频一区二区 | 亚洲第一香蕉视频 | 免费电影一区二区三区 | 亚洲国产播放 | 国产婷婷在线观看 | 中文字幕观看av | 国产成人亚洲在线观看 | 日韩中文字幕免费在线观看 | 欧美日韩三区二区 | 欧美一区二区三区在线视频观看 | 国产一区二区三区高清播放 | 久久精品欧美一区二区三区麻豆 | 国产中文视频 | 99久久精品免费视频 | 91九色视频观看 | 波多野结衣精品 | 在线看片日韩 | 欧美va日韩va| 国产拍揄自揄精品视频麻豆 | 国产精品久久久久久久免费观看 | 国产九色视频在线观看 | 日韩网站一区二区 | 99精品视频免费观看 | 亚洲黄a | 人人干人人搞 | 欧美日韩二区在线 | 亚洲va综合va国产va中文 | 免费观看一区二区 | 韩国精品在线观看 | 黄色软件在线观看视频 | 91传媒在线 | 一区二区三区中文字幕在线观看 | 五月婷在线视频 | 人人澡澡人人 | 综合激情av| 深爱婷婷激情 | 精品视频在线免费观看 | 一区二区三区视频在线 | av在线免费在线观看 | 日韩系列| 国产精品一区二区果冻传媒 | 国产精品99久久久 | 国产亚洲精品bv在线观看 | 国产精品国内免费一区二区三区 | 国产999久久久 | 日韩专区在线观看 | 成人免费共享视频 | 久久成人亚洲欧美电影 | 99久久日韩精品免费热麻豆美女 | 婷婷久月 | 18国产精品福利片久久婷 | 国产高清中文字幕 | 欧美伦理一区二区 | 美女很黄免费网站 | 国产精品久久久一区二区 | 欧美日韩一级在线 | 狠狠躁夜夜躁人人爽超碰91 | 久久五月精品 | www178ccom视频在线 | 日韩爱爱网站 | 中文字幕视频网站 | 欧美日韩中文在线观看 | 天天综合入口 | 国产在线色视频 | 91在线视频网址 | 88av视频| 97天天综合网 | 中文字幕精品一区二区精品 | 亚洲欧美999 | 在线观看资源 | 国产精品久久中文字幕 | 亚洲欧美综合精品久久成人 | 中文字幕在线观看播放 | 在线国产日韩 | 国产香蕉av| 精品亚洲视频在线 | 色婷av| 天天操偷偷干 | 久久96国产精品久久99软件 | 亚在线播放中文视频 | 久久亚洲精品国产亚洲老地址 | 成人久久久精品国产乱码一区二区 | 欧美精品成人在线 | 亚洲精品1234区 | wwwwwww色| 成人午夜免费剧场 | 免费一级特黄毛大片 | 免费亚洲视频在线观看 | 免费久久久 | 91刺激视频 | 波多野结衣资源 | 99视频偷窥在线精品国自产拍 | 激情久久一区二区三区 | 91女人18片女毛片60分钟 | 国产精品va视频 | 午夜在线资源 | 99国产在线观看 | 午夜狠狠干 | 伊人亚洲精品 | 国产精品青草综合久久久久99 | 国产精品av一区二区 | 最近2019年日本中文免费字幕 | 中文字幕91在线 | 狠狠的干狠狠的操 | 日韩在线精品 | 精品在线视频观看 | 黄色影院在线观看 | 91av手机在线观看 | 成人a在线观看高清电影 | 国产首页 | 99热99热 | 欧美一级免费高清 | 娇妻呻吟一区二区三区 | 99精彩视频在线观看免费 | 欧美久久99 | 中文字幕乱在线伦视频中文字幕乱码在线 | 免费在线色视频 | 中文字幕有码在线观看 | 六月丁香伊人 | 久久久久久伊人 | 久久6精品| 9色在线视频 | 亚洲国产日韩欧美在线 | 久久九九免费 | 在线日韩一区 | 天堂av在线网站 | 国产在线97 | 亚洲视频资源在线 | 色综合天天射 | 国产中文字幕一区 | 超碰97免费 | 久久久久成人精品亚洲国产 | 国产亚洲一区二区三区 | 人成在线免费视频 | 手机成人免费视频 | 一级黄色免费网站 | 国产精品video | 久久久久久久久久久久久久电影 | 国产专区在线播放 | 欧亚日韩精品一区二区在线 | 午夜精品久久久久久99热明星 | 97在线观看免费视频 | 国产精品资源网 | 天天草综合网 | 久久久午夜剧场 | 狠狠狠色丁香婷婷综合久久五月 | 精品国产成人av在线免 | 免费看片日韩 | 色丁香色婷婷 | 日韩精品一区二区三区在线播放 | 亚洲精品一区二区久 | 天天综合五月天 | 国产美女网站在线观看 | 男女激情麻豆 | 国产999| 91精品第一页 | 国产精品亚洲综合久久 | 日韩精品首页 | 日日夜夜精品视频 | 中国一区二区视频 | av一级片网站 | av一区二区三区在线观看 | 日韩一片| 99在线精品视频 | 日日爽视频 | 91丨九色丨高潮丰满 | 成人午夜免费福利 | 日韩啪视频 | 国产二区电影 | 在线观看日韩专区 | 久久久久高清 | 日韩手机视频 | 国产精品久久伊人 | 成人免费观看视频网站 | 99热99热 | 亚洲日本三级 | 久久欧美在线电影 | 国产精品午夜8888 | 亚州av一区 | 久久精品亚洲精品国产欧美 | 色综合久久悠悠 | 五月激情婷婷丁香 | 国产成人精品一区二区三区免费 | 麻豆精品传媒视频 | 国产精品99久久免费黑人 | 国产区精品区 | 免费看的av片 | 四虎影视8848aamm | 国产偷国产偷亚洲清高 | 国产精品免费观看网站 | 日韩女同一区二区三区在线观看 | 久久国产精品视频免费看 | 国产又粗又猛又黄又爽 | 亚洲最大av在线播放 | 精品免费| 日韩免费小视频 | 国产 在线 高清 精品 | 99爱国产精品 | 亚洲经典精品 | 国产精品毛片一区二区在线 | 国产日韩在线一区 | 国语黄色片| 中文av网站 | 国产精品福利午夜在线观看 | 中文字幕美女免费在线 | 国产 欧美 日本 | av成年人电影 | 在线成人免费电影 | 91成人精品一区在线播放 | 成人免费视频免费观看 | 国产做爰视频 | 激情欧美日韩一区二区 | 中文字幕av在线免费 | 91探花视频| 天天干天天拍天天操天天拍 | 亚洲精品在线视频 | 成年人国产精品 | 亚洲黄色免费 | 国产在线不卡一区 | 五月婷婷综合在线视频 | 久久夜色精品国产欧美乱极品 | 免费a网| 四虎8848免费高清在线观看 | 欧美xxxxx在线视频 | 日批视频在线观看免费 | 女人18片毛片90分钟 | 欧美日韩中文字幕在线视频 | 国产视频网站在线观看 | 日本中文字幕在线观看 | 国内视频在线观看 | 天天草天天爽 | 欧洲黄色片 | 久久精品—区二区三区 | 亚洲久久视频 | 伊人天天综合 | 久久久久久美女 | 久久久久久久久福利 | 青青久草在线 | 99久久99久久精品国产片果冰 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 久久久久国产一区二区三区四区 | 亚洲va韩国va欧美va精四季 | 精品嫩模福利一区二区蜜臀 | 亚洲综合一区二区精品导航 | 婷婷丁香激情五月 | 国产一区福利在线 | 超碰97公开 | 日日成人网| 亚洲日本va午夜在线电影 | 日本视频高清 | 日韩理论影院 | 九色精品 | 亚洲人在线视频 | 日韩欧美观看 | 国产生活一级片 | 日韩中文字幕免费电影 | 久久理论电影 | 香蕉手机在线 | 成人永久视频 | 日韩成人免费在线电影 | 四虎影视久久久 | 在线观看中文字幕2021 | 国产精品 中文字幕 亚洲 欧美 | 日日干,天天干 | 69精品视频| 免费看精品久久片 | 九九热在线视频 | 国产综合精品一区二区三区 | 久久久久久久久久久久久影院 | 欧洲高潮三级做爰 | 日韩av二区 | 九九爱免费视频 | 人人搞人人爽 | 国产综合片 | 最新国产福利 | 狠狠色丁香婷婷综合基地 | 日韩在线视频二区 | 91久久国产综合精品女同国语 | 亚洲 欧美 精品 | 免费国产在线观看 | 国产无套精品久久久久久 | 免费日韩精品 | 三级av网站 | 色婷婷av在线 | 欧美日韩一区二区在线观看 | 免费黄色av片 | 香蕉久久久久久av成人 | 91免费版在线 | 国产又粗又猛又色又黄视频 | 亚洲成色| 黄色精品网站 | 婷婷av资源| 欧美国产日韩一区二区三区 | 91久久人澡人人添人人爽欧美 | 亚洲电影第一页av | 美女视频黄免费的 | 亚洲精品在线二区 | 丁香婷婷射| 久久99这里只有精品 | 麻豆激情电影 | 久久精品99国产精品日本 | 中文字幕国产亚洲 | 超碰人人舔 | 成人网中文字幕 | 最近中文字幕免费大全 | 久久久国产高清 | 超碰在线公开免费 | 日日日视频 | 91av99| 日韩欧美一区二区在线播放 | 亚洲精品国偷自产在线91正片 | 91亚洲精品乱码久久久久久蜜桃 | 久久精品视频网站 | 在线视频观看你懂的 | av黄色亚洲 | 国产精品久久久久久吹潮天美传媒 | 国产在线色 | 欧美成a人片在线观看久 | 国产精品一区二区吃奶在线观看 | 99人成在线观看视频 | 麻豆免费在线播放 | 91桃花视频 | 就色干综合 | 91成版人在线观看入口 | 久久精品99久久 | 成人一级视频在线观看 | 18pao国产成视频永久免费 | 超碰人人91 | 国产综合91 | 久久精品国产亚洲aⅴ | 亚洲天堂激情 | 国产美女在线免费观看 | 国产精品一区二区久久久 | 久久精品资源 | 激情大尺度视频 | 国产欧美精品一区二区三区四区 | 免费中午字幕无吗 | 国产精品自产拍在线观看蜜 | 日本久久久久久久久 | 在线网址你懂得 | 久久黄色精品视频 | 日韩三级免费观看 | 一区二区三区日韩精品 | 国产亚洲资源 | 亚洲最快最全在线视频 | 免费成人在线电影 | 久久免费国产 | 手机成人在线 | 亚洲午夜小视频 | 成人a免费看 | 亚洲欧美日韩精品久久久 | 成人免费在线视频观看 | 日韩电影在线观看一区 | 精品欧美小视频在线观看 | 久久综合免费视频 | 国模一二三区 | 亚洲一区精品二人人爽久久 | 91成人久久 | 国产免费嫩草影院 | 免费不卡中文字幕视频 | 夜色在线资源 | 日韩丝袜| 在线观看一级视频 | 能在线观看的日韩av | 久久国产欧美日韩精品 | 婷婷六月网 | 日韩高清不卡一区二区三区 | 久久伊人操 | 天天爱天天草 | 婷婷精品国产欧美精品亚洲人人爽 | 欧美成人精品在线 | 午夜丁香网 | 人人爽夜夜爽 | 在线观看精品国产 | 2018亚洲男人天堂 | 综合天天网 | 久久亚洲婷婷 | 亚洲在线精品视频 | 黄色毛片视频免费观看中文 | 国色天香第二季 | 97干com| 玖玖在线资源 | 九九九热精品免费视频观看 | 天天射狠狠干 | 蜜臀久久99精品久久久无需会员 | 国产一级片播放 | 色综合天天射 | 日韩一级理论片 | 成年人视频免费在线 | 午夜黄网 | 成人小视频在线观看免费 | 国产午夜精品一区二区三区 | 日韩在线视频精品 | 国产二区视频在线观看 | 欧美日韩精品免费观看 | 肉色欧美久久久久久久免费看 | 国产在线超碰 | 欧美成人在线网站 | 久久精品视频在线 | 激情欧美一区二区三区免费看 | 在线观看视频黄色 | 在线色吧 | 91九色性视频 | 色综合久久久久久中文网 | 综合网天天色 | 欧美精品免费一区二区 | 久久人人爽人人片 | 最近日韩免费视频 | 国产精品少妇 | 久久精彩 | 日日干夜夜爱 | 亚洲天堂网在线视频 | 久久怡红院 | 久久成人午夜视频 | 亚洲国产精品一区二区久久hs | 亚洲女在线 | 日韩中文字幕免费看 | 婷婷色在线播放 | 91麻豆免费视频 | 中文字幕av在线免费 | 欧日韩在线 | 国产精品嫩草69影院 | 91精品一 | 91精品国 | 国产亚洲成人网 |