oracle如何還原表,oracle數(shù)據(jù)還原表數(shù)據(jù)

我的oracle數(shù)據(jù)庫里面覆蓋了一張表,怎么還原

用oracle的

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及成都廣告設(shè)計等,在網(wǎng)站建設(shè)公司、成都全網(wǎng)營銷、WAP手機(jī)網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。

flashback

,可以還原查詢某個時間點這個表中的數(shù)據(jù),只要時間不要過去太久就可以,比如

SELECT

*

FROM

tt_tab

AS

of

TIMESTAMP(SYSDATE-1/24)

oracle怎么恢復(fù)表數(shù)據(jù)

有數(shù)據(jù)庫備份嗎

如果有exp備份,可以通過imp導(dǎo)入恢復(fù)表數(shù)據(jù)

如果有rman備份,可以把數(shù)據(jù)庫按時間恢復(fù)到測試備庫,然后在導(dǎo)會本庫

如果沒有備份,可以嘗試使用logmnr挖掘在線日志或歸檔日志,生成一些表的一些數(shù)據(jù)

請問oracle怎么從dmp文件只恢復(fù)一張表的數(shù)據(jù),恢復(fù)到另一個用戶中

1、安裝Oracle數(shù)據(jù)庫軟件,并且用Oracle管理工具中的Database Configuration Assistant 根據(jù)對方提供的數(shù)據(jù)庫名建立數(shù)據(jù)庫。數(shù)據(jù)庫版本則要和導(dǎo)出當(dāng)前dmp文件的數(shù)據(jù)庫版本一致。

2、透過腳本文件建立導(dǎo)入dmp文件所需的表空間、用戶、規(guī)則以及相關(guān)的授權(quán)。

3、將dmp文件復(fù)制到新安裝的Oracle數(shù)據(jù)庫服務(wù)器中,準(zhǔn)備導(dǎo)入這個數(shù)據(jù)庫文件。

4、通過cmd調(diào)出運行窗口,用imp命令導(dǎo)入數(shù)據(jù)。

5、通過數(shù)據(jù)庫管理工具連接數(shù)據(jù)庫,就可以查詢到dmp文件中的數(shù)據(jù)了。

oracle數(shù)據(jù)庫的表刪了怎么恢復(fù)

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

刪除那個表!

首先,讓我們查看當(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

oracle如何恢復(fù)誤刪的表記錄數(shù)據(jù)?

oracle如何恢復(fù)誤刪的表記錄數(shù)據(jù),解決辦法:

從flash back里查詢被刪除的表select * from recyclebin

執(zhí)行表的恢復(fù)flashback table ?tbName ?to before drop;這里的tbName代表你要恢復(fù)的表的名稱。

先從flashback_transaction_query視圖里查詢,視圖提供了供查詢用的表名稱、事務(wù)提交時間、UNDO_SQL等字段。

一般先根據(jù)時間進(jìn)行查詢,查詢語句模式為select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名稱,time指某個時間點。

這個命令的作用是,允許Oracle 修改分配給行的rowid。

在Oracle 中,插入一行時就會為它分配一個rowid,而且這一行永遠(yuǎn)擁有這個rowid。

閃回表處理會對EMP 完成DELETE,并且重新插入行,這樣就會為這些行分配一個新的rowid。

要支持閃回就必須允許Oracle 執(zhí)行這個操作。

oracle數(shù)據(jù)庫刪除錯了表怎么恢復(fù)

一、如果是剛剛刪除,那么有兩方法:

首先用show parameter undo;命令查看當(dāng)時的數(shù)據(jù)庫參數(shù)undo_retention設(shè)置。

顯示如下:

undo_management?string?AUTO

undo_retention?integer?10800

undo_suppress_errors?boolean?FALSE

undo_tablespace?string?UNDOTBS1

undo_retention(保持力),10800單位是秒。即3個小時。

修改默認(rèn)的undo_retention參數(shù)設(shè)置:

 ALTER?SYSTEM?SET?undo_retention=10800?SCOPE=BOTH;

方法1,通過oracle提供的回閃功能:

exec?dbms_flashback.enable_at_time(to_date('2007-07-23?10:21:00','yyyy-mm-dd?hh24:mi:ss'));

set?serveroutput?on

DECLARE?r_temp?hr.job_history%ROWTYPE;

CURSOR?c_temp?IS?SELECT?*?FROM?hr.job_history;

BEGIN

OPEN?c_temp;

dbms_flashback.disable;

LOOP

FETCH?c_temp?INTO?r_temp;

EXIT?WHEN?c_temp%NOTFOUND;

insert?into?hr.job_history(EMPLOYEE_ID,JOB_ID,START_DATE,END_DATE)?values?(r_temp.EMPLOYEE_ID,r_temp.JOB_ID,r_temp.START_DATE,r_temp.END_DATE);

commit;

END?LOOP;

CLOSE?c_temp;

END;

方法2,insert into hr.job_history

select?*?from?hr.job_history?as?of?timestamp?to_timestamp('2007-07-23?10:20:00',?'yyyy-mm-dd?hh24:mi:ss');

這種方法簡單,容易掌握,功能和上面的一樣時間為你誤操作之前的時間,最好是離誤操作比較近的,因為oracle保存在回滾保持段里的數(shù)據(jù)時間有一定的時間限制由undo_retention 這個參數(shù)值決定。

二、如果是刪除一段時間了,但你有比較新的數(shù)據(jù)庫備份,就通過備份來恢復(fù)。新建一個庫,把備份還原上去,導(dǎo)出表數(shù)據(jù),再導(dǎo)入到現(xiàn)在用的庫中去。

三、如果刪除一段時間了,并且無備份,但是數(shù)據(jù)在寫入表的時候同時會寫入其它一些關(guān)聯(lián)表的話,那么就嘗試通過寫SQL語句從其它表取數(shù)據(jù)出來insert到被刪除的表中。

四、恢復(fù)到備份表中

create?table?tableName_bak

as

select?*?from?tableName?as?of?TIMESTAMP?to_timestamp('20081126?103435','yyyymmdd?hh24miss');

分享文章:oracle如何還原表,oracle數(shù)據(jù)還原表數(shù)據(jù)
本文URL:http://muchs.cn/article0/phgsoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、動態(tài)網(wǎng)站、云服務(wù)器、小程序開發(fā)做網(wǎng)站、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司