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

首頁 > 數據庫 > Oracle > 正文

Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(五)

2024-08-29 13:46:59
字體:
來源:轉載
供稿:網友
Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(五) 作者 Arup Nanda 來源: OTN 第 5 周
閃回表 使用 Oracle Database 10 g 中的閃回表特性,可以毫不費力地恢復被意外刪除的表 以下是一個不該發生卻經常發生的情況:用戶刪除了一個非常重要的表 當然是意外地刪除 并需要盡快地恢復。(在某些時候,這個不幸的用戶可能就是 DBA ?。?Oracle9 i Database 推出了閃回查詢選項的概念,以便檢索過去某個時間點的數據,但它不能閃回 DDL 操作,如刪除表的操作。唯一的恢復方法是在另一個數據庫中使用表空間的時間點恢復,然后使用導出 / 導入或其他方法,在當前數據庫中重新創建表。這一過程需要 DBA 進行大量工作并且耗費寶貴的時間,更不用說還要使用另一個數據庫進行克隆。 請使用 Oracle Database 10 g 中的閃回表特性,它使得被刪除表的恢復過程如同執行幾條語句一樣簡單。讓我們來看該特性是如何工作的。 刪除那個表! 首先,讓我們查看當前模式中的表。 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------ ------- ---------- RECYCLETEST TABLE 現在,我們意外地刪除了該表: SQL> drop table recycletest; Table dropped. 現在讓我們來查看該表的狀態。 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BIN$04LhcpndanfgMAAAAAANPw==$0 TABLE 表 RECYCLETEST 已不存在,但是請注重出現新表 BIN$04LhcpndanfgMAAAAAANPw==$0 。這就是所發生的事情:被刪除的表 RECYCLETEST 并沒有完全消失,而是重命名為一個由系統定義的名稱。它存在于同一個表空間中,具有與原始表相同的結構。假如在該表上定義了索引或觸發器,則它們也被重命名,使用與表相同的命名規則。任何相關源(如過程)都失效;原始表的觸發器和索引被改為放置在重命名的表 BIN$04LhcpndanfgMAAAAAANPw==$0 上,保持被刪除表的完整對象結構。 表及其相關對象被放置在一個稱為 “ 回收站 ” 的邏輯容器中,它類似于您 PC 機中的回收站。但是,對象并沒有從它們原先所在的表空間中刪除;它們仍然占用那里的空間?;厥照局皇且粋€列出被刪除對象目錄的邏輯結構。在 SQL*Plus 提示符處使用以下命令來查看其內容(您需要使用 SQL*Plus 10.1 來進行此操作): SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------ RECYCLETEST BIN$04LhcpndanfgMAAAAAANPw==$0 TABLE 2004-02-16 :21:13:31 結果顯示了表的原始名稱 RECYCLETEST ,并顯示了回收站中的新名稱,該名稱與我們看到的刪除后所創建的新表名稱相同。(注重:確切的名稱可能因平臺不同而不同。)為恢復該表,您所需要做的就是使用 FlashBACK TABLE 命令:
SQL> FLASHBACK TABLE RECYCLETEST TO BEFORE DROP; FLASHBACK COMPLETE. SQL> SELECT * FROM TAB; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- RECYCLETEST TABLE !表毫不費力地恢復了。假如現在查看回收站,它將是空的。 記住,將表放在回收站里并不在原始表空間中釋放空間。要釋放空間,您需要使用以下命令清空回收站: PURGE RECYCLEBIN; 但是假如您希望完全刪除該表而不需要使用閃回特性,該怎么辦?在這種情況下,可以使用以下命令永久刪除該表: DROP TABLE RECYCLETEST PURGE; 此命令不會將表重命名為回收站中的名稱,而是永久刪除該表,就象 10 g 之前的版本一樣。 治理回收站 假如在該過程中沒有實際刪除表 因而沒有釋放表空間 那么當被刪除的對象占用了所有空間時,會發生什么事? 答案很簡單:這種情況根本不會出現。當表空間被回收站數據完全占滿,以至于必須擴展數據文件來容納更多數據時,可以說表空間處于 “ 空間壓力 ” 情況下。此時,對象以先進先出的方式從回收站中自動清除。在刪除表之前,相關對象(如索引)被刪除。 同樣,空間壓力可能由特定表空間定義的用戶限額而引起。表空間可能有足夠的空余空間,但用戶可能將其在該表空間中所分配的部分用完了。在這種情況下, Oracle 自動清除該表空間中屬于該用戶的對象。 此外,有幾種方法可以手動控制回收站。假如在刪除名為 TEST 的特定表之后需要從回收站中清除它,可以執行 PURGE TABLE TEST; 或者使用其回收站中的名稱: PURGE TABLE "BIN$04LhcpndanfgMAAAAAANPw==$0"; 此命令將從回收站中刪除表 TEST 及所有相關對象,如索引、約束等,從而節省了空間。但是,假如要從回收站中永久刪除索引,則可以使用以下命令來完成工作: purge index in_test1_01; 此命令將僅僅刪除索引,而將表的拷貝留在回收站中。 有時在更高級別上進行清除可能會有用。例如,您可能希望清除表空間 USERS 的回收站中的所有對象??梢詧绦校?PURGE TABLESPACE USERS; 您也許希望只為該表空間中特定用戶清空回收站。在數據倉庫類型的環境中,用戶創建和刪除許多臨時表,此時這種方法可能會有用。您可以更改上述命令,限定只清除特定的用戶: PURGE TABLESPACE USERS USER SCOTT; 諸如 SCOTT 等用戶可以使用以下命令來清空自己的回收站 PURGE RECYCLEBIN; DBA 可以使用以下命令清除任何表空間中的所有對象 PURGE DBA_RECYCLEBIN; 可以看到,可以通過多種不同方法來治理回收站,以滿足特定的需要。 表版本和閃回功能 用戶可能會經常多次創建和刪除同一個表,如: CREATE TABLE TEST (COL1 NUMBER); INSERT INTO TEST VALUES (1); commit; DROP TABLE TEST; CREATE TABLE TEST (COL1 NUMBER); INSERT INTO TEST VALUES (2); commit;
DROP TABLE TEST; CREATE TABLE TEST (COL1 NUMBER); INSERT INTO TEST VALUES (3); commit; DROP TABLE TEST; 此時,假如您要對表 TEST 執行閃回操作,那么列 COL1 的值應該是什么?常規想法可能認為從回收站取回表的第一個版本,列 COL1 的值是 1 。實際上,取回的是表的第三個版本,而不是第一個。因此列 COL1 的值為 3 ,而不是 1 。 此時您還可以取回被刪除表的其他版本。但是,表 TEST 的存在不答應出現這種情況。您有兩種選擇:
  • 使用重命名選項:
•  FLASHBACK TABLE TEST TO BEFORE DROP RENAME TO TEST2; •  FLASHBACK TABLE TEST TO BEFORE DROP RENAME TO TEST1; 這些語句將表的第一個版本恢復到 TEST1 ,將第二個版本恢復到 TEST2 。 TEST1 和 TEST2 中的列 COL1 的值將分別是 1 和 2 。或者,
  • 使用表的特定回收站名稱進行恢復。為此,首先要識別表的回收站名稱,然后執行:
•  FLASHBACK TABLE "BIN$04LhcpnoanfgMAAAAAANPw==$0" TO BEFORE DROP RENAME TO TEST2; •  FLASHBACK TABLE "BIN$04LhcpnqanfgMAAAAAANPw==$0" TO BEFORE DROP RENAME TO TEST1; 這些語句將恢復被刪除表的兩個版本。 警告 …… 取消刪除特性使表恢復其原始名稱,但是索引和觸發器等相關對象并沒有恢復原始名稱,它們仍然使用回收站的名稱。在表上定義的源(如視圖和過程)沒有重新編譯,仍然保持無效狀態。必須手動得到這些原有名稱并應用到閃回表。 信息保留在名為 USER_RECYCLEBIN 的視圖中。在對表進行閃回操作前,請使用以下查詢來檢索原有名稱。 SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE FROM USER_RECYCLEBIN WHERE BASE_OBJECT = (SELECT BASE_OBJECT FROM USER_RECYCLEBIN WHERE ORIGINAL_NAME = 'RECYCLETEST') AND ORIGINAL_NAME != 'RECYCLETEST'; OBJECT_NAME ORIGINAL_N TYPE ------------------------------ ---------- -------- BIN$04LhcpnianfgMAAAAAANPw==$ 0 IN _RT_01 INDEX BIN$04LhcpnganfgMAAAAAANPw==$0 TR_RT TRIGGER 在表進行閃回操作后,表 RECYCLETEST 上的索引和觸發器將按照 OBJECT_NAME 列中所示進行命名。根據以上查詢,可以使用原始名稱重新命名對象,如下所示: ALTER INDEX "BIN$04LhcpnianfgMAAAAAANPw==$0" RENAME TO IN_RT_01; ALTER TRIGGER "BIN$04LhcpnganfgMAAAAAANPw==$0" RENAME TO TR_RT; 一個值得注重的例外情況是位圖索引。當刪除位圖索引時,它們并不放置在回收站中 因此無法檢索它們。約束名稱也無法從視圖中檢索。必須從其他來源對它們進行重命名。 閃回表的其他用途 閃回刪除表功能不僅限于恢復表的刪除操作。與閃回查詢類似,您還可以使用它將表恢復到不同的時間點,利用表的 “ 過去 ” 版本來替代整個表。例如,以下語句將表恢復到系統更改號 (SCN) 2202666520 。 FLASHBACK TABLE RECYCLETEST TO SCN 2202666520; 此特性使用 Oracle 數據泵技術來創建不同的表,使用閃回功能將該 SCN 處的數據版本填充到表中,然后用新表替代原始表。為找出能夠在何種程度上對表進行閃回操作,可以使用 Oracle Database 10 g 的版本控制特性。(更多具體信息請參見本系列第 1 周的內容。)在閃回子句中也可以指定時間戳記而不是指定 SCN 。
您可以在 Oracle 數據庫治理員指南 10g 第 1 版 (10.1) 中閱讀有關 閃回表特性 的更多內容。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产中文字幕在线观看| 大伊人狠狠躁夜夜躁av一区| 亚洲精品一区av在线播放| 日日骚av一区| 欧美性猛交xxxx免费看久久久| 色哟哟入口国产精品| 国产亚洲a∨片在线观看| 在线一区二区日韩| 欧美日韩国产999| 亚洲国产天堂网精品网站| 国产欧美一区二区三区久久人妖| 日韩高清中文字幕| 日韩久久午夜影院| 久久久久成人精品| 国产日本欧美视频| 欧美成人小视频| 国产主播欧美精品| 欧美日韩国产精品一区二区不卡中文| 国产成人综合一区二区三区| 国产日韩欧美另类| 欧美又大粗又爽又黄大片视频| 欧美精品在线免费观看| 久久久精品亚洲| 欧美日韩国产成人高清视频| 日韩视频在线免费观看| 海角国产乱辈乱精品视频| 美女性感视频久久久| 久久久久久九九九| 国产欧美精品在线| 亚洲精品电影久久久| 国产精品黄色影片导航在线观看| 亚洲欧美自拍一区| 亚洲永久免费观看| 色综合伊人色综合网| 久久艳片www.17c.com| 91精品国产91久久久久| 亚洲视频欧洲视频| 九九热视频这里只有精品| 亚洲一区二区三区四区视频| 欧美壮男野外gaytube| 亚洲成人免费网站| 欧美丝袜美女中出在线| 国产亚洲欧美日韩一区二区| www国产精品com| 久久精品国产69国产精品亚洲| 色综合天天狠天天透天天伊人| 亚洲人成电影网| 亚洲成年网站在线观看| 国产精品视频精品视频| 日韩av中文在线| 日韩美女免费观看| 日韩av在线免费播放| 久久久999精品免费| 久久精品国产99国产精品澳门| 中文字幕av一区二区三区谷原希美| 狠狠干狠狠久久| 国产成人精品免高潮费视频| 亚洲自拍另类欧美丝袜| 国产在线一区二区三区| 久久精品中文字幕免费mv| 亚洲免费电影一区| 精品久久久久久久久久久久久久| 日韩成人中文字幕| 欧美影院久久久| 久久久噜久噜久久综合| 久久人91精品久久久久久不卡| 亚洲欧洲在线看| 精品无码久久久久久国产| 亚洲高清在线观看| 青青草成人在线| 日韩视频第一页| 日韩一区二区在线视频| 日韩在线一区二区三区免费视频| 日韩在线中文视频| 色妞色视频一区二区三区四区| 中文欧美日本在线资源| 亚洲国产精品大全| 亚洲精品99久久久久中文字幕| 97碰在线观看| 亚洲精品美女久久久久| 日韩亚洲第一页| 色yeye香蕉凹凸一区二区av| 日韩视频在线观看免费| 精品香蕉在线观看视频一| 亚洲国产精久久久久久| 久久免费福利视频| 91国内产香蕉| 韩曰欧美视频免费观看| 国产一区二区三区在线视频| 成人中文字幕+乱码+中文字幕| 神马国产精品影院av| 欧美日韩国产精品一区二区三区四区| 中文字幕日韩精品有码视频| 在线不卡国产精品| 91地址最新发布| 91手机视频在线观看| 精品一区二区三区电影| 欧美激情精品久久久久| 国产第一区电影| wwwwwwww亚洲| 欧美洲成人男女午夜视频| 韩日精品中文字幕| 国产精自产拍久久久久久蜜| 亚洲第一视频网站| 亚洲最大中文字幕| 欧美激情手机在线视频| 亚洲精品二三区| 欧美日韩国产成人在线观看| 亚洲一区二区少妇| 亚洲a在线观看| 日韩精品中文字幕视频在线| 97香蕉超级碰碰久久免费软件| 国产一区二区三区在线观看视频| 伊人久久五月天| 亚洲一区美女视频在线观看免费| 国产一区二区久久精品| 欧美国产日韩免费| 色综合久久天天综线观看| 日本久久久久亚洲中字幕| 亚洲自拍高清视频网站| 欧美激情影音先锋| 琪琪第一精品导航| 国产精品麻豆va在线播放| 欧洲成人免费aa| 久久久久久有精品国产| 成人av在线网址| 久久艳片www.17c.com| 日韩动漫免费观看电视剧高清| 久久天天躁狠狠躁夜夜av| 欧美性猛交视频| 国产精品高潮在线| 亚洲欧美在线第一页| 日本三级久久久| 欧美性生交大片免网| 亚洲精品福利视频| 欧美大片网站在线观看| 久久久国产精品免费| 日韩美女毛茸茸| 国产精品第一第二| 国产精品久久不能| 国产ts人妖一区二区三区| 自拍亚洲一区欧美另类| 亚洲精品日产aⅴ| 亚洲成人a**站| 亚洲福利在线视频| 成人黄色大片在线免费观看| 国产亚洲福利一区| 久久亚洲国产精品成人av秋霞| 欧美日韩免费网站| 欧美激情一区二区久久久| 久久久国产一区| 亚洲xxx自由成熟| 国产精品第七十二页| 成人综合国产精品| 欧洲美女免费图片一区| 中文字幕欧美日韩va免费视频| 久久夜色精品亚洲噜噜国产mv| 亚洲成人a**站| 成人免费直播live| 成人免费看吃奶视频网站| 亚洲天堂网在线观看| 国产精品揄拍一区二区| 亚洲图片在区色| 91亚洲精品一区|