RMAN高階應用之Duplicate複製資料庫(1)概述
使用RMAN DUPLICATE命令可以在保留目標資料庫的基礎上依靠目標資料庫(Target Database)的備份建立一個副本資料庫(Duplicate Database)。該副本即可與目標資料庫完全相同,也可僅包含目標資料庫表空間的一部子集。目標站點(Target Site)以及副本站點(Duplicate Site)甚至可以在同一臺機器上。哈哈,使用Duplicate命令建立Duplicate資料庫,所謂術業有專攻僅字面意義理解用到這裡也算名有所指了吧:)
副本資料庫呢是目標資料庫的一個拷貝。言下之義即是說可以把它當成很正式的測試資料庫,想幹嘛幹嘛:),比如:
l 測試備份和恢復過程。
l 匯出資料,例如在生產資料庫上被有意無意刪除的表,然後你就可以再將其匯入生產資料庫。
再比如,你可以從Host1複製生產資料庫到Host2,然後使用Host2上的副本資料庫實踐修復、恢復等操作,而生產資料庫則完全不受其影響。
需要注意的是,雖然都可以通過Duplicate命令建立,但是副本資料庫與備庫(Standby Database)還是有區別地。備庫是主庫(Primary Database)的一份拷貝,你可以根據主庫的Archived Logs定期或不定期的更新它。如果主庫崩潰,你還可以將其轉換為主庫使用。而副本資料庫則並非為故障切換設計,而且也不支援這種Standby恢復和故障切換。(Duplicate命令建立備庫與建立副本庫只是語法上小有差異,但由於備庫涉及的大部分操作均與duplicate無關聯,所以本章節中不會體現,如有興趣可以自行參照:Oracle Data Guard Concepts and Administration,或者你有足夠的心耐心等俺出相關筆記,放心不出三五十年俺一定會寫成的。)
RMAN如何建立資料庫副本。
首先需要建立一個輔助例項(auxiliary instance, 至於如何建立嘛,本章是概述就不細緻體現了,你要是著急想看,請翻頁)。通過RMAN必須能夠連線到目標資料庫及啟動到nomount模式下的輔助例項。
至少在輔助例項上分配一條輔助通道,複製的主要工作都是通過在副本站點啟動的伺服器session的輔助通道實施的。然後應用主庫的必要備份,並建立及恢復副本資料庫。
RMAN客戶端可以在任何地方執行,只要能夠連線到主、輔例項。所有可被副本站點訪問到的備份以及archived redo logs都將被用於建立和恢復副本資料庫。如果副本站點與目標站點不在一起,你必須確保副本站點的備份所在路徑與主庫路徑一致,如果路徑無法保持一致,則必須保證副本站點能夠訪問到備份所在路徑。
如果你使用的磁碟備份,可以通過下列方式確保路徑可用:
l 手工複製備份源站點到遠端站點的相同路徑。例如,源站點的備份檔案在d:oradatabkp下,則複製到副本站點時也複製到d:oradatabkp目錄下。
l 手工操作備份從源站點到副本站點的新路徑下,例如,源站點的備份檔案在d:oradatabkp下,你可以將其複製到副本站點的d:oradatadup2下。d:oradatadup2對於目標站點和副本站點都要可訪問到,執行Catalog命令新增這些備份到副本站點Rman備份集中。
l 使用NFS共享磁碟來確保遠端站點在相同路徑下。
如果使用的是磁帶備份。。。。。。。。。。。。。。。。磁帶這東西我們可沒用過,如果你不想看使用說明書的話,那你就直接問上帝他老人家吧。
做為複製操作的一部分,RMAN自動執行下列步驟:
l 為副本資料庫建立控制檔案。
l Restore資料檔案到副本資料庫,並通過增量備份和Archived Redo Logs進行不完全恢復。
l 重啟輔助例項,以載入伺服器端的初始化引數檔案。
l 不完全恢復後通過Resetlogs方式Open副本資料庫以重建Online Redo Logs(Duplicate ... For Standby方式除外,該操作不會開啟資料庫)。
l 為副本資料庫產生一個新的,唯一的DBID(Duplicate ... For Standby方式除外,該方式不會建立新的唯一DBID)。
在建立副本期間,RMAN必須進行不完全恢復,因為目標庫的Online Redo Logs並不能時時備份並應用到副本資料庫。RMAN最多也就能取到目標資料庫最近一次備份的資料恢復到副本資料庫。
RMAN資料庫副本:可選操作
為了避免你在建立副本資料庫時,每次都翻著死魚一樣的白眼盯著黑乎乎的螢幕無所事事,oracle非常用心地提供了一些選項期望能讓你每次的操作都可以不同如下:
l Duplicate命令可在Catalog或Nocatalog模式下執行(關於catalog的知識你可以找找三思的另一個系列:一步一步學RMAN)。
l 使用SKIP READONLY子句跳過只讀表空間。預設情況下複製包含只讀表空間。
l 通過SKIP TABLESPACE子句跳過指定表空間。SYSTEM表空間或包含回滾、UNDO的表空間除外。
l 可以將副本資料庫建立到新站點,如果新站點的目錄結構與主相同的話,必須指定NOFILENAMECHECK 選項。
l 從傳統檔案系統複製到ASM或OMF。
l 預設情況下,DUPLICATE命令通過目標資料的最近一次備份建立副本資料庫,並恢復到歸檔日誌中的最近一致點。另外,你也可以使用RUN命令塊,執行SET UNTIL命令,或者執行DUPLICATE命令時附帶UNTIL子句,控制RMAN將副本資料庫恢復到指定的時間點(不過,注意指定的時間點不要超出了備份的範圍)。
l 可以將副本資料庫在相同恢復目錄中註冊成一個目標資料庫,因為該副本資料庫擁有一個新的唯一的DBID。
l 在某些情況下,你可以設定副本資料庫的DB_NAME與目標資料庫DB_NAME不同,更明確的講,如果副本資料庫與目標庫在相同的Oracle Home,則DB_NAME的初始化引數必須不同。如果兩者在不同的Oracle Home,則副本資料庫的DB_NAME在其所在的Oracle Home中必須唯一。這才是副本資料庫可以與目標庫在相同站點的真正原因。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-22298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN高階應用之Duplicate複製資料庫資料庫
- RMAN高階應用之Duplicate複製資料庫(3)複製流程資料庫
- RMAN高階應用之Duplicate複製資料庫(4)實戰資料庫
- RMAN高階應用之Duplicate複製資料庫(5)補充資料庫
- RMAN高階應用之Duplicate複製資料庫(2)輔助例項資料庫
- 【RMAN】使用duplicate本地複製資料庫資料庫
- duplicate rman複製資料庫技術資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫資料庫
- RMAN duplicate from active database 複製資料庫Database資料庫
- Rman duplicate資料庫複製(單系統)資料庫
- 使用rman的命令duplicate複製資料庫資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫遇到的問題資料庫
- Oracle 11gR2 使用RMAN Duplicate複製資料庫Oracle資料庫
- Oracle11gR2使用RMAN duplicate複製資料庫Oracle資料庫
- RMAN實戰系列之一:用duplicate複製資料庫資料庫
- DG rman duplicate 複製庫錯誤
- Oracle 之 Duplicate 複製資料庫Oracle資料庫
- DUPLICATE遠端複製資料庫資料庫
- 實戰10g新特性之rman duplicate複製資料庫資料庫
- duplicate複製資料庫(rac-rac)資料庫
- RMAN複製資料庫(十)資料庫
- RMAN複製資料庫(九)資料庫
- RMAN複製資料庫(八)資料庫
- RMAN複製資料庫(七)資料庫
- RMAN複製資料庫(六)資料庫
- RMAN複製資料庫(五)資料庫
- RMAN複製資料庫(四)資料庫
- RMAN複製資料庫(三)資料庫
- RMAN複製資料庫(二)資料庫
- RMAN複製資料庫(一)資料庫
- 使用RMAN複製資料庫資料庫
- oracle rman複製資料庫Oracle資料庫
- Oracle 11gR2 使用 RMAN duplicate from active database 複製資料庫OracleDatabase資料庫
- Oracle備份與恢復系列(四)續 RMAN Duplicate複製資料庫Oracle資料庫
- 續上_在同一節點上利用rman duplicate複製資料庫資料庫
- 資料庫移植後高階複製出錯資料庫
- Duplicate 複製資料庫實驗過程資料庫
- RMAN 同機複製資料庫資料庫