日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
oracle回收站怎么用,oracle從回收站恢復(fù)表

oracle數(shù)據(jù)庫中閃回和回收站不是一個(gè)意思嗎?

這里說點(diǎn)自己的理解,不寫那些名詞解釋了。

成都網(wǎng)站建設(shè)、網(wǎng)站制作介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

閃回功能和回收站并不一樣。

舉例來說,閃回一般操作就是短時(shí)間內(nèi)的恢復(fù)(DML操作,個(gè)人感覺類似于win的ctrl+z(不過沒有win的好用))。比如說你剛剛刪除了數(shù)據(jù),那么利用閃回功能可以回到刪除之前。但是如果表的交易量很大,或者時(shí)間過長(zhǎng),那么就不能回到你需要的時(shí)間(比如你想回到一天前,那閃回是基本不可能實(shí)現(xiàn)的)

回收站則不同,它主要是刪除段的放置空間。和windows的回收站一個(gè)意思(什么見過回收站能還原一段在word中刪除的內(nèi)容的),就是將刪除的段放置在這里。oracle中drop的段(主要是表),如果不加purge(加了就是徹底刪除),那么就會(huì)放置在回收站中,就好像我們?cè)趙in系統(tǒng)中的刪除,如果直接刪除一個(gè)文件,那么在回收站中,如果是shift+del那么就是徹底刪除,不可恢復(fù)。

其實(shí)回收站的表是可以看到的,就是那些一堆亂碼(BIN$開頭的字符串)表名的表??梢杂胹how recyclebin查到,也可以zairecyclebin的視圖中看到。

oracle 刪除表的幾種方法及回收站

drop table 表名(徹底刪除表)

delete from 表名(后面不跟where語句,則也刪除表中所有的數(shù)據(jù))結(jié)構(gòu)保留。

這個(gè)回滾段中保留數(shù)據(jù),但不降水位。

truncate table 表名(清除數(shù)據(jù),降水位,不進(jìn)回滾段)結(jié)構(gòu)保留。

想要回滾數(shù)據(jù),只能開啟閃回進(jìn)行但百萬條以上不行。

如何閃回刪除的表格oracle

查看回收站中表

select?object_name,original_name,partition_name,type,ts_name,createtime,droptime?from?recyclebin;

恢復(fù)表

SQLflashback?table?test_drop?to?before?drop;或

SQLflashback?table?"BIN$b+XkkO1RS5K10uKo9BfmuA==$0"?to?before?drop;

注:必須9i或10g以上版本支持,flashback無法恢復(fù)全文索引

以下為參考資料

使用 Oracle Database 10g 中的閃回表特性,可以毫不費(fèi)力地恢復(fù)被意外刪除的表

以下是一個(gè)不該發(fā)生卻經(jīng)常發(fā)生的情況:用戶刪除了一個(gè)非常重要的表 ― 當(dāng)然是意外地刪除 ― 并需要盡快地恢復(fù)。(在某些時(shí)候,這個(gè)不幸的用戶可能就是 DBA!)

Oracle9i Database 推出了閃回查詢選項(xiàng)的概念,以便檢索過去某個(gè)時(shí)間點(diǎn)的數(shù)據(jù),但它不能閃回 DDL 操作,如刪除表的操作。唯一的恢復(fù)方法是在另一個(gè)數(shù)據(jù)庫中使用表空間的時(shí)間點(diǎn)恢復(fù),然后使用導(dǎo)出/導(dǎo)入或其他方法,在當(dāng)前數(shù)據(jù)庫中重新創(chuàng)建表。這一過程需要 DBA 進(jìn)行大量工作并且耗費(fèi)寶貴的時(shí)間,更不用說還要使用另一個(gè)數(shù)據(jù)庫進(jìn)行克隆。

請(qǐng)使用 Oracle Database 10g 中的閃回表特性,它使得被刪除表的恢復(fù)過程如同執(zhí)行幾條語句一樣簡(jiǎn)單。讓我們來看該特性是如何工作的。

