两台服务器,同时安装Oracle(版本相同,目录相同),要求其中一台Oracle为正式库,另一台为备份数据库,两数据库实时备份,怎么实现?
  注:了解了一下通过建立触发器的方式可以实现,但仅仅为表与表之间,不能实现数据库级别的备份;
  希望老大们给个详细实现...谢了,急!

解决方案 »

  1.   

    物理standby,楼主查下这方面的资料,这个可以
      

  2.   

    本来想详细跟你说说,但内容有点多,你自己看下这个人讲的吧
    http://kb.dbatoolz.com/ex/pwpkg.dp?p_key=11&p_what=detail&p_sr_id=2693&p_sc_id=19&p_debug=&p_search=&p_suser=&p_sdate=#top
      

  3.   


    谢谢 楼上这位,但是我看了下standby这个不能做到:1、实时同步;2、恢复需要手动操作 这两方面如果能解决就好了我看的方法的链接是:http://www.99inf.net/DB/Oracle/703.htm
      

  4.   

    最大保护模式的物理standby可以做到实时同步,但是不建议使用该模式
    恢复的确需要手动操作,但是很快,只需要切库就行了,然后主库和备库互换standby
    oracle就我目前所掌握的资料,还不能自动恢复,都需要手动介入,除非你自己设计脚本
      

  5.   

    Arch:传统的日志传送方式。现在只有在最大性能模式时才能采用。归档日志通过primary上的arch进程传送给standby的RFS进程。
    LGWr:oracle9i开始可以使用LGWR即时将日志传送到standby,而不再需要等到归档操作时才传送,已减少可能的数据丢失。在三种保护模式下都可以使用该方式传送日志。使用LGWR方式传送,在standby库上必须先建立standby redo logfile查看日志传送方式
    SQL> select dest_name,archiver from v$archive_dest;
      

  6.   


    Data Guard 是可以实时同步的,设置日志传送方式就可以了. 不过不建议这么做。 数据库的恢复都是需要手动操作的。 不知道楼主指的恢复是什么?  如果说是主备库之间的自动切换,这个还是的手动来的。 不过RAC的可用性更高点. 数据库之间的同步还可以用Steam replication来实现.. 
      

  7.   


    用高级复制。不过实时要求高的话,没有什么好的方法,trigger+dblink有性能问题。
      

  8.   

    谢谢楼上几位,服务器在重装中,暂时用这段时间学习,等装好后实践,以上几种方法(RMan、standby、dblink、Data Guard)逐个测试下吧,现在的情况来看每种方法都不能完全满足要求(或者自身认识不够),如果有好的方式解决敬请提示,择日结贴O(∩_∩)O~
      

  9.   

    补充:操作系统其中一台安装了 linux 这又为我增加了难度?是不是所有的这种备份都要求相同操作系统?那样问题大了,有没有可以解决此问题的办法?
      

  10.   

    如果操作系统不同,只有oracle 11g可以跨平台物理standby,其他版本都不可以,
    我测试过linux和windows跨平台11g完全可以实现,aix测试未成功,有bug