主頁 > 知識(shí)庫 > oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)

oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)

熱門標(biāo)簽:開封智能外呼系統(tǒng)廠家 人工智能地圖標(biāo)注自己能做嗎 word地圖標(biāo)注方向 外呼線路外顯本地號(hào)碼 征服者火車站地圖標(biāo)注 征服眼公司地圖標(biāo)注 阿爾巴尼亞地圖標(biāo)注app 美圖秀秀地圖標(biāo)注 百度地圖標(biāo)注素材

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

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

顯示如下:

復(fù)制代碼 代碼如下:

undo_management   string   AUTO

undo_retention  integer 10800

undo_suppress_errors  boolean  FALSE

undo_tablespace   string   UNDOTBS1

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

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

復(fù)制代碼 代碼如下:

ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;

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

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

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

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

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

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

復(fù)制代碼 代碼如下:

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

您可能感興趣的文章:
  • Oracle的數(shù)據(jù)表中行轉(zhuǎn)列與列轉(zhuǎn)行的操作實(shí)例講解
  • Oracle 創(chuàng)建用戶及數(shù)據(jù)表的方法
  • Oracle 數(shù)據(jù)表分區(qū)的策略
  • Oracle對(duì)兩個(gè)數(shù)據(jù)表交集的查詢
  • 如何將Oracle的一個(gè)大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程)

標(biāo)簽:宜春 海北 酒泉 六安 孝感 淮南 葫蘆島 泰安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)》,本文關(guān)鍵詞  oracle,誤刪,數(shù)據(jù)表,還原,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)》相關(guān)的同類信息!
  • 本頁收集關(guān)于oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章