Oracle回收站

現(xiàn)象

最近oracle數(shù)據(jù)庫空間告警,對(duì)表空間使用情況進(jìn)行查詢時(shí)菱鸥,發(fā)現(xiàn)有表名類似于<code>BIN$UPoITd+QCAPgTCqElzEbhg==$0</code>的表铆帽,這種類型的表是如何來的胞枕?能否進(jìn)行刪除压真?

講知識(shí)

執(zhí)行<code>DROP TABLE tableA</code>后會(huì)產(chǎn)生類似于<code>BIN$UPoITd+QCAPgTCqElzEbhg==$0</code>的文件名徘六,這部分已刪除的文件是能夠繼續(xù)進(jìn)行刪除的。

已刪除的文件為何會(huì)成為<code>BIN$UPoITd+QCAPgTCqElzEbhg==$0</code>這樣的文件呢榴都?是因?yàn)樵诂F(xiàn)在用的ORACLE中,存在回收站(Recycle Bin)這個(gè)玩意漠其。

回收站

回收站是Oracle10g開始引入的一個(gè)概念

  1. 表刪除后嘴高,該表所占用的空間不會(huì)立即清空,而是將表相關(guān)信息(不是表數(shù)據(jù))存入到回收站中和屎。
  2. 回收站不單獨(dú)劃分存儲(chǔ)區(qū)域拴驮,它以現(xiàn)有的表空間為基礎(chǔ),存放已經(jīng)drop的表的信息柴信。
  3. 回收站的存在套啤,有助于將誤drop的表進(jìn)行閃回(Flash Back)回退恢復(fù)
  4. 如果想要完全drop掉表并釋放表占用空間,使用<code>DROP TABLE tableA purge</code>
  5. 如果表空間足夠随常,不使用purge進(jìn)行DROP的表會(huì)一直存放在回收站中
  6. 當(dāng)表空間緊張時(shí)潜沦,數(shù)據(jù)庫會(huì)按照先進(jìn)先出原則萄涯,覆蓋回收站中數(shù)據(jù),被覆蓋的數(shù)據(jù)無法通過回收站閃回
查看回收站狀態(tài)
回收站開啟/關(guān)閉
查看回收站狀態(tài):VALUE為on表示開啟唆鸡,off為關(guān)閉
SELECT * FROM V$PARAMETER WHERE NAME='recyclebin';

關(guān)閉回收站 
ALTER SESSION SET RECYCLEBIN=OFF;

打開回收站
ALTER SESSION SET RECYCLEBIN =ON;
查看回收站中表信息
SELECT * FROM USER_RECYCLEBIN; 

RECYCLEBIN NAME的命名規(guī)則為BIN$GUID$Version其中GUID為GlobalUID涝影,是一個(gè)全局唯一、24個(gè)字符長(zhǎng)的標(biāo)識(shí)對(duì)象争占,它是ORACLE內(nèi)部使用的標(biāo)識(shí)燃逻。其中$version是ORACLE數(shù)據(jù)庫分配的版本號(hào)。

閃回DROP表數(shù)據(jù)
FLASHBACK TABLE tableA TO BEFORE DROP;

如果tableA刪除多次臂痕,使用只會(huì)閃回tableA最后一次刪除的數(shù)據(jù)(后進(jìn)先出原則)伯襟。
若多次執(zhí)行上述閃回命令,會(huì)報(bào)ORA-38312錯(cuò)誤握童。ORA-38312錯(cuò)誤原因在于已存在表名為tableA的表姆怪,解決該錯(cuò)誤方案為:閃回時(shí)將表改名

FLASHBACK TABLE tableA TO BEFORE DROP RENAME TO tableA_2;

如果想要將多次刪除的表,其中某次的數(shù)據(jù)恢復(fù)舆瘪,可以直接指定OBJECT_NAME進(jìn)行閃回

FLASHBACK TABLE "BIN$UPoITd+QCAPgTCqElzEbhg==$0" TO BEFORE DROP;
清除回收站

可以通過<code>DROP TABLE tableA purge</code>直接刪除表片效,不進(jìn)入回收站
對(duì)于已進(jìn)入回收站的,可以通過表名或刪除后在回收站中OBJECT_NAME名字進(jìn)行刪除

PURGE TABLE tableA;
PURGE TABLE "BIN$UPoITd+QCAPgTCqElzEbhg==$0";

執(zhí)行上述命令會(huì)將表上所有相關(guān)對(duì)象英古,如索引淀衣、約束等全部刪除。
如果只想刪除索引而將表數(shù)據(jù)保留召调,則可以使用

PURGE INDEX idx_tableA;

也可以根據(jù)表空間名稱膨桥,將回收站中該表空間記錄刪除

PURGE TABLESPACE tableA_SPACE;

也可以在上述命令中再加以限定,根據(jù)表空間名稱與該表空間中用戶進(jìn)行刪除

PURGE TABLESPACE tableA_SPACE USER userName;

要釋放當(dāng)前用戶所有回收站中信息

PURGE RECYCLEBIN;

上述命令只清除當(dāng)前用戶回收站信息唠叛,如果要將所有回收站清空只嚣,需要DBA權(quán)限執(zhí)行以下命令

PURGE DBA_RECYCLEBIN;
重點(diǎn)
  1. 表的參考約束不會(huì)被恢復(fù),指向該對(duì)象的外鍵約束需要重建
  2. 如果該DROP表所占空間已被覆蓋艺沼,則該表不可恢復(fù)
  3. 刪除表時(shí)册舞,該表上的視圖也會(huì)被刪除,但由于視圖不會(huì)放到回收站中障般,在執(zhí)行FLASHBACK時(shí)視圖不會(huì)恢復(fù)
  4. 對(duì)于回收站中表對(duì)象调鲸,只支持查詢,不支持其他DML挽荡、DDL操作
參考

ORACLE回收站機(jī)制介紹
Oracle回收站使用全攻略

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末藐石,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子定拟,更是在濱河造成了極大的恐慌于微,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異株依,居然都是意外死亡驱证,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門勺三,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雷滚,“玉大人,你說我怎么就攤上這事吗坚∑碓叮” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵商源,是天一觀的道長(zhǎng)车份。 經(jīng)常有香客問我,道長(zhǎng)牡彻,這世上最難降的妖魔是什么扫沼? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮庄吼,結(jié)果婚禮上缎除,老公的妹妹穿的比我還像新娘。我一直安慰自己总寻,他們只是感情好器罐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渐行,像睡著了一般轰坊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祟印,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天肴沫,我揣著相機(jī)與錄音,去河邊找鬼蕴忆。 笑死颤芬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的套鹅。 我是一名探鬼主播驻襟,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼芋哭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起郁副,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤减牺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拔疚,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肥隆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稚失。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栋艳。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖句各,靈堂內(nèi)的尸體忽然破棺而出吸占,到底是詐尸還是另有隱情,我是刑警寧澤凿宾,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布矾屯,位于F島的核電站,受9級(jí)特大地震影響初厚,放射性物質(zhì)發(fā)生泄漏件蚕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一产禾、第九天 我趴在偏房一處隱蔽的房頂上張望排作。 院中可真熱鬧,春花似錦亚情、人聲如沸妄痪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拌夏。三九已至,卻和暖如春履因,著一層夾襖步出監(jiān)牢的瞬間障簿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工栅迄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留站故,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓毅舆,卻偏偏與公主長(zhǎng)得像西篓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子憋活,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容