警惕:Oracle中刪除的分區不會進入回收站(Recyclebin)

2021-02-14 數據和雲

最近在『雲和恩墨大講堂』的微信群討論中,有朋友提到分區的刪除和閃回問題,我注意到很多人可能忽略了這個問題。

在Oracle資料庫中,單個刪除的分區並不會進入回收站,全表刪除的分區才可能和全表一起放入回收站。這是因為單個分區刪除之後,是無法通過簡單的閃回加入原分區表中,既然無法保證一致性,這個分區就不會進入回收站中。

以下這個測試展示了這個過程:

SQL> select * from v$version;

BANNER          

--

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production   

PL/SQL Release 12.2.0.1.0 - Production        

CORE 12.2.0.1.0 Production         

TNS for Linux: Version 12.2.0.1.0 - Production       

NLSRTL Version 12.2.0.1.0 - Production        

SQL> CREATE TABLE enmotech (

2 PartID  integer  not null,

3 CretTm  date  not null,

4 PartCD  varchar2(2) not null

5 ) partition by list (partcd) automatic (

6 partition pBJ values ('BJ'),

7 partition pCD values ('CD'),

8 partition pGZ values ('GZ'),

9 partition pSH values ('SH')

10 );

Table created.

SQL> insert into enmotech values (1, sysdate, 'KM');

1 row created.

SQL> select partition_name from user_tab_partitions

2 where table_name = 'ENMOTECH';

PARTITION_NAME

---

PBJ

PCD

PGZ

PSH

SYS_P281

SQL> alter table enmotech drop partition SYS_P281 purge;

alter table enmotech drop partition SYS_P281 purge

*

ERROR at line 1:

ORA-14048: a partition maintenance operation may not be combined with other operations

SQL> alter table enmotech drop partition PSH;

Table altered.

SQL> select * from user_recyclebin;

no rows selected

當我們DROP 整個分區表時,分區表連帶所有的分區,會進入到回收站。


很多時候,想當然的結果可能並不可信,實踐操作方能出真知,多動手,是技術人的王道。

搜索 蓋國強(Eygle)微信號:eyygle,或者掃描下面二維碼,備註:雲和恩墨大講堂,即可入群。每周與千人共享免費技術分享,與講師在線討論。


