使用PRM恢複Oracle資料庫中誤truncate截斷的表資料

來源:互聯網
上載者:User

使用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

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.