刪除那個(gè)表!

首先,讓我們查看當(dāng)前模式中的表。

SQL?select?*?from?tab;

TNAME

TABTYPE

CLUSTERID

---------------------?-?--?--?---?------

RECYCLETEST

TABLE

現(xiàn)在,我們意外地刪除了該表:

SQL?drop?table?recycletest;

Table?dropped.

現(xiàn)在讓我們來查看該表的狀態(tài)。

SQL?select?*?from?tab;

TNAME

TABTYPE

CLUSTERID

---------------------------?-?--?--?---?------

BIN$04LhcpndanfgMAAAAAANPw==$0?TABLE

表 RECYCLETEST 已不存在,但是請(qǐng)注意出現(xiàn)新表 BIN$04LhcpndanfgMAAAAAANPw==$0。這就是所發(fā)生的事情:被刪除的表 RECYCLETEST 并沒有完全消失,而是重命名為一個(gè)由系統(tǒng)定義的名稱。它存在于同一個(gè)表空間中,具有與原始表相同的結(jié)構(gòu)。如果在該表上定義了索引或觸發(fā)器,則它們也被重命名,使用與表相同的命名規(guī)則。任何相關(guān)源(如過程)都失效;原始表的觸發(fā)器和索引被改為放置在重命名的表 BIN$04LhcpndanfgMAAAAAANPw==$0 上,保持被刪除表的完整對(duì)象結(jié)構(gòu)。

表及其相關(guān)對(duì)象被放置在一個(gè)稱為"回收站"的邏輯容器中,它類似于您 PC 機(jī)中的回收站。但是,對(duì)象并沒有從它們?cè)人诘谋砜臻g中刪除;它們?nèi)匀徽加媚抢锏目臻g。回收站只是一個(gè)列出被刪除對(duì)象目錄的邏輯結(jié)構(gòu)。在 SQL*Plus 提示符處使用以下命令來查看其內(nèi)容(您需要使用 SQL*Plus 10.1 來進(jìn)行此操作):

SQL?show?recyclebin

ORIGINAL?NAME

RECYCLEBIN?NAME

OBJECT?TYPE

DROP?TIME

-------------?-?--?-----------------------?-?--?-----?-?--?--------------

RECYCLETEST

BIN$04LhcpndanfgMAAAAAANPw==$0?TABLE

2004-02-16:21:13:31

結(jié)果顯示了表的原始名稱 RECYCLETEST,并顯示了回收站中的新名稱,該名稱與我們看到的刪除后所創(chuàng)建的新表名稱相同。(注意:確切的名稱可能因平臺(tái)不同而不同。)為恢復(fù)該表,您所需要做的就是使用 FLASHBACK TABLE 命令:

SQL?FLASHBACK?TABLE?RECYCLETEST?TO?BEFORE?DROP;

FLASHBACK?COMPLETE.

SQL?SELECT?*?FROM?TAB;

TNAME

TABTYPE

CLUSTERID

---------------------------?-?--?--?---?------

RECYCLETEST

TABLE

瞧!表毫不費(fèi)力地恢復(fù)了。如果現(xiàn)在查看回收站,它將是空的。

記住,將表放在回收站里并不在原始表空間中釋放空間。要釋放空間,您需要使用以下命令清空回收站:

PURGE?RECYCLEBIN;

但是如果您希望完全刪除該表而不需要使用閃回特性,該怎么辦?在這種情況下,可以使用以下命令永久刪除該表:

DROP?TABLE?RECYCLETEST?PURGE;

此命令不會(huì)將表重命名為回收站中的名稱,而是永久刪除該表,就象 10g 之前的版本一樣。

管理回收站

如果在該過程中沒有實(shí)際刪除表 ― 因而沒有釋放表空間 ― 那么當(dāng)被刪除的對(duì)象占用了所有空間時(shí),會(huì)發(fā)生什么事?

