閃回版本查詢操作
SQL> create table t4 as select object_id, object_type,created, status from dba_o
bjects where rownum<3000;
SQL> select count(*) from t4;
COUNT(*)
----------
2999
SQL> select versions_xid, versions_starttime, versions_endtime, versions_operation, object_id from t4 versions between timestamp minvalue and maxvalue;
SQL> select undo_sql from flashback_transaction_query where xid=&versions_xid;
(問什麼有時undo_sql裡面沒有內容?是因為row_movement是disable嗎?)
做個試驗:
SQL> alter table t4 ENABLE row movement;
再查還是一樣,只有在update時才可以看到undo_sql語句。而delete後,欄位OPERATION的值為UNKOWN。 可見如果要是delete只有用flashback table的方法來做了。
例如
SQL> flashback table t4 to timestamp to_timestamp('2008-1-3 19:32:56','YYYY-MM-DD HH24:MI:SS');
一些注意:
1. undo_retention是個no gurantee 的限制,如果空間充足,在這個時間內undo資訊會保留,但如果空間不足時,即使沒到undo_retention時間,資料一樣會被取代;
2. undo_retention可以為0,此時表示沒有時間限制,只要空間夠用,data可以一直存放。
3. row_movement, 是當行發生變化時,rowid會自動變化以適應其變化。dba_tables.row_movement ,看看是enable還是disable. 而只要flashback table,就必須將row movement設為ENABLE.
bjects where rownum<3000;
SQL> select count(*) from t4;
COUNT(*)
----------
2999
SQL> select versions_xid, versions_starttime, versions_endtime, versions_operation, object_id from t4 versions between timestamp minvalue and maxvalue;
SQL> select undo_sql from flashback_transaction_query where xid=&versions_xid;
(問什麼有時undo_sql裡面沒有內容?是因為row_movement是disable嗎?)
做個試驗:
SQL> alter table t4 ENABLE row movement;
再查還是一樣,只有在update時才可以看到undo_sql語句。而delete後,欄位OPERATION的值為UNKOWN。 可見如果要是delete只有用flashback table的方法來做了。
例如
SQL> flashback table t4 to timestamp to_timestamp('2008-1-3 19:32:56','YYYY-MM-DD HH24:MI:SS');
一些注意:
1. undo_retention是個no gurantee 的限制,如果空間充足,在這個時間內undo資訊會保留,但如果空間不足時,即使沒到undo_retention時間,資料一樣會被取代;
2. undo_retention可以為0,此時表示沒有時間限制,只要空間夠用,data可以一直存放。
3. row_movement, 是當行發生變化時,rowid會自動變化以適應其變化。dba_tables.row_movement ,看看是enable還是disable. 而只要flashback table,就必須將row movement設為ENABLE.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/661919/viewspace-86422/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- DM7閃回與閃回查詢
- DM8 閃回查詢
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- 查詢SQLSERVER版本號SQLServer
- Hive高階操作-查詢操作Hive
- MySQL工具之binlog2sql閃回操作MySql
- 常見的查詢操作
- flowable的查詢操作和刪除操作
- MySQL 覆蓋索引、回表查詢MySql索引
- MongoDB 操作文件 查詢文件MongoDB
- SQLServer DML操作阻塞SELECT查詢SQLServer
- MySQL 之慢查詢相關操作MySql
- 查詢torch和torchvision對應版本
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- MySQL 查詢常用操作(0) —— 查詢語句的執行順序MySql
- 《MySQL 基礎篇》四:查詢操作MySql
- Mybatis騷操作-通用查詢工具類MyBatis
- Spring Boot MongoDB 查詢操作 (BasicQuery ,BSON)Spring BootMongoDB
- SpringDataJpa (二)-動態查詢&多表操作Spring
- ArcGIS對欄位分割查詢操作
- 查詢當前ubuntu版本號的命令Ubuntu
- Oracle查詢回滾大事務所需時間Oracle
- 拉鍊表的建立、查詢和回滾
- 2.6.3 指定閃回區
- 【ubuntu】使用redis-cli操作redis查詢UbuntuRedis
- 對RPM軟體包的查詢操作
- cmdb 查詢資料庫操作記錄資料庫
- MySQL全面瓦解6:查詢的基本操作MySql
- filter的pk進行多值查詢操作Filter
- 常用JS特性瀏覽器支援版本查詢JS瀏覽器
- Oracle資料庫閃回Oracle資料庫
- flashback query閃回資料
- 域名查詢資訊怎麼操作?可以查詢哪些資訊?(中科三方)
- 域名資訊查詢怎麼操作?Godaddy的whois域名資訊查詢在哪裡?Go
- 【DB寶43】MySQL誤操作閃回恢復利器之my2sqlMySql
- java客戶端查詢ES操作步驟Java客戶端
- MongoDB(13)- 查詢操作返回指定的欄位MongoDB
- 在 Linux 中如何從命令列查詢 VirtualBox 版本Linux命令列