oracle10G 錯誤刪除資料或者表 閃回功能幫你忙。。。閃回操作例子

來源:互聯網
上載者:User
閃回查詢
(1).查詢閃回
例如:
1)在刪除員工smith記錄後,希望查詢到刪除該行記錄前的值,則可以查詢emp在'2007-02-11 23:34:05'時的資料,查詢方法如下: 
  1. select * from emp as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss') where ename='SMITH';  
2)查詢目前時間
alter session set nls_date_format='yyyy-mm-dd hh24:mi;ss';  select sysdate from dual;  
delete from emp;
commit;
  1. select * from emp as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss');  
可以將閃回的資料重新插入到表中:
insert into empbak (select * from empbak as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss'));  

(2).表閃回
表閃回要求使用者必須要有flash any table許可權,首先,必須對錶進行下以下操作: 

  1. alter table empbak enable row movement;  

執行閃回操作 

  1. flashback table emp to timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss');  

註:如果表結構發生改變就沒有辦法閃回。
(3).刪除閃回
刪除閃回為刪除oracle10g中的資料庫實體提供了一個安全機制,當用刪除一個表時,oracle10g 會將該表放到資源回收筒中,資源回收筒中的對象一真會保留,直到使用者決定永久刪除它們或出現資料表空間的空間不足時才會被刪除。資源回收筒是一個虛擬容器,用於儲存所有被刪除的對象。資料字典user_tables中的列dropped表示被刪除的表.查詢方法如下: 

  1. select table_name,dropped from user_tables;  

也可以使用show命令顯示資源回收筒資訊 

  1. sql>show recyclebin  

或查詢資料字典user_recyclebin獲得資源回收筒資訊 

  1. SQL> select object_name,original_name,type,droptime from user_recyclebin;  

例如;恢複被刪除的表emp. 

  1. SQL>flashback table emp to before drop;  

如果不知道原表名,可以直接使用資源回收筒中的名稱進行閃回。 

  1. SQL>flashback table "Bin$DSbdfd4rdfdfdfegdfsf==$0" to before drop;  

在回收的同時可以修改表名: 

  1. SQL>flashback table "Bin$DSbdfd4rdfdfdfegdfsf==$0" to before drop rename to emp1;  

真正刪除某一個表,而不進入資源回收筒,可以在刪除表時增加purge選項.如將emp表徹底刪除. 

  1. SQL>drop table emp purge;  

也可以通過刪除recyclebin地區來永久性刪除表 ,原始刪除表 

  1. drop table emp cascade constraints  
 
  1. SQL>purge table emp; 


     

刪除目前使用者的資源回收筒 

  1. SQL>purge recyclebin;  

刪除全體使用者在資源回收筒的資料. 

  1. SQL>purge dba_recyclebin  
(4).資料庫閃回
使用資料庫閃回功能,可以使資料庫回到過去某一狀態, 文法如下:  

SQL>alter database flashback on  
SQL>flashback database to scn 46963;
SQL>flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss');
 表中資料刪除 閃回 。,,,,,1、運行 ------cmd--------2、C:\Documents and Settings\Administrator>sqlplus 斷行符號3、請輸入使用者名稱:fw/fw@oradb22    (閃回資料庫使用者名稱/密碼@資料庫)4、

SQL> alter table pr_project enable row movement;     (更改表的屬性 。)5、

SQL> flashback table pr_project to timestamp to_timestamp('2008-11-07 11:20:00','yyyy-mm-dd hh24:mi:ss'); 閃回例子: http://blog.csdn.net/zftang/article/details/6388520
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.