❶ ORACLE如何通過DBF文件恢復數據
dbf文件都是一致的,那麼可以通過重建控制文件來打開資料庫dbf文件並不一致或有損壞且無其他備份的,需要特殊恢復手段,例如:OracleDBA神器:PRM災難恢復工具,Schema級別數據恢復。PRMForOracleDatabase–schema級別oracle資料庫數據恢復特性,PRM即ParnassusDataRecoveryManager是企業級別Oracle資料庫災難恢復工具。PRM可以在無備份的情況下恢復被truncated/drop掉的表,也可以恢復無法打開的Oracle資料庫(AlterDatabaseOpen失敗)中的數據。PRM是圖形化增強版的OracleDUL工具,同時具備很多OracleDUL不具備的特性
❷ oracle資料庫恢復方法
第一種:
首先,備份資料庫(X:\oracle\oradata)下的數據文件,重新命名即可(否則裝資料庫的時候會提示sid已存在)。重新安裝資料庫,當然資料庫的名字就是你要恢復的名字。安裝完成後,打開控制面板,停止oracle的服務。把(X:\oracle\oradata)下新生成的文件改名,把原先目錄下的文件恢復名字。再重新啟動oracle服務和監聽。用sys/as dba 登陸資料庫,可能會提示許可權不夠(ora-01031)修改(X:\oracle\ora92\network\admin )文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= (NTS),增加許可權。登陸進去後,打開table提示不能打開。打開common頁,執行命令alert database open;這時再刷新table,發現原先的表可以打開了。恢復成功了。再用原先資料庫的普通用戶進入。發現一切正常。
第二種:
1、首先,將原來的ORACLE文件夾改名,原來的路徑是D:/oracle.我暫時改成D:/oracle_old.找來ORACLE(我用的是ORACLE 9I)安裝光碟,將ORACLE安裝在原來安裝的目錄下,這樣恢復起來更加方便,主要是注冊表的內容不用修改。
2、安裝完了之後,系統中又有一個可以使用的ORACLE了。這個時候要做的就是將原來的文件和數據恢復過來。第一步,先關閉ORACLE的所有已經啟動的項目,在"服務"裡面逐一關閉。然後,將安裝目錄改名。(例如D:/oracle.改成D:/oracle_new,再將D:/oracle_old改成D:/oracle. )這樣理論上說從物理層面恢復了ORACLE了。但是現在還不能啟動ORACLE的監聽程序和服務程序,還要從邏輯上解決。
3、在dos環境下執行一個刪除命令:oradim -delete -sid mm,其中mm為創建oracle時候創建的實例 建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。當然你懶,不重新啟動也可以,但是你的實例名就不能和原來的一樣了。
4、在dos環境下執行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "創建一個新的實例,其中 "mm"為新資料庫的名稱。
5、啟動服務,先打開資料庫,然後可以用以前的用戶名和密碼登陸進去。 要補充的是,一般的ORACLE資料庫的監聽程序都是用電腦的名稱來識別地址的,而不是127.0.0.1或者localhost.所以,如果我們安裝系統的時候用的是不同的電腦名稱(比如我原來用的是wm_mm.重新安裝後用的是wenming_mm),那麼還有一個工作要做,就是修改文件 listener.ora.將裡面的相關的東西改過來就可以了。
需要耐心、細心,可能在一步里有一個細小的差別就會出些古怪的錯誤提示,有時需要根據錯誤提示採取策略,總之原理是,先裝一個一模一樣的ORACLE,安裝目錄、資料庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,打開資料庫就可以進去了。
註:恢復必須要有以下文件 a、初始化參數文件INIT.ORA b、所有數據文件 .dbf c、所有重做日誌文件(聯機日誌、歸檔日誌)redo d、所有控制文件 crtl e、internal密碼文件。
❸ oracle dbf如何恢復
dbf 文件都是一致的 ,那麼可以通過 重建控制文件 來打開資料庫
dbf 文件並不一致 或有損壞 且無其他備份的, 需要特殊恢復手段,例如:
Oracle DBA神器:PRM災難恢復工具,Schema級別數據恢復。PRM For Oracle Database – schema級別oracle資料庫數據恢復特性 ,PRM即ParnassusData Recovery Manager是企業級別Oracle資料庫災難恢復工具。PRM可以在無備份的情況下恢復被truncated/drop掉的表,也可以恢復無法打開的Oracle資料庫(Alter Database Open失敗)中的數據。 PRM是圖形化增強版的Oracle DUL工具,同時具備很多Oracle DUL不具備的特性
❹ oracle11g重裝了,原目錄還存在,如何將原來的dbf恢復到當前oracle中
1.安裝一個和原系統一致的oracle 環境,主要包括版本、數據名sid、實例名、路徑和資料庫編碼一致
2.修改listener.ora的參數
[java]view plain
<spanstyle="color:#455353;">SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=D:oracleproct10.1.0db_1)
(PROGRAM=extproc)
)
</span><spanstyle="color:#ff0000;">(SID_DESC=
(GLOBAL_DBNAME=orcl)//如果已經有這個orcl了,這個文件就不用修改
(ORACLE_HOME=D:oracleproct10.1.0db_1)//這里要根據你的實際路徑來
(SID_NAME=orcl)
)</span><spanstyle="color:#455353;">
)
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=lypch)(PORT=1521))
)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))
)
)
)</span>
- 3.修改tnsnames.ora的參數
AMMICLY=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=lypch)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
(UR=A)//參數允許只進行管理性的連接,資料庫nomount,mount或者restricted時,動態監聽顯示狀態為BLOCKED時,客戶端配置UR=A進行連接。
)
)
EXTPROC_CONNECTION_DATA=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))
)
(CONNECT_DATA=
(SID=PLSExtProc)
(PRESENTATION=RO)
)
)
- 3.SQL>shutdown immediate 停止服務,將新安裝的oracle的dbf備份後刪除,將原dbf拷貝到新安裝的目錄下F:app oshibaoradataorcl
[java]view plain
4.原oracle庫主目錄下的FLASH_RECOVERY_AREA目錄全部覆蓋到新安裝的oracle對應目錄下
5.SQL>startup 再次啟動服務
根據看過博客操作的朋友反饋,多實例時有疑問,按照如下地址操作解決了問題
❺ 如何從完好的oracle數據文件恢復oracle資料庫要實際能操作的,我只有dbf文件 20個g
這可能是部分剛接手的運維人員 或者代維人員所要遇到的問題, 一個老的資料庫只剩下DBF文件了,要如何恢復其中的數據?
其實這個問題 分成好多種情況,請自行對號入座:
1)資料庫所有的DBF文件都在,沒有缺失,也沒有損壞
這個情況是最簡單的 自己建一個參數文件INIT.ORA,並基於這些DBF文件去創建控制文件,然後嘗試打開資料庫即可。如果說數據文件都是干凈的CLEAN的,那麼直接可以打開。如果數據文件是DIRTY的,這里由於沒有REDO LOG了,所以需要以隱藏參數等方式打開資料庫。
2) 資料庫DBF有少量缺失,缺失主要是非SYSTEM01.DBF的數據文件,沒有損壞
這種情況在 1)的基礎上將缺失的數據文件OFFLINE DROP掉就好了,因為對應的數據文件都沒了,那麼丟了對應數據文件上的數據也很正常
3) 資料庫DBF有少量缺失,缺失主要是非SYSTEM01.DBF的數據文件,非SYSTEM01.dbf的數據文件有少量損壞
這種情況在 2)的基礎上打開資料庫問題並不大,但打開資料庫後 由於其他表空間數據文件上有少量損壞,所以具體訪問用戶數據時可能出現ORA-1578、ORA-8103、ORA-1410、ORA-00600等錯誤,還是比較容易克服的
4) 資料庫DBF有少量缺失,缺失主要是非SYSTEM01.DBF的數據文件,SYTEM01.DBF有損壞
這種情況下打開資料庫就不容易了,可能需要用到BBED技術去修改SYSTEM01.DBF,以便才能打開資料庫
5) 只有部分DBF,其中還缺失了SYSTEM01.DBF
這種情況不要指望能打開資料庫,只能使用PRM-DUL之類的軟體 來直接抽取數據
以上情況1)~4) 只要SYSTEM01.DBF還在或者損壞的不是太嚴重,那麼都可以由專業技術人員去打開資料庫後導出數據,但是在情況5)下只能使用DUL類工具去抽取數據了。
如果自己搞不定可以找詩檀軟體專業ORACLE資料庫修復團隊成員幫您恢復!
詩檀軟體專業資料庫修復團隊
❻ Oracle通過ora和dbf文件恢復資料庫
PRM-DUL 可以直接從.DBF數據文件中抽取oracle表數據。
Oracle DBA神器:PRM-DUL災難恢復工具,Schema級別數據恢復。PRM-DULFor Oracle Database – schema級別oracle資料庫數據恢復特性 ,PRM即ParnassusData Recovery Manager是企業級別Oracle資料庫災難恢復工具。PRM可以在無備份的情況下恢復被truncated掉的表,也可以恢復無法打開的Oracle資料庫(Alter Database Open失敗)中的數據。
❼ oracle 10 只有dbf 文件怎麼恢復
oracle 10 只有dbf 文件怎麼恢復
1、重新安裝後的資料庫,按以前表空間、數據文件進行創建。 2、用非系統盤的數據文件來頂替新創建的數據文件。但系統的檢查點變了資料庫肯定不能啟動。 3、要先離線(Offline)非系統盤的文件,進行做一次價值恢復。