閃回技術查詢資料
閃回技術查詢資料,在我們的工作生產當中也會經常用到。一般情況下,我們常用兩種方式作為確定條件,
一個是基於時間戳Timestamp的閃回查詢,另一種是基於scn的閃回查詢,當然他們也可以相互轉化,則利用
timastamp_to_scn與scn_to_timestamp相互轉化,便於大家運用。往後再另作這兩個的相互轉化用法。
在此,我們首先在scott使用者下的dept表作為實驗資料來源:
進入到Scott使用者:
SQL> conn scott/tiger0520
Connected.
SQL> show user
USER is "SCOTT"
建立表test1:
SQL> create table test1 as select * from dept;
Table created.
SQL> select * from test1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
1、基於時間點的閃回查詢:
這種情況是基於我們記得打給的時間範圍:(在此我們透過set time on )來顯示時間
SQL> set tima on
21:05:05 SQL>
21:05:42 SQL> delete test1 where deptno=10;
1 row deleted.
一個是基於時間戳Timestamp的閃回查詢,另一種是基於scn的閃回查詢,當然他們也可以相互轉化,則利用
timastamp_to_scn與scn_to_timestamp相互轉化,便於大家運用。往後再另作這兩個的相互轉化用法。
在此,我們首先在scott使用者下的dept表作為實驗資料來源:
進入到Scott使用者:
SQL> conn scott/tiger0520
Connected.
SQL> show user
USER is "SCOTT"
建立表test1:
SQL> create table test1 as select * from dept;
Table created.
SQL> select * from test1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
這種情況是基於我們記得打給的時間範圍:(在此我們透過set time on )來顯示時間
SQL> set tima on
21:05:05 SQL>
21:05:42 SQL> delete test1 where deptno=10;
1 row deleted.
21:06:10 SQL> select * from test1;
DEPTNO DNAME LOC
---------- -------------- -------------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
21:06:20 SQL> commit;
以上看出,我們已經成功刪除一條資料,大概3分鐘過後,我們在此查詢3分鐘前的資料
21:08:53 SQL> select * from test1 as of timestamp sysdate -3/1440;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
grant execute on dbms_flashback to scott;
Grant succeeded.
SQL> select dbms_flashback.get_system_change_number as scn
2 from dual;
SCN
----------
742826
DEPTNO DNAME LOC
---------- -------------- -------------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
21:06:20 SQL> commit;
以上看出,我們已經成功刪除一條資料,大概3分鐘過後,我們在此查詢3分鐘前的資料
21:08:53 SQL> select * from test1 as of timestamp sysdate -3/1440;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
以上透過時間點,可以檢視會我們刪除之前的資料,這就是基於時間點的閃回查詢。
2、基於scn 的閃回查詢:
這裡,我們透過開啟一個oracle資料庫系統的包來幫助我們查詢scn碼:如下2、基於scn 的閃回查詢:
grant execute on dbms_flashback to scott;
Grant succeeded.
SQL> select dbms_flashback.get_system_change_number as scn
2 from dual;
SCN
----------
742826
SQL> delete test1;
3 rows deleted.
SQL> commit;
Commit complete.
SQL> select dbms_flashback.get_system_change_number as scn
2 from dual;
SCN
----------
742899
SQL> select * from test1;
no rows selected
3 rows deleted.
SQL> commit;
Commit complete.
SQL> select dbms_flashback.get_system_change_number as scn
2 from dual;
SCN
----------
742899
no rows selected
現在我們查詢scn碼為 742826 狀態下表test1中的資料
SQL> select * from test1
2 as of scn 742826;
DEPTNO DNAME LOC
---------- -------------- -------------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select * from test1
2 as of scn 742826;
DEPTNO DNAME LOC
---------- -------------- -------------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
由此我們看出,我們透過刪除之前的scn碼,作為一個參考點,當我們成功全部刪除表中的
資料之後,我們依然能檢視到刪除之前的資料,這就是基於scn的閃回查詢技術。
謝謝大家觀賞,祝大家工作學習愉快!
資料之後,我們依然能檢視到刪除之前的資料,這就是基於scn的閃回查詢技術。
謝謝大家觀賞,祝大家工作學習愉快!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2125770/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 閃回技術一:閃回查詢
- 閃回版本查詢技術:
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- 【備份恢復】閃回技術之閃回版本查詢
- Oracle 11G 閃回技術 使用Oracle閃回查詢Oracle
- Oracle 11G 閃回技術 使用閃回版本查詢Oracle
- 回閃查詢查詢刪除的資料
- Oracle閃回技術之閃回資料庫Oracle資料庫
- 閃回查詢之閃回版本查詢
- 閃回查詢之閃回表查詢
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- 閃回表、閃回查詢
- 使用閃回查詢備份資料
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle 閃回技術 概覽 資料庫閃回功能Oracle資料庫
- 閃回查詢
- 閃回(關於閃回查詢)
- 閃回刪除、閃回查詢
- 閃回查詢恢復誤刪資料
- 閃回查詢找到誤刪除資料
- 基本閃回查詢和閃回表
- 閃回版本查詢與閃回事務查詢
- oracle閃回查詢Oracle
- 閃回查詢(轉)
- 閃回查詢(1)
- oracle 閃回查詢Oracle
- (f)--閃回恢復區---實踐2---閃回表(閃回DML部分資料會用到閃回查詢)
- DM7閃回與閃回查詢
- 閃回技術二:閃回表
- Oracle閃回查詢,閃回版本查詢與閃回事務查詢的使用區別總結Oracle
- oralce恢復誤刪除的表中的資料(閃回、閃回查詢)
- Oracle資料庫的閃回查詢功能簡介Oracle資料庫
- Oracle閃回查詢恢復delete刪除資料Oracledelete
- 使用oracle 閃回查詢找回誤更新的資料Oracle
- Flashback Query閃回查詢
- oracle的閃回查詢Oracle
- oracle的回閃查詢Oracle