RMAN duplicate database到新主機
duplicate database有一個優點,它為duplicated
database生成了新的DBID。
metalink[[ID 388431.1]]給出了duplicate database的大致步驟:
1. Backup of the primary database.
2. Determine how much disk space will be required.
3. Ensuring you have enough space on your target server.
4. Making the backup available for the duplicate process.
5. Creating the init.ora & administration directories for the duplicate database.
6. Ensuring SQL*NET connections to primary database and RMAN catalog are working.
7. Prepare RMAN duplicate script.
8. Execute the RMAN script.
1. 因為duplicate database 是一個備份與恢復的過程,備份是必須的。當然也要備份歸檔日誌.
簡單指令碼如下:
run {
allocate channel dup type disk;
backup format '/opt/guo/backup/df_t%t_s%s_p%p' database;
sql 'alter system archive log current';
backup format '/opt/guo/backup/al_t%t_s%s_p%p' archivelog all;
release channel dup;
}
在primary database上執行:
Rman target / cmdfile=/opt/guo/dup.rmv
生成了資料文悠件備份,controlfile+spfile備份(這個不需要,因為我們備份了datafile 1,
所以RMAN自動備份了controlfile+spfile),歸檔日誌備份.
2,3 兩步是確認the duplicate database資料庫的空間是否足夠. 指令碼類似如下:
select DF.TOTAL/1048576 "DataFile Size Mb",
LOG.TOTAL/1048576 "Redo Log Size Mb",
CONTROL.TOTAL/1048576 "Control File Size Mb",
(DF.TOTAL + LOG.TOTAL + CONTROL.TOTAL)/1048576 "Total Size Mb"
from dual,
(select sum(a.bytes) TOTAL from dba_data_files a) DF,
(select sum(b.bytes) TOTAL from v$log b) LOG,
(select sum((cffsz+1)*cfbsz) TOTAL from x$kcccf c) CONTROL
4. Making the backup available for the duplicate process,the duplicate process
我們要把資料備份,包括歸檔備份拷到新主機的相同目錄上,使得duplicate process程式
可以訪問得到. 我想過用catalog命令修改備份集的路徑,但duplicate資料庫此時還沒有
控制檔案, 所以行不通,只能拷貝到相同路徑上。
如:scp -r root@192.168.0.106:/opt/guo/backup /opt/guo/backup
5. 為duplicate資料庫建立init.ora檔案,以及相應的目錄.啟動duplicate資料庫到nomout狀態。
duplicate命令需要duplicate資料庫處於nomount狀態。
SQL>create spfile from pfile='init.ora'
SQL>startup nomount
6. 確認兩臺主機SQL.net是暢通的. duplicate target database 可以任何一臺可以SQL.net到
目標主機與新主機的主機上執行。
D:>sqlplus sys/system@primary
7. 建立duplicate script如下:
duplicate target database to guoprima nofilenamecheck;
因為target資料庫與duplicate資料庫的目錄結構是一樣的,雖然他們位於不同的主機. 所以
加nofilenamecheck引數,去除Data檔案檢查,否則會報ora-050001錯誤。我們也可以用init.ora檔案中新增
db_file_name_convert,log_file_name_convert引數更改duplicate資料庫的目錄結構.oracle
document 有詳細的描述
8. 執行復制.
D:>rman target sys/system@primary;
rman> connect auxiliary /
rman>duplicate target database to guoprima nofilenamecheck;
即完成了資料庫的複製。
database生成了新的DBID。
metalink[[ID 388431.1]]給出了duplicate database的大致步驟:
1. Backup of the primary database.
2. Determine how much disk space will be required.
3. Ensuring you have enough space on your target server.
4. Making the backup available for the duplicate process.
5. Creating the init.ora & administration directories for the duplicate database.
6. Ensuring SQL*NET connections to primary database and RMAN catalog are working.
7. Prepare RMAN duplicate script.
8. Execute the RMAN script.
1. 因為duplicate database 是一個備份與恢復的過程,備份是必須的。當然也要備份歸檔日誌.
簡單指令碼如下:
run {
allocate channel dup type disk;
backup format '/opt/guo/backup/df_t%t_s%s_p%p' database;
sql 'alter system archive log current';
backup format '/opt/guo/backup/al_t%t_s%s_p%p' archivelog all;
release channel dup;
}
在primary database上執行:
Rman target / cmdfile=/opt/guo/dup.rmv
生成了資料文悠件備份,controlfile+spfile備份(這個不需要,因為我們備份了datafile 1,
所以RMAN自動備份了controlfile+spfile),歸檔日誌備份.
2,3 兩步是確認the duplicate database資料庫的空間是否足夠. 指令碼類似如下:
select DF.TOTAL/1048576 "DataFile Size Mb",
LOG.TOTAL/1048576 "Redo Log Size Mb",
CONTROL.TOTAL/1048576 "Control File Size Mb",
(DF.TOTAL + LOG.TOTAL + CONTROL.TOTAL)/1048576 "Total Size Mb"
from dual,
(select sum(a.bytes) TOTAL from dba_data_files a) DF,
(select sum(b.bytes) TOTAL from v$log b) LOG,
(select sum((cffsz+1)*cfbsz) TOTAL from x$kcccf c) CONTROL
4. Making the backup available for the duplicate process,the duplicate process
我們要把資料備份,包括歸檔備份拷到新主機的相同目錄上,使得duplicate process程式
可以訪問得到. 我想過用catalog命令修改備份集的路徑,但duplicate資料庫此時還沒有
控制檔案, 所以行不通,只能拷貝到相同路徑上。
如:scp -r root@192.168.0.106:/opt/guo/backup /opt/guo/backup
5. 為duplicate資料庫建立init.ora檔案,以及相應的目錄.啟動duplicate資料庫到nomout狀態。
duplicate命令需要duplicate資料庫處於nomount狀態。
SQL>create spfile from pfile='init.ora'
SQL>startup nomount
6. 確認兩臺主機SQL.net是暢通的. duplicate target database 可以任何一臺可以SQL.net到
目標主機與新主機的主機上執行。
D:>sqlplus sys/system@primary
7. 建立duplicate script如下:
duplicate target database to guoprima nofilenamecheck;
因為target資料庫與duplicate資料庫的目錄結構是一樣的,雖然他們位於不同的主機. 所以
加nofilenamecheck引數,去除Data檔案檢查,否則會報ora-050001錯誤。我們也可以用init.ora檔案中新增
db_file_name_convert,log_file_name_convert引數更改duplicate資料庫的目錄結構.oracle
document 有詳細的描述
8. 執行復制.
D:>rman target sys/system@primary;
rman> connect auxiliary /
rman>duplicate target database to guoprima nofilenamecheck;
即完成了資料庫的複製。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29196873/viewspace-1098184/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman duplicate建立異地auxiliary Database oracle_11g oracle_sid不同UXDatabaseOracle
- rman duplicate建立異地auxiliary Database oracle_11g oracle_sid相同UXDatabaseOracle
- RMAN Duplicate RAC to Single Instance
- rman duplicate操作手冊
- Oracle rman duplicate遷移測試Oracle
- RMAN restore validate database報ORA-19693RESTDatabase
- Converting Oracle Database from Linux to Windows using RMANOracleDatabaseLinuxWindows
- 使用RMAN複製資料庫 active database資料庫Database
- duplicate遇到RMAN-05535: warning: All redo log files were not defined
- HowTo Restore RMAN Disk backups of RAC Database to Single Instance On Another NoRESTDatabase
- 理解RMAN backup database plus archivelog delete all input命令DatabaseHivedelete
- 【DG】備庫RMAN還原方式搭建DG(不使用duplicate命令)
- 透過RMAN備份standby database成功恢復還原Database
- 【RMAN】Oracle11g透過rman升級到12cOracle
- 新主題-songup
- 將libc database下載到本地Database
- Azure web 連線到Azure databaseWebDatabase
- 阻止列表和白名單來更新主機檔案!
- RMAN備份異機恢復
- 【RMAN】改變FRA到新路徑,需要做哪些工作
- 【RMAN】RMAN備份至ASMASM
- rman備份異機恢復(原創)
- Oracle 11G RAC複製備庫RMAN-03002 RMAN-05501 RMAN-03015 RMAN-03009 RMAN-10038Oracle
- 【RMAN】RMAN的備份保留策略
- The database owner SID recorded in the master database differs from the database owner SID recorded in database 'DB_NAME'DatabaseAST
- [LeetCode] Find the Duplicate NumberLeetCode
- yum error - package is a duplicate withErrorPackage
- SAP Fiori 的 UI 新主題 HorizonUI
- rman oracle11g_單機實用配置Oracle
- ORACLE rman與RMAN-00054&ORA-09945Oracle
- RMAN(轉)
- Error querying database. XXXXXXXXXXXXX, No database selected。ErrorDatabase
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- Oracle Database Cloud - Database as a Service Quick StartOracleDatabaseCloudUI
- RMAN恢復之RMAN-06555處理
- 【RMAN】Oracle rman 常用命令參考Oracle
- 社交命運的新主宰:AI社交AI
- DATAGUARD手記(DUPLICATE)(四)
- [LintCode/LeetCode] Contains Duplicate IIILeetCodeAI