中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么刪除表和Oracle的回收站

發布時間:2021-11-04 13:33:07 來源:億速云 閱讀:228 作者:iii 欄目:關系型數據庫

本篇內容介紹了“怎么刪除表和Oracle的回收站”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、Oracle的Drop Table語句

首先,我們來看一下Oracle Drop Table的語法格式。

怎么刪除表和Oracle的回收站

 解釋一下里面的參數:

1
schema
  • Schema表示方案名稱,這里可以理解為用戶名,缺省為當前用戶下的表。比如,要刪除scott用戶下的emp表,drop table scott.emp

1
purge
  • purge可選項,如果開啟了回收站(oracle 10g以后,回收站默認是開啟的)功能,不帶purge選項,表示刪除的表放進回收站,空間不回收 。使用flashbask可以閃回該表。帶purge選項,則表示將表刪除,釋放空間。

1
cascade constraints
  • 可選項,如果有其它表關聯到要刪除的表的主鍵列或唯一鍵列(要刪除的表是主表(父表),從表(子表)有外鍵關聯到這張表),那么,直接用drop table會報錯,這時候如果想要強制刪除這張表,就需要加上cascade constraints選項。

二、閃回刪除:Flashback Drop

使用閃回刪除功能,可以撤消 DROP TABLE 語句產生的影響,而不需要求助于傳統時間點恢復。這是由回收站實現的,通過 DBA_RECYCLEBIN 視圖可查詢回收站。

  • 查看當前數據庫的回收站功能是否開啟

1
2
conn / as sysdba
select value from v$parameter where name='recyclebin';

  怎么刪除表和Oracle的回收站 

  •  執行drop table語句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
使用scott用戶登錄
SQL> conn scott/tiger
Connected.
 
查看當前用戶下的表
SQL> select * from tab;
 
TNAME            TABTYPE  CLUSTERID
-------------------- ------- ----------
BONUS            TABLE
DEPT             TABLE
EMP          TABLE
EMP1             TABLE
SALGRADE         TABLE
 
刪除一張表
SQL> drop table emp1;
 
Table dropped.
 
查看當前用戶下的表
SQL> select * from tab;
 
TNAME                     TABTYPE  CLUSTERID
--------------------            ------- ----------
BIN$opkhRg3T0MPgVaUg          TABLE
q/kbkw==$0
BONUS                     TABLE
DEPT                      TABLE
EMP                   TABLE
SALGRADE                  TABLE

  怎么刪除表和Oracle的回收站 

  • 通過回收站中的對象名稱查詢表的數據 

1
2
3
4
5
下面的方式是錯誤的:
select * from BIN$opkhRg3T0MPgVaUgq/kbkw==$0;
 
需要加上雙引號:
select * from "BIN$opkhRg3T0MPgVaUgq/kbkw==$0";

  怎么刪除表和Oracle的回收站 

  • 查看回收站 

1
show recyclebin;

  怎么刪除表和Oracle的回收站 

  • flashback table的語法格式

怎么刪除表和Oracle的回收站

 在執行閃回表操作期間,數據庫獲取閃回列表中所有指定的報表獨立DML鎖。當正在恢復到之前狀態時,這些鎖阻止對表的任何操作。閃回表操作在單個事物中執行,不管閃回表中指定表的數量。要么所有的表都恢復到早期狀態,要么都沒恢復。如果任何表的閃回表操作失敗,那么整個語句都失敗。閃回操作完成時,表中的數據與表之前的時間點一直。但是,FLASHBACK TABLE到SCN或時間戳不保存rowid,FLASHBACK TABLE TO BEFORE DROP不能恢復引用約束。數據庫不能恢復與表關聯的早期結構的統計信息。表當前的索引是恢復,并反映還原點表的狀態。如果該索引在還原點不存在,數據更新索引里來反映還原點表的狀態。然而,如果索引是在當前時間和還原點之間被刪除,是不能恢復。

  • 執行閃回刪除

1
2
3
4
flashback table emp1 to before drop;
 
也可以通過回收站中的名字執行閃回:
flashback table “BIN$opkhRg3T0MPgVaUgq/kbkw==$0” to before drop;

  怎么刪除表和Oracle的回收站 

  •  清空回收站

1
purge recyclebin;

“怎么刪除表和Oracle的回收站”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝应县| 团风县| 白银市| 长丰县| 迁西县| 怀柔区| 酒泉市| 密山市| 从化市| 巩留县| 视频| 如皋市| 汕尾市| 白城市| 宝清县| 那曲县| 洛川县| 保定市| 屏东县| 锡林浩特市| 将乐县| 来宾市| 信阳市| 锡林郭勒盟| 宣恩县| 肥西县| 青龙| 永顺县| 富川| 霍山县| 昌宁县| 黑龙江省| 新田县| 苍南县| 波密县| 汨罗市| 马边| 乌鲁木齐县| 西青区| 财经| 兴国县|