影響flashback table的操作!
14:32:24 SQL> create table tt(id int) rowdependencies tablespace users;
表已建立。
14:32:57 SQL> insert into tt values(1);
已建立 1 行。
14:33:12 SQL> insert into tt values(2);
已建立 1 行。
14:33:14 SQL> insert into tt values(3);
已建立 1 行。
14:33:16 SQL> commit;
提交完成。
14:33:18 SQL> select id ,ora_rowscn from tt;
ID ORA_ROWSCN
---------- ----------
1 1739405
2 1739405
3 1739405
14:33:32 SQL> update tt set id=100;
已更新3行。
14:33:40 SQL> commit;
提交完成。
14:33:42 SQL> select id ,ora_rowscn from tt;
ID ORA_ROWSCN
---------- ----------
100 1739414
100 1739414
100 1739414
14:33:44 SQL> flashback table tt to scn 1739405;
flashback table tt to scn 1739405
*
第 1 行出現錯誤:
ORA-08189: 因為未啟用行移動功能, 不能閃回表
14:34:12 SQL> select id ,ora_rowscn,rowid from tt;
ID ORA_ROWSCN ROWID
---------- ---------- ------------------
100 1739414 AAACi2AAEAAAAAcAAA
100 1739414 AAACi2AAEAAAAAcAAB
100 1739414 AAACi2AAEAAAAAcAAC
14:34:24 SQL> select row_movement,table_name from user_tables;
ROW_MOVE TABLE_NAME
-------- ------------------------------
DISABLED TT
14:34:43 SQL> alter table tt enable row movement;
表已更改。
14:35:38 SQL> select row_movement,table_name from user_tables;
ROW_MOVE TABLE_NAME
-------- ------------------------------
ENABLED TT
14:35:41 SQL> flashback table tt to scn 1739405;
閃回完成。
14:35:46 SQL> select id ,ora_rowscn,rowid from tt;
ID ORA_ROWSCN ROWID
---------- ---------- ------------------
1 1739478 AAACi2AAEAAAAAcAAD
2 1739478 AAACi2AAEAAAAAcAAE
3 1739478 AAACi2AAEAAAAAcAAF
14:35:58 SQL> flashback table tt to scn 1739405;
閃回完成。
14:41:01 SQL> select id ,ora_rowscn,rowid from tt;
ID ORA_ROWSCN ROWID
---------- ---------- ------------------
1 1739596 AAACi2AAEAAAAAcAAA
2 1739596 AAACi2AAEAAAAAcAAB
3 1739596 AAACi2AAEAAAAAcAAC
--flashback table之後rowid發生了變化
14:41:02 SQL> alter table tt add name varchar2(10) default 'a';
表已更改。
14:41:29 SQL> desc tt
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------
ID NUMBER(38)
NAME VARCHAR2(10)
14:41:32 SQL> select * from tt;
ID NAME
---------- ----------
1 a
2 a
3 a
--給表增加欄位不影響flashback
14:41:35 SQL> flashback table tt to scn 1739405;
閃回完成。
14:41:46 SQL> select id ,ora_rowscn,rowid from tt;
ID ORA_ROWSCN ROWID
---------- ---------- ------------------
1 1739629 AAACi2AAEAAAAAcAAD
2 1739629 AAACi2AAEAAAAAcAAE
3 1739629 AAACi2AAEAAAAAcAAF
14:41:47 SQL> alter table tt drop column name;
表已更改。
14:42:13 SQL> select id ,ora_rowscn,rowid from tt;
ID ORA_ROWSCN ROWID
---------- ---------- ------------------
1 1739629 AAACi2AAEAAAAAcAAD
2 1739629 AAACi2AAEAAAAAcAAE
3 1739629 AAACi2AAEAAAAAcAAF
14:42:16 SQL> flashback table tt to scn 1739405;
flashback table tt to scn 1739405
*
第 1 行出現錯誤:
ORA-01466: 無法讀取資料 - 表定義已更改
--增加columns不影響flashback,再次drop column之後影響flashback
14:42:18 SQL> desc tt
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------
ID NUMBER(38)
14:48:20 SQL> desc tt
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------
ID NUMBER
14:50:36 SQL> select * from tt;
ID
----------
1
2
3
14:50:55 SQL> alter table tt add name varchar2(10) default 'a';
表已更改。
14:51:06 SQL> select *from tt;
ID NAME
---------- ----------
1 a
2 a
3 a
14:51:09 SQL> select id,name ora_rowscn from tt;
ID ORA_ROWSCN
---------- ----------
1 a
2 a
3 a
14:51:17 SQL> select id,name ,ora_rowscn from tt;
ID NAME ORA_ROWSCN
---------- ---------- ----------
1 a 1739837
2 a 1739837
3 a 1739837
14:51:56 SQL> insert into tt values(4,'b');
已建立 1 行。
14:52:01 SQL> commit;
提交完成。
14:52:02 SQL> select id,name ,ora_rowscn from tt;
ID NAME ORA_ROWSCN
---------- ---------- ----------
4 b 1739915
1 a 1739837
2 a 1739837
3 a 1739837
14:52:04 SQL> flashback table tt to scn 1739837;
閃回完成。
14:52:26 SQL> select id,name ,ora_rowscn from tt;
ID NAME ORA_ROWSCN
---------- ---------- ----------
1 a 1739936
2 a 1739936
3 a 1739936
14:52:29 SQL> insert into tt values(4,'b');
已建立 1 行。
14:52:37 SQL> commit;
提交完成。
14:52:38 SQL> select id,name ,ora_rowscn from tt;
ID NAME ORA_ROWSCN
---------- ---------- ----------
1 a 1739936
2 a 1739936
3 a 1739936
4 b 1739941
14:52:40 SQL> alter table tt modify name varchar2(20);
表已更改。
14:52:55 SQL> select id,name ,ora_rowscn from tt;
ID NAME ORA_ROWSCN
---------- -------------------- ----------
1 a 1739936
2 a 1739936
3 a 1739936
4 b 1739941
14:53:00 SQL> flashback table tt to scn 1739837;
flashback table tt to scn 1739837
*
第 1 行出現錯誤:
ORA-01466: 無法讀取資料 - 表定義已更改
14:53:10 SQL>
--修改column寬度影響flashback table操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1022631/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle點陣圖索引對DML操作的影響Oracle索引
- jquery對table的操作jQuery
- 深度評測丨 GaussDB(for Redis) 大 Key 操作的影響Redis
- mysql的DDL操作對業務產生影響測試MySql
- Html DOM操作TABLEHTML
- MAGNA:文化的影響
- 【FLASHBACK】Oracle flashback data archive 介紹OracleHive
- 聊聊flink Table的where及filter操作Filter
- 關於table的一些操作
- 螢幕錄影機(bb flashback pro 4)pjb v4.1.21
- 原聲寫法操作table
- IMF:AI將影響全球約40%的工作 技能要求越高的工作影響越大AI
- 刪使用者刪表空間的操作還能flashback回來嗎?
- 核間遷移的影響
- 【Flashback】Flashback Drop閃回刪除功能實驗
- Flashback Query(轉)
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- unusable index對DML/QUERY的影響Index
- Nologging對恢復的影響(二)
- 比特幣ETF的積極影響比特幣
- 語言對思維的影響
- 影響mysql效能的因素都有哪些MySql
- 影響HTTP效能的常見因素HTTP
- Nologging對恢復的影響(一)
- 業務資料抓取的影響
- Java UUID生成的效能影響 – fastthreadJavaUIASTthread
- 影響MySQL效能的硬體因MySql
- 影響MySQL效能的硬體因素MySql
- 浮動的盒子對img的影響
- 網線的分類與對網速的影響 網線對網速影響大嗎?
- Element-UI的table表格的樣式的常用的操作UI
- 數字化轉型的影響是什麼?數字化轉型對企業的影響?
- 史丹佛大學:研究發現頻繁的媒體多工操作影響記憶力
- 來電對播放音樂的影響
- python:super()對多繼承的影響Python繼承
- 影響rest api版本選擇的因素RESTAPI
- DB2 HADR對效能的影響DB2
- Unity Texture Setting 中 Filter Mode的影響UnityFilter
- sessionInfo()使用技巧--是否事先library()的影響Session