【oracle】oralce 恢復表資料
今天在做專案的時候,改錯了oracle資料庫表裡面的一個欄位,真的嚇到了一下,要是恢復不過來就悲劇了,肯定要被批。。。
好在成功的恢復了回來,下面給出恢復方法。
情景:在Linux下,假設有一個表TABLE_A,裡面有一個欄位name,我們把name欄位修改了,卻發現改錯了,想恢復到30分鐘前的樣子。
第一步:將30分鐘前資料恢復到臨時表QUICK_TABLE
執行:
CREATE TABLE QUICK_TABLE AS select * from TABLE_A AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '30' MINUTE);
這個時候,就會產生一個表QUICK_TABLE,裡面儲存了30分鐘前TABLE_A的資料。
這一步的來源是:http://blog.csdn.net/yongde1987/article/details/8285711
第二步:調整輸出格式
執行
1.set head off
2.set linesize 160(根據自己sql insert語句長度調整)
3.set newpage none
上面3句是為了在終端顯示的時候格式更好
第三步:將QUICK_TABLE裡面的資料匯出成為insert 語句
比如我的是:
1.spool /root/god_bless.log (將insert語句寫入到/root/god_bless.log這個檔案) 2.select 'insert into TABLE_A (mag,name,seed,flag,length) ' || 'values('||''''|| mag ||''''|| ',''' || name ||''''|| ','''|| seed || ''''||',''' || flag ||''''|| ',''' || length || ''''||');' a from QUICK_TABLE;(生成insert語句) 3.spool off
這一步的來源是:
http://blog.csdn.net/striveman/article/details/1854327
第四步:將TABLE_A清空
delete from TABLE_A;
第五步:修改/root/god_bless.log檔案
新開啟一個終端,輸入:vim /root/god_bless.log,將檔案中非insert語句刪除,因為spool會將執行的語句也記錄下來,這裡可能要刪除第一行和最後幾行的非insert語句
第六步:執行檔案中的insert語句恢復到半小時前:
[email protected]/root/god_bless.log
2.commit;
ok!恢復到30分鐘前了
相關推薦
【oracle】oralce 恢復表資料
今天在做專案的時候,改錯了oracle資料庫表裡面的一個欄位,真的嚇到了一下,要是恢復不過來就悲劇了,肯定要被批。。。 好在成功的恢復了回來,下面給出恢復方法。情景:在Linux下,假設有一個表TAB
【C#】C# Excel表資料讀取
using System; using System.Data; using System.Windows.Forms; using System.Data.OleDb; using System.IO; namespace TestExerciser { class ExcelDataRea
【Oracle】閃回表
語法: FLASHBACK TABLE [ schema. ] table [, [ schema. ] table ]... TO { { { SCN | TIMESTAMP } expr| RES
【C】利用單鏈表資料結構實現通訊錄,連結串列的增刪改查
C語言中實現連結串列,是需要利用到C語言中比較難的結構體與指標才能實現。 結構體中放一個指向後接節點的指標與每一個結點應該存放的資訊。 下面做一個命令列的通訊錄來說明連結串列的增刪改查這個問題。 一開始讓使用者輸入連結串列,按1可以輸出,按3可以刪除。 可以修改: 可以
【Oracle】資料庫儲存JSON資料型別的大檔案;
一、問題 因為需要在資料庫儲存pdf的解析檔案,需要用大的資料型別儲存資料內容,所以需要使用CLOB資料檔案型別; 二、方法 資料庫使用CLOB型別的資料,使用方法和其他的一樣,是Character Large Object 的縮寫;在使用Mybatis
【oracle】使用資料泵導使用者每張表部分資料
oracle使用資料泵導使用者每張表部分資料 (每張表5000行資料,少於5000的匯入全部下每張表5000行資料,少於5000的匯入全部) 資料庫版本:11.2.0.4;系統版本:Oracle Linux 6.4 場景: 開發提出一個需求,需要把tods使用者下的資料全部匯入到UA
【oracle】oracle使用utl_file和sqlloard實現A表資料遷移至B表資料(欄位數和順序不一樣)
oracle使用utl_file和sqlloard實現A表資料遷移至B表資料(欄位數和順序不一樣) 資料庫版本:11.2.0.4;系統版本:CentOS Linux 6.8 使用utl_file方式從A表匯出部分欄位至文字,再使用sqlload方式載入進B表; 表test欄位: 
【ORACLE】dmp格式匯入匯出,表沒有資料的情況下,該表匯入會缺失
使用過oralce很多種匯入匯出的方式,pde,sql(匯出不支援blog格式),dmp格式,覺得.dmp最為方便,可以匯出所有的表結構、資料、SEQ及儲存過程等,下面就開始具體流程,並說明到如果表中沒有資料時如何匯入。匯入匯出.dmp命令,在cmd視窗執行,其中file為儲
【Oracle】整庫匯出後怎麼恢復到指定使用者的指定表
在匯出的時候,整庫匯出 這裡使用的是dba許可權 $exp "'/ as sysdba'" file=full20180227.dmp log=exp_full20180227.log buffer=40960000 full=y 或者 $exp \"/ as sysd
【Oracle】刪除(釋放)資料檔案/表空間流程
oracle刪除(釋放)資料檔案/表空間流程 生產環境:資料庫裡空間不足,niptest 表空間251G,只使用了17G 再alter database datafile '...../niptest1' resize 10G; 的時候說超出了範圍要求 由於表變動比較頻繁
【Oracle】表空間相關集合
長度 例如 參數說明 height ace 並且 報錯 mage 數據 創建表空間 1.語法 CREATE [SMALLFILE/BIGFILE] TABLESPACE tablespace_nameDATAFILE ‘/path/filename‘ SIZE num[k/
【oracle】查詢某張表重建以前的記錄操作(如能找到哪臺機器執行的更好)
oracle查詢某張表重建以前的記錄操作(如能找到哪臺機器執行的更好) 需求: 開發下午反饋測試環境有一張表不知道誰動過導致資料變了,然後他們十一點多的時候把表重建了; 但他們想知道重建表之前誰動過這張表(猜測肯定是覺得資料丟失了給他們帶來了諸多不便才想起來找DBA誰動過這張表),主要是想知
【Oracle】匯入和匯出 EXP / IMP 和 EXPDP / IMPDP 資料泵匯出匯入的方法
【Oracle】EXPDP和IMPDP資料泵進行匯出匯入的方法 一、expdp/impdp和exp/imp的區別 1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端
【oracle】 impdp匯入資料報錯ORA-29283: invalid file operation
oracle impdp匯入資料報錯ORA-29283: invalid file operation ORA-39002: invalid operation ORA-39070: Unable t
【Oracle】Oracle查詢資料庫中所有表的記錄數
方法一: 首先建立一個計算函式 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
【Unity3D】 讀寫 CSV 資料表
【先說點廢話】 哈哈哈哈好久沒發文章不知道大家有沒有想我,這一大段時間鬼知道我經歷了什麼,弄比賽、備戰考研、各種求職各種做簡歷、弄畢業設計、租房子。。。等等等,做了一大堆都沒做太好哈哈哈,不過好在找到了心儀的工作,之後會繼續保持更新,把一些技術分享給大家,一起
【資料庫】Navicat匯入匯出資料表
當我們對mysql資料庫進行了誤操作,造成某個資料表中的部分資料丟失時,肯定就要利用備份的資料庫,對丟失部分的資料進行匯出、匯入操作了。Navicat工具正好給我們提供了一個數據表的匯入匯出功能。 1.匯出資料表 Navicat匯出資料表的格
【ORACLE】常用物化檢視相關元資料查詢語句
對物化檢視的狀態等資訊進行查詢,監控和管理時,需要對系統檢視進行查詢,以下列出了常用的物化檢視狀態、依賴關聯,批量維護時能用到的查詢語句,根據具體情況進行適當修改。 基本資訊查詢 -- 物化檢視基本資訊 SELECT OWNER
【Python】desc獲取表結構建立oracle 建表語句
由於某些oracle系統許可權管理的特別嚴格,或者某些表或檢視由多張表組成, 從而導致獲取建表語句十分困難或者根本不可能,只能通過sqlplus連線到oracle, 只能通過desc命令獲取簡單的表結構。如下圖這樣: 複製到文字檔案後是這樣的: 對於數量較少的
使用ODU恢復oracle被truncate的表資料
1。ODU 介紹 ODU全稱為Oracle Database Unloader,是類似於Oracle的DUL的軟體,用於直接從Oracle資料庫的資料檔案中獲取表資料。在各種原因造成的資料庫不能開啟時,用於搶救資料,最大限度地減少資料丟失。 支援的O