Oracle的flashback table簡介

來源:互聯網
上載者:User

因為被flashback回來的資料的rowid可能會發生變化

SQL> create table tt (id int,name varchar2(4000)) tablespace users;

表已建立。

SQL> alter table tt pctfree 50;

表已更改。

SQL> insert into tt values(1,rpad('a',4000,'+'));

已建立 1 行。

SQL> commit;

提交完成。

SQL> insert into tt values(2,rpad('b',4000,'+'));

已建立 1 行。

SQL> commit;

提交完成。

SQL> select id,substr(name,1,1),rowid from tt;

ID SU ROWID

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

1 a AAAC+FAAEAAAGt3AAA

2 b AAAC+FAAEAAAGt4AAA

SQL> analyze table tt compute statistics;

表已分析。

SQL> delete from tt;

已刪除2行。

SQL> commit;

提交完成。

SQL> insert into tt values(3,rpad('c',4000,'+'));

已建立 1 行。

SQL> commit;

提交完成。

--插入id=3時顯然已經重複使用了刪除id=1時的rowid

SQL> select id,substr(name,1,1),rowid from tt;

ID SU ROWID

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

3 c AAAC+FAAEAAAGt3AAA

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

379146

SQL> set time on

11:58:34 SQL> select id from tt as of scn 379146;

ID

----------

3

11:58:37 SQL> select id from tt as of scn 379140;

ID

----------

3

11:58:42 SQL> select id from tt as of scn 379130;

ID

----------

3

11:58:47 SQL> select id from tt as of scn 379100;

ID

----------

1

2

11:58:52 SQL> flashback table tt to scn 379100;

flashback table tt to scn 379100

*

第 1 行出現錯誤:

ORA-08189: 因為未啟用行移動功能, 不能閃回表

11:59:42 SQL> alter table tt enable row movement;

表已更改。

11:59:57 SQL> flashback table tt to scn 379100;

閃回完成。

--tt被flashback回來rowid發生了變化,這也是為什麼flashback

table 需要enable row movement的原因,正常情況表中

資料的rowid是不絕對不可以改變的

12:00:25 SQL> select id,substr(name,1,1),rowid from tt;

ID SU ROWID

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

2 b AAAC+FAAEAAAGt3AAB

1 a AAAC+FAAEAAAGt4AAA

12:00:35 SQL>

本文URL地址:http://www.bianceng.cn/database/Oracle/201410/45559.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.