selectto_char(sysdate,'YYYY-MM-DDHH24:mi:ss')fromdual;SQL>selectcurrent_scnfromv$database;2.開啟閃回開啟閃回需要數據庫在歸檔模型下,所以首先需要開啟歸檔。并且在mount狀態下。首先查看是否開啟閃回:SQL>selectflashback_onfromV$database;FLASHB" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Oracle閃回操作

系統 1955 0

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閃回操作


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 普兰店市| 昭平县| 淅川县| 观塘区| 长治市| 诏安县| 丰城市| 万安县| 南康市| 潞城市| 嵩明县| 仙游县| 成安县| 兴安县| 定兴县| 刚察县| 顺昌县| 昌宁县| 右玉县| 抚州市| 泸定县| 嘉峪关市| 沛县| 大悟县| 富源县| 鹤山市| 日喀则市| 新安县| 郧西县| 昌宁县| 莱阳市| 徐汇区| 塔河县| 赤峰市| 碌曲县| 大埔县| 泰州市| 万山特区| 石首市| 彰化县| 四川省|