實用開發之-oracle表回滾到乙個指定時間的操作語句
在開發或客戶使用過程中,難免會出現誤操作或髒資料,那麼怎麼迅速處理這個問題呢?
1.備份還原就用了,太麻煩。
就是使用oracle的備份功能,然後在還原,還原的時候新建乙個庫,然後使用dblink進行連線。
將資料導回去。
2.使用oracle的還原操作,但是這個操作只能還原資料,表發生改變就不能了,切記。這個語句是這樣的:
---說明這個語句來自網路:位址:這裡就是筆記。
select * from 表名 as of timestamp to_timestamp('2014-6-19 1:10:00','yyyy-mm-dd hh24:mi:ss');
alter table 表名 enable row movement;
flashback table 表名 to timestamp to_timestamp('2011-03-04 05:00:00','yyyy-mm-dd hh24:mi:ss');
測試:create table a (
a number,
b number
)select sysdate from dual;2014-6-20 17:35:50
insert into a values(1,2);
insert into a values(2,2);
insert into a values(3,2);
insert into a values(4,2);
insert into a values(5,2);
insert into a values(6,2);
檢視現在的效果圖:
檢視剛建完表時的資料:
執行回滾操作,執行之後的結果:
到此,我們可以看出,這個操作真的好用,ok。我們來分析一下,到底做了什麼操作,如果你早就懂了,就過了吧。留步,大手,對了,給樓主推薦基本書學習下啊!
select * from a as of timestamp to_timestamp('2014-6-20 17:35:50','yyyy-mm-dd hh24:mi:ss');
as of:截至,就是到某乙個事件。
to_timestamp():時間轉換函式,轉換成更加下精確,和to_date()作用一樣。
asoftimestamp查詢這個表到某一時刻。
asoftimestamp但是在某些情況下,我們建議使用asofscn的方式執行flashback query。如需要對多個相互有主外來鍵約束的表進行恢復時,如果使用asoftimestamp的方式,可能會由於時間點不統一的緣故造成資料選擇或插入失敗,通過asofscn方式則能夠確保記錄處理的時間點一致。
alter table a enable row movement;
enable row movement:行遷移,意思就是,乙個現存的行允許改變其rowid(物理儲存位址),通常情況下,資料行在分配了空間之後,行的rowid就固定了,即使以後行長度超出預留的空間,也不會將其移動,在長資料行的情況下,表會產生行鏈結,對於io來說,行鏈結是不利的,為了效能,就需要將行調整為在單個物理儲存位址下能儲存行的所有資訊,這需要行遷移.另外在flashback的時候,由於原始版本的行佔據了相應的實體地址,所以,也需要行遷移.
其它的,比如說在收縮段空間的情況下,由於要把所有段資料向段前擠壓,大部分行都需要改變其實體地址.也需要行遷。
flashback table a to timestamp to_timestamp('2014-6-20 17:35:50','yyyy-mm-dd hh24:mi:ss');
flashback table還原到某一點!
oracle表資料回滾到指定時間
需要回滾的表 select t.t.rowid from cases t row movement 從字面意思解釋為行移動.預設情況下,oracle資料塊中的一行其生命週期內是不會發生移動的,即其rowid不會發生改變.但是在某些情景下,我們希望行的rowid可以發生變化,這時候我們就需要啟動表的r...
oracle表回滾到乙個指定時間的操作語句
在開發或客戶使用過程中,難免會出現誤操作或髒資料,那麼怎麼迅速處理這個問題呢?1.備份還原就用了,太麻煩。就是使用oracle的備份功能,然後在還原,還原的時候新建乙個庫,然後使用dblink進行連線。將資料導回去。2.使用oracle的還原操作,但是這個操作只能還原資料,表發生改變就不能了,切記。...
Oracle資料庫定時同步
通過執行定時任務從源資料庫 sourcedb 向目標資料庫 targetdb 進行資料同步操作。資料庫版本一致是進行資料同步的前置條件 在配置oracle客戶端的伺服器上執行以下命令 exp username password sourcedb file export home oracle dat...