❶ oracle閃回數據歸檔用的多嗎
oracle閃回數據歸檔用的挺多的。
利用閃回恢復數據必須要開啟歸檔
一、閃回查詢
語法:select * from 表名 as of timestamp
to_timestamp('2016-08-01 01:00:00','yyyy-mm-dd hh24:mi:ss');
二、閃回表
語法:
alter table 表名 enable row movement; 允許行移動
flashback table 表名 to timestamp to_timestamp('2016-08-01
01:00:00','yyyy-mm-dd hh24:mi:ss');
三、閃回刪除
使用回收站(recyclebin)閃回刪除的表
四、閃回資料庫
(1)確認資料庫處於archive log模式且資料庫開啟閃回功能;
(2)Flashback Database 實際是對資料庫的一個不完全恢復操作,因為需要關閉資料庫重啟到mount狀態
方式一:通過時間戳閃回
語法:flashback database to timestamp to_timestamp('2016-08-02 21:12:46','yyyy-mm-dd
HH24:MI:SS');
方式二:通過SCN閃回
語法:flashback database to scn 13081009;
執行完flashback database之後,oracle提供了兩種方式修復資料庫
1、通過alter database open
resetlogs打開資料庫。當然,指定的scn或者timestamp之後產生的數據統統丟失
2、先執行alter database open
read only以read-only模式打開資料庫,確認數據無誤後,再以resetlogs的方式打開資料庫
五、閃回數據歸檔
(1)創建閃回表空間
(2)創建閃回歸檔
語法:create flashback archive [default] name tablespace tbs_name quoto 10g retention 1 year
(3)開啟表的閃回歸檔
語法:alter table tb_name flashback archie;
ps:開啟了閃回的表,不能drop,允許truncate。
六、創建還原點
(1)創建保證還原點
create restore point point_name grarantee flashback database;
(2)還原
restore point point_name;
❷ oracle 怎樣利用閃回功能恢復數據
利用閃回恢復數據必須要開啟歸檔
一、閃回查詢
語法:select * from 表名 as of timestamp
to_timestamp('2016-08-01 01:00:00','yyyy-mm-dd hh24:mi:ss');
二、閃回表
語法:
alter table 表名 enable row movement; 允許行移動
flashback table 表名 to timestamp to_timestamp('2016-08-01
01:00:00','yyyy-mm-dd hh24:mi:ss');
三、閃回刪除
使用回收站(recyclebin)閃回刪除的表
四、閃回資料庫
(1)確認資料庫處於archive log模式且資料庫開啟閃回功能;
(2)Flashback Database 實際是對資料庫的一個不完全恢復操作,因為需要關閉資料庫重啟到mount狀態
方式一:通過時間戳閃回
語法:flashback database to timestamp to_timestamp('2016-08-02 21:12:46','yyyy-mm-dd
HH24:MI:SS');
方式二:通過SCN閃回
語法:flashback database to scn 13081009;
執行完flashback database之後,oracle提供了兩種方式修復資料庫
1、通過alter database open
resetlogs打開資料庫。當然,指定的scn或者timestamp之後產生的數據統統丟失
2、先執行alter database open
read only以read-only模式打開資料庫,確認數據無誤後,再以resetlogs的方式打開資料庫
五、閃回數據歸檔
(1)創建閃回表空間
(2)創建閃回歸檔
語法:create flashback archive [default] name tablespace tbs_name quoto 10g retention 1 year
(3)開啟表的閃回歸檔
語法:alter table tb_name flashback archie;
ps:開啟了閃回的表,不能drop,允許truncate。
六、創建還原點
(1)創建保證還原點
create restore point point_name grarantee flashback database;
(2)還原
restore point point_name;
❸ oracle 怎樣利用閃回功能恢復數據
1,只需要執行以抄下個襲腳本即可。
7,查看日誌信息,就可以了。
❹ oracle 閃回模式禁用之後,如果怎麼重新開啟閃回模式呢
開啟和關閉閃回模式必須處於mount模式下,命令如下:
SQL>alter database flashback on;
SQL>alter database flashback off;
❺ ORACLE 誤刪了一個表(drop table)為什麼只能用閃回,不能用完全恢復方法,恢復所有數據。
有的,
表格都是有備份的,可以恢復出之前的備份文件試試看
用 強力數據恢復軟體 來恢復吧
❻ 如何進行恢復PLSQL閃回誤刪除FlashBack Delete表
/*1.FLASHBACK QUERY*/
--閃回到15分鍾前
select * from orders as of timestamp (systimestamp - interval ''15'' minute) where ......
這里可以使用DAY、SECOND、MONTH替換minute,例如:
SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ''2'' DAY)
--閃回到某個時間點
select * from orders as of timestamp to_timestamp (''01-Sep-04 16:18:57.845993'', ''DD-Mon-RR HH24:MI:SS.FF'') where ...
--閃回到兩天前
select * from orders as of timestamp (sysdate - 2) where.........
/*2.FLASHBACK DROP*/
1.flashback table orders to before drop;
2.如果源表已經重建,可以使用rename to子句:
flashback table order to before drop rename to order_old_version;
/*3.FLASHBACK TABLE*/
1.首先要啟用行遷移:
alter table order enable row movement;
2.閃回表到15分鍾前:
flashback table order to timestamp systimestamp - interval ''15'' minute;
閃回到某個時間點:
FLASHBACK TABLE order TO TIMESTAMP TO_TIMESTAMP('2007-09-12 01:15:25 PM','YYYY-MM-DD HH:MI:SS AM')
❼ oracle使用閃回之後,索引中有許多bin$開頭的索引,刪也刪不掉,改也改不了,請問如何改名稱
這類名稱是要加雙引號的
alter index "BIN$5G1XeKtLNGLgQwEAAH+HVA==$0" rename to IDX_XXX_XXX;
❽ plsql怎麼恢復刪除的表
方法一:
1.打開Flash存儲的許可權
ALTER TABLE tableName ENABLE row movement ;
2.把表還原到指定時間點
flashback table tableName to timestamp to_timestamp('2018-03-16 10:40:00','yyyy-mm-dd hh24:mi:ss');
後面的參數為要還原的時間點
方法二:
利用ORacle的快照進行查找某個時間點的數據
s e l e c t * from tableName AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '100' MINUTE)
或
s e l e c t * from tableName as of timestamp to_timestamp('2018-03-16 11:40:00','YYYY-MM-DD HH24:MI:SS');
這樣可以查詢到指定的時間段的數據,再把查詢到的數據復制到原來的表中。
方法三:
刪除表後,可以採用如下操作:在 查詢表user_recyclebin最近操作過的表名稱,然後用閃回(只能用於10G及以上版本)。
s e l e c t * from user_recyclebin;
FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;
如果是刪了或修改裡面的數據,可以先建立一個快表將刪除修改之前狀態的數據找回到這個表中:
CREATE TABLE QUICK_TABLE AS SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSTEM-1/24 (一小時前的),減去的時間可以自己定。
方法四:
SCN提供了Oracle的內部時鍾機制,可被看作邏輯時鍾,這對於恢復操作是至關重要的
注釋:Oracle 僅根據 SCN 執行恢復。
它定義了資料庫在某個確切時刻提交的版本。在事物提交時,它被賦予一個唯一的標示事物的SCN 。一些人認為 SCN 是指, System Commit Number ,而通常 SCN 在提交時才變化,所以很多情況下,這兩個名詞經常被交替使用。
究竟是哪個詞其實對我們來說並不是最重要的,重要的是我們知道 SCN 是 Oracle 內部的時鍾機制, Oracle 通過 SCN 來維護資料庫的一致性,並通過SCN 實施 Oracle 至關重要的恢復機制。
❾ Oracle 使用Flashback方式數據恢復,但是表中有CLOB欄位,提示:快照舊了
使用閃回資料庫,閃回後以read only模式打開,導出該表,然後重啟資料庫,做recover,打開,再導入;
使用基於時間點的恢復,和1差不多;
如果是11g版本以上,考慮以後用閃回數據歸檔。
❿ oracle如何設置歸檔到指定路徑不使用閃回區
可以alter system 用戶登錄資料庫後發出
alter system set log_archive_dest_1='location=路徑' scope=both(或memory,不使用該參數時全變更spfile 和memory);
即可變更。
在mount或open狀態內都可以。我在linux下修容改成功。