exp/imp備份與還原oracle資料庫
exp file=d:
ame.dmp owners=renlink rows=y
/
imp file=d:
ame.dmp fromuser=renlink touser=renlink rows=y ignore=y
/
產生dmp檔案方便移動/備份w3sky
ORACLE資料庫有兩類備份方法.w3sky
第一類為物理備份,該方法實現資料庫的完整恢復,但資料庫必須執行在歸擋模式下(業務資料庫在非歸擋模式下執行),且需要極大的外部儲存裝置,例如磁帶庫;
第二類備份方式為邏輯備份,業務資料庫採用此種方式,此方法不需要資料庫執行在歸擋模式下,不但備份簡單,而且可以不需要外部儲存裝置.
資料庫邏輯備份方法
ORACLE資料庫的邏輯備份分為三種模式:表備份、使用者備份和完全備份.w3sky
表模式
備份某個使用者模式下指定的物件(表).業務資料庫通常採用這種備份方式.
若備份到本地檔案,使用如下命令:w3sky
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfow3sky
若直接備份到磁帶裝置,使用如下命令:w3sky
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfow3sky
注:在磁碟空間允許的情況下,應先備份到本地伺服器,然後再複製到磁帶.出於速度方面的考慮,儘量不要直接備份到磁帶裝置.
w3sky
使用者模式
備份某個使用者模式下的所有物件.業務資料庫通常採用這種備份方式.
若備份到本地檔案,使用如下命令:w3sky
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.logw3sky
若直接備份到磁帶裝置,使用如下命令:w3sky
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.logw3sky
注:如果磁碟有空間,建議備份到磁碟,然後再複製到磁帶.如果資料庫資料量較小,
可採用這種辦法備份.
w3sky
完全模式
備份完整的資料庫.業務資料庫不採用這種備份方式.備份命令為:w3sky
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁帶裝置則為/dev/rmt0)
log=exp_fulldb_yyyymmdd.logw3sky
對於資料庫備份,建議採用增量備份,即只備份上一次備份以來更改的資料.增量備份
命令:w3sky
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁帶裝置則為/dev/rmt0)
log=exp_fulldb_yyyymmdd.logw3sky
注:關於增量備份必須滿足下列條件:
1.只對完整資料庫備份有效,且第一次需要full=y引數,以後需要inctype=incremental引數.
2. 使用者必須有EXP_FULL_DATABASE的系統角色.
3. 話務量較小時方可採用資料庫備份.
4. 如果磁碟有空間,建議備份到磁碟,然後再備份到磁帶.w3sky
業務資料庫備份方法及週期用EXP進行備份前,先在SYS使用者下執行CATEXP.SQL檔案(如果以前已執行該檔案,則不要執行這個指令碼).
沒有特殊說明,不允許在客戶端執行備份命令.
備份命令參照表模式下的備份命令.
從磁碟檔案備份到磁帶
如果首先備份到本地磁碟檔案,則需要轉儲到磁帶裝置上.w3sky
1. 若需檢視主機上配置的磁帶裝置,使用如下命令:
lsdev -Cc tape
顯示的結果如下例所示:
rmt0 Available 30-58-00-2,0 SCSI 4mm Tape Drive
rmt1 Defined 30-58-00-0,0 SCSI 4mm Tape Drive
標明Available的裝置是可用的磁帶裝置.w3sky
2. 若需檢視磁帶儲存的內容,使用如下命令:
tar -tvf /dev/rmt0
顯示的結果如下例所示:
-rw-r--r-- 300 400 8089600 Jan 11 14:33:57 2001 exp_icdmain_20010111.dmp
如果顯示類似如下內容,則表示該磁帶儲存的備份資料是從資料庫直接備份到磁帶上,而非從本地磁碟轉儲到磁帶的備份檔案,因此作業系統無法識別.
tar: 0511-193 An error occurred while reading from the media.
There is an input or output error.
或
tar: 0511-169 A directory checksum error on media; -267331077 not equal to 25626.w3sky
3. 對於新磁帶或無需保留現存資料的磁帶,使用如下命令:
tar -cvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp
注:A. 該命令將無條件覆蓋磁帶上的現存資料.
B. 檔名不允許包含路徑資訊,如:/backup/exp_icdmain_yyyymmdd.dmp.w3sky
4. 對於需要保留現存資料的磁帶,使用如下命令:
tar -rvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp
注:該命令將檔案exp_icdmain_yyyymmdd.dmp追加到磁帶的末端,不會覆蓋現存的資料.
特別強調:如果備份時是從資料庫直接備份到磁帶上,則不可再向該磁帶上追加複製任何其他檔案,否則該備份資料失效.w3sky
5. 若需將轉儲到磁帶上的備份檔案複製到本地硬碟,使用如下命令:
A. 將磁帶上的全部檔案複製到本地硬碟的當前目錄
tar -xvf /dev/rmt0
B. 將磁帶上的指定檔案複製到本地硬碟的當前目錄
tar -xvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp
w3sky
備份時間安排
由於備份時對系統I/O有較大影響,所以,建議在晚上11點以後進行備份工作.業務資料庫Oracle版本的恢復恢復方案需根據備份方案確定.由於業務資料庫採用表備份和使用者備份相結合的方案,所以業務資料庫的恢復需根據實際情況採用表恢復和使用者恢復相結合的方案.w3sky
w3sky
w3sky
恢復方案
資料庫的邏輯恢復分為表恢復、使用者恢復、完全恢復三種模式.w3sky
表模式
此方式將根據按照表模式備份的資料進行恢復.w3sky
A. 恢復備份資料的全部內容
若從本地檔案恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_cs
d_yyyymmdd.dmp
log=imp_icdmain_csd_yyyymmdd.logw3sky
若從磁帶裝置恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
log=imp_icdmain_csd_yyyymmdd.logw3sky
B. 恢復備份資料中的指定表w3sky
若從本地檔案恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_cs
d_yyyymmdd.dmp
log=imp_icdmain_csd_yyyymmdd.log
tables=commoninformation,serviceinfow3sky
若從磁帶裝置恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=/dev/rmt0
log=imp_icdmain_csd_yyyymmdd.log
tables=commoninformation,serviceinfow3sky
使用者模式
此方式將根據按照使用者模式備份的資料進行恢復.w3sky
A. 恢復備份資料的全部內容
若從本地檔案恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_yy
yymmdd.dmp
log=imp_icdmain_yyyymmdd.logw3sky
若從磁帶裝置恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
log=imp_icdmain_yyyymmdd.logw3sky
B. 恢復備份資料中的指定表
若從本地檔案恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_yy
yymmdd.dmp
log=imp_icdmain_yyyymmdd.log
tables=commoninformation,serviceinfow3sky
若從磁帶裝置恢復,使用如下命令:w3sky
imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
log=imp_icdmain_yyyymmdd.log
tables=commoninformation,serviceinfow3sky
完全模式
如果備份方式為完全模式,採用下列恢復方法:
若從本地檔案恢復,使用如下命令:w3sky
imp system/manager rows=y indexes=n commit=y buffer=65536
feedback=100000 ignore=y volsize=0 full=y
file=exp_icdmain_yyyymmdd.dmp
log=imp_icdmain_yyyymmdd.logw3sky
若從磁帶裝置恢復,使用如下命令:w3sky
imp system/manager rows=y indexes=n commit=y buffer=65536
feedback=100000 ignore=y volsize=0 full=y
file=/dev/rmt0
log=imp_icdmain_yyyymmdd.logw3sky
引數說明
1. ignore引數w3sky
Oracle在恢復資料的過程中,當恢復某個表時,該表已經存在,就要根據ignore引數的設定來決定如何操作.若ignore=y,Oracle不執行CREATE TABLE語句,直接將資料插入到表中,如果插入的記錄違背了約束條件,比如主鍵約束,則出錯的記錄不會插入,但合法的記錄會新增到表中.若ignore=n,Oracle不執行CREATE TABLE語句,同時也不會將資料插入到表中,而是忽略該表的錯誤,繼續恢復下一個表.w3sky
2. indexes引數w3sky
在恢復資料的過程中,若indexes=n,則表上的索引不會被恢復,但是主鍵對應的唯一索引將無條件恢復,這是為了保證資料的完整性.w3sky
字符集轉換
對於單位元組字符集(例如US7ASCII),恢復時,資料庫自動轉換為該會話的字符集(NLS_LANG引數);對於多位元組字符集(例如ZHS16CGB231280),恢復時,應儘量使字符集相同(避免轉換),如果要轉換,目標資料庫的字符集應是輸出資料庫字符集的超集.w3sky
恢復方法
業務資料庫採用表恢復方案.在用IMP進行恢復前,先在SYS使用者下執行CATEXP.SQL檔案(如果以前已執行該檔案,則不要執行這個指令碼),然後執行下列命令:w3sky
IMP ICDMAIN/ICD FILE=檔名 LOG=LOG檔名 ROWS=Y
COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名w3sky
注:要恢復的表名參照備份的表名.恢復是在原表基礎上累加資料.沒有特殊說明,不允許在客戶端執行恢復命令將一個資料庫的某使用者的所有表導到另外資料庫的一個使用者下面的例子
exp userid=system/manager owner=username1 file=expfile.dmp
imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmpw3sky
將一個資料庫的某使用者的所有表導到另外資料庫的一個使用者下面的例子 w3sky
exp userid=system/manager owner=username1 file=expfile.dmp
imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmpw3sky
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/800861/viewspace-950682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- oracle資料庫備份之exp增量備份Oracle資料庫
- 【Mongodb】資料庫備份與還原MongoDB資料庫
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- oracle exp和impOracle
- oracle資料匯出匯入(exp/imp)Oracle
- 達夢資料庫的備份與還原資料庫
- mysql資料庫-備份與還原實操MySql資料庫
- sqlserver資料庫備份,還原操作SQLServer資料庫
- 「MySQL」資料庫備份和還原MySql資料庫
- sqlserver資料庫的備份還原SQLServer資料庫
- MySQL的資料備份與還原MySql
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- 資料庫單表備份還原shell資料庫
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- Oracle匯出資料庫與還原Oracle資料庫
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- 經典資料庫備份與還原處理(轉鄒建)資料庫
- 詳解SQL Server 2012資料庫備份與還原的教程SQLServer資料庫
- 資料庫的備份和還原不成功資料庫
- Centos-Mysql複製備份還原資料庫CentOSMySql資料庫
- Mysql資料備份和還原MySql
- 雲伺服器mysql備份與還原資料庫命令詳解伺服器MySql資料庫
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- SQL Server2019資料庫備份與還原指令碼,資料庫可批量備份SQLServer資料庫指令碼
- oracle 還原 .dmp 格式備份檔案Oracle
- Ubuntu Desktop: 備份與還原Ubuntu
- 華納雲 sqlserver資料庫備份及還原的方法SQLServer資料庫
- sql運算元據庫(2)--->DQL、資料庫備份和還原SQL資料庫
- 每天自動備份Oracle資料庫Oracle資料庫
- oracle uncatalog資料庫備份檔案Oracle資料庫
- KOSQL Server2019資料庫備份與還原指令碼(批量備份)zrbSQLServer資料庫指令碼
- 恆訊科技:雲伺服器資料備份與還原伺服器
- Redis 通過 RDB 方式進行資料備份與還原Redis
- DM8資料庫備份還原的原理及應用資料庫
- MySQL資料庫的備份還原方案——不同伺服器間MySql資料庫伺服器
- 在Ubuntu 14.04上備份,還原和遷移MongoDB資料庫UbuntuMongoDB資料庫
- EXP增量備份