PRM-DUL軟件簡(jiǎn)介及使用方法
在使用Oracle數(shù)據(jù)庫(kù)過(guò)程中,如果沒(méi)有有效的邏輯或物理RMAN備份,可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)損壞或丟失文件。例如,控制文件CONTROL.CTL和參數(shù)文件SPFILE/PFILE丟失時(shí),同時(shí)還缺少部分?jǐn)?shù)據(jù)文
在使用Oracle數(shù)據(jù)庫(kù)過(guò)程中,如果沒(méi)有有效的邏輯或物理RMAN備份,可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)損壞或丟失文件。例如,控制文件CONTROL.CTL和參數(shù)文件SPFILE/PFILE丟失時(shí),同時(shí)還缺少部分?jǐn)?shù)據(jù)文件.DBF文件的情況下,可以嘗試通過(guò)異?;謴?fù)手段來(lái)打開(kāi)Oracle數(shù)據(jù)庫(kù)。PRM-DUL軟件是一種可用于直接抽取數(shù)據(jù)庫(kù)中有用數(shù)據(jù)的工具。
PRM-DUL軟件操作步驟
1. 首先,將剩余的Oracle數(shù)據(jù)文件(通常擴(kuò)展名為.DBF或.ORA)復(fù)制到用于恢復(fù)的操作系統(tǒng)環(huán)境,建議使用Windows或Linux系統(tǒng),并安裝JAVA JDK 1.6以上版本。
2. 啟動(dòng)PRM-DUL,點(diǎn)擊恢復(fù)向?qū)?,進(jìn)入字典模式。
3. 加入所有Oracle數(shù)據(jù)文件,不包括臨時(shí)文件TEMPFILE、UNDO數(shù)據(jù)文件、控制文件和日志文件。
4. 點(diǎn)擊“l(fā)oad”按鈕,PRM會(huì)自動(dòng)加載數(shù)據(jù)字典進(jìn)行bootstrap操作。
5. Load完成后,會(huì)輸出數(shù)據(jù)庫(kù)字符集和國(guó)家字符集等信息。
6. 在PRM-DUL界面左側(cè)的樹(shù)形圖中,按數(shù)據(jù)庫(kù)用戶分組顯示多個(gè)用戶名,選擇需要恢復(fù)數(shù)據(jù)的用戶和表。
7. 點(diǎn)擊需要恢復(fù)數(shù)據(jù)的表,使用普通的unload到sqlldr文件或使用DataBridge功能將數(shù)據(jù)轉(zhuǎn)移到指定位置。
使用DataBridge功能進(jìn)行數(shù)據(jù)恢復(fù)
1. 在DataBridge主界面,選擇剛剛加入的Connection,設(shè)置目標(biāo)數(shù)據(jù)庫(kù)連接信息,包括Host、端口、Service_Name以及用戶登錄信息。
2. 選擇合適的表空間,在DataBridge中恢復(fù)truncate數(shù)據(jù)時(shí),需注意新建表的所在位置不能與源庫(kù)中被truncate的數(shù)據(jù)所在表空間相同,避免數(shù)據(jù)被覆蓋問(wèn)題。
3. 如果需要對(duì)傳輸?shù)侥繕?biāo)庫(kù)的表名做映射修改,可選中“if need to remap table”并填入新的表名。
4. 對(duì)于目標(biāo)庫(kù)中已存在的表名,PRM-DUL會(huì)在現(xiàn)有表基礎(chǔ)上插入恢復(fù)數(shù)據(jù);對(duì)于不存在的表名,PRM-DUL會(huì)嘗試在指定表空間建表并插入數(shù)據(jù)。
5. 對(duì)于恢復(fù)Truncate數(shù)據(jù),需要選中“if data truncated”選項(xiàng),以確保成功恢復(fù)已被Truncate的數(shù)據(jù)。
6. DataBridge具有智能判斷TRUNCATE前數(shù)據(jù)段的DATA_OBJECT_ID功能,即使數(shù)據(jù)段頭已被TRUNCATE,也能成功抽取數(shù)據(jù)。
7. 數(shù)據(jù)搭橋完成后,會(huì)顯示成功傳輸?shù)臄?shù)據(jù)行數(shù)和耗時(shí)。
通過(guò)PRM-DUL軟件和DataBridge功能,用戶可以有效地進(jìn)行Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)操作,避免數(shù)據(jù)丟失和損壞帶來(lái)的風(fēng)險(xiǎn)。