Oracle裡邏輯備份、物理備份、Rman備份的區別
Oracle資料庫的邏輯備份ORACLE資料庫有兩類備份方法。
第一類為物理備份,該方法實現資料庫的完整恢復,但資料庫必須執行在歸擋模式下(業務資料庫在非歸擋模式下執行),且需要極大的外部儲存裝置,例如磁帶庫;
第二類備份方式為邏輯備份,業務資料庫採用此種方式,此方法不需要資料庫執行在歸擋模式下,不但備份簡單,而且可以不需要外部儲存裝置。資料庫邏輯備份方法ORACLE資料庫的邏輯備份分為三種模式:表備份、使用者備份和完全備份。
表模式備份某個使用者模式下指定的物件(表)。業務資料庫通常採用這種備份方式。若備份到本地檔案,使用如下命令:
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.dealinfo
若直接備份到磁帶裝置,使用如下命令:
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.dealinfo
注:在磁碟空間允許的情況下,應先備份到本地伺服器,然後再複製到磁帶。出於速度方面的考慮,儘量不要直接備份到磁帶裝置。
使用者模式 備份某個使用者模式下的所有物件。業務資料庫通常採用這種備份方式。 若備份到本地檔案,使用如下命令:
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.log
若直接備份到磁帶裝置,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.log
注:如果磁碟有空間,建議備份到磁碟,然後再複製到磁帶。如果資料庫資料量較小,可採用這種辦法備份。
完全模式備份完整的資料庫。業務資料庫不採用這種備份方式。備份命令為:
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.log 對於資料庫備份,建議採用增量備份,即只備份上一次備份以來更改的資料。增量備份命令:
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.log
注:關於增量備份必須滿足下列條件:
1. 只對完整資料庫備份有效,且第一次需要full=y引數,以後需要inctype=incremental引數。
2. 使用者必須有EXP_FULL_DATABASE的系統角色。
3. 話務量較小時方可採用資料庫備份。
4. 如果磁碟有空間,建議備份到磁碟,然後再備份到磁帶。
業務資料庫備份方法及週期用EXP進行備份前,先在SYS使用者下執行CATEXP.SQL檔案(如果以前已執行該檔案,則不要執行這個指令碼)。
沒有特殊說明,不允許在客戶端執行備份命令。 備份命令參照表模式下的備份命令。
RMAN備份原理在之前,看了使用者管理的備份恢復管理,透過以SCN為線索貫穿整個過程,來熟悉了備份原理。RMAN的備份過程和使用者備份恢復管理有很大的區別,很多朋友了都沒有理清楚原理下面的是我的理解:
RMAN備份資料塊的工作原理:
原理:RMAN基於備份演算法規則來編譯要備份的資料檔案列表。基於通道數和同時備份的資料檔案數,RMAN在ORACEL共享記憶體段中建立一些記憶體緩衝區一般是在PGA中不過有時候記憶體緩衝區會被推入SGA。通道服務程式隨後就開始讀取資料檔案,並在RMAN緩衝取中填充這些資料塊。一個緩衝區被填滿時,輸入緩衝區的資料就會推出到輸出緩衝區。資料檔案中的搜尋資料塊都會都會發生這種memery—to—monery write 的過程,如果資料塊符合備份的標準,並且memery—to—monery write操作沒有檢查到資料corruption則該資料塊會被儲存到輸出資料緩衝區中,直到輸出緩衝區被填滿。一但輸出緩衝區被填滿,輸出緩衝區的內容就會被推到備份位置(磁碟或者磁帶)
RMAN備份資料庫過程: RMAN發出備份全庫命令後,RMAN生成到目標資料庫的bequeath連線,也就是說會檢查ORACLA_SID變數中的例項名,並在該在例項上產生一個伺服器程式,然後作為sysdba登陸,然後會產生一個作為備份的通道,(在PGA或者是在SGA分配儲存)。隨後RMAN呼叫SYS.DBMS_RCVMAN請求資料庫結構資訊,包括控制檔案的資訊(當前序列號,建立時間……)由於指定了備份全庫,所以RMAN會請求資料庫中資料檔案資訊,並判斷是否存在offline資料檔案(包括所在的位置和工作方式)。
RMAN開始備份,為了保持資料一致性RMAN必須構建控制檔案快照,接下來RMAN呼叫DBMS _BACKUP_RESTORE資料包,該呼叫可
以建立備份片。RMAN擁有檔案列表,所以它為資料檔案讀取操作分配記憶體緩衝區,分配緩衝區後RMAN初始化備份片。一旦初始化了備份片,RMAN會判斷是否使用了伺服器引數檔案,如果使用了則會做為備份的一部分,還要備份控制檔案,之後才開始備份資料檔案,並將其推至記憶體。為了實現這一功能,通道程式在磁碟上執行預讀取操作,並且將多個資料檔案讀入記憶體中,RMAN會判斷資料塊頭資訊是否仍然為零,如果資料塊沒有被使用過,就不會發生到輸出緩衝區的寫操作,同時會丟棄這個資料塊(這就RMAN為什麼會只備份使用過的資料的原因,也是它的優點)RMAN還會執行檢查資料塊有沒有corruption操作。當檢查透過了就被寫入到輸出緩衝區。一旦輸出緩衝區填滿了,就被推至備份檔案位置。
在備份資料塊的時候,RMAN影子程式會得到備份狀態資訊。並將它傳給V$session_longops檢視。查詢它能得到資訊。
當資料檔案的所有資料塊都被讀入輸入緩衝區並確定了狀態之後RMAN就會透過將這個資料檔案寫入備份片來結束該檔案的備份操作。所有資料檔案寫入備份片之後,RMAN生成最後一個對SYS DBMS BACKUP RESTORE 資料包的呼叫,該呼叫在控制檔案中寫入備份資訊(包括備份片名,啟動備份操作時的檢查點的SCN和完成備份的時間) 至此完成備份!希望大家繼續討論RMAN備份恢復原理(RMAN功能太強大了)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29913993/viewspace-1306441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 認識資料庫物理備份和邏輯備份區別資料庫
- 物理備份是以block來區別邏輯備份的(os block或oracle block) ?BloCOracle
- exp備份和rman備份的區別
- 揭祕ORACLE備份之--邏輯備份(EXP)Oracle
- 揭祕ORACLE備份之--邏輯備份(EXPDP)Oracle
- Oracle RMAN中全備份與0級備份區別Oracle
- ORACLE備份和恢復 - 邏輯備份 exp/impOracle
- RMAN 全庫備份和 0級備份的區別
- Oracle 熱備份和冷備份的區別Oracle
- Oracle 聯機備份 離線備份 物理備份 恢復Oracle
- 完全備份、差異備份、增量備份的區別
- Oracle 邏輯備份 expdp/impdpOracle
- Oracle邏輯備份指令碼Oracle指令碼
- 邏輯備份--mysqldumpMySql
- Mysql備份與恢復(2)---邏輯備份MySql
- mysql的邏輯備份MySql
- Oracle 11g RMAN備份-增量備份Oracle
- Backup And Recovery User's Guide-備份RMAN備份-使用RMAN備份備份集GUIIDE
- mysql 邏輯備份 (mysqldump)MySql
- rman備份型別型別
- Oracle 11g RMAN備份-備份標籤Oracle
- Oracle備份及備份策略及基於Linux下 Oracle 備份策略(RMAN)OracleLinux
- Backup And Recovery User's Guide-備份RMAN備份-關於備份的備份GUIIDE
- oracle之rman備份Oracle
- Oracle RMAN 增量備份Oracle
- oracle rman備份命令Oracle
- 【轉】Oracle rman備份Oracle
- Backup And Recovery User's Guide-備份RMAN備份-用RMAN備份映象拷貝備份GUIIDE
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- Backup And Recovery User's Guide-備份RMAN備份-備份保留期對備份的備份的影響GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-RMAN備份的多個拷貝-備份的備份GUIIDE
- Oracle主備架構下的邏輯備份考慮Oracle架構
- Oracle 11g RMAN備份-一致備份Oracle
- 揭祕ORACLE備份之----RMAN之二(備份方式)Oracle
- Oracle RMAN物理備份技術詳解(4)Oracle
- 邏輯備份全庫或者邏輯備份多個使用者的資料
- oracle邏輯備份之--資料泵Oracle
- Oracle 邏輯備份之EXPDP精講Oracle