云貝教育 |【技術(shù)文章】復(fù)制數(shù)據(jù)庫
作者:劉曉峰
原文鏈接:http://www.tdpub.cn/Blog/detail/id/1354.html
1.簡介
RMAN 的一個很好的功能是能夠從以前的備份復(fù)制或克隆數(shù)據(jù)庫。可以在具有相同文件結(jié)構(gòu)的遠(yuǎn)程服務(wù)器上創(chuàng)建重復(fù)的數(shù)據(jù)庫
2.方式
· 活動數(shù)據(jù)庫復(fù)制
· 基于備份的復(fù)制
· 使用副本數(shù)據(jù)庫
我們只演示第一種方式
3.活動數(shù)據(jù)庫復(fù)制
目標(biāo)數(shù)據(jù)庫是被復(fù)制的數(shù)據(jù)庫 PROD
輔助數(shù)據(jù)庫是 DUPDB
3.1 密碼文件
輔助數(shù)據(jù)庫創(chuàng)建密碼文件
開啟數(shù)據(jù)庫后可以自行修改密碼文件
3.2 創(chuàng)建參數(shù)文件
用于映射輔助數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件
在輔助數(shù)據(jù)庫執(zhí)行下面命令
輸入下面內(nèi)容,用于映射 PROD 和 DUPDB 的文件路徑
db_name=DUPDB#相同服務(wù)器進(jìn)行復(fù)制必須要指定
逗號前的字符串標(biāo)識了目標(biāo)數(shù)據(jù)庫文件原始位置,逗號后的第二個參數(shù)標(biāo)識輔助數(shù)據(jù)庫文件位置
3.3 啟動輔助實例
3.4 ORACLE Net
數(shù)據(jù)庫打開狀態(tài)會使用 pmon 輔助注冊監(jiān)聽,而我們的輔助實例是 nomount 狀態(tài),必須手動配置,這個過程可以借助?NET Maneger 實現(xiàn)
· 編輯目標(biāo)數(shù)據(jù)庫和輔助數(shù)據(jù)庫 tnsnames。
添加下面內(nèi)容
·配置 listener.ora
輔助數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫同時添加下面內(nèi)容
· 重啟監(jiān)聽
出現(xiàn)下面內(nèi)容 Listening Endpoints Summary...
· 進(jìn)行測試
顯示 OK 表示網(wǎng)絡(luò)設(shè)置成功
3.5 RMAN 連接目標(biāo)實例和輔助實例
將 RMAN 連接到源數(shù)據(jù)庫時為 ,必須指定用戶名和密碼,即使 RMAN 使用操作系統(tǒng)身份驗證也是如此。與輔助實例的連接必須使用與源數(shù)據(jù)庫連接相同的用戶名和密碼。必須裝入或打開源數(shù)據(jù)庫。如果源數(shù)據(jù)庫處于打開狀態(tài),則必須啟用存檔。如果源數(shù)據(jù)庫未打開,則必須始終關(guān)閉該數(shù)據(jù)庫。
這里可以看出來,我們的密碼文件并不一致,這里我先不將 PROD 的密碼文件拷貝過來,因為必須要保證 PROD 開啟(因為我們的標(biāo)題就是活動數(shù)據(jù)庫復(fù)制),所以我們先配置快速恢復(fù)區(qū)和歸檔(開啟歸檔不需要配置快速恢復(fù)區(qū),但是不配的話不好管理日志文件,需要查詢v$archive_log)
下面是開啟的步驟,以下全是在 PROD 數(shù)據(jù)庫操作
接著輔助實例輸入下面內(nèi)容
3.6 執(zhí)行復(fù)制命令
直接報錯,此時創(chuàng)建密碼文件
如果不指定 format,則會使用 19C 的密碼規(guī)則,必須要數(shù)字特殊符號rman target
此時我們觀察 3.2 指定的映射目錄

成功傳輸文件
出現(xiàn)
表示復(fù)制成功
3.7 測試
將連接字符串拷貝到本地 tnsnames.ora,測試完成

可以看到 DUPDB 也開啟了歸檔,不過快速恢復(fù)區(qū)并沒有創(chuàng)建,手動創(chuàng)建一下
手動切一下
成功

參考資料:
https://oracle-base.com/articles/11g/duplicate-database-using-rman-11gr2
https://docs.oracle.com/en/database/oracle/oracle-database/18/spmsu/overview-of-active-database-duplication.html