前后折腾了一个星期左右时间,把物理方式下建立ORACLE data guard配好了,同事帮了不少忙,在此表示感谢。在这个过程中遇到了很多问题,有的问题很浅显,一下就解决了;有的问题是因为粗心引起的,比如说在服务器参数文件里面少写了一点,结果花很长时间来排错;有的问题第一次碰到,解决了之后很兴奋,因为又积累了经验,就像上次配置HP MC双机的时候碰到的那个问题,之前从未碰到过,这样折腾一下倒还认识了kcmodule这么样一个命令,附带一些不同的内核参数。
在这之前也尝试配置过data guard,参考过一些文档书籍,最后以失败告终,倒在主、备节点日志文件不能同步这个问题上再也回不得头来。经过这一次,我发现网上很多参考文档甚至业已出版的技术类书籍都是写得含含糊糊不太完整的,很多应该特别指出的地方被他们给忽略了;很多可以省略的地方又花了大量的篇幅来解释,这显得没有必要。在此要提到ITPUB出版的《大话ORACLE RAC》一书,涉及到RAC的部分都写得很不错,唯独data guard配置那一章有一些问题,比如第373页中间这一句:
“RAC的原有参数不变,添加下列参数:
*.service.name=wxxr_rac“这一句里面的“service.name”应该是“service.names”才对,少写了一个“s”,有时候就是这样的,失之毫厘谬以千里,涉及到参数的地方更应该严谨一些。这样的错误在实验过程中我也碰到过一次,把整个人搞得很崩溃,所幸后来找到问题所在。
除此之外,主备节点切换的过程也写得比较粗糙,有点一笔带过的感觉,其实这部分恰恰是比较重要的。
在我看来,配置data guard过程中涉及比较重要的文件分别是:服务器参数文件、密码文件、listener.ora文件以及tnsnames.ora文件,其中尤以服务器参数文件以及listener.ora最为重要,因为在这里要采取静态方式来配置listener.ora文件,以往那种动态方式是行不通的,因为要保证备节点在mount方式下也能注册到数据库,动态方式下做不到这一点。
ORACLE data guard和ORACLE RAC都是当红巨星,越发受人待见,在银行、企业、政府机构等等中扮演着重要的角色。在这里引用点《大话ORACLE RAC》里面的话,我对这本书里面data guard配置部分不是太满意,但其他地方还是很膜拜的:
“RAC的强项在于解决单点故障和负载均衡,因此RAC方案常见于24*7的核心系统。但RAC方案中数据只有一份,尽管通过RAID等机制可以避免存储故障,但是数据本身是没有冗余的,容易形成单点故障。而Data Guard是通过冗余数据来提供数据保护的。通过日志同步机制保证冗余数据和主数据库之间的同步,这种同步可以是实时、延时、同步、异步多种形式。常用于异地容灾和小企业的高可用性方案。"
ORACLE data guard有两种实现方式,一种是物理方式下的data guard,也就是我实验中用到的,通过在备节点上同步主节点上的redo日志来实现;还有一种是逻辑方式下的data guard,通过在备节点上应用主节点上redo日志转化而来的SQL语句实现日志同步。因为这种方法没有物理方式使用普遍,所以我暂时先做物理方式下的data guard实验,逻辑的以后再说。
下面进入正题。
阅读(2107) | 评论(0) | 转发(0) |