Oracle 9i閃回測試。
最近讀了eygle的新作,實踐了一下閃回:
os:windows xp
db:oracle 9.2.0.1
關於閃回功能的測試,如果是正常存在的一個表,刪除部分資料,可以保證資料的閃回。
C:Documents and Settingszero>sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 12月 10 11:28:10 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> conn test/1
已連線。
SQL> select count(1) from test;
COUNT(1)
----------
9
SQL> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
10-12月-07 11.29.05.765000 上午 +08:00
SQL> delete from test where rownum <3;
已刪除2行。
SQL> commit;
提交完成。
SQL> select count(1) from test;
COUNT(1)
----------
7
SQL> col scn for 999999999999;
SQL> select dbms_flashback.get_system_change_number scn from dual;
SCN
-------------
1352535
SQL> select count(1) from test as of scn 1352530;
COUNT(1)
----------
7
SQL> select count(1) from test as of scn 1352520;
COUNT(1)
----------
9
SQL> create table test_rec as select *from test as of scn 1352520;
表已建立。
SQL> select count(1) from test_rec;
COUNT(1)
----------
9
SQL> delete from test;
已刪除7行。
SQL> commit;
提交完成。
SQL> insert into test select *from test_rec;
已建立9行。
SQL> commit;
提交完成。
SQL>
如果是之前進行drop過表,就無法恢復:
SQL> create table zero as select *from test;
create table zero as select *from test
*
ERROR 位於第 1 行:
ORA-00955: 名稱已由現有物件使用
SQL> drop table zero;
表已丟棄。
SQL> create table zero as select *from test;
表已建立。
SQL> insert into zero select *from test;
已建立9行。
SQL> commit;
提交完成。
SQL> select count(1)from zero;
COUNT(1)
----------
18
SQL> delete from zero where rownum <8;
已刪除7行。
SQL> commit;
提交完成。
SQL> select count(1) from zero;
COUNT(1)
----------
11
SQL> col scn for 999999999999;
SQL> select dbms_flashback.get_system_change_number scn from dual;
SCN
-------------
1352901
SQL> select count(1) from zero as of scn 1352850;
select count(1) from zero as of scn 1352850
*
ERROR 位於第 1 行:
ORA-01466: 無法讀資料 - 表定義已更改
SQL>
如果修改一下表結構呢?
SQL> alter table TEST rename column COL to COL1;
表已更改。
SQL> alter table TEST add col2 number;
表已更改。
SQL> update test set col2 = col1;
已更新9行。
SQL> commit;
提交完成。
SQL> select dbms_flashback.get_system_change_number scn from dual;
SCN
-------------
1352972
SQL> select * from test as of scn 1352965;
select * from test as of scn 1352965
*
ERROR 位於第 1 行:
ORA-01466: 無法讀資料 - 表定義已更改
SQL>
改了表結構也無法恢復被刪除的資料。
9i的閃回功能還是少一些。有機會再實踐一下10g的閃回。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/79499/viewspace-440/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 閃回資料庫測試Oracle資料庫
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle資料庫閃回Oracle資料庫
- 【RECO_ORACLE】Oracle閃回PDB的方法Oracle
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- Oracle閃回技術--Flashback Version QueryOracle
- 【PDB】pdb閃回,Oracle還原點Oracle
- 詳解oracle資料庫閃回Oracle資料庫
- Oracle資料庫閃回區空間不足Oracle資料庫
- Oracle回收站表閃回機制研究Oracle
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- DM7閃回與閃回查詢
- 某開發者上架 bundle應用測試閃退被駁回
- oracle 9i資料庫做spaOracle資料庫
- Oracle閃回技術 概覽 應用程式開發功能Oracle
- Oracle 12.2新特性: PDB級閃回資料庫(Flashback PDB)Oracle資料庫
- Oracle閃回功能恢復偶然丟失的資料(轉)Oracle
- 【FLASHBACK】Oracle閃回及回收站相關語句參考Oracle
- Oracle replayc測試Oracle
- 【Oracle 12c資料庫支援閃回庫功能】實驗Oracle資料庫
- Installing Oracle 9i on OELRHEL 4.8 64bitOracle
- OPPO R17 Pro快速充電測試:SuperVOOC超級閃充回血有多快?
- 2.6.3 指定閃回區
- ORACLE壓力測試Oracle
- Oracle TDE加密測試Oracle加密
- MySQL誤刪資料?試試資料閃回工具binlog2sqlMySql
- flashback query閃回資料
- 在oracle 9i下線上重定義表Oracle
- oracle 9i臨時表產生過多redoOracle
- Oracle RAC序列效能測試Oracle
- Oracle RMAN恢復測試Oracle
- Oracle logmnr簡單測試Oracle
- Oracle sqlldr工具功能測試OracleSQL
- Oracle drop分割槽表單個分割槽無法透過閃回恢復Oracle
- Oracle 11gRac 測試案例(三)系統測試Oracle
- Oracle 11gRac 測試案例(五)ASM功能測試OracleASM
- Oracle 9i統計資訊備份與恢復Oracle
- 回顧專案測試全過程,測試如何回答 “測完了嗎?”