答案很簡(jiǎn)單:這種情況根本不會(huì)出現(xiàn)。當(dāng)表空間被回收站數(shù)據(jù)完全占滿,以至于必須擴(kuò)展數(shù)據(jù)文件來容納更多數(shù)據(jù)時(shí),可以說表空間處于"空間壓力"情況下。此時(shí),對(duì)象以先進(jìn)先出的方式從回收站中自動(dòng)清除。在刪除表之前,相關(guān)對(duì)象(如索引)被刪除。

同樣,空間壓力可能由特定表空間定義的用戶限額而引起。表空間可能有足夠的空余空間,但用戶可能將其在該表空間中所分配的部分用完了。在這種情況下,Oracle 自動(dòng)清除該表空間中屬于該用戶的對(duì)象。

此外,有幾種方法可以手動(dòng)控制回收站。如果在刪除名為 TEST 的特定表之后需要從回收站中清除它,可以執(zhí)行

PURGE?TABLE?TEST;

或者使用其回收站中的名稱:

PURGE?TABLE?"BIN$04LhcpndanfgMAAAAAANPw==$0";

此命令將從回收站中刪除表 TEST 及所有相關(guān)對(duì)象,如索引、約束等,從而節(jié)省了空間。但是,如果要從回收站中永久刪除索引,則可以使用以下命令來完成工作:

purge?index?in_test1_01;

此命令將僅僅刪除索引,而將表的拷貝留在回收站中。

有時(shí)在更高級(jí)別上進(jìn)行清除可能會(huì)有用。例如,您可能希望清除表空間 USERS 的回收站中的所有對(duì)象??梢詧?zhí)行:

PURGE?TABLESPACE?USERS;

您也許希望只為該表空間中特定用戶清空回收站。在數(shù)據(jù)倉庫類型的環(huán)境中,用戶創(chuàng)建和刪除許多臨時(shí)表,此時(shí)這種方法可能會(huì)有用。您可以更改上述命令,限定只清除特定的用戶:

PURGE?TABLESPACE?USERS?USER?SCOTT;

諸如 SCOTT 等用戶可以使用以下命令來清空自己的回收站

PURGE?RECYCLEBIN;

DBA 可以使用以下命令清除任何表空間中的所有對(duì)象

PURGE?DBA_RECYCLEBIN;

可以看到,可以通過多種不同方法來管理回收站,以滿足特定的需要。

表版本和閃回功能

用戶可能會(huì)經(jīng)常多次創(chuàng)建和刪除同一個(gè)表,如:

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;

此時(shí),如果您要對(duì)表 TEST 執(zhí)行閃回操作,那么列 COL1 的值應(yīng)該是什么?常規(guī)想法可能認(rèn)為從回收站取回表的第一個(gè)版本,列 COL1 的值是 1。實(shí)際上,取回的是表的第三個(gè)版本,而不是第一個(gè)。因此列 COL1 的值為 3,而不是 1。

此時(shí)您還可以取回被刪除表的其他版本。但是,表 TEST 的存在不允許出現(xiàn)這種情況。您有兩種選擇:

使用重命名選項(xiàng):

FLASHBACK?TABLE?TEST?TO?BEFORE?DROP?RENAME?TO?TEST2;

FLASHBACK?TABLE?TEST?TO?BEFORE?DROP?RENAME?TO?TEST1;

這些語句將表的第一個(gè)版本恢復(fù)到 TEST1,將第二個(gè)版本恢復(fù)到 TEST2。 TEST1 和 TEST2 中的列 COL1 的值將分別是 1 和 2?;蛘撸?/p>

使用表的特定回收站名稱進(jìn)行恢復(fù)。為此,首先要識(shí)別表的回收站名稱,然后執(zhí)行:

FLASHBACK?TABLE?"BIN$04LhcpnoanfgMAAAAAANPw==$0"?TO?BEFORE?DROP?RENAME?TO?TEST2;

FLASHBACK?TABLE?"BIN$04LhcpnqanfgMAAAAAANPw==$0"?TO?BEFORE?DROP?RENAME?TO?TEST1;

這些語句將恢復(fù)被刪除表的兩個(gè)版本。

警告......

取消刪除特性使表恢復(fù)其原始名稱,但是索引和觸發(fā)器等相關(guān)對(duì)象并沒有恢復(fù)原始名稱,它們?nèi)匀皇褂没厥照镜拿Q。在表上定義的源(如視圖和過程)沒有重新編譯,仍然保持無效狀態(tài)。必須手動(dòng)得到這些原有名稱并應(yīng)用到閃回表。

信息保留在名為 USER_RECYCLEBIN 的視圖中。在對(duì)表進(jìn)行閃回操作前,請(qǐng)使用以下查詢來檢索原有名稱。

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

在表進(jìn)行閃回操作后,表 RECYCLETEST 上的索引和觸發(fā)器將按照 OBJECT_NAME 列中所示進(jìn)行命名。根據(jù)以上查詢,可以使用原始名稱重新命名對(duì)象,如下所示:

ALTER?INDEX?"BIN$04LhcpnianfgMAAAAAANPw==$0"?RENAME?TO?IN_RT_01;

ALTER?TRIGGER?"BIN$04LhcpnganfgMAAAAAANPw==$0"?RENAME?TO?TR_RT;

一個(gè)值得注意的例外情況是位圖索引。當(dāng)刪除位圖索引時(shí),它們并不放置在回收站中 ― 因此無法檢索它們。約束名稱也無法從視圖中檢索。必須從其他來源對(duì)它們進(jìn)行重命名。

閃回表的其他用途

閃回刪除表功能不僅限于恢復(fù)表的刪除操作。與閃回查詢類似,您還可以使用它將表恢復(fù)到不同的時(shí)間點(diǎn),形如flashback table tmm2076 TO TIMESTAMP to_timestamp('2007-05-22

12:00:00','yyyy-mm-dd hh24:mi:ss')

彈出ORA-08189錯(cuò)誤,需要執(zhí)行以下命令先:

alter table tmm2076 enable row movement這個(gè)命令的作用是,允許oracle修改分配給行的rowid。

然后再flashback,數(shù)據(jù)被恢復(fù)完畢。

怎么在oracle中刪除數(shù)據(jù)庫中的表

刪除數(shù)據(jù)庫的表,關(guān)鍵點(diǎn)不在刪除的操作,而是在授權(quán)操作刪除。

為什么要?jiǎng)h除?誰讓刪除的?這些都要形成文字的相關(guān)內(nèi)容,不然在生產(chǎn)系統(tǒng)中,如果你是最后操作的,那么板子只能打到你身上。

至于刪除的語句很簡(jiǎn)單,最好用表所屬于的用戶登陸,然后drop table tablename;就可以了。

這樣刪除有一個(gè)好處,就是表在該用戶的回收站(10g版本以及以后)中,如果想恢復(fù)還有辦法。但是如果加了purge這個(gè)參數(shù),那么你想恢復(fù)都沒有辦法了。(除非有備份)

oracle回收站的恢復(fù)方式:flashback table tablename to before drop;如果該用戶沒有flashback的權(quán)限,那么可以考慮以dba身份的用戶登陸。

查看回收站的表,本用戶登陸sqlplus連接,show recyclebin;

oracle 怎樣利用閃回功能恢復(fù)數(shù)據(jù)

1,只需要執(zhí)行以下個(gè)腳本即可。

2,查看utl_file_dir設(shè)置

3, 可以通過命令行修改此參數(shù),也可以通過修改pfile文件設(shè)置此參數(shù)。

4,該參數(shù)為靜態(tài)參數(shù),需重啟數(shù)據(jù)庫后生效,創(chuàng)建LOGMNR數(shù)據(jù)字典。

5,添加需要分析的歸檔日志。

6,開始日志挖掘,分析日志。

7,查看日志信息,就可以了。


網(wǎng)站名稱:oracle回收站怎么用,oracle從回收站恢復(fù)表
鏈接URL:http://www.dlmjj.cn/article/dsgispj.html