資料庫複製方式進行資料庫恢復
資料庫複製方式進行資料庫恢復
在我們的測試工作中可能會遇到這樣的需求,需要根據目前已經存在的一個執行的orracle資料庫來恢復出一個相同的資料庫,同時在一些情況下最好這個源資料庫不被關掉,提供正常服務,另外整個恢復過程的要求可接受的時間內完成。在這種情況下一些傳統備份恢復可能無法實現或者效率太低,因此在這樣一種情況下可以考慮使用11g以後新增duplicate命令方式來進行資料庫的複製。
使用duplicate方式來複制一個資料主要有如下一些步驟:
1)在需要恢復資料庫的機器上新建好資料檔案目錄,並保證目錄空間足夠。
2)在需要恢復資料庫的機器上建立一個資料庫服務,服務名可以和源資料庫名相同或者不同(該步驟只在windows平臺需要,linux平臺可忽略):
Oradim –new –sid duptest (duptest為目標庫的服務名)
3)在目標庫建立密碼檔案:
Orapwd file=” D:\oracle\product\11.2.0\dbhome_1\database\pwdduptest.ora” password = oracle entries =10
(注意:duptest和上面的服務名一致;D:\oracle\product\11.2.0\dbhome_1\database為ORACLE_HOME目錄)
4)建立目標庫的引數檔案,可根據源資料庫的初始化引數檔案來建立,方法如下:
Create pfile from spfile;
在源庫中執行以上命令得到init開頭的引數檔案,進行相應修改後重新命名為init+服務名.ora的方式,比如這裡重新命名檔案為INITDUPTEST.ORA,並放置到ORACLE_HOME下的database目錄下。
5)啟動目標庫到nomount狀態:
Startup nomount
6)使用rman連線到源庫和目標庫:
C:\Users\Administrator>rman
RMAN> connect target sys/oracle@test
連線到目標資料庫: TEST (DBID=2128587833)
RMAN> connect auxiliary sys/oracle@test
已連線到輔助資料庫: TEST (DBID=2128587833)
7)在rman中執行duplicate命令,開始資料庫複製,該命令將自動把源資料庫中的控制檔案資料檔案及重做日誌檔案複製到目標庫中:
RMAN> run{
set newname for datafile 1 to 'D:\oracle\oradata\duptest\SYSTEM01.DBF';
set newname for datafile 2 to 'D:\oracle\oradata\duptest\SYSAUX01.DBF';
set newname for datafile 3 to 'D:\oracle\oradata\duptest\UNDOTBS01.DBF';
set newname for datafile 4 to 'D:\oracle\oradata\duptest\USERS01.DBF';
set newname for datafile 1 to 'D:\oracle\oradata\duptest\TEMP01.DBF';
duplicate target database to duptest from active database password file spfil
e nofilenamecheck;
}
在以上命令執行後,如果出現如下內容表示命令執行成功:
記憶體指令碼的內容:
{
Alter clone database open resetlogs;
}
正在執行記憶體指令碼
資料庫已開啟
完成 Duplicate Db 於 05-11月-13
8)登入到目標庫中驗證資料庫是否可用。
至此一個和源資料庫相同的資料庫就恢復完成。當然這只是一個比較基本的完整資料庫複製過程,同時duplicate方式還可以完成一些特殊的需求,比如根據需要只複製部分表空間的資料等。
通過上面的恢復過程可以看到duplicate實際上是一種RMAN新特性,使用該方式可以在一些特定場景中完美完成資料庫複製需求,使用得當可以減少目前資料庫恢復時間,提高效率 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7913676/viewspace-776067/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN進行資料庫複製資料庫
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 只有.dbf資料檔案進行資料庫恢復資料庫
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- Oracle備份與恢復系列(四)複製資料庫 續 手工複製資料庫的最簡操作Oracle資料庫
- 使用檔案複製的方式進行資料庫版本升級資料庫
- 資料庫不同故障的恢復方式資料庫
- 使用netbackup進行資料庫恢復案例資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 資料庫修復資料恢復資料庫資料恢復
- 恢復資料庫資料庫
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 資料庫複製資料庫
- 複製資料庫資料庫
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 複製的SQL Server 7資料庫的恢復方法 (轉)SQLServer資料庫
- 資料庫resetlogs後進行rman恢復7資料庫
- 資料庫resetlogs後進行rman恢復6資料庫
- 資料庫resetlogs後進行rman恢復5資料庫
- 資料庫resetlogs後進行rman恢復4資料庫
- 資料庫resetlogs後進行rman恢復3資料庫
- 資料庫resetlogs後進行rman恢復2資料庫
- 資料庫resetlogs後進行rman恢復1資料庫
- 使用dbms_backup_restore進行資料庫恢復REST資料庫
- 透過RMAN進行資料庫恢復(step by step)資料庫
- 利用rman恢復來複制資料庫資料庫
- 【資料庫資料恢復】SqlServer資料庫無法讀取的資料恢復案例資料庫資料恢復SQLServer
- 資料庫資料恢復—NTFS分割槽損壞如何恢復SqlServer資料庫資料資料庫資料恢復SQLServer
- 【資料庫資料恢復】sql server資料庫連線失效的資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer