新聞中心
Oracle是企業(yè)級數(shù)據(jù)庫管理系統(tǒng)的代表,廣泛應(yīng)用于各種行業(yè)。每個Oracle數(shù)據(jù)庫都是重要數(shù)據(jù)的存儲中心,在業(yè)務(wù)上的重要性可謂不言而喻。因此,在出現(xiàn)故障或數(shù)據(jù)丟失的情況下,對數(shù)據(jù)庫實現(xiàn)全面還原是至關(guān)重要的。

站在用戶的角度思考問題,與客戶深入溝通,找到靖江網(wǎng)站設(shè)計與靖江網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋靖江地區(qū)。
傳統(tǒng)的Oracle數(shù)據(jù)庫還原方法并不簡單,通常需要經(jīng)驗豐富的DBA才能完成。但隨著技術(shù)的發(fā)展,現(xiàn)在有了一些工具和技術(shù)可以幫助DBA。本文將介紹這些工具和技術(shù),幫助讀者更好地了解如何還原Oracle數(shù)據(jù)庫。
1. 使用Oracle備份恢復(fù)技術(shù)
Oracle提供了備份和還原工具,可以在數(shù)據(jù)庫故障或數(shù)據(jù)丟失的情況下快速進(jìn)行數(shù)據(jù)庫還原。在這種方法中,DBA必須先創(chuàng)建Oracle備份文件,然后根據(jù)情況使用Oracle備份恢復(fù)技術(shù)來還原數(shù)據(jù)庫。
請注意,這種方法可以,但對于備份文件的管理和存儲是非常關(guān)鍵的。備份文件應(yīng)保留在多個位置,并進(jìn)行定期檢查,以確保備份文件沒有損壞或過期。
2. 使用第三方工具快速還原Oracle數(shù)據(jù)庫
除了Oracle提供的備份恢復(fù)工具,還有一些第三方工具可以幫助DBA快速還原Oracle數(shù)據(jù)庫。這些工具通常具有更廣泛的功能,可以擴展到其他數(shù)據(jù)庫平臺上。
例如,DBMoto是一款強大的第三方數(shù)據(jù)同步工具,可以幾乎實時地將數(shù)據(jù)從一個Oracle數(shù)據(jù)庫轉(zhuǎn)移到另一個Oracle數(shù)據(jù)庫,從而實現(xiàn)快速數(shù)據(jù)庫還原。其他像Oracle Data Guard和Oracle GoldenGate這樣的產(chǎn)品也可以提高數(shù)據(jù)庫還原速度并確保數(shù)據(jù)的完整性。
3. 利用云計算服務(wù)還原Oracle數(shù)據(jù)庫
云計算是當(dāng)前很受歡迎的技術(shù),為數(shù)據(jù)庫還原提供了一種新的途徑。云計算服務(wù)提供商通常提供完全托管的數(shù)據(jù)庫還原服務(wù),減少了DBA的工作量。與自己管理數(shù)據(jù)庫的傳統(tǒng)方法相比,使用云計算服務(wù)可以降低管理成本,并且可以快速還原數(shù)據(jù)庫。
例如,Amazon Web Services 提供了許多不同的數(shù)據(jù)庫服務(wù),包括Oracle數(shù)據(jù)庫服務(wù),可以輕松配置和管理數(shù)據(jù)庫。通過這種方法,DBA可以快速而低成本地實現(xiàn)Oracle數(shù)據(jù)庫全面還原。
結(jié)論
無論您是使用Oracle提供的備份恢復(fù)工具,還是選擇一個第三方工具或云計算服務(wù),實現(xiàn)Oracle數(shù)據(jù)庫全面還原都變得更加輕松。選擇適合自己的數(shù)據(jù)庫還原方法和工具可以幫助DBA快速且有效地恢復(fù)數(shù)據(jù)庫,從而保護公司的重要數(shù)據(jù)。
相關(guān)問題拓展閱讀:
- 如何Oracle 數(shù)據(jù)庫備份與恢復(fù)
- 怎樣用命令備份還原Oracle數(shù)據(jù)庫?
- linux系統(tǒng) 還原oracle數(shù)據(jù)庫步驟跟命令
如何Oracle 數(shù)據(jù)庫備份與恢復(fù)
Oracle數(shù)據(jù)庫備份與恢復(fù)的三種方法
Oracle數(shù)據(jù)庫有三種標(biāo)準(zhǔn)的備份方法,它們分別是導(dǎo)出/導(dǎo)入(EXP/IMP)、熱備份和冷備份。導(dǎo)出備件是一種邏輯備份,冷備份和熱備份是物理備份。
一、 導(dǎo)出/導(dǎo)入(Export/Import)
利用Export可將數(shù)據(jù)從數(shù)據(jù)庫中提取出來,利用Import則可將提取出來的數(shù)據(jù)送回到Oracle數(shù)據(jù)庫中去。物春改
1、 簡單導(dǎo)出數(shù)據(jù)(Export)和導(dǎo)入數(shù)據(jù)(Import)
Oracle支持三種方式類型的輸出:
?。?)、表方式(T方式),將指定表的數(shù)據(jù)導(dǎo)出。
?。?)、用戶方式(U方式),將指定用戶的所有對象罩判及數(shù)據(jù)導(dǎo)出。
?。?)、全庫方式(Full方式),瘵數(shù)據(jù)庫中的所有對象導(dǎo)出。
數(shù)據(jù)導(dǎo)入(Import)的過程是數(shù)據(jù)導(dǎo)出(Export)的逆過程,分別將數(shù)據(jù)文件導(dǎo)入數(shù)據(jù)庫和將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出到數(shù)據(jù)文件。
2、 增量導(dǎo)出/導(dǎo)入
增量導(dǎo)出是一種常用的數(shù)據(jù)備份方法,它只能對整個數(shù)據(jù)庫來實施,并且必須作為SYSTEM來導(dǎo)出。在進(jìn)行此種導(dǎo)出時,系統(tǒng)不要求回答任何問題。導(dǎo)出文件名缺省為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。
增量導(dǎo)出包括三種類型:
?。?)、“完全”增量導(dǎo)出(Complete)
即備份三個數(shù)據(jù)庫,比如:
exp system/manager inctype=complete file=040731.dmp
?。?)、“增量型”增量導(dǎo)出
備份上一次備份后改變的數(shù)據(jù),比如:
exp system/manager inctype=incremental file=040731.dmp
?。?)、“累積型”增量導(dǎo)出
累計型導(dǎo)出方式是導(dǎo)出自上次“完全”導(dǎo)出之后數(shù)據(jù)庫中變化了的信息。比如:
exp system/manager inctype=cumulative file=040731.dmp
數(shù)據(jù)庫管理員可以排定一個備份日程表,用數(shù)據(jù)導(dǎo)出的三個不同方式合理高效的完成。
比如數(shù)據(jù)庫的被封任務(wù)可以做如下安排:
星期一:完全備份(A)
星期二:增量導(dǎo)出(B)
星期三:增量導(dǎo)出(C)
星期四:增量導(dǎo)出(D)
星期五:累計導(dǎo)出(E)
星期六:增量導(dǎo)出(F)
星期日:增量導(dǎo)出(G)
如果在星期日,數(shù)據(jù)庫遭到意外破壞,數(shù)據(jù)庫管理員可按一下步驟來回復(fù)數(shù)據(jù)庫:
之一步:用命令CREATE DATABASE重新生成數(shù)據(jù)庫結(jié)構(gòu);
第二步:創(chuàng)建一個足夠大的附加回滾。
第三步:完全增量導(dǎo)入A:
imp system/manager inctype=RESTOREFULL=y FILE=A
第四步:累計增量導(dǎo)入E:
imp system/manager inctype=RESTOREFULL=Y FILE=E
第五步:最近增量導(dǎo)入F:
imp system/manager inctype=RESTOREFULL=Y FILE=F
二、 冷備份
冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時會提供給我們一個完整的數(shù)據(jù)庫。冷備份時將關(guān)鍵性文件拷貝到另外的位置的一種說法。對于備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優(yōu)點是:
1、 是非??焖俚膫浞莘椒ǎㄖ恍杩轿募?/p>
2、 容易歸檔(簡單拷貝即可)
3、 容易恢復(fù)到某個時間點上(只需將文件再拷貝回去)
4、 能與歸檔方法相結(jié)合,做數(shù)據(jù)庫“更佳狀態(tài)”的恢復(fù)。
5、 低度維護,高度安全。
但冷備份也有如下不足:
1、 單獨使用時,只能提供到“某一時間點上”的恢復(fù)。
2、 再實施備份的全過程中,數(shù)據(jù)庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數(shù)據(jù)庫必須是關(guān)閉狀態(tài)。
3、 若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設(shè)備上,速度會很慢。
4、 不能按表或按用戶恢復(fù)。
如果可能的話(主要看效率),應(yīng)將信息備份到磁盤上,然后啟動數(shù)據(jù)庫(使用戶可以工作)森核并將備份的信息拷貝到磁帶上(拷貝的同時,數(shù)據(jù)庫也可以工作)。冷備份中必須拷貝的文件包括:
1、 所有數(shù)據(jù)文件
2、 所有控制文件
3、 所有聯(lián)機REDO LOG文件
4、 Init.ora文件(可選)
值得注意的使冷備份必須在數(shù)據(jù)庫關(guān)閉的情況下進(jìn)行,當(dāng)數(shù)據(jù)庫處于打開狀態(tài)時,執(zhí)行數(shù)據(jù)庫文件系統(tǒng)備份是無效的。
下面是作冷備份的完整例子。
?。?) 關(guān)閉數(shù)據(jù)庫
sqlplus /nolog sql>;connect /as sysdba sql>;shutdown normal;
?。?) 用拷貝命令備份全部的時間文件、重做日志文件、控制文件、初始化參數(shù)文件
{$PageTitle=sql>;cp ; ;}
?。?) 重啟Oracle數(shù)據(jù)庫
sql>;startup
三、 熱備份
熱備份是在數(shù)據(jù)庫運行的情況下,采用archivelog mode方式備份數(shù)據(jù)庫的方法。所以,如果你有昨天夜里的一個冷備份而且又有今天的熱備份文件,在發(fā)生問題時,就可以利用這些資料恢復(fù)更多的信息。熱備份要求數(shù)據(jù)庫在Archivelog方式下操作,并需要大量的檔案空間。一旦數(shù)據(jù)庫運行在archivelog狀態(tài)下,就可以做備份了。熱備份的命令文件由三部分組成:
1. 數(shù)據(jù)文件一個表空間一個表空間的備份。
?。?) 設(shè)置表空間為備份狀態(tài)
?。?) 備份表空間的數(shù)據(jù)文件
?。?) 回復(fù)表空間為正常狀態(tài)
2. 備份歸檔log文件
?。?) 臨時停止歸檔進(jìn)程
(2) log下那些在archive rede log目標(biāo)目錄中的文件
?。?) 重新啟動archive進(jìn)程
?。?) 備份歸檔的redo log文件
3. 用alter database bachup controlfile命令來備份控制文件
熱備份的優(yōu)點是:
1. 可在表空間或數(shù)據(jù)庫文件級備份,備份的時間短。
2. 備份時數(shù)據(jù)庫仍可使用。
3. 可達(dá)到秒級恢復(fù)(恢復(fù)到某一時間點上)。
4. 可對幾乎所有數(shù)據(jù)庫實體做恢復(fù)
5. 恢復(fù)是快速的,在大多數(shù)情況下愛數(shù)據(jù)庫仍工作時恢復(fù)。
熱備份的不足是:
1. 不能出錯,否則后果嚴(yán)重
2. 若熱備份不成功,所得結(jié)果不可用于時間點的恢復(fù)
3. 因難于維護,所以要特別仔細(xì)小心,不允許“以失敗告終”。
怎樣用命令備份還原Oracle數(shù)據(jù)庫?
Oracle中沒有備份和還原的概念,應(yīng)該叫導(dǎo)出和導(dǎo)入。
一、導(dǎo)出:
1. 獲取幫助
exp help=y
2. 導(dǎo)出一個完整數(shù)據(jù)庫
exp system/manager file=bible_db log=dible_db full=y
3. 導(dǎo)出數(shù)據(jù)庫定義而不導(dǎo)出數(shù)據(jù)
exp system/manager file=bible_db log=dible_db full=y rows=n
4. 導(dǎo)出一個或一組指定用戶所屬的全部表、索引和其他對象
exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)
注意:在導(dǎo)出用戶時,盡管已經(jīng)得到了這個用戶的所有對象,但是還是不能得到這些對象引用的任何同義詞。解決方法是用以下的SQL*Plus命令創(chuàng)建一個腳本文件,運行這個腳本文件可以獲得一個重建seapark所屬對象的全部公共同義詞的可執(zhí)行腳本,然后在目標(biāo)數(shù)據(jù)庫上運行該腳本就可重建同義詞了。
SET LINESIZE 132
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL c:\seapark.syn
SELECT ‘Create public synonym ‘||synonym_name
||’ for ‘||table_owner||’.’||table_name||’;’
FROM dba_synonyms
WHERE table_owner = ‘SEAPARK’ AND owner = ‘PUBLIC’;
SPOOL OFF
5. 導(dǎo)出一個或多個指定表
exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)
6. 估計導(dǎo)出文件的大小
全部表總字節(jié)數(shù):
SELECT sum(bytes)
FROM dba_segments
WHERE segment_type = ‘TABLE’;
seapark用戶所屬表的總字節(jié)數(shù):
SELECT sum(bytes)
FROM dba_segments
WHERE owner = ‘SEAPARK’
AND segment_type = ‘TABLE’;
seapark用戶下的aquatic_animal表的字節(jié)數(shù):
SELECT sum(bytes)
FROM dba_segments
WHERE owner = ‘SEAPARK’
AND segment_type = ‘TABLE’
AND segment_name = ‘AQUATIC_ANIMAL’;
7. 導(dǎo)出表數(shù)據(jù)的子集(oracle8i以上)
NT系統(tǒng):
exp system/manager query=’Where salad_type=’FRUIT” tables=amy.salad_type
file=fruit log=fruit
UNIX系統(tǒng):
exp system/manager query=\”Where salad_type=\’FRUIT\’\” tables=amy.salad_type
file=fruit log=fruit
8. 用多個文件分割一個導(dǎo)出文件
exp system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G tables=hr.paycheck
9. 使用參數(shù)文件
exp system/manager parfile=bible_tables.par
bible_tables.par參數(shù)文件:
#Export the sample tables used for the Oracle8i Database Administrator’s Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)
10. 增量導(dǎo)出
“完全”增量導(dǎo)出(complete),即備份整個數(shù)據(jù)庫
exp system/manager inctype=complete file=990702.dmp
“增量型”增量導(dǎo)出(incremental),即備份上一次備份后改變的數(shù)據(jù)
exp system/manager inctype=incremental file=990702.dmp
“累計型”增量導(dǎo)出(cumulative),即備份上一次“完全”導(dǎo)出之后改變的數(shù)據(jù)
exp system/manager inctype=cumulative file=990702.dmp
二、導(dǎo)入:
1. 獲取幫助
imp help=y
2. 導(dǎo)入一個完整數(shù)據(jù)庫
imp system/manager file=bible_db log=dible_db full=y ignore=y
3. 導(dǎo)入一個或一組指定用戶所屬的全部表、索引和其他對象
imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4. 將一個用戶所屬的數(shù)據(jù)導(dǎo)入另一個用戶
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)
5. 導(dǎo)入一個表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6. 從多個文件導(dǎo)入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7. 使用參數(shù)文件
imp system/manager parfile=bible_tables.par
bible_tables.par參數(shù)文件:
#Import the sample tables used for the Oracle8i Database Administrator’s
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8. 增量導(dǎo)入
imp system./manager inctype= RECTORE FULL=Y FILE=A
命令提示符下敲入exp, 就可以開始備份了。【更好先用cd命令切換到你想要備份到的文件夾,這樣后面就只需不停地下一步按回車】
同理,
imp是還原。
exp和imp,具體可查Oracle文檔
exp/imp
下面介紹的是導(dǎo)入導(dǎo)出的實例,向?qū)雽?dǎo)出看實例基本上就可以完成,因為導(dǎo)入導(dǎo)出很簡單。
數(shù)據(jù)導(dǎo)出:
1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 將數(shù)據(jù)庫中的表table1 、table2導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 將數(shù)據(jù)庫中的表table1中的字段filed1以”00″打頭的數(shù)據(jù)導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\” where filed1 like ‘00%’\”
上面是常用的導(dǎo)出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
不過在上面命令后面 加上 compress=y 就可以了
數(shù)據(jù)的導(dǎo)入
1 將D:\daochu.dmp 中的數(shù)據(jù)導(dǎo)入 TEST數(shù)據(jù)庫中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有點問題,因為有的表已經(jīng)存在,然后它就報錯,對該表就不進(jìn)行導(dǎo)入。
在后面加上 ignore=y 就可以了。
2 將d:\daochu.dmp中的表table1 導(dǎo)入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
linux系統(tǒng) 還原oracle數(shù)據(jù)庫步驟跟命令
還原有好多方式,包括完全恢復(fù)和不完全恢復(fù)、使用rman恢復(fù)或者使用sqlplus恢復(fù)。
一般來講就是先啟動數(shù)據(jù)庫到mount狀態(tài),然后使用操作系統(tǒng)命令把需要恢復(fù)的文件拷貝到原位置,然后recover database/tablespace 最后在alter database open。當(dāng)前前提是你要有備份
數(shù)據(jù)還原:
1.在命令行輸入:sqlplus “/as sysdba”
2. 執(zhí)行以下語句登錄xx數(shù)據(jù)庫,用戶名:xx,密碼:xx(請輸入當(dāng)?shù)貙嶋H密碼)
conn xx/xx;
3.如果恢復(fù)的表中有涉及到觸發(fā)器的請停止觸發(fā)器,例:A表
alter table A disable all triggers;
commit;
4. 執(zhí)行以下語句退出當(dāng)前用戶
quit;
5. 執(zhí)行以下語句,恢復(fù)用戶數(shù)據(jù)。
impdp xx/xx@數(shù)據(jù)庫實例名 directory=bak_dir table_exists_action=truncate dumpfile=expdb_xx.dmp logfile=impdb_xx.log
5.在命令行輸入:sqlplus “/as sysdba”
6. 執(zhí)行以下語句登錄xx數(shù)據(jù)庫,用戶名:xx,密碼:xx(請輸入當(dāng)?shù)貙嶋H密碼)
conn xx/xx;
7. 執(zhí)行以下語句打開被禁止的觸發(fā)器
alter table A enable all triggers;
commit;
hjygv bn
oracle還原整個數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于oracle還原整個數(shù)據(jù)庫,輕松實現(xiàn)Oracle數(shù)據(jù)庫全面還原,如何Oracle 數(shù)據(jù)庫備份與恢復(fù),怎樣用命令備份還原Oracle數(shù)據(jù)庫?,linux系統(tǒng) 還原oracle數(shù)據(jù)庫步驟跟命令的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享標(biāo)題:輕松實現(xiàn)Oracle數(shù)據(jù)庫全面還原(oracle還原整個數(shù)據(jù)庫)
當(dāng)前路徑:http://fisionsoft.com.cn/article/cdcjhds.html


咨詢
建站咨詢
