案例:Oracle dul資料採礦 沒有備份情況下非常規恢複drop刪除的資料表

來源:互聯網
上載者:User

標籤:

通過Oracle dul工具在沒有備份情況下進行非常規恢複,找出drop刪除的Oracle資料表中的資料進行恢複

dul對被drop對象進行恢複,需要提供兩個資訊
1.被刪除表所屬資料表空間(非必須)
2.被刪除表結構(必須)

1.Oracle資料庫中類比刪除表
--建立測試表SQL> create table t_dul_drop tablespace czum  2  as  3  select * from dba_tables;Table created.--備份被刪除表資料,便於比較和提供測試表結構SQL> create table t_dul_drop_bak tablespace users  2  as select * from t_dul_drop;Table created.SQL> alter system switch logfile;System altered.SQL> select count(*) from t_dul_drop;  COUNT(*)----------      1785SQL> drop table chf.t_dul_drop purge;Table dropped.SQL> alter system checkpoint;System altered.
2.使用logminer找到data_object_id
delete from "SYS"."OBJ$" where "OBJ#" = ‘68474‘ and "DATAOBJ#" = ‘68474‘ and "OWNER#" = ‘61‘ and "NAME" = ‘T_DUL_DROP‘ and "NAMESPACE" = ‘1‘ and "SUBNAME" IS NULL and "TYPE#" = ‘2‘ and "CTIME" = TO_DATE(‘04-FEB-13‘, ‘DD-MON-RR‘) and "MTIME" = TO_DATE(‘04-FEB-13‘, ‘DD-MON-RR‘) and "STIME" = TO_DATE(‘04-FEB-13‘, ‘DD-MON-RR‘)and "STATUS" = ‘1‘ and "REMOTEOWNER" IS NULL and "LINKNAME" IS NULL and "FLAGS" = ‘0‘ and "OID$" IS NULL and "SPARE1" = ‘6‘ and "SPARE2" = ‘1‘ and "SPARE3" = ‘61‘ and "SPARE4" IS NULL and "SPARE5" IS NULL and "SPARE6" IS NULL and ROWID = ‘AAAAASAABAAAPzCAAV‘;

這裡可以知道,被刪除表的data_object_id為68474

3.DUL恢複被刪除表
--dul版本E:\dul10>dul.exeData UnLoader 10.2.4.37 - Oracle Internal Only - on Mon Feb 04 23:49:50 2013with 64-bit io functionsCopyright (c) 1994 2010 Bernard van Duijnen All rights reserved. Strictly Oracle Internal use OnlyDUL>  ALTER SESSION SET USE_SCANNED_EXTENT_MAP = TRUE;Parameter altered--掃描所屬資料表空間DUL> scan tablespace 6;Scanning tablespace 6, data file 6 ...  13 segment header and 331 data blocks  tablespace 6, data file 6: 1279 blocks scannedReading EXT.dat 13 entries loaded and sorted 13 entriesReading SEG.dat 13 entries loadedReading COMPATSEG.dat 0 entries loadedReading SCANNEDLOBPAGE.dat 0 entries loaded and sorted 0 entries--scan tables得到需求表(可以核對資料範例)DUL> scan tables;UNLOAD TABLE OBJNO68474 ( COL001 VARCHAR2(11), COL002 VARCHAR2(30), COL003 VARCHAR2(6)        , COL004 VARCHAR2(20), COL005 VARCHAR2(30), COL006 VARCHAR2(5), COL007 NUMBER        , COL008 NUMBER, COL009 NUMBER, COL010 NUMBER, COL011 NUMBER        , COL012 NUMBER, COL013 NUMBER, COL014 NUMBER, COL015 CHAR        , COL016 NUMBER, COL017 NUMBER, COL018 VARCHAR2(3), COL019 VARCHAR2(1)        , COL020 NUMBER, COL021 NUMBER, COL022 NUMBER, COL023 NUMBER        , COL024 NUMBER, COL025 NUMBER, COL026 NUMBER, COL027 NUMBER        , COL028 VARCHAR2(10), COL029 VARCHAR2(10), COL030 VARCHAR2(5), COL031 VARCHAR2(7)        , COL032 NUMBER, COL033 DATE, COL034 VARCHAR2(3), COL035 VARCHAR2(12)        , COL036 VARCHAR2(1), COL037 VARCHAR2(1), COL038 VARCHAR2(3), COL039 VARCHAR2(7)        , COL040 VARCHAR2(7), COL041 VARCHAR2(7), COL042 VARCHAR2(8), COL043 VARCHAR2(3)        , COL044 VARCHAR2(2), COL045 VARCHAR2(15), COL046 VARCHAR2(8), COL047 VARCHAR2(3)        , COL048 VARCHAR2(3), COL049 VARCHAR2(8), COL050 VARCHAR2(8), COL051 VARCHAR2(5)        , COL052 VARCHAR2(2), COL053 VARCHAR2(2), COL054 VARCHAR2(3), COL055 VARCHAR2(7) )    STORAGE( DATAOBJNO 68474 );--恢複刪除表(業務提供表結構)DUL> unload table t_dul_drop(  2  OWNER                              VARCHAR2(30),  3  TABLE_NAME                         VARCHAR2(30),  4  TABLESPACE_NAME                                    VARCHAR2(30),  5  CLUSTER_NAME                                       VARCHAR2(30),  6  IOT_NAME                                           VARCHAR2(30),  7  STATUS                                             VARCHAR2(8) ,  8  PCT_FREE                                           NUMBER      ,  9  PCT_USED                                           NUMBER      , 10  INI_TRANS                                          NUMBER      , 11  MAX_TRANS                                          NUMBER      , 12  INITIAL_EXTENT                                     NUMBER      , 13  NEXT_EXTENT                                        NUMBER      , 14  MIN_EXTENTS                                        NUMBER      , 15  MAX_EXTENTS                                        NUMBER      , 16  PCT_INCREASE                                       NUMBER      , 17  FREELISTS                                          NUMBER      , 18  FREELIST_GROUPS                                    NUMBER      , 19  LOGGING                                            VARCHAR2(3) , 20  BACKED_UP                                          VARCHAR2(1) , 21  NUM_ROWS                                           NUMBER      , 22  BLOCKS                                             NUMBER      , 23  EMPTY_BLOCKS                                       NUMBER      , 24  AVG_SPACE                                          NUMBER      , 25  CHAIN_CNT                                          NUMBER      , 26  AVG_ROW_LEN                                        NUMBER      , 27  AVG_SPACE_FREELIST_BLOCKS                          NUMBER      , 28  NUM_FREELIST_BLOCKS                                NUMBER      , 29  DEGREE                                             VARCHAR2(20), 30  INSTANCES                                          VARCHAR2(20), 31  CACHE                                              VARCHAR2(10), 32  TABLE_LOCK                                         VARCHAR2(8) , 33  SAMPLE_SIZE                                        NUMBER      , 34  LAST_ANALYZED                                      DATE        , 35  PARTITIONED                                        VARCHAR2(3) , 36  IOT_TYPE                                           VARCHAR2(12), 37  TEMPORARY                                          VARCHAR2(1) , 38  SECONDARY                                          VARCHAR2(1) , 39  NESTED                                             VARCHAR2(3) , 40  BUFFER_POOL                                        VARCHAR2(7) , 41  FLASH_CACHE                                        VARCHAR2(7) , 42  CELL_FLASH_CACHE                                   VARCHAR2(7) , 43  ROW_MOVEMENT                                       VARCHAR2(8) , 44  GLOBAL_STATS                                       VARCHAR2(3) , 45  USER_STATS                                         VARCHAR2(3) , 46  DURATION                                           VARCHAR2(15), 47  SKIP_CORRUPT                                       VARCHAR2(8) , 48  MONITORING                                         VARCHAR2(3) , 49  CLUSTER_OWNER                                      VARCHAR2(30), 50  DEPENDENCIES                                       VARCHAR2(8) , 51  COMPRESSION                                        VARCHAR2(8) , 52  COMPRESS_FOR                                       VARCHAR2(12), 53  DROPPED                                            VARCHAR2(3) , 54  READ_ONLY                                          VARCHAR2(3) , 55  SEGMENT_CREATED                                    VARCHAR2(3) , 56  RESULT_CACHE                                       VARCHAR2(7)) 57   STORAGE( DATAOBJNO 68474 );. unloading table                T_DUL_DROPDUL: Warning: Recreating file "T_DUL_DROP.ctl"    1785 rows unloaded
4.類比商務規則提供,建立表
SQL> create table t_dul_drop as select * from t_dul_drop_bak where 1=0;Table created.
5.匯入Oracle被刪除的資料
e:\dul10>sqlldr chf/xifenfei control=T_DUL_DROP.ctlSQL*Loader: Release 11.2.0.3.0 - Production on Mon Feb 4 23:35:57 2013Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.Commit point reached - logical record count 64Commit point reached - logical record count 128Commit point reached - logical record count 192Commit point reached - logical record count 256Commit point reached - logical record count 320Commit point reached - logical record count 384Commit point reached - logical record count 448Commit point reached - logical record count 512Commit point reached - logical record count 576Commit point reached - logical record count 640Commit point reached - logical record count 704Commit point reached - logical record count 768Commit point reached - logical record count 832Commit point reached - logical record count 896Commit point reached - logical record count 960Commit point reached - logical record count 1024Commit point reached - logical record count 1088Commit point reached - logical record count 1152Commit point reached - logical record count 1216Commit point reached - logical record count 1280Commit point reached - logical record count 1344Commit point reached - logical record count 1408Commit point reached - logical record count 1472Commit point reached - logical record count 1536Commit point reached - logical record count 1600Commit point reached - logical record count 1664Commit point reached - logical record count 1728Commit point reached - logical record count 1785
6.驗證恢複資料結果
SQL> select count(*) from t_dul_drop;  COUNT(*)----------      1785SQL> select owner,table_name from t_dul_drop where rownum<10;OWNER                          TABLE_NAME------------------------------ ------------------------------SYS                            IDL_CHAR$SYS                            IDL_UB2$SYS                            IDL_SB4$SYS                            ERROR$SYS                            SETTINGS$SYS                            NCOMP_DLL$SYS                            PROCEDUREJAVA$SYS                            PROCEDUREC$SYS                            PROCEDUREPLSQL$9 rows selected.

 

--------------------------------------ORACLE-DBA----------------------------------------

最權威、專業的Oracle案例資源匯總之案例:Oracle dul資料採礦 沒有備份情況下非常規恢複drop刪除的資料表

原文唯一網址:http://www.oracleplus.net/arch/oracle-20160522-216.html

Oracle研究中心 關鍵詞:Oracle dul資料採礦沒有備份情況下非常規恢複drop刪除的資料表

案例:Oracle dul資料採礦 沒有備份情況下非常規恢複drop刪除的資料表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.