日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle会闪,Oracle闪来操作

發布時間:2024/1/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle会闪,Oracle闪来操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle閃回操作

Oracle閃回操作

1.記錄當前時間或SCN

在數據庫變動前記錄時間或SCN

SQL> select? to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;

SQL> select ?current_scn from v$database;

2.開啟閃回

開啟閃回需要數據庫在歸檔模型下,所以首先需要開啟歸檔。并且在mount狀態下。

首先查看是否開啟閃回:

SQL> select flashback_on from V$database;

FLASHBACK_ON

------------------

NO

如果已經開啟了閃回,無須執行下面的操作。

SQL> alter system set db_recovery_file_dest_size=30G scope=both;

SQL> alter system set db_recovery_file_dest='/u01/flashback'? scope=both;

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database flashback on;

SQL> alter database open;

再進行確認:

SQL> select flashback_on from V$database;

FLASHBACK_ON

------------------

YES

3.閃回操作

3.1閃回數據庫

SQL

>flashback database to time to_date(xxx);

SQL >flashback database to time TO_TIMESTAMP (xxx);

SQL >flashback database to scn xxx

SQL >flashback database to sequence xxx thread 1

SQL>flashback database to timestamp(sysdate-1/24)

3.2閃回表

先要開啟row movement

SQL>alter table emp enable row movement;

SQL

>FLASHBACK TABLE tablename TO TIMESTAMP (JUL-07-2013, 02:33:00)

SQL

>FLASHBACK TABLE employee TO SCN 133456;

SQL

>FLASHBACK TABLE t1 TO TIMESTAMP '2013-03-03 12:05:00' ENABLE TRIGGERS;

閃回表可以分為兩種情況,一種是閃回到指定時間或SCN,一種是drop閃回

閃回到指定時間或SCN:

SQL>flashback table emp to timestampto_timestamp

('2013-09-12 08:00:00','yyyy-mm-ddhh24:mi:ss');

SQL>flashback table emp to scn 11064241;

DROP閃回:

如果誤對表做了drop操作,可用下面的方法閃回

SQL>flashback table s_emp1 to before drop;

可以以下面的方法閃回

SQL>flashback?table?flashbacktable?to?before?drop?rename?to?a;

SQL>flashback table "回收站實體名"to before drop;

--閃回表后表的索引也會回來,但是索引名還是在recyclebin中顯示的名字,所以使用alterindex“ bin$xxx” rename to xxxx命令修改索引名稱。

SQL>alter index "BIN$s6TKiw4uafDgRAAVF3jtoA==$0"

rename to PK_PC_STIM_INJ_ENHANCE_MON

3.3查詢閃回(flashbackquery)

delete數據庫里的數據都刪除了以后,還commit,采用下面的方法實現數據的還原

·查詢過去某指定時間點數據庫中的數據。

SQL>select* from emp as of timestamp to_timestamp('2013-07-05 08:00:00','yyyy-mm-ddhh24:mi:ss');

·刪除表后將數據添加到原表中

SQL>insertinto emp select * from emp

as of timestamp to_timestamp

('2013-07-05 08:00:00','yyyy-mm-ddhh24:mi:ss');

3.4?刪除閃回(flashbackdrop)

閃回被dropped的基表,

·顯示回收站信息

SQL>show recyclebin

--select* from user_recyclebin

·徹底刪除基表

SQL>drop table s_emp1 purge ;

----徹底刪除一個表用PURGE,這樣的刪除的表不能閃回。

·清除回收站

SQL>purge recyclebin;

·查數據庫選項產品:

SQL>select * from V$option;

· truncate刪除后不保留存儲空間,而Delete刪除后,保留存儲空間,如果要刪掉這些存儲空間,以釋放空間,可以執行以下命令:

SQL>alterttable emp deallocate unused;

·如果還要保留一部分,可以用:

SQL>alterttable emp deallocate unused 200k;

4.關于數據閃回的幾點說明

*系統表空間數據不得閃回

*實體在數據庫保存時間不可保證,保留時間取決于系統運行狀況,可能是幾秒鐘,也可能是幾個月。

*基表閃回時,建立在表上的約束不可保證

總結

以上是生活随笔為你收集整理的oracle会闪,Oracle闪来操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。