任何軟件都有可能在有意或無(wú)意的情況下被重新安裝,如Oracle重裝后數(shù)據(jù)庫(kù)怎么恢復(fù)呢?情況發(fā)生在你是無(wú)意的情況下!ORACLE數(shù)據(jù)庫(kù)恢復(fù)的方法我們經(jīng)常會(huì)用到,下面就為您介紹重裝系統(tǒng)后ORACLE數(shù)據(jù)庫(kù)恢復(fù)的方法,希望對(duì)您學(xué)習(xí)ORACLE數(shù)據(jù)庫(kù)恢復(fù)方面能有所幫助。\x0d\x0a\x0d\x0a我的電腦突然掛了,不得不重裝系統(tǒng),不過(guò)我的ORACLE裝在了D盤,所有的文件都還在,我相信一定能夠恢復(fù),直到搞定工作,我才開(kāi)始整我的數(shù)據(jù)庫(kù),花了兩天時(shí)間,終于恢復(fù)了,慶祝一下,同時(shí)總結(jié)一下,希望有遇到同樣問(wèn)題的朋友能夠快速搞定此類問(wèn)題\x0d\x0a\x0d\x0a第一種:\x0d\x0a\x0d\x0a首先,備份數(shù)據(jù)庫(kù)(X:\oracle\oradata)下的數(shù)據(jù)文件,重新命名即可(否則裝數(shù)據(jù)庫(kù)的時(shí)候會(huì)提示sid已存在)。重新安裝數(shù)據(jù)\x0d\x0a庫(kù),當(dāng)然數(shù)據(jù)庫(kù)的名字就是你要恢復(fù)的名字。安裝完成后,打開(kāi)控制面板,停止oracle的服務(wù)。把(X:\oracle\oradata)下新生成的文件\x0d\x0a改名,把原先目錄下的文件恢復(fù)名字。再重新啟動(dòng)oracle服務(wù)和監(jiān)聽(tīng)。用sys/as dba \x0d\x0a登陸數(shù)據(jù)庫(kù),可能會(huì)提示權(quán)限不夠(ora-01031)修改(X:\oracle\ora92\network\admin \x0d\x0a)文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= \x0d\x0a(NTS),增加權(quán)限。登陸進(jìn)去后,打開(kāi)table提示不能打開(kāi)。打開(kāi)common頁(yè),執(zhí)行命令alert database \x0d\x0aopen;這時(shí)再刷新table,發(fā)現(xiàn)原先的表可以打開(kāi)了。恢復(fù)成功了。再用原先數(shù)據(jù)庫(kù)的普通用戶進(jìn)入。發(fā)現(xiàn)一切正常。至此,大功告成。\x0d\x0a\x0d\x0a第二種:\x0d\x0a\x0d\x0a1、首先,將原來(lái)的ORACLE文件夾改名,原來(lái)的路徑是D:/oracle.我暫時(shí)改成D:/oracle_old.找來(lái)ORACLE(我用\x0d\x0a的是ORACLE 9I)安裝光盤,將ORACLE安裝在原來(lái)安裝的目錄下,這樣恢復(fù)起來(lái)更加方便,主要是注冊(cè)表的內(nèi)容不用修改。\x0d\x0a\x0d\x0a2、安裝完了之后,系統(tǒng)中又有一個(gè)可以使用的ORACLE了。這個(gè)時(shí)候要做的就是將原來(lái)的文件和數(shù)據(jù)恢復(fù)過(guò)來(lái)。第一步,先關(guān)閉ORACLE的所\x0d\x0a有已經(jīng)啟動(dòng)的項(xiàng)目,在"服務(wù)"里面逐一關(guān)閉。然后,將安裝目錄改名。我現(xiàn)在用的是D:/oracle.改成D:/oracle_new.再將D:\x0d\x0a/oracle_old改成D:/oracle. \x0d\x0a這樣理論上說(shuō)從物理層面恢復(fù)了ORACLE了。但是我們發(fā)現(xiàn),現(xiàn)在還不能啟動(dòng)ORACLE的監(jiān)聽(tīng)程序和服務(wù)程序。我們還要從邏輯上解決。\x0d\x0a\x0d\x0a3、在dos環(huán)境下執(zhí)行一個(gè)刪除命令:oradim -delete -sid mm,其中mm為創(chuàng)建oracle時(shí)候創(chuàng)建的實(shí)例 \x0d\x0a建議執(zhí)行這個(gè)命令后重新啟動(dòng)機(jī)器,重啟后就可以建立和原來(lái)實(shí)例名相同的實(shí)例。當(dāng)然你懶,不重新啟動(dòng)也可以,但是你的實(shí)例名就不能和原來(lái)的一樣了。\x0d\x0a\x0d\x0a4、在dos環(huán)境下執(zhí)行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "創(chuàng)建一個(gè)新的實(shí)例,其中 "mm"為新數(shù)據(jù)庫(kù)的名稱。\x0d\x0a\x0d\x0a5、啟動(dòng)服務(wù),先打開(kāi)數(shù)據(jù)庫(kù),然后可以用以前的用戶名和密碼登陸進(jìn)去。 \x0d\x0a要補(bǔ)充的是,一般的ORACLE數(shù)據(jù)庫(kù)的監(jiān)聽(tīng)程序都是用電腦的名稱來(lái)識(shí)別地址的,而不是127.0.0.1或者localhost.所以,如果我們安裝系\x0d\x0a統(tǒng)的時(shí)候用的是不同的電腦名稱(比如我原來(lái)用的是wm_mm.重新安裝后用的是wenming_mm),那么我們還有一個(gè)工作要做,就是修改文件 \x0d\x0alistener.ora.將里面的相關(guān)的東西改過(guò)來(lái)就可以了。\x0d\x0a\x0d\x0a需要耐心、細(xì)心,可能在一步里有一個(gè)細(xì)小的差別就會(huì)出些古怪的錯(cuò)誤提示,有時(shí)需要根據(jù)錯(cuò)誤提示采取策略,總之原理是,先裝一個(gè)一模一樣的ORACLE,安裝目錄、數(shù)據(jù)庫(kù)名稱都一樣,這樣保證注冊(cè)表里不用更改;再覆蓋物理文件,最后重新實(shí)例化,打開(kāi)數(shù)據(jù)庫(kù)就可以進(jìn)去了。

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),突泉網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:突泉等地區(qū)。突泉做網(wǎng)站價(jià)格咨詢:18982081108
分為兩種方法:scn和時(shí)間戳兩種方法恢復(fù)。
一、通過(guò)scn恢復(fù)刪除且已提交的數(shù)據(jù)
1、獲得當(dāng)前數(shù)據(jù)庫(kù)的scn號(hào)
select current_scn from v$database; (切換到sys用戶或system用戶查詢)
查詢到的scn號(hào)為:1499223
2、查詢當(dāng)前scn號(hào)之前的scn
select * from 表名 as of scn 1499220; (確定刪除的數(shù)據(jù)是否存在,如果存在,則恢復(fù)數(shù)據(jù);如果不是,則繼續(xù)縮小scn號(hào))
3、恢復(fù)刪除且已提交的數(shù)據(jù)
flashback table 表名 to scn 1499220;
二、通過(guò)時(shí)間恢復(fù)刪除且已提交的數(shù)據(jù)
1、查詢當(dāng)前系統(tǒng)時(shí)間
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
2、查詢刪除數(shù)據(jù)的時(shí)間點(diǎn)的數(shù)據(jù)
select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss'); (如果不是,則繼續(xù)縮小范圍)
3、恢復(fù)刪除且已提交的數(shù)據(jù)
flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');
注意:如果在執(zhí)行上面的語(yǔ)句,出現(xiàn)錯(cuò)誤。可以嘗試執(zhí)行 alter table 表名 enable row movement; //允許更改時(shí)間戳
方法一:
首先,備份數(shù)據(jù)庫(kù)下的數(shù)據(jù)文件,在重新命名,重新安裝數(shù)據(jù)庫(kù)。安裝完成后,打開(kāi)控制面板,停止oracle的服務(wù)。把(x:\oracle\oradata)下新生成的文件改名,把原先目錄下的文件恢復(fù)名字,再重新啟動(dòng)oracle服務(wù)和監(jiān)聽(tīng)。用sys/as
dba登陸數(shù)據(jù)庫(kù),登陸進(jìn)去后,打開(kāi)table提示不能打開(kāi)。打開(kāi)common頁(yè),執(zhí)行命令alert
database
open;這時(shí)再刷新table,用原先數(shù)據(jù)庫(kù)的普通用戶進(jìn)入,數(shù)據(jù)成功恢復(fù)。
方法二:
1、將原來(lái)的oracle文件夾改名,找來(lái)oracle安裝光盤,將oracle安裝在原來(lái)安裝的目錄下。
2、安裝完畢,系統(tǒng)中多出一個(gè)可用的oracle了。將原來(lái)的文件和資料恢復(fù)過(guò)來(lái)上去。第一步,先關(guān)閉oracle的所有已經(jīng)啟動(dòng)的項(xiàng)目,在“服務(wù)”里面逐一關(guān)閉。然后,將安裝目錄改名。
3、在dos環(huán)境下執(zhí)行一個(gè)刪除命令:oradim
-delete
-sid
mm,其中mm為創(chuàng)建oracle時(shí)候創(chuàng)建的實(shí)例建議執(zhí)行這個(gè)命令后重新啟動(dòng)機(jī)器,重啟后就可以建立和原來(lái)實(shí)例名相同的實(shí)例。
4、在dos環(huán)境下執(zhí)行命令
oradim
-new
-sid
mm
-startmode
a
-pfile
"d:\oracle\admin\mm\pfile\initmm.ora
"創(chuàng)建一個(gè)新的實(shí)例,其中
“mm”為新數(shù)據(jù)庫(kù)的名稱。
5、啟動(dòng)服務(wù),先打開(kāi)數(shù)據(jù)庫(kù),然后可以用以前的用戶名和密碼登陸進(jìn)去。要補(bǔ)充的是還要修改文件listener.ora,將里面的相關(guān)的東西改過(guò)來(lái)就可以了。
上面我們通過(guò)建立一個(gè)一模一樣的oracle,安裝目錄、數(shù)據(jù)庫(kù)名稱都一樣,這樣保證注冊(cè)表里不用更改;再覆蓋物理文件,最后重新實(shí)例化,達(dá)到資料恢復(fù)的目的。資料恢復(fù)中心提醒:由于上述操作比較復(fù)雜,所以非專業(yè)人士請(qǐng)勿盲目操作,應(yīng)該第一時(shí)間聯(lián)系資料恢復(fù)中心可以為你解決資料恢復(fù)問(wèn)題。
數(shù)據(jù)恢復(fù)方法是利用oracle提供的閃回方法進(jìn)行數(shù)據(jù)恢復(fù),適用于delete刪除(一條記錄)方式:
首先需要知道是什么時(shí)間進(jìn)行的刪除操作,如果不能確定具體時(shí)間點(diǎn)則選擇盡量準(zhǔn)確的刪除數(shù)據(jù)前的時(shí)間。然后利用
select * from 表名 as of timestamp to_timestamp('刪除時(shí)間點(diǎn)','yyyy-mm-dd hh24:mi:ss')
語(yǔ)句可以找回刪除的數(shù)據(jù)。利用
insert into 表名 (select * from 表名 as of timestamp to_timestamp('刪除時(shí)間點(diǎn)','yyyy-mm-dd hh24:mi:ss'));
語(yǔ)句就可以將恢復(fù)出來(lái)的數(shù)據(jù)插入原表中(注意要保證主鍵不重復(fù))。
另一種方法可以通過(guò)閃回整個(gè)表來(lái)恢復(fù)誤刪除的數(shù)據(jù),但僅適用于表結(jié)構(gòu)沒(méi)有發(fā)生改變且用戶有flash any table權(quán)限的情況下,語(yǔ)句如下:
·alter table 表名 enable row movement
oracle數(shù)據(jù)庫(kù)恢復(fù),主要包括(1)系統(tǒng)崩潰只剩下數(shù)據(jù)文件的情況下的恢復(fù),甚至沒(méi)有system表空間而只有數(shù)據(jù)表空間的情況下的恢復(fù).只要提供數(shù)據(jù)文件就可恢復(fù).(2)undosystem表空間損壞數(shù)據(jù)恢復(fù).(3)非歸檔或者歸檔模式下誤delete數(shù)據(jù)的恢復(fù)、誤刪除表空間的恢復(fù)、droptruncate表的恢復(fù).(4)數(shù)據(jù)庫(kù)中有大量CLOBBLOB對(duì)象數(shù)據(jù)恢復(fù)等情況以及各種ora-錯(cuò)誤的修復(fù).(5)DMP文件損壞導(dǎo)致文件不能導(dǎo)入數(shù)據(jù)庫(kù)的數(shù)據(jù)恢復(fù)(6)oracle數(shù)據(jù)庫(kù)中數(shù)據(jù)文件出現(xiàn)壞塊情況下的恢復(fù).(7)oracle數(shù)據(jù)庫(kù)無(wú)數(shù)據(jù)文件但有日志的情況下的恢復(fù).(8)UNIX、WINDOWS下ORACLE數(shù)據(jù)文件被誤刪除情況下的數(shù)據(jù)庫(kù)恢復(fù).(9)Oracle10G、Oracle11G的ASM損壞的數(shù)據(jù)庫(kù)恢復(fù).(10)Oracle10G、Oracle11GBIFGILETABLESPACE大文件表空間損壞數(shù)據(jù)恢復(fù)(11)Oracle9i、Oracle10G、Oracle11G壓縮表壓縮表空間損壞數(shù)據(jù)恢復(fù)(12)Oracle10GOracle11GExpdp導(dǎo)出Impdp導(dǎo)入DMP文件錯(cuò)誤數(shù)據(jù)恢復(fù)恢復(fù)成功率高達(dá)90%以上,在數(shù)據(jù)恢復(fù)領(lǐng)域處于國(guó)內(nèi)領(lǐng)先的地位。具體案例見(jiàn)廣州拓飛官方網(wǎng)站
標(biāo)題名稱:oracle如何恢復(fù),oracle如何恢復(fù)數(shù)據(jù)庫(kù)
網(wǎng)站URL:http://chinadenli.net/article33/dsesoss.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、App設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、標(biāo)簽優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)