专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » standby:standby Database »正文

standby:standby Database

来源: 发布时间:星期一, 2009年3月2日 浏览:0次 评论:0
="t18">
  前言
  
  当chao_ping提议我开个STANDBY DATABASE技术专题讨论时候我本来是想专门就STANDBY DATABASE技术方面进行讨论 看罢 3十余篇跟贴实在感到有必要在深入技术问题的前先说些题外虽然这些是和技术无关话题但对于从业IT界打工者来说却是个首先应该考虑问题
  
  我们是做技术人员意思就是说在企业治理上我们最多能做我们所说对治理者来说只能是参考意见决策并不在于我们很多IT技术员非凡是很多初出茅庐年轻朋友都觉得技术人员是个企业中最重要假如我技术好天下就是我这里面有很多误区打个比方来说技术人员对公司将用什么服务器用什么database server做后台有多少控制能力呢?现在有很多公司把Oracle数据平台定在IBMAIX UNIX 服务器这是个有道理选择吗?在众多UNIX 平台上面众所周知是AIX并不是Oracle首选推荐操作系统Oracle在AIX平台上许多bugs这两个公司相互推诿用户根本不能及时得到patch解决存在问题但是公司决策如此做技术人员能决定多少公司治理阶层也许有他们道理譬如说公司层决定所有服务器象某个公司购买可以得到更大折扣减少技术上面打交到支持厂商等等我们只能接受公司选择在这点上我们和公司其他职员没有什么两样假如抱着“惟我独尊”思想首先在人际上就得不到赞同
  
  提到了人际关系许多人会讲中国人际关系很复杂国外也许好多了实际上呢全世界那里都是在中国处理不好出了国也样处理不好我们都有在看论坛帖子有人贴出来也有人反弹诸如低手不宜或讽刺别人不好等等我不想用古人曰 3人行必有我师的类来论证从最低的处感念你有问题有人愿意帮助你无论帮上了或没帮上你都应心存感激的心不是吗
  
  回归到STANDBY DATABASE讨论上许多帖子提到是否应该选用STANDBY DATABASE问题其实这个问题也并不仅仅是个技术上面问题这就是我上面说了堆题外话原因
  
  当某个DATEBASE需要非凡功能时候譬如HIGH AVAILABLEDISASTER RECOVERYSCALABILITY等等做为技术人员我们首先要做看看市面相关产品中那样能提供我们所要功能各类产品各有千秋在我们所需要功能那个最能满足要求不要第个念头就问别人没有人比你自己更了解你需要什么做了研究的后不确定可以请向资深人咨询不过基本观点就是别人提议只是你参考我还要说没有人比你自己更了解你需要什么
  
  技术人员确实要从技术上了解那个产品最适合技术要求但这并不能保证最后选用产品是最适合技术要求产品最后选择和很多方面条件有关举个例子来说我有个DATABASE需要HIGH AVAILABLE, SCALABILITY这样子看下来OPS是最适合可是接下来问题是OPS需要额外LICENSING FEE我们目前有硬件不能支持OPS需要订购新订购新设备到达的前DATABASE就必须进入生产模式再复杂点呢我们技术部门老板要用OPS可是项目治理部门老板要用STANDBY DATABASE现有硬件支持又不需要购买额外软件Software他们两个个管技术个管钱两个人都懂些Oracle技术又都不是专家凭良心讲OPS和STANDBY都能应付目前需求长远来讲OPS好究竟用是client/server式前台软件Software用户以后也许有增加趋势不过这些内容也超过了技术人员职责范围我只管按照最后决定做就是了我没有最后选择和决定权利
  
  最后我希望能谈下IT从业人员职业道德问题做为某领域专家也许很多时候会被请教和专业相关问题有项目会请你推荐运行平台或后台选用那个公司DATABASE支持虽然很多新技术很具吸引力但IT技术人员不能自己想学想用某产品而推荐并不适合该项目产品、Standby Database 工作原理
  
  1. Oracle 和 High Availability, Disaster Recovery 及 Data Duplicate 相关功能产品概述
  
  Oracle High Availability 功能Oracle 是从下面几个方面来诠释:
  
  (1) system faults and crashes
  (2) application and middleware failures
  (3) network failures
  (4) media failures
  (5) Human Error
  (6) Disasters and extended outages
  (7) Planned downtime, tenance and management tasks
  
  上述第 6项就包含了disaster recovery 在内因此 disaster recovery 应该算做 high availability 个方面了
  
  总来说除了以Oracle database 本身参数进行性能调解外Oracle 提供支持high availability 相关产品主要有下面几种:
  
  (1) Oracle Fail Safe on NT
  (2) Oracle Parallel Server
  (3) Oracle Parallel Fail Safe
  (4) Oracle Advanced Quening
  (5) Oralce Advanced Replication
  (6) Oracle Standby Database
  
  在Duplication data 方面主要有用于distribited data 功能Advanced Replication 和我们讨论过 standby database

  
  从参和讨论帖子来看相关问题是集中在OPSstandby database 和 Advanced Replication 选择因此我就先将这 3种产品做下比较
  
  OPS (Oracle Parallel Sever)
  
  OPS 最原始设计初衷就是system/application high availability和其他产品相比较:
  OPS 是多个单CUP机或SMP(Symmetric Multi-Processing system) cluster (MPP Massively Parallel Processing) cluster 里面区别 node 使用个(般是个)或多个oracle instances 和个database 连接
  
  主要技术特点:
  (1) database 所有data files 是建立在 raw devices 上面因此在技术方面对OS 设置有很高依靠性很多方面取决于OS对设置是否支持
  (2) 在database 方面每个node都有自己单独 on-line redo log file groups因此在做backup 和recovery 时候需要非凡处理
  (3) OPS data files 方面并没有redundance因此 media failure 方面要依靠RAID (redundant .gif' /> of ineXPensive disk) subsystem.
  Oracle 从8i 开始在OPS基础上逐步在区别OS平台上增加了Fail Safe/Failover 功能这里不尽具体描述
  
  Advanced Replication
  
  Replication 设计初是分散异地application Access database locally这种技术可以将个database 中TablesIndexesViewsPackages and Package BodiesProcedures and FunctionsTriggersSequencesSynonyms复制到另database中假如是全部database 复制也可用于high availability
  
  个范例yahoo在美国东岸和西岸各有个镜像database是采用 replication 技术东西两岸用户是连到最近database从而提高访问速度假如个database出了问题用户自动转入和另个相连实现网站WebSitehigh availability这种high availability 对用户来说是透明
  
  其他范例在公司中应用例如HR database中雇员资料在accounting database 中需要除去薪资等其他资料可以在HR中建立个view以replication 技术复制到 accounting database 中
  大多 replicas 都是在异地从而在异地建立了redundance dataReplication 是对于database 来说 high availability
  
  2. standby database 工作原理
  
  写了这么多现在才开始真正要讨论题目
  
  从设计原理上来讲standby database 是为 primary database 建立备份因此具有 redundance data也是相对于 database 来说 high availability
  
  standby database 为 primary database 做备份是通过 primary database 不断产生出archived log files 来实现primary database 处于 archive mode 状态持续送出 archived log files 给 standby database而 standby database 则处于 recovery mode持续apply primary database archived log files.
  
  为了完成上述过程必须具备以下条件:
  
  (1) 假如primary database 和 standby database 是运行在区别服务器上面那么这两台服务器必须有相同version 和 release 操作系统;必须有相同 version, release 和 patch oracle RDBMS 系统
  (2) Oracle 是答应 primary 和 standby database 在同个服务器上面运行假如是这种情形建议这两个databases 要分布在区别physical disk drives 上面并且不是所有操作系统都支持mount 两个instances 连接两个同名databases
  (3) Primary database 必需处于archive log mode
  (4) Oracle 从 version 7.3才开始支持 standby database7.3.x – 8.0.x 需要手工copy 所有archived log files 从 primary server 到 standby server并且需要手工 recovery archived log files (当然这些可以通过 OS shell scripts, sql scripts 等等思路方法来实现) ;并且standby database 只能够处于close/nomount/mount 状态
  (5) Oracle 从version 8i (8.1.5以后) 开始支持 primary database 可以将 arhived log files 自动送到最多个remote site (般即standby database server) 本地则可多达 7个地点
并且standby database 在mount 状态
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: