亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle 10G中的回收站(Recycle Bin)

2024-08-29 13:51:04
字體:
來源:轉載
供稿:網友
在Oracle 10g數據庫中,引入了一個回收站(Recycle Bin)的數據庫對象。 回收站,從原理上來說就是一個數據字典表,放置用戶Drop掉的數據庫對象信息。用戶進行Drop操作的對象并沒有被數據庫刪除,仍然會占用空間。除非是由于用戶手工進行Purge或者因為存儲空間不夠而被數據庫清掉。數據庫有了這樣的功能,能夠減少很多不必要的麻煩。經??吹介_發人員誤把表刪除,急急忙忙找DBA 來想辦法的情況。相信隨著10G的大范圍應用,這種情形應該比較少見了,我們可以充分利用10g的閃回(FlashBACK,閃回,回閃?)功能來避免大量的人工誤操作。 DBA治理上的相關信息可以從USER_recyclebin(DBA_recyclebin)中獲取。 為了便于測試,我們創建了一個表空間Foo,大小為1M,創建了一個用戶Foo,默認的表空間為Foo. SQL> CONNECT foo/foo; Connected. SQL> SELECT table_name FROM user_tables; no rows selected SQL> SQL> DESC user_recyclebin Name Null? Type ----------------------------------------- -------- ------------------- OBJECT_NAME NOT NULL VARCHAR2(30) ORIGINAL_NAME VARCHAR2(32) OperaTION VARCHAR2(9) TYPE VARCHAR2(25) TS_NAME VARCHAR2(30) CREATETIME VARCHAR2(19) DROPTIME VARCHAR2(19) DROPSCN NUMBER PARTITION_NAME VARCHAR2(32) CAN_UNDROP VARCHAR2(3) CAN_PURGE VARCHAR2(3) RELATED NOT NULL NUMBER BASE_OBJECT NOT NULL NUMBER PURGE_OBJECT NOT NULL NUMBER SPACE NUMBER SQL> user_recyclebin大多是自解釋的,相對比較輕易理解. SQL> SELECT object_name FROM user_recyclebin; no rows selected SQL> SQL> SELECT object_name FROM user_recyclebin; no rows selected SQL> CREATE TABLE foo AS SELECT * FROM DUAL; Table created. SQL> SELECT table_name FROM user_tables; TABLE_NAME ---------------------------------------------- FOO SQL> DROP TABLE foo; Table dropped. SQL> SELECT table_name FROM user_tables; no rows selected SQL> SHOW recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- FOO BIN$V3f/oYUITrCEF2cotS5JaA==$0 TABLE 2004-10-30:14:37:39 SQL> SQL*Plus命令SHOW recyclebin等價于這條SQL: SQL> SELECT original_name, object_name, TYPE, droptime FROM user_recyclebin; ORIGINAL_NAME OBJECT_NAME TYPE DROPTIME --------------- ------------------------------ ---------- -------------------- FOO BIN$V3f/oYUITrCEF2cotS5JaA==$0 TABLE 2004-10-30:14:37:39 SQL> SQL> DESC "BIN$V3f/oYUITrCEF2cotS5JaA==$0" Name Null? Type ----------------------------------------- -------- ---------------- DUMMY VARCHAR2(1) SQL> 當一個表被刪除并移動到"回收站"中,它的名字要進行一些轉換。這樣的目的顯而易見是為了避免同類對象名稱的重復。(這一點和Windows操作系統的回收站不同,Windows中的回收站經過了非凡的處理,操作系統文件可以重名。)
轉換后的名字格式如下: BIN$unique_id$version 其中BIN代表RecycleBin unique_id是數據庫中該對象的唯一標志,26個字符長度 version表示該對象的版本號 注:在10g beta 版本中,名字格式如下: RB$$objn$object_type$version 其中的RB,代表Recycle Bin. objn為表的目錄對象號. object_type表示對象類型. version表示版本號. 由數據庫指定。 下面我們驗證一下回收站里數據庫對象名字的唯一性: SQL> CREATE TABLE foo AS SELECT * FROM DUAL; Table created. SQL> SELECT table_name FROM user_tables; TABLE_NAME ------------------------------------------------------------ FOO SQL> DROP TABLE foo; Table dropped. SQL> SHOW recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- FOO BIN$VL+ZsqVlQF6R2nYnwAqtvw==$0 TABLE 2004-10-30:15:01:42 FOO BIN$V3f/oYUITrCEF2cotS5JaA==$0 TABLE 2004-10-30:14:37:39 SQL> 能看出來,雖然源表名字相同,在回收站里的對象名字是不同的。 針對Recycle Bin對象的操作 已經放到回收站里的表是不能用drop 命令刪除的(注重對象名字上的雙引號): SQL> DROP table "BIN$V3f/oYUITrCEF2cotS5JaA==$0" 2 / DROP table "BIN$V3f/oYUITrCEF2cotS5JaA==$0" * ERROR at line 1: ORA-38301: can not perform DDL/DML over objects in Recycle Bin SQL> 假如要清掉該對象,使用purge命令: SQL> PURGE table "BIN$V3f/oYUITrCEF2cotS5JaA==$0" 2 / Table purged. SQL> SELECT object_name, original_name FROM user_recyclebin; OBJECT_NAME ORIGINAL_NAME ------------------------------ --------------- BIN$VL+ZsqVlQF6R2nYnwAqtvw==$0 FOO SQL> 對象已經清掉。假如直接清空所有的Recycle Bin中的對象: SQL> PURGE RECYCLEBIN; Recyclebin purged. SQL> SELECT object_name, original_name FROM user_recyclebin; no rows selected SQL> 恢復表,用回閃表的功能: SQL> FLASHBACK TABLE foo TO BEFORE DROP; Flashback complete. SQL>SELECT table_name FROM user_tables; TABLE_NAME ------------------------------------------------------------ FOO SQL> 注:在10g Beta版本中,使用Undrop命令來做到這一點. 有的時候,可能同一個名字的表被刪除到回收站中: SQL> DROP TABLE FOO; Table dropped. SQL> SHOW RECYCLEBIN ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- FOO BIN$lfTbzOjISXaw8u0BIO7pNA==$0 TABLE 2004-10-30:15:18:03 SQL> CREATE TABLE foo AS SELECT * FROM DUAL; Table created. SQL> DROP TABLE foo; Table dropped. SQL> SHOW RECYCLEBIN ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- FOO BIN$J63QaUaKTmC1glat+imjeg==$0 TABLE 2004-10-30:15:18:50 FOO BIN$lfTbzOjISXaw8u0BIO7pNA==$0 TABLE 2004-10-30:15:18:03
SQL> FLASHBACK TABLE FOO TO BEFORE DROP; Flashback complete. SQL> SHOW RECYCLEBIN ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- FOO BIN$lfTbzOjISXaw8u0BIO7pNA==$0 TABLE 2004-10-30:15:18:03 SQL> 默認的恢復是第一個被刪除的FOO表。假如要恢復指定的表,可以在FLASHBACK TABLE 后面加上指定的RECYCLEBIN 參數指定其他的名字: SQL> FLASHBACK TABLE "BIN$lfTbzOjISXaw8u0BIO7pNA==$0" TO BEFORE DROP; FLASHBACK TABLE "BIN$lfTbzOjISXaw8u0BIO7pNA==$0" TO BEFORE DROP * ERROR at line 1: ORA-38312: original name is used by an existing object SQL> FLASHBACK TABLE "BIN$lfTbzOjISXaw8u0BIO7pNA==$0" TO BEFORE DROP 2 RENAME TO foo2; Flashback complete. SQL>