相關焦點

  • 案例精解:insert邏輯讀暴增至20萬,只因Oracle Recyclebin過大
    墨墨導讀:某客戶的資料庫一條insert某段時間突然變慢,平均單次執行邏輯讀暴增至20萬,最終定位為insert時因可用空間不充足遞歸清理recyclebin
  • 實現Linux系統的回收站
    Linux系統默認沒有回收站功能,使用rm命令進行刪除操作,文件就會直接從系統中刪除,很難恢復。
  • 時過境遷:Oracle跨平臺遷移之XTTS方案與實踐
    確認生產庫的 recycle in 功能是關閉,並手工清空回收站showparameter recyclebin;           NAME        TYPE                   VALUE--- ---recyclebin  string                 on (這裡應該為
  • 高效刪除Oracle中重複數據的方法
    不過這種刪除執行的效率非常低,對於大數據量來說,可能會將資料庫吊死。所以我建議先將查詢到的重複的數據插入到一個臨時表中,然後對進行刪除,這樣,執行刪除的時候就不用再進行一次查詢了。而我們想保留重複數據中最新的一條記錄啊!大家不要急,下面我就講一下如何進行這種操作。  在oracle中,有個隱藏了自動rowid,裡面給每條記錄一個唯一的rowid,我們如果想保留最新的一條記錄,  我們就可以利用這個欄位,保留重複數據中rowid最大的一條記錄就可以了。
  • 「原創」從windows回收站談單例
    舉個大家熟悉的列子--Windows 的回收站,正常來講,點擊「回收站」圖標,會彈出一個類似下圖的界面。可是不管你重複上述操作多少次,Windows 系統始終只會彈出一個回收站的窗口,也就是說在一個 Windows 系統中,回收站存在唯一性。其實我們可以想一想,為什麼會這樣設計呢?
  • 【有聲繪本故事】 《Recycling Fun》回收的樂趣
    適讀年齡:6-9歲 佩奇一家去兔小姐的回收中心處理可回收再利用的廢物,而爸爸的小紅車差點被兔小姐當做廢棄車輛回收 "We don't put bottles in the rubbish bin. 「我們不把瓶子放進垃圾筒。 They can be recycled," says Mummy Pig.
  • Oracle資料庫常用命令整理
    這篇文章主要介紹了oracle查詢語句,有助於新手迅速熟悉ORACLE基本語法有助於新手迅速熟悉
  • 手機也有回收站,你刪除的照片視頻都在那裡,並沒有真正刪除!
    都知道電腦有回收站這個功能,那你有沒有想過其實手機也有回收站?而你曾經刪除的照片視頻啊這些都被丟在了回收站裡面;不管想沒想過,但這不是再跟你開玩笑,而是真的沒有真正的刪除!相信大家都聽說過,手機裡刪除的照片視頻等是可以被恢復的,而且市面上的恢復工具一大堆;所以你如果想要真正的刪除這些照片視頻嗎,那就跟著本文來搞清手機回收站功能的遠離吧。
  • 【DB筆試面試850】在Oracle中,造成錯誤「ORA-12547: TNS:lost contact」的常見原因有哪些?
    2、確認$ORACLE_HOME/bin/oracle文件權限和屬主是否有問題需要注意的是,在rac環境下需要查看$ORACLE_HOME/bin/oracle和$GRID_HOME/bin/oracle兩個文件。
  • Oracle資料庫刪除重複數據的情況!
    【IT168 論壇採風】在對資料庫進行操作過程中我們可能會遇到這種情況,表中的數據可能重複出現,使我們對資料庫的操作過程中帶來很多的不便,那麼怎麼刪除這些重複沒有用的數據呢?
  • Oracle資料庫參數優化參考
    資料庫性能優化包括如下幾個部分:1.調整數據結構的設計 這一部分在開發信息系統之前完成,程式設計師需要考慮是否使用Oracle資料庫的分區功能,對於經常訪問的資料庫表是否需要建立索引等。2.調整應用程式結構設計 這一部分也是在開發信息系統之前完成的。
  • 廢物回收一兩事(A matter of waste)丨BBC聽英語
    廢物回收一兩事(A matter of waste)丨BBC聽英語 BBC:廢物回收來自中國日報網雙語新聞
  • 可回收垃圾,英語你能說出幾種?
    Lin: What can you recycle?8. Hunter: Glass, paper, cardboard, aluminum, and certain kinds of plastics.
  • qq說說怎麼恢復刪除的說說?qq說說有回收站嗎
    QQ說說刪除後,就像是那逝去的青春年華一樣,不能再回去。那些記載當時心情的文字和記憶一旦刪除,都是徹底刪除,無法進行恢復。因此,在刪除前一定要深思熟慮。同時,一旦不小心刪除,請不要輕信第三方工具進行恢復,以免信息洩露。當然,qq說說雖然無法恢復,但是可以通過查看說說是否已經關聯了其他社交平臺,比如微博、微信朋友圈進行查看。那麼為什麼qq說說刪除後不能恢復呢?
  • 約稿贈書活動之八:回收站(info2,$I,$R)分析
    ————————————再次感謝平航科技裴總提供內部學習資料《智慧型手機取證》點連結了解活動趕緊來參加吧你值得擁有簡介回收站顧名思義主要用來存放用戶臨時刪除的文檔資料,存放在回收站的文檔可以恢復。回收站命名規則系統會在每個分區為每個用戶創建一個回收站,其命名規則如下:x:\$RECYCLE.BIN 基於windows10,7,8文件顯示:一般默認為隱藏
  • 跟著粉紅豬小妹學英語:回收利用
    新東方網>英語>英語學習>少兒英語>英語故事>正文跟著粉紅豬小妹學英語:回收利用 2014-03-21 23:11 來源:滬江英語 作者:
  • 品牌機隱藏分區如何刪除
    有時候我們想更大的節約電腦內存,想把電腦隱藏分區刪掉。那麼問題來了,要怎麼刪除電腦隱藏分區呢?別著急,這裡小編就來將品牌機隱藏分區刪除教程分享給大家。品牌機隱藏分區如何刪除:1,敲擊鍵盤上的「win+r」組合鍵,打開運行窗口輸入「cmd」按回車鍵打開命令符窗口。
  • 手機是否也有「回收站」,一鍵刪除真的就安全了嗎?
    現在手機的更新換代的速度是非常快的,我們在換手機的時候需要清理舊手機裡的一些資料,或者是說想把之前自己手機裡的那些私密的照片啦,視頻啦這些東西清理掉,小編一直認為是直接刪除掉就好了,就是已經徹底刪除了。
  • MySQL 分區表,為什麼分區鍵必須是主鍵的一部分?
    管理方便在對單個分區進行刪除、遷移和維護時,不會影響到其它分區。尤其是針對單個分區的刪除(DROP)操作,避免了針對這個分區所有記錄的 DELETE 操作。遺憾的是,MySQL 分區表不支持並行查詢。理論上,當一個查詢涉及到多個分區時,分區與分區之間應進行並行查詢,這樣才能充分利用多核 CPU 資源。但 MySQL 並不支持,包括早期的官方文檔,也提到了這個問題,也將這個功能的實現放到了優先級列表中。
  • oracle用戶創建、刪除
    /111111@ORCL_local file=D:\java\gtis\db_dir\PF_GTIS_DSNM.dmp full=ySELECT * FROM dba_data_files WHERE tablespace_name = 'PF_EGOV';alter database datafile '/opt/oracle