【備份恢復】 閃回技術之閃回事務處理查詢
閃回事務處理查詢
1) 11g 閃回事務處理查詢必須要啟用最小補充日誌
SYS@ORA11GR2>alter database add supplemental log data;
Database altered.
SYS@ORA11GR2>select supplemental_log_data_min from v$database;
SUPPLEME
--------
YES
===========================================================================================
注 預設情況下最小補充日誌是未開啟的,關閉命令如下:
SYS@ORA11GR2>select SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
YES
SYS@ORA11GR2>alter
database drop supplemental log
data;
Database altered.
SYS@ORA11GR2>select
SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
NO
=======================================================
2) 建立測試表,並對其進行 DML 操作
SYS@ORA11GR2>create table t(id number(2),name varchar2(10)) tablespace users;
Table created.
SYS@ORA11GR2>insert into t values (1,'zhangsan');
1 row created.
SYS@ORA11GR2>update t set name='sss' where id=1;
1 row updated.
SYS@ORA11GR2>commit;
Commit complete.
3) 執行閃回版本查詢,得到事務 ID
SYS@ORA11GR2>select versions_xid,versions_startscn,id,name from t versions between timestamp minvalue and maxvalue;
VERSIONS_XID VERSIONS_STARTSCN ID NAME
---------------- ----------------- ---------- ----------
0B001700E1000000 1761763 1 sss
4) 透過事務 ID 得到相關 SQL
事務'0B001700E1000000'做了兩個操作:插入資料、更新資料,閃回事務會逆向的返回這個事務
的操作,透過這組 SQL 可修改會事務修改前的樣子:
SYS@ORA11GR2>select undo_sql from flashback_transaction_query where xid='0B001700E1000000';
UNDO_SQL
--------------------------------------------------------------------------------
update "SYS"."T" set "NAME" = 'zhangsan' where ROWID = 'AAAV73AAEAAAAJEAAA';
delete from "SYS"."T"
where ROWID = 'AAAV73AAEAAAAJEAAA';
透過上述 SQL 可修改會事務修改前的樣子,操作如下:
SQL> update "SCOTT"."T" set "NAME" = 'zhangsan' where ROWID = 'AAAWD/AAEAAAArUAAA';
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from t;
ID NAME
---------- ----------
1 zhangsan
完成!!!!!!!!!!!!!!!!!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2126602/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- MySQL閃回技術之binlog2sql恢復binlog中的SQLMySql
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Orcale利用閃回功能恢復資料
- DM7閃回與閃回查詢
- Oracle閃回技術--Flashback Version QueryOracle
- RAC備份恢復之Voting備份與恢復
- 資料庫備份與恢復技術資料庫
- 【DB寶43】MySQL誤操作閃回恢復利器之my2sqlMySql
- Oracle閃回功能恢復偶然丟失的資料(轉)Oracle
- DM8 閃回查詢
- Oracle 備份恢復之 FlashbackOracle
- 閃迪隨身碟資料恢復資料恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Oracle閃回技術 概覽 應用程式開發功能Oracle
- Oracle 備份恢復篇之RMAN catalogOracle
- Kubernetes備份恢復之velero實戰
- mydumper備份恢復
- Mysql備份恢復MySql
- 備份和恢復
- Oracle drop分割槽表單個分割槽無法透過閃回恢復Oracle
- 詳解叢集級備份恢復:物理細粒度備份恢復
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- Mysql備份與恢復(1)---物理備份MySql
- rman 增量備份恢復
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- KunlunDB備份和恢復
- RMAN備份恢復技巧
- redis 備份和恢復Redis
- Grafana 備份恢復教程Grafana
- 【PG備份恢復】pg_basebackup 多表空間備份恢復測試
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- 2.6.3 指定閃回區
- MySQL 非常規恢復與物理備份恢復MySql
- mysql學習筆記之備份與恢復MySql筆記