使用PRM恢複Oracle資料庫中誤truncate截斷的表資料
恢複情境1 誤Truncate表的常規恢複
D公司的業務維護人員由於誤將產品資料庫當做測試環境庫導致錯誤地TRUNCATE了一張表上的所有資料,DBA嘗試恢複但是發覺最近的備份不可用,導致無法從備份中恢複出該資料表上的記錄。 此時DBA決定採用PRM來恢複已經被TRUNCATE掉的資料。
由於該環境中 所有資料庫檔案均是可用且健康的,使用者僅需要 字典模式下載入SYSTEM資料表空間的資料檔案以及被TRUNCATED表的資料檔案即可,例如:
create table ParnassusData.torderdetail_his1 tablespace users as
select * from parnassusdata.torderdetail_his;
SQL> desc ParnassusData.TORDERDETAIL_HIS
Name Null? Type
----------------------- -------- --------------
SEQ_ID NOT NULL NUMBER(10)
SI_STATUS NUMBER(38)
D_CREATEDATE CHAR(20)
D_UPDATEDATE CHAR(20)
B_ISDELETE CHAR(1)
N_SHOPID NUMBER(10)
N_ORDERID NUMBER(10)
C_ORDERCODE CHAR(20)
N_MEMBERID NUMBER(10)
N_SKUID NUMBER(10)
C_PROMOTION NVARCHAR2(5)
N_AMOUNT NUMBER(7,2)
N_UNITPRICE NUMBER(7,2)
N_UNITSELLINGPRICE NUMBER(7,2)
N_QTY NUMBER(7,2)
N_QTYFREE NUMBER(7,2)
N_POINTSGET NUMBER(7,2)
N_OPERATOR NUMBER(10)
C_TIMESTAMP VARCHAR2(20)
H_SEQID NUMBER(10)
N_RETQTY NUMBER(7,2)
N_QTYPOS NUMBER(7,2)
select count(*) from ParnassusData.TORDERDETAIL_HIS;
COUNT(*)
----------
984359
select bytes/1024/1024 from dba_segments where segment_name='TORDERDETAIL_HIS' and owner='PARNASSUSDATA';
BYTES/1024/1024
---------------
189.71875
SQL> truncate table ParnassusData.TORDERDETAIL_HIS;
Table truncated.
SQL> select count(*) from ParnassusData.TORDERDETAIL_HIS;
COUNT(*)
----------
0
Linux-6-64下安裝Oracle 12C筆記
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
啟動PRM ,並選擇 Tools => Recovery Wizard
點擊Next
在此TRUNCATE情境中並未採用ASM儲存,所以僅需要選擇 《Dictionary Mode》字典模式即可:
下一步驟 我們要選擇幾個參數 : 包括Endian 位元組序和DB NAME
由於ORACLE資料檔案在不同的作業系統平台上採用了不同的Endian位元組序格式,位元組序和平台對應列表如下:
Solaris[tm] OE (32-bit)
Big
Solaris[tm] OE (64-bit)
Big
Microsoft Windows IA (32-bit)
Little
Linux IA (32-bit)
Little
AIX-Based Systems (64-bit)
Big
HP-UX (64-bit)
Big
HP Tru64 UNIX
Little
HP-UX IA (64-bit)
Big
Linux IA (64-bit)
Little
HP Open VMS
Little
Microsoft Windows IA (64-bit)
Little
IBM zSeries Based Linux
Big
Linux x86 64-bit
Little
Apple Mac OS
Big
Microsoft Windows x86 64-bit
Little
Solaris Operating System (x86)
Little
IBM Power Based Linux
Big
HP IA Open VMS
Little
Solaris Operating System (x86-64)
Little
Apple Mac OS (x86-64)
Little
更多詳情見請繼續閱讀下一頁的精彩內容: