日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle恢复drop建的表首次,案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表...

發布時間:2023/12/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle恢复drop建的表首次,案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

天萃荷凈

通過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(*)

----------

1785

SQL> 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.exe

Data UnLoader 10.2.4.37 - Oracle Internal Only - on Mon Feb 04 23:49:50 2013

with 64-bit io functions

Copyright (c) 1994 2010 Bernard van Duijnen All rights reserved.

Strictly Oracle Internal use Only

DUL> 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 scanned

Reading EXT.dat 13 entries loaded and sorted 13 entries

Reading SEG.dat 13 entries loaded

Reading COMPATSEG.dat 0 entries loaded

Reading 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_DROP

DUL: 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.ctl

SQL*Loader: Release 11.2.0.3.0 - Production on Mon Feb 4 23:35:57 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

Commit point reached - logical record count 64

Commit point reached - logical record count 128

Commit point reached - logical record count 192

Commit point reached - logical record count 256

Commit point reached - logical record count 320

Commit point reached - logical record count 384

Commit point reached - logical record count 448

Commit point reached - logical record count 512

Commit point reached - logical record count 576

Commit point reached - logical record count 640

Commit point reached - logical record count 704

Commit point reached - logical record count 768

Commit point reached - logical record count 832

Commit point reached - logical record count 896

Commit point reached - logical record count 960

Commit point reached - logical record count 1024

Commit point reached - logical record count 1088

Commit point reached - logical record count 1152

Commit point reached - logical record count 1216

Commit point reached - logical record count 1280

Commit point reached - logical record count 1344

Commit point reached - logical record count 1408

Commit point reached - logical record count 1472

Commit point reached - logical record count 1536

Commit point reached - logical record count 1600

Commit point reached - logical record count 1664

Commit point reached - logical record count 1728

Commit point reached - logical record count 1785

6.驗證恢復數據結果

SQL> select count(*) from t_dul_drop;

COUNT(*)

----------

1785

SQL> 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刪除的數據表

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的oracle恢复drop建的表首次,案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。