溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫(kù)中如何使用閃回刪除來回退DROP TABLE操作

發(fā)布時(shí)間:2021-11-09 13:48:43 來源:億速云 閱讀:138 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫(kù)

這篇文章主要為大家展示了“數(shù)據(jù)庫(kù)中如何使用閃回刪除來回退DROP TABLE操作”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“數(shù)據(jù)庫(kù)中如何使用閃回刪除來回退DROP TABLE操作”這篇文章吧。

--閃回
SELECT * FROM AA AS OF TIMESTAMP(sysdate-1/24/60)  --查看2個(gè)小時(shí)以前的數(shù)據(jù)
1/2就是12小時(shí)
1/24就是1小時(shí)
1/24/60就是1分鐘

alter table tableName enable row movement; 
   這個(gè)命令的作用是,允許修改ORACLE分配給行的ROWID,在oracle中,插入一行數(shù)據(jù)
就會(huì)給它分配一個(gè)rowid,這行永遠(yuǎn)擁有這個(gè)ROWID,閃回表處理會(huì)對(duì)EMP完成DELETE操作
并添加新行,這樣就會(huì)對(duì)新行分配一個(gè)新的ROWID; 否則會(huì)報(bào) ora-08189錯(cuò)誤。 
flashback table tableName to scn timestamp_to_scn(sysdate-1/12);--利用時(shí)間轉(zhuǎn)換成SCN號(hào),進(jìn)行數(shù)據(jù)恢復(fù).
SCN: 
   SCN(System ChangeNumber):系統(tǒng)改變號(hào),一個(gè)由系統(tǒng)內(nèi)部維護(hù)的序列號(hào)。當(dāng)系統(tǒng)需要更新的時(shí)候自動(dòng)
增加,他是系統(tǒng)中維持?jǐn)?shù)據(jù)的一致性和順序恢復(fù)的重要標(biāo)志。

--恢復(fù)刪除的表
DROP TABLE AA; 
1.用如下語(yǔ)句查詢到這個(gè)表還在Oracle回收站中: 
SELECT * FROM user_recyclebin WHERE original_name='AA'; 


2.用以下語(yǔ)句進(jìn)行恢復(fù): 
FLASHBACK TABLE AA TO BEFORE DROP;
ORACLE10G增加了回收站(recycle bin)的功能,從原理來說就是一個(gè)數(shù)據(jù)字典,保存被DROP對(duì)象的信息,]
實(shí)際上被DROP的對(duì)象,并沒有被數(shù)據(jù)庫(kù)刪除,任然占有空間。除非用戶手工purge和數(shù)據(jù)空間不夠被清除掉.

3.清除回收站的數(shù)據(jù)
purge table tableName
purge recyclebin;--全部清除

使用閃回刪除來回退DROP TABLE操作

這部分解釋了如何使用FLASHBACK TABLE…TO BEFORE DROP語(yǔ)句從回收站獲取對(duì)象。

關(guān)于閃回刪除

閃回刪除可以回退DROP TABLE操作的影響

閃回刪除要比可應(yīng)用于該場(chǎng)景的其它恢復(fù)技術(shù)要快,例如基于時(shí)間點(diǎn)的恢復(fù),不會(huì)導(dǎo)致停機(jī)或最近的事務(wù)的丟失。

當(dāng)你刪除一個(gè)表的時(shí)候,數(shù)據(jù)庫(kù)不會(huì)立即移除與這個(gè)表相關(guān)的空間。

相反,這個(gè)表被改名了,并與其它相關(guān)的對(duì)象一起,被放入了回收站。

系統(tǒng)產(chǎn)生的回收站對(duì)象的名稱是唯一的??梢韵癫樵兤渌鼘?duì)象一樣,查詢?cè)诨厥照局械膶?duì)象。

FLAHSBACK操作從收回站獲取對(duì)象,當(dāng)獲取被刪除的表的時(shí)候,

可以指定這個(gè)表的原始的由用戶指定的名稱,也可以指定系統(tǒng)產(chǎn)生的名稱。

當(dāng)你刪除一個(gè)表,這個(gè)表和所有它依賴的對(duì)象都進(jìn)入到了回收站。

因此當(dāng)執(zhí)行閃回刪除的時(shí)候,所有的對(duì)象通常都是一起被獲取。

當(dāng)從回收站還原表時(shí),依賴的對(duì)象,例如索引,不會(huì)得到它們原始的名字,保留系統(tǒng)產(chǎn)生的回收站中的名稱。

Oracle會(huì)獲取定義在該表上的所有的索引(位圖連接索引除外)、觸發(fā)器和約束(引用其它表的引用完整性約束除外)

一些依賴的對(duì)象,例如索引,可以會(huì)兒因?yàn)榭臻g壓力而被回收。這種情況下被回收的對(duì)象不會(huì)從回收站獲取。

以上是“數(shù)據(jù)庫(kù)中如何使用閃回刪除來回退DROP TABLE操作”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI