真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle怎么回閃,oracle數(shù)據(jù)庫(kù)閃回表

求教Oracle11g中的閃回技術(shù)

1、Flashback Database(利用閃回日志恢復(fù))

創(chuàng)新互聯(lián)建站專注于臨汾企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),電子商務(wù)商城網(wǎng)站建設(shè)。臨汾網(wǎng)站建設(shè)公司,為臨汾等地區(qū)提供建站服務(wù)。全流程按需定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

Oracle Flashback Database特性允許通過SQL語句Flashback Database語句,讓數(shù)據(jù)庫(kù)前滾到當(dāng)前的前一個(gè)時(shí)間點(diǎn)或者SCN,而不需要做時(shí)間點(diǎn)的恢復(fù)。閃回?cái)?shù)據(jù)庫(kù)可以迅速將數(shù)據(jù)庫(kù)回到誤操作或人為錯(cuò)誤的前一個(gè)時(shí)間點(diǎn),如Word中的"撤消"操作,可以不利用備份就快速的實(shí)現(xiàn)基于時(shí)間點(diǎn)的恢復(fù)。Oracle通過創(chuàng)建新的Flashback Logs(閃回日志),記錄數(shù)據(jù)庫(kù)的閃回操作。如果希望能閃回?cái)?shù)據(jù)庫(kù),需要設(shè)置如下參數(shù):DB_RECOVER_FILE_DEST日志的存放位置,DB_RECOVER_FILE_DEST_SIZE恢復(fù)區(qū)的大小。在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,Oracle將自動(dòng)創(chuàng)建恢復(fù)區(qū),但默認(rèn)是關(guān)閉的,需要執(zhí)行alter database flashback on命令。

例:執(zhí)行Flashback Database命令格式。

SQLflashback database to time to_timestamp(xxx);

SQLflashback database to scn xxx

2、Flashback Table(利用UNDO保留信息恢復(fù))

Oracle Flashback Table特性允許利用Flashback Table語句,確保閃回到表的前一個(gè)時(shí)間點(diǎn)。與Oracle 9i中的Flashback Query相似,利用回滾段信息來恢復(fù)一個(gè)或一些表到以前的一個(gè)時(shí)間點(diǎn)(一個(gè)快照)。要注意的是,F(xiàn)lashback Table不等于Flashback Query,F(xiàn)lashback Query僅僅是查詢以前的一個(gè)快照點(diǎn)而已,并不改變當(dāng)前表的狀態(tài),而Flashback Table將改變當(dāng)前表及附屬對(duì)象一起回到以前的時(shí)間點(diǎn)。

語法:

flashback table tablename to timestamp xxx或

flashback table tablename to scn xxx

注意:如果需要閃回一個(gè)表,需要以下條件:

需要有flashback any table的系統(tǒng)權(quán)限或者是該表的flashback對(duì)象權(quán)限;

需要有該表的select,insert,delete,alter權(quán)限;

必須保證該表row movement。

例:執(zhí)行將test表閃回到2011年5月7日下午3點(diǎn)。

SQLflashback table test to timestamp to_timestamp(’2011-05-07 15:00:00’,’yyyy-mm-dd hh24:mi:ss’);

3、Flashback Drop(利用回收站功能恢復(fù))

注:由于目前的環(huán)境為了實(shí)現(xiàn)OGG的DDL同步,關(guān)閉了回收站功能,故這個(gè)功能不可用。

4、Flash Version Query(利用UNDO保留信息恢復(fù))

Oracle Flashback Version Query特性,利用保存的回滾信息,可以看到特定的表在時(shí)間段內(nèi)的任何修改,如電影的回放一樣,可以了解表在該期間的任何變化。Flashback version query一樣依賴于AUM,提供了一個(gè)查看行改變的功能,能找到所有已經(jīng)提交了的行的記錄,分析出過去時(shí)間都執(zhí)行了什么操作。Flashback version query采用VERSIONS BETWEEN語句來進(jìn)行查詢,常用的方法:

·VERSIONS_SCN - 系統(tǒng)改變號(hào)

·VERSIONS_TIMESTAMP - 時(shí)間

例如:在test表中,時(shí)間1插入一條記錄,時(shí)間2刪除了這條記錄,對(duì)于時(shí)間3執(zhí)行select * from test當(dāng)然查詢不到這條記錄,只能看到該表最后的提交記錄。這時(shí)如果利用Flash Table或者是Flash Query,只能看到過去的某一時(shí)間點(diǎn)的一個(gè)快照,而利用Flashback Version Query,能夠把時(shí)間1、時(shí)間2的操作給記錄下來,并詳細(xì)的查詢出對(duì)表進(jìn)行的任何操作。

基于SCN的閃回查詢:

SQL select count(*) from lm_mtrp_syn_channelinfo as of scn 708000000;

COUNT(*)

----------

21

基于時(shí)間段的閃回查詢:

SQLselect versions_starttime,versions_endtime, versions_xid,versions_operation,id

from test versions

between timestamp minvalue and maxvalue

order by versions_starttime;

5,Flashback Transaction Query(利用UNDO保留信息恢復(fù))

Oracle Flashback Transaction Query特性確保檢查數(shù)據(jù)庫(kù)的任何改變?cè)谝粋€(gè)事務(wù)級(jí)別,可以利用此功能進(jìn)行診斷問題、性能分析和審計(jì)事務(wù)。它其實(shí)是Flashback Version Query查詢的一個(gè)擴(kuò)充,F(xiàn)lashback Version Query說明了可以審計(jì)一段時(shí)間內(nèi)表的所有改變,但是也僅僅是能發(fā)現(xiàn)問題,對(duì)于錯(cuò)誤的事務(wù),沒有好的處理辦法。而Flashback Transaction Query提供了從FLASHBACK_TRANSACTION_QUERY視圖中獲得事務(wù)的歷史以及Undo_sql(回滾事務(wù)對(duì)應(yīng)的sql語句),也就是說審計(jì)一個(gè)事務(wù)到底做了什么,甚至可以回滾一個(gè)已經(jīng)提交的事務(wù)。

例:Flashback Transaction Query的操作實(shí)例。

(1)在test表中刪除記錄,獲得事務(wù)的標(biāo)識(shí)XID,然后提交。

SQLdelete from test where id=2;

SQLselect xid from v$transaction;

XID

----------------

04001200AE010000

SQLcommit;

在測(cè)試中方便起見,在事務(wù)沒有提交的時(shí)候,獲得事務(wù)的XID為04001F0035000000。實(shí)際情況下,不可能去跟蹤每個(gè)事務(wù),想要獲得已提交事務(wù)的XID,就必須通過上面的Flashback Version Query。

(2)進(jìn)行Flashback Transaction Query

SQLselect * from FLASHBACK_TRANSACTION_QUERY

where xid=’04001F0035000000’;

UNDO_SQL

insert into "FLASHTEST"."TEST"("ID") values (’2’);

注意:這個(gè)刪除語句對(duì)應(yīng)的是1個(gè)Insert語句,如果想回滾這個(gè)事務(wù),執(zhí)行這個(gè)Insert語句即可。

可以看到,F(xiàn)lashback Transaction Query主要用于審計(jì)一個(gè)事務(wù),并可以回滾一個(gè)已經(jīng)提交的事務(wù)。如果確定出錯(cuò)的事務(wù)是最后一個(gè)事務(wù),我們利用Flashback Table或者Flashback Query就可以解決問題。但是,如果執(zhí)行了一個(gè)錯(cuò)誤的事務(wù)之后,又執(zhí)行了一系列正確的事務(wù),那么上面的方法就無能為力,利用Flashback Transaction Query可以查看或回滾這個(gè)錯(cuò)誤的事務(wù)。

另:ORACLE 11G還多了一個(gè)閃回?cái)?shù)據(jù)歸檔的功能,即可將UNDO的信息進(jìn)行歸檔,這個(gè)功能對(duì)于一些比較重要的表,

oracle開啟閃回,怎么操作啊

首先查看是否開啟閃回:

SQL select flashback_on from V$database;

FLASHBACK_ON

------------------

NO

如果已經(jīng)開啟了閃回,無須執(zhí)行下面的操作。

cd /u01

mkdir flashback(生成閃回目錄)

SQL alter system set db_recovery_file_dest_size=30G scope=both;

SQL alter system set db_recovery_file_dest='/u01/flashback' scope=both;

SQL shutdown immediate

SQL startup mount

SQL alter database archivelog;

SQL alter database flashback on;

SQL alter database open;

再進(jìn)行確認(rèn):

SQL select flashback_on from V$database;

FLASHBACK_ON

------------------

YES

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

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

2,查看utl_file_dir設(shè)置

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

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

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

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

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

oracle 如何打開 表空間 閃回功能

先關(guān)閉數(shù)據(jù)庫(kù)

再start mount

再打開閃回功能

最后 alter database open

如何執(zhí)行Oracle數(shù)據(jù)庫(kù)閃回查詢

可按以下步驟配置閃回?cái)?shù)據(jù)庫(kù):(確保數(shù)據(jù)庫(kù)處于ARCHIVELOG 模式。)

1. 配置快速恢復(fù)區(qū)。

2. 使用初始化參數(shù)DB_FLASHBACK_RETENTION_TARGET 設(shè)置保留目標(biāo)??芍付?/p>

一個(gè)上限(以分鐘為單位),指示數(shù)據(jù)庫(kù)能夠閃回到多長(zhǎng)時(shí)間以前。本示例使用

了 2880 分鐘,相當(dāng)于兩天。此參數(shù)只是一個(gè)目標(biāo),并不提供任何保證。閃回時(shí)間

間隔取決于快速恢復(fù)區(qū)中保留的閃回?cái)?shù)據(jù)量的大小。

3. 使用以下命令啟用閃回?cái)?shù)據(jù)庫(kù):

ALTER DATABASE FLASHBACK ON;

必須先配置數(shù)據(jù)庫(kù)以進(jìn)行歸檔,且必須在 MOUNT EXCLUSIVE 模式下啟動(dòng)數(shù)據(jù)庫(kù)

后,才能發(fā)出此命令來啟用閃回?cái)?shù)據(jù)庫(kù)。

可以使用以下查詢來確定是否已啟用閃回?cái)?shù)據(jù)庫(kù):

SELECT flashback_on FROM v$database;

可以使用ALTER DATABASE FLASHBACK OFF 命令禁用閃回?cái)?shù)據(jù)庫(kù)。這樣,會(huì)自動(dòng)刪

除所有現(xiàn)有的閃回?cái)?shù)據(jù)庫(kù)日志。

注:僅當(dāng)在獨(dú)占模式下裝載(而不是打開)數(shù)據(jù)庫(kù)時(shí)才能啟用閃回?cái)?shù)據(jù)庫(kù)。

1.確認(rèn)當(dāng)前模式

SYS AS SYSDBA on 29-MAR-05 select flashback_on from v$database;

FLA

---

NO

2.檢查/修改恢復(fù)區(qū)設(shè)置

SYS AS SYSDBA on 29-MAR-05 show parameter db_recovery_file_dest

NAME TYPEVALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_deststring /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 10G

SYS AS SYSDBA on 29-MAR-05 alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area';

SYS AS SYSDBA on 29-MAR-05 alter system set db_recovery_file_dest_size=15G;

3.檢查/修改閃回時(shí)間設(shè)置

SYS AS SYSDBA on 29-MAR-05 show parameter db_flashback_retention_target

NAME TYPEVALUE

------------------------------------ ----------- ------------------------------

db_flashback_retention_targetinteger 60

SYS AS SYSDBA on 29-MAR-05 alter system set db_flashback_retention_target=1440;--分鐘

System altered.

如何設(shè)置flash recovery area

(1).db_recovery_file_dest:指定閃回恢復(fù)區(qū)的位置

(2).db_recovery_file_dest_size:指定閃回恢復(fù)區(qū)的可用空間大小

(3).db_flashback_retention_target:指定數(shù)據(jù)庫(kù)可以回退的時(shí)間,單位為分鐘,默認(rèn)1440分鐘,也就是一天。當(dāng)然,實(shí)際上可回退的時(shí)間還決定于閃回恢復(fù)區(qū)的大小,因?yàn)槔锩姹4媪嘶赝怂枰?flash log。所以這個(gè)參數(shù)要和db_recovery_file_dest_size配合修改。

alter system set db_flashback_retention_target=1440;

alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area';

alter system set db_recovery_size=15G;

4.重新啟動(dòng)數(shù)據(jù)庫(kù)到Mount狀態(tài)

啟動(dòng)flashback database選項(xiàng)。

SYS AS SYSDBA on 29-MAR-05 shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SYS AS SYSDBA on 29-MAR-05 startup mount exclusive;

ORACLE instance started.

Total System Global Area 314572800 bytes

Fixed Size 1301704 bytes

Variable Size 261890872 bytes

Database Buffers 50331648 bytes

Redo Buffers1048576 bytes

Database mounted.

SYS AS SYSDBA on 29-MAR-05 alter database flashback on;

Database altered.

SYS AS SYSDBA on 29-MAR-05 alter database open;

Database altered.

如何閃回刪除的表格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ù)庫(kù)中使用表空間的時(shí)間點(diǎn)恢復(fù),然后使用導(dǎo)出/導(dǎo)入或其他方法,在當(dāng)前數(shù)據(jù)庫(kù)中重新創(chuàng)建表。這一過程需要 DBA 進(jìn)行大量工作并且耗費(fèi)寶貴的時(shí)間,更不用說還要使用另一個(gè)數(shù)據(jù)庫(kù)進(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ù)倉(cāng)庫(kù)類型的環(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?;蛘?,

使用表的特定回收站名稱進(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ù)完畢。


新聞標(biāo)題:oracle怎么回閃,oracle數(shù)據(jù)庫(kù)閃回表
本文URL:http://weahome.cn/article/dssshoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部