ITPub博客

首页 > 数据库 > Oracle > 一个参数引发的PDB无法在DataGuard下同步的问题

一个参数引发的PDB无法在DataGuard下同步的问题

原创 Oracle 作者:hooca 时间:2016-06-12 17:46:40 0 删除 编辑
OS:Oracle Linux 6.6 x64
DB:GI+Oracle 12.1.0.2

在12c的DataGuard下,当试图在Primary创建新的PDB时,Standby端无法同步创建该PDB并且redo apply停止。具体表现为:
v$pdb视图出现了新pdb;
dba_pdbs视图下未出现新pdb;
关闭redo apply时,居然显示未启用:

点击(此处)折叠或打开

  1. alter database recover managed standby database cancel;
  2. ERROR at line 1:
  3. ORA-16136: Managed Standby Recovery not active
另外注意到,多出了路径有问题的数据文件:

点击(此处)折叠或打开

  1. SQL> select file#,name from v$datafile;
  2. ……
  3.         25
  4. +DATA/RACDB/35112BB187971752E0531506A8C09821/DATAFILE/system.285.914342455
这个路径是Primary端的路径。由此想到,是没有设置路径转换造成的。

解决方法:
在Standby端设置相关参数:

点击(此处)折叠或打开

  1. alter system set DB_FILE_NAME_CONVERT='+DATA/RACDB/','/oradata/STBY/' scope=spfile;
  2. shutdown immediate
  3. startup mount
  4. alter database open read only;
  5. alter database recover managed standby database disconnect;
接下来,就可以在Primary端创建PDB了。完成后,发现一切都正常了。

另外,Primary端最好也设置db_file_name_convert参数,以备当其转变为Standby角色。注意,此时应该Standby在前,Primary在后。





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-2119134/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-29

  • 博文量
    215
  • 访问量
    401577