数据安全探讨——入门级探讨
附件: Advanced.Replication.Research.by.Kamus.pdf (2007-9-25 11:27, 307.39 K)
附件: oracle 9i dataguard概述.rar (2007-9-26 10:45, 524.19 K)
该附件被下载次数 9
转载一篇blog,讲的简单易懂 http://www.onlyblog.com/blog2/hnshicq/archives/2007/8148.html。
?
另外还有一篇资料《Dataguard配置Step by Step》,详细(:对了解oracle者而言)介绍了unix下实施dataguard的步骤。(该网站和itpub.net的oracle版块是国内极好的oracle资料库,最好的当然是oracle官网)
【oracle stream replication】
从oracle 9iR2开始,出现了一种"流复制(stream replication)"技术,这种复制模式类似"高级复制",但是更加强大和高效。不但具备了"高级复制"的所有优点,还大大减少了cpu性能消耗和数据传输量。这是因为在传输日志时,它会先将日志进行逻辑分析,将结果进行传送而不是把所有redolog傻傻地全部传给备份数据库。举个例子,如果你先给表A插入一条数据,然后删除掉。那么“流复制”在经过日志分析后就知道表A其实没有被改变,因此就不需要传输任何数据。这种智能分析能力是之前的所有复制手段都比不上的。(PS:如果大家用过HSQLDB就会知道,HSQLDB在数据库关闭时也会执行类似操作,能够大大缩小存储空间)
“流复制”在oracle 10g中得到了极大的增强,不但提供了迁移“高级复制”到“流复制”的脚本,还提供了很好的配置和监控工具,可见oracle决心力推“stream replication”来提供更加简单强大的数据复制的能力。
?
补充:
Mysql的主从复制是通过二进制日志来实现的
先说一下这个很重要的二进制日志
Mysql数据库开启二进制日志后,服务器会把所有的执行成功的事务(当然也包括 sql了)都保存在二进制日志中,这种日志可以通过数据库进行重新执行(在快照的基础上),通过定期的快照+二进制日志,在很大程度上可以保障数据的安全和完整性,比如数据库崩溃、数据库误操作。几种主要的数据库都有类似的功能,当然叫法不同而已。国税就通过这个功能,挽救了被误删的一个申报期的数据,就在实现双机热备以后不久,实在是万幸。
Mysql的主从复制是二进制日志的一个扩展应用,从机是主机的一个快照+马上执行的二进制日志,从机使用特定权限的用户不断获取主机不断更新的二进制日志,然后马上执行(从国税服务器的实际使用看,速度在毫秒级),从而实现了数据的复制,这个已经可以称为是双机热备份了(所谓热备也是就在线备份),实际上主从复制是不限于二台服务器的,还可以有A—>B,A—>C,A—>D,或A—>B—>C—>D 等更复杂的结构
这种机制,可以扩展到生产机和查询机(甚至多台查询机)的应用,分流查询压力,国税就是采用的这种模式。
从理论上是可以 A—>B,B—>A,实现简易的“集群”,而且它是肯定可以正常工作起来的,不过实际应用中,一旦出现很高频率的更新,同步很快就会崩溃了,顺便提一下,Mysql已经有集群的解决方案了。
主从复制从数据库层面是没有解决无缝切换的要求,但通过应用层是完全可以实际的,并不需要太复杂的处理,加个判断主机的状态,发现异常后,中断从机的复制,把数据访问指向从机即可。
【2007-9 bbs】
?