日期:2014-05-16  浏览次数:20584 次

RMAN复制物理备库时需要注意的几点
  用RMAN复制物理备库时,容易出错,并且出错很诡异。本文由cuug整理,查看更多可点击官网。

  笔者在下边总结了所遇到的几点。

  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之外的所有备库的连接