Oracle 11G 閃回技術 使用Oracle閃回查詢
使用帶有AS OF子句的SELECT語句進行閃回查詢。閃回查詢獲取之前的時間點的資料。
語句透過時間戳或SCN顯示地引用過去的時間。返回在那個時間點當時已經提交的資料。
閃回查詢的使用包括:
1. 恢復丟失的資料、撤銷不正確的且已經提交的改變。例如,如果你錯誤地刪除或更新了行並且提交了,可以立即撤銷這個錯誤。
2. 比較當前的資料和早些時候的資料。例如,可以執行一個日報表,來顯示資料從昨天到今天的變化。
可以比較單獨的行;也可以檢視行集合的交集和並集。
3. 檢視事務資料在特定的時間的狀態。例如,可以驗證某一天的帳戶餘額。
4. 透過消除儲存一些型別的臨時資料所需要,簡化應用程式的設計。Oracle允許你直接從資料庫獲取過去的資料。
5. 對過去的資料應用打包的應用,例如報告產生工具。
6. 為應用提供了錯誤改正的自我服務,允許使用者undo和改變他們的錯誤。示例A. 檢查和還原過去的資料
假設12:30 PM發現員工Chung所對應的資料行被從employees表中刪除了。並且你知道在9:30 AM時,Chung的資料在資料庫中是正常的。可以使用閃回查詢來檢視在9:30 AM時表中的內容,來找到丟失的資料。如果需要,可以還原資料。
-- 使用閃回查詢獲取丟失的行 SELECT * FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS') WHERE last_name = 'Chung';
--使用閃回查詢還原丟失的行 INSERT INTO employees ( SELECT * FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS') WHERE last_name = 'Chung' ); |
Oracle閃回查詢指導
1. 可以對每個表指定或省略AS OF子句,對不同的表指定不同的次數。
注意:如果一個表是閃回資料歸檔,並且指定了時間比它建立的時間還要早,則查詢會返回0行,而不會引起錯誤。
2. 可以在查詢中使用AS OF子句來執行DDL操作(例如建立和截斷表),
也可以用來在和閃回查詢相同的會話中執行DML操作(INSERT、DELETE)。
3. 在影響資料庫當前狀態的DDL語句或DML語句中使用閃回查詢的結果,
可以在INSERT或CREATE TABLE AS SELECT語句中使用AS OF子句。
4. 如果在應用中,這種3秒鐘的誤差對於閃回查詢是重要的,則使用SCN而不是時間戳。
5. 可以使用建立檢視引用過的資料,即在檢視定義的SELECT語句中使用AS OF子句。
如果指定一個相對時間,即從資料庫主機的當前時間減去,則對於每個查詢,時間要重新計算。
CREATE VIEW hour_ago AS SELECT * FROM employees AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '60' MINUTE); |
6. 可以在自連線或集合操作中使用AS OF子句,來提取和比較來自於不同時間的資料。
可以透過在閃回查詢之前加上CREATE TABLE AS SELECT或INSERT INTO TABLE SELECT,來儲存閃回查詢的結果。
INSERT INTO employees (SELECT * FROM employees AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '60' MINUTE)) MINUS SELECT * FROM employees); |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11G 閃回技術 使用閃回版本查詢Oracle
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- 閃回技術一:閃回查詢
- Oracle 11g 閃回查詢Oracle
- oracle閃回查詢Oracle
- oracle 閃回查詢Oracle
- Oracle 11g 閃回版本查詢Oracle
- oracle的閃回查詢Oracle
- oracle的回閃查詢Oracle
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- Oracle閃回查詢,閃回版本查詢與閃回事務查詢的使用區別總結Oracle
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle閃回技術之閃回資料庫Oracle資料庫
- 閃回版本查詢技術:
- 閃回表、閃回查詢
- Oracle 11G 閃回技術概覽Oracle
- Oracle Database 11g閃回技術flashbackOracleDatabase
- 閃回查詢之閃回版本查詢
- 閃回查詢之閃回表查詢
- 【備份恢復】閃回技術之閃回版本查詢
- 閃回技術查詢資料
- 閃回(關於閃回查詢)
- 閃回刪除、閃回查詢
- Oracle 閃回技術 概覽 資料庫閃回功能Oracle資料庫
- oracle 閃回技術簡介Oracle
- oracle閃回版本查詢學習Oracle
- 基本閃回查詢和閃回表
- 閃回技術二:閃回表
- 閃回查詢
- Oracle閃回技術--Flashback Version QueryOracle
- DM7閃回與閃回查詢
- Oracle 11g 閃回表Oracle
- oracle閃回Oracle
- oracle 閃回Oracle
- 使用oracle 閃回查詢找回誤更新的資料Oracle
- oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- Oracle 10g的閃回查詢概述Oracle 10g