自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

說一說ORACLE FLASHBACK TABLE的一個有趣問題

數(shù)據(jù)庫 Oracle
從Oracle10g起,引入了回收站的機制,將drop掉的數(shù)據(jù)表保存在回收站中。當(dāng)發(fā)現(xiàn)誤刪除的時候,可以通過回收站回收數(shù)據(jù)表。本文從實驗得出ORACLE限制了在表空間SYSTEM下使用回收站機制,下面我們就介紹這一過程,希望能對您有所幫助。

我們知道,ORACLE 10G新增了FLASHBACK特性,其中FLASHBACK TABLE用來對誤刪的表進行修復(fù)。但是今天卻發(fā)現(xiàn)了FLASHBACK TABLE的一個有趣問題,請看下面慢慢道來:下面我用一個例子來說明我的遇到的有趣的問題,歡迎大家探討。

  1. SQL> CONNECT SYSDBA/***** AS SYSDBA   
  2.  
  3. 已連接。  
  4.  
  5. SQL> CREATE TABLE TEST (T VARCHAR2(10) ) ;   
  6.  
  7. 表已創(chuàng)建。  
  8.  
  9. SQL> DROP TABLE TEST;   
  10.  
  11. 表已刪除。  
  12.  
  13. SQL> FLASHBACK TABLE TEST TO BEFORE DROP;    
  14.  
  15. FLASHBACK TABLE TEST TO BEFORE DROP    
  16.  
  17. *   
  18.  
  19. 第 1 行出現(xiàn)錯誤:  
  20.  
  21. ORA-38305: 對象不在回收站中 

出現(xiàn)ORA-38305錯誤,起初我以為是回收站機制參數(shù)OFF引起的,Oracle10g起,引入了回收站的機制,將drop掉的數(shù)據(jù)表保存在回收站中。當(dāng)發(fā)現(xiàn)誤刪除的時候,可以通過回收站回收數(shù)據(jù)表?;厥照緳C制類似于我們在Windows系統(tǒng)上的回收站。在Windows中,當(dāng)我們選擇刪除一個文件時,本質(zhì)上并沒有將文件從硬盤上刪除,只是將文件以一種形式改名,這樣就能從回收站中看到。于是我查看了RECYCLEBIN參數(shù)。

說一說ORACLE FLASHBACK TABLE的一個有趣問題 

奇怪的是回收站參數(shù)是開啟的,SQL> SHOW RECYCLEBIN; 也看不到刪除的表。這到底是咋回事呢?折騰了很久。后來修改了創(chuàng)建表的表空間,竟然一切都OK

  1. SQL> CREATE TABLE TEST(T VARCHAR2(10)) TABLESPACE USERS;  
  2.  
  3. 表已創(chuàng)建。  
  4.  
  5. SQL> DROP TABLE TEST;  
  6.  
  7. 表已刪除。  
  8.  
  9. SQL> SHOW RECYCLEBIN;  
  10.  
  11. ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME  
  12.  
  13. ---------------- ------------------------------ ------------ -------------------  
  14.  
  15. TEST             BIN$gVtRcd2NTqihW6yM4vs0Hw==$0 TABLE        2011-07-24:12:40:42  
  16.  
  17. SQL> FLASHBACK TABLE TEST TO BEFORE DROP;  
  18.  
  19. 閃回完成。  
  20.  
  21. SQL> SELECT * FROM TEST;  
  22.  
  23. 未選定行 

如果不指定創(chuàng)建表的表空間,那么它會使用默認的表空間SYSTEM,你可以通過SELECT TABLESPACE_NAME FROM USER_TABLES WHERE TABLE_NAME='TEST'查看。后來我有多次重復(fù)了這個實驗,結(jié)果都是如此,看來在表空間SYSTEM下是無法使用FLASHBACK TABLE特性的,很有趣的,后來查了下資料才知道: You cannot 'flashback table to before drop' a table which has been created in the SYSTEM tablespace. The table is sent to the recyclebin only if it existed in some other tablespace other than SYSTEM tablespace and that tablespace must be locally managed.看來ORACLE限制了在表空間SYSTEM下使用回收站機制,不知道ORACLE為什么有這限制。

關(guān)于Oracle數(shù)據(jù)庫的FLASHBACK TABLE的知識就介紹到這里,希望能對您有所幫助。

【編輯推薦】

  1. 一些很實用的Oracle數(shù)據(jù)庫優(yōu)化策略總結(jié)篇
  2. Oracle數(shù)據(jù)庫使用存儲過程創(chuàng)建自動增長列
  3. Oracle、MySQL和PostgreSQL的比較與選擇
  4. 一個利用Oracle表的主外鍵關(guān)系實現(xiàn)級聯(lián)刪除的實例
  5. Oracle數(shù)據(jù)庫Guid作主鍵時執(zhí)行速度超慢的原因在哪里
責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2024-02-27 00:10:06

語言Javascript

2021-06-27 21:10:12

Linux 進程控制

2020-10-30 10:38:50

Python開發(fā)語法

2021-07-31 22:20:00

線程池系統(tǒng)參數(shù)

2011-07-26 09:04:44

MySQL Repli數(shù)據(jù)庫負載均衡

2015-10-23 11:40:08

SaaS應(yīng)用開發(fā)

2011-07-25 17:38:32

數(shù)據(jù)存儲一致性模型

2018-01-17 15:15:22

虛擬化IO半虛擬化

2021-01-06 17:28:00

MySQL數(shù)據(jù)庫緩存池

2023-12-29 10:28:24

SPIJava靈活性

2021-03-09 10:05:06

5G運營商技術(shù)

2018-04-09 15:10:50

測試方法新手軟件

2023-03-13 22:09:59

JavaSpring機制

2010-08-18 08:53:53

Scala

2024-10-24 08:31:26

2021-05-04 16:38:54

Linux數(shù)學(xué)游戲

2023-12-01 11:10:13

CMS開源

2017-08-14 10:05:50

開發(fā)者App Store

2023-10-08 09:42:41

GitHubDataTable?Fill

2010-11-17 10:20:46

求職
點贊
收藏

51CTO技術(shù)棧公眾號