各位大神,我刚毕业,做存储的,现在想要做快照代理技术方案。为保持快照数据一致性,想问一下数据库有没有API能够暂停整个数据库IO操作的,并flush缓存的IO?我在网上查到Oracle有一个叫Backup模式,是不是就可以实现这一功能?但google资料好像是说用来备份的begin backup,说是锁住单个文件SCN,这样做是不是也可以flush IO?

解决方案 »

  1.   

    锁定scn是为了恢复用,但是从用户角度看数据还是变化的,即使数据文件也会表.
    如果只是几个表可以用oracle一致性读.如果是全库的话建议使用expdp的一致性导出.具体方案看你的需求
      

  2.   

    刚开始我理解的不对,我是想问oracle一下有没有可供c或c++调用的函数接口,里面有没有函数能flash cache和使数据库变成只读的。
      

  3.   

    OCI/OCCI/PROC都有类似的方法。最简单是用Proc ,
    但使数据库变为只读要求权限比较告。你要做一些其它设置。