12c推出CDB后,在集中部署和运维方面有着独特的优势。但是在Active DataGuard上面就有了限制。
传统的部署方案可以在一台物理主机上安装一套数据库软件,创建多个实例。我们可以为每一套数据库部署一个Active DataGuard。
如果主库所在的服务器部署了10个数据库,在备库所在的服务器可以相对应10个物理备库。每个物理备库都是独立存在的,只要条件允许就可以和相对应的主库切换角色。
升级到12c CDB后,将原来的独立数据库以PDB的方式迁移到CDB,在CDB级别做物理ActiveDataGuard就可以将整个CDB数据库包括所有PDB一次性完成,不需要为每个PDB单独做。但是问题也随之出现,可以对PDB做切换么?
答案是:不可以
原因总结如下:
1. database role只适用于CDB级别,不支持PDB。也就是说PDB是没有primary和standby定义的。
2. switchover和failover的执行会使得整个CDB切换角色。
3. redo日志在CDB级别统一管理
4. 归档日志在CDB级别统一管理
.. 等等
12c CDB切换会将整个CDB和包含在内的所有PDB一并切换。
所以在升级前要考虑清楚,如果使用12c的ADG,并且每个数据库都要求做switchover或failover的话只能选择传统数据库方式NON-CDB。
传统的部署方案可以在一台物理主机上安装一套数据库软件,创建多个实例。我们可以为每一套数据库部署一个Active DataGuard。
如果主库所在的服务器部署了10个数据库,在备库所在的服务器可以相对应10个物理备库。每个物理备库都是独立存在的,只要条件允许就可以和相对应的主库切换角色。
升级到12c CDB后,将原来的独立数据库以PDB的方式迁移到CDB,在CDB级别做物理ActiveDataGuard就可以将整个CDB数据库包括所有PDB一次性完成,不需要为每个PDB单独做。但是问题也随之出现,可以对PDB做切换么?
答案是:不可以
原因总结如下:
1. database role只适用于CDB级别,不支持PDB。也就是说PDB是没有primary和standby定义的。
2. switchover和failover的执行会使得整个CDB切换角色。
3. redo日志在CDB级别统一管理
4. 归档日志在CDB级别统一管理
.. 等等
12c CDB切换会将整个CDB和包含在内的所有PDB一并切换。
所以在升级前要考虑清楚,如果使用12c的ADG,并且每个数据库都要求做switchover或failover的话只能选择传统数据库方式NON-CDB。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29047826/viewspace-1695961/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29047826/viewspace-1695961/