用RMAN複製物理備庫時,容易出錯,並且出錯很詭異
筆者在下邊總結了所遇到的幾點。
1.RMAN-04006 ORA-12528
將備庫啟動到nomount狀態下
SQL> startup nomount
Oracle 常式已經啟動。
Total System Global Area 751595520 bytes
Fixed Size 2292912 bytes
Variable Size 557843280 bytes
Database Buffers 188743680 bytes
Redo Buffers 2715648 bytes
在主庫串連
oracle@Sol_ORA:/oracle/12.1/network/admin$ rman target sys/test@TESTM auxiliary sys/test@TESTS
復原管理員: Release 12.1.0.1.0 - Production on 星期四 11月 7 09:53:18 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
已串連到目標資料庫: TESTM (DBID=1234105814)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: 內部復原管理員程式包初始化失敗
RMAN-04006: 來自次要資料庫的錯誤: ORA-12528: TNS: 監聽程式: 所有適用常式都無法建立新串連
如上情況原因分析:由於備庫的執行個體在nomount狀態下,如果是動態註冊監聽器,那麼在nomount狀態下是不會註冊監聽的,所以需要配置靜態註冊
解決方案:配置靜態監聽,主庫的tnsnames.ora如下:
#指向備庫的連接字串
TESTS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 188.188.3.20)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTM)
)
)
備庫的listener.ora中添加:
#備庫添加靜態註冊
SID_LIST_LISTENER =(SID_LIST=(SID_DESC=(SID_NAME=TESTM)(ORACLE_HOME=/oracle/product/12.1.0)))
$ lsnrctl reload //重新載入listener.ora
$ lsnrctl status //查看狀態
oracle@Sol_ORA:/oracle/12.1/network/admin$ rman target sys/test@TESTM auxiliary sys/test@TESTS //主庫串連 故障排除
復原管理員: Release 12.1.0.1.0 - Production on 星期四 11月 7 10:00:02 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
已串連到目標資料庫: TESTM (DBID=1234105814)
已串連到次要資料庫: TESTM (未裝載)
2.RMAN-06136: 來自次要資料庫的 ORACLE 錯誤: ORA-19847: 無法從遠端站台讀取控制檔案的標題
原因:不詳
解決方案:斷開除主庫的RMAN之外的所有備庫的串連
3. RMAN-06136: 來自次要資料庫的 ORACLE 錯誤: ORA-01013: 使用者請求取消當前的操作,原因是做duplicate時備庫上還有使用者登入,退出登入後錯誤解決
原因:不詳
解決方案:斷開除主庫的RMAN之外的所有備庫的串連
推薦閱讀:
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密