功能: mydul是一個和Oracle dul類似的工具,可以直接挖掘oracle數(shù)據(jù)文件的數(shù)據(jù) 使用方法: /home/sun/src/mydul>mydul
PAY ATTENTION,THIS TOOL IS DESUPPORTED BY ORACLE
Usage: mydul -s system file -d datafile [ -t table name ] [-u owner name]
[-p output path] [-f full scan flag]
-s: the oracle system tablespace datafile 系統(tǒng)數(shù)據(jù)文件
-d: the datafile will be duled 用戶數(shù)據(jù)文件
-t: data of the table will be duled 對指定的表進(jìn)行挖掘(表名)
-u: data of user will be duled 對該用戶的數(shù)據(jù)進(jìn)行挖掘
-p: path of the output file 指定輸出文件存放的路徑
-f: full scan flag,ignore the extent map 數(shù)據(jù)文件全掃描
Version: 1.2 Author: WZSH-SUN
Contact me: Email:wzsh-sun@wzccb.com MSN:jerrysun1981@hotmail.com 注重: 1、系統(tǒng)數(shù)據(jù)文件是必須要的,因?yàn)楸斫Y(jié)構(gòu)的定義都在系統(tǒng)數(shù)據(jù)文件中,不然數(shù)據(jù)就算挖出來也沒有什么意義。
2、-s -d參數(shù)是必須的,其他參數(shù)可以選填 輸出: 被挖掘的每個表的結(jié)構(gòu)和數(shù)據(jù)被寫在一個文件里,格式為:USER_TABLENAME.txt
如:CREATE TABLE LONC_COLLATE ( PLEDGE_CONTRACT_NO CHAR(30), ACCT_SEQNO NUMBER(8), CONTRACT_NO CHAR(30), OPER_NO CHAR(8), TRANS_DATE DATE, SET_DATE DATE ); insert into LONC_COLLATE values ('7352004A259 ',2004233,'WZCB7
352005Jb00195 ','00494 ',to_date('2005-06-06 00:00:00','YYYY-MM-DD
hh24:mi:ss'),to_date('2005-06-06 00:00:00','YYYY-MM-DD hh24:mi:ss'));
insert into LONC_COLLATE values ('80120050125 ',20050297,'WZCB
8012005Jb00480 ','01032 ',to_date('2005-06-06 00:00:00','YYYY-MM-DD
hh24:mi:ss'),to_date('2005-06-06 00:00:00','YYYY-MM-DD hh24:mi:ss')); 特點(diǎn): 1、目前支持linux,aix下oracle 9i 10g各種block_size的數(shù)據(jù)庫的挖掘(我想對其他UNIX系統(tǒng)應(yīng)該也支持,只是沒環(huán)境編譯測試)
2、支持普通數(shù)據(jù)文件和裸設(shè)備的數(shù)據(jù)挖掘(由于沒有l(wèi)inux裸設(shè)備環(huán)境,只測了aix)
3、支持普通表空間和assm表空間的數(shù)據(jù)挖掘
4、支持行遷移和行鏈接的數(shù)據(jù)挖掘
5、支持的數(shù)據(jù)類型包括NUMBER,CHAR,VARCHAR2,NCHAR,NVARCHAR2,DATE,TIMESTAMP,RAW,BFILE,LONG,ROWID 需完善的: 1、目前不支持一個segment有多個extent map的情況,由于環(huán)境有限,這種情況也比較難模擬
2、不支持大數(shù)據(jù)類型
3、測試不足 例子: $ ls
archs demo01.dbf redo21.log sysaux01.dbf undotbs01.dbf
control01.ctl demo02.dbf redo31.log system01.dbf
control02.ctl redo11.log sun temp01.dbf
$ mydul -s system01.dbf -d demo01.dbf demo02.dbf
-----------------數(shù)據(jù)庫基本信息--------------------
數(shù)據(jù)庫名稱[SUN16K]
數(shù)據(jù)庫ID[198075710]
數(shù)據(jù)庫塊大小[16384]
---------------------------------------------------
正在挖掘BOOTSTRAP$數(shù)據(jù),
共2塊,已經(jīng)挖掘[2]塊
正在挖掘OBJ$數(shù)據(jù),共51塊,已經(jīng)挖掘[51]塊
正在挖掘TAB$數(shù)據(jù),共236塊,已經(jīng)挖掘[236]塊
正在挖掘USER$數(shù)據(jù),共1塊,已經(jīng)挖掘[1]塊
正在挖掘T1數(shù)據(jù),共53塊,已經(jīng)挖掘[53]塊
正在挖掘T2數(shù)據(jù),共12塊,已經(jīng)挖掘[12]塊
正在挖掘T3數(shù)據(jù),共1塊,已經(jīng)挖掘[1]塊
挖掘結(jié)束,共消耗[3]秒時(shí)間,共挖掘[3]個表
$ ls
DEMO_T1.txt archs demo01.dbf redo21.log sysaux01.dbf undotbs01.dbf
DEMO_T2.txt control01.ctl demo02.dbf redo31.log system01.dbf
DEMO_T3.txt control02.ctl redo11.log sun temp01.dbf