上一篇:Oracle-03113錯誤詳細分析與解決辦法

下一篇:Oracle 10g數據庫中如何分析響應時間

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品第一国产综合精品| 国产成+人+综合+亚洲欧洲| 成人免费视频网| 国产999在线观看| 91亚洲国产成人精品性色| 亚洲精品一二区| 性欧美视频videos6一9| 亚洲国产精久久久久久| 欧美专区在线播放| 亚洲精品福利免费在线观看| 4k岛国日韩精品**专区| 成人精品一区二区三区电影黑人| 日本高清不卡在线| 青青青国产精品一区二区| 亚洲精品久久久久久久久| 国产成人精品在线| 日韩激情av在线免费观看| 国产日韩欧美一二三区| 久久久久久综合网天天| 91精品一区二区| 亚洲男子天堂网| 亚洲mm色国产网站| 国产欧美精品在线播放| 午夜精品一区二区三区av| 亚洲乱码一区av黑人高潮| 一区二区三区视频免费在线观看| 日韩视频欧美视频| 亚洲国产古装精品网站| 亚洲精品www久久久| 亚洲欧美综合精品久久成人| 在线观看成人黄色| 18一19gay欧美视频网站| 欧美色欧美亚洲高清在线视频| 国产亚洲精品美女久久久久| 一个人看的www久久| 亚洲国产精品99| 国产精品∨欧美精品v日韩精品| 久久天天躁狠狠躁夜夜躁2014| 久久久久久久久久久成人| 亚洲视频777| 欧美成人精品影院| 国产精品一区二区久久国产| 久久精品国产电影| 久久久久久久999精品视频| 成人久久一区二区| 一个人www欧美| 在线观看久久久久久| 色妞色视频一区二区三区四区| 精品福利在线看| 中文字幕亚洲字幕| 亚洲综合精品一区二区| 日韩欧美在线一区| 伊人久久久久久久久久| 亚洲自拍高清视频网站| 免费91在线视频| 亚洲精品免费网站| 亚洲人成网站777色婷婷| 亚洲精品国产福利| 国产综合久久久久| 国产剧情日韩欧美| 久久影院中文字幕| 国产欧美精品一区二区| 原创国产精品91| 2021久久精品国产99国产精品| 黄色91在线观看| 欧美性xxxxxxx| 黄色精品一区二区| 一区二区欧美日韩视频| 在线电影av不卡网址| 欧美日韩成人精品| 992tv成人免费视频| 91在线免费视频| 国产精品亚洲视频在线观看| 97视频在线观看亚洲| 81精品国产乱码久久久久久| 欧美成人午夜免费视在线看片| 91精品久久久久久久久不口人| 欧美性生交xxxxx久久久| 亚洲免费影视第一页| 狠狠躁夜夜躁人人躁婷婷91| 亚洲缚视频在线观看| www高清在线视频日韩欧美| 国产日韩欧美夫妻视频在线观看| 欧美性猛交99久久久久99按摩| 国产精品激情自拍| 国产成人在线播放| 亚洲一区二区三区xxx视频| 5566成人精品视频免费| 美女少妇精品视频| 亚洲精品有码在线| 亚洲欧美日韩中文在线| 97在线精品国自产拍中文| 国产香蕉一区二区三区在线视频| 欧美超级乱淫片喷水| 91色在线视频| 亚洲va欧美va国产综合剧情| 国产欧亚日韩视频| 久久夜色撩人精品| 国产视频精品一区二区三区| 国内精品久久久久久久久| 亚洲国产成人在线播放| 国产精品福利在线观看网址| 亚洲精品国精品久久99热| 一区二区欧美亚洲| 国产精品va在线| 欧美日韩免费看| 亚洲第一级黄色片| 亚洲性生活视频| 97视频在线播放| 久久精品久久久久| 91久久久在线| 91av视频在线| 欧美视频在线观看免费网址| 琪琪亚洲精品午夜在线| 色婷婷亚洲mv天堂mv在影片| 中文字幕少妇一区二区三区| 欧美国产日韩精品| 亚洲男人天堂2023| 91国产精品视频在线| 亚洲精品久久久久久久久久久| 国产精品成人观看视频国产奇米| 色噜噜狠狠狠综合曰曰曰88av| 精品无码久久久久久国产| 亚洲2020天天堂在线观看| 欧美大胆a视频| 国产综合香蕉五月婷在线| 日韩在线精品视频| 欧美国产日本高清在线| 久久久国产91| 欧美成人网在线| 亚洲第五色综合网| 欧美成aaa人片免费看| 久久手机免费视频| 91干在线观看| 成人亚洲激情网| 国产一区欧美二区三区| 亚洲最大av网| 亚洲自拍在线观看| 欧美日韩爱爱视频| 亚洲美女精品久久| 亚洲a∨日韩av高清在线观看| 亚洲最新视频在线| 久久精品国产一区二区电影| 热re99久久精品国产66热| 亚洲国产高清高潮精品美女| 亚洲少妇激情视频| 狠狠久久五月精品中文字幕| 久久偷看各类女兵18女厕嘘嘘| 81精品国产乱码久久久久久| 日韩激情第一页| 久久久精品视频在线观看| 欧美午夜精品久久久久久人妖| 2018日韩中文字幕| 国色天香2019中文字幕在线观看| 欧美中文在线视频| 国产精品人人做人人爽| 日韩欧美一区二区在线| 日韩在线精品一区| 日韩欧美大尺度| 国产精品91免费在线| 久久视频在线观看免费| 精品视频在线播放色网色视频| 色爱av美腿丝袜综合粉嫩av| 国产91成人在在线播放|