太极计算机股份有限公司
专用的命令行界面 (DGMGRL) 来利用这个集成的管理框架。
与 Oracle 数据库集成 — Oracle Data Guard 是作为 Oracle 数据库(企业版)的一个完全集成的功能提供的,无需任何额外费用。
2.3 Data Guard提供的保护模式
Oracle针对用户的不同需求提供三种保护模式:最大保护模式、最大性能模式、最大可用模式。
Oracle提供的Data Guard在最大保护模式下可以确保数据完全不丢失。它在写本地日志的同时写远程standby的数据库日志。只有两个日志均写成功后一个操作才是正式完成。这种方式确保了数据的最大安全,能够确保主数据库损坏的情况下没有任何数据丢失。但这种情况对主数据库性能有较大的影响,即使在高速的局域网内,最大保护模式也会对主数据库性能有超过10%的性能影响。这种方式对主备两个数据库之间的链路有非常高的要求。在这种保护模式下无论是网路链路还是standby数据库等发生故障导致日志无法正常写均会导致主数据库无法使用。因此只有在对数据安全要求最高的情况下才会考虑使用这种方式。
Oracle也提供最大性能模式。这种模式下,不传输实时修改的日志文件,传递的是归档日志文件,因此对主数据库性能影响很小。归档日志文件传递是否能够成功对主数据库运行没有任何影响,因此在网络出现中断或者standby数据库出现异常也不会影响主数据库的正常运行。但因为日志没有同步写,因此在灾难发生的时候备份数据库与主数据库可能有一定的数据差异。
Oracle提供的第三种模式是上述两种方式的折中。在网络正常的情况下它的运行方式类似于最大保护模式,日志实时传递。当网络或standby出现故障的时候它的运行模式类似于最大性能模式,日志延迟传递,不会导致主数据库停止运行。这种方式在正常情况下因为日志实时传递,因此同样对主数据库性能有较大影响,而且对网络链路要求较高。
综上所述,不同的保护模式比较如下:
对主数据库性能影响 对网络链路要求 最大保护 较高 极高 最大可用 较高 高 最大性能 低 低 太极计算机股份有限公司
备份系统发生故障 数据保护 主数据库不可用 无数据丢失 无影响 基本无数据丢失 无影响 少量数据丢失 2.4 Data Guard实现方式以及对系统的限制要求
Oracle针对不同的用户情况提供的两种不同的standby方式。物理standby ,逻辑standby。
物理standby数据库,在通常的模式下备份库始终处于恢复状态,用户无法访问备份库的数据。如果需要访问数据,需要将恢复模式停止,将数据库打开到只读状态。这两种状态是排它的,也就是说数据库要么是恢复状态,保持和主数据库一致,在这种状态下数据库内容不可访问;要么是只读状态,数据库不会做恢复与主数据保持一致。
Oracle还提供逻辑standby数据库。这种方式下数据库可以在打开的状态下保持与主数据库的同步工作。这种打开状态和普通的数据库open状态不同,不能对数据做修改。这种方式通常用于繁忙的系统,如主数据库日常完成业务处理,逻辑standby数据库在完成容灾的同时分担主数据库的查询统计工作。这样大大节约了系统资源。但这种方式对数据库有一定的限制,并不是所有的系统都能够支持。部分较为特殊的数据类型不支持,另外所有的表必须要有主键或者唯一性索引。
无论是物理standby 还是逻辑standby均对系统要求如下:
? 主备数据库必须是完全相同的硬件架构,如均为SUN平台。机器的内存
大小、CPU数量主频可以不同。 ? 操作系统版本、补丁完全相同。
? 数据库版本完全相同。但RAC选件可以不同。即主数据库可以是RAC
模式,备份节点可以是单机。
2.5 切换方式
Oracle Data Guard可以实现failover 以及switchover的切换。 Switchover指有计划的切换。如系统主数据库服务器需要硬件维护等有计划的停机操作。这时候可以手工将所有的日志以及归档日志文件传输到备份节点
太极计算机股份有限公司
后执行switchover的切换。这种情况下等主数据库恢复正常后系统可以手工切换回来。
Failover切换是指系统出现了异常情况下的切换。系统管理员发现主数据库服务器无法提供服务,决定启动容灾系统。在这种情况下的切换后如果主数据库服务器恢复正常后需要重新配置整个Data Guard环境,无法切换回主数据库服务器。
无论是那种切换方式,主备系统之间均存在部分差别。如IP地址不同,需要修改服务器IP 地址或应用程序重新指向。因为在不同的局域网内,应用中间件需要跨防火墙访问系统。机器档次不同、网络带宽不同造成的性能下降等问题。这需要在容灾的预案中考虑。
太极计算机股份有限公司
第三章 系统建议方案
针对本容灾方案,我们推荐采用Oracle Data Guard技术。
3.1 Data Guard优势
? 节约投资
Oracle Data Guard是Oracle原厂自带的容灾产品。该产品完全免费。在容灾软件上用户无需支付额外费用,这可以大大节约用户的资金投入。 ? 技术成熟、稳定
早在Oracle 7版本就已经推出该功能(当时名称为Standby数据库)。其核心采用了Oracle成熟的归档、备份、恢复技术。经过多年不断的发展,已经成为一项技术成熟、稳定,有广泛成功案例的技术。 ? 对系统运行性能影响小
Data Guard在主数据库服务器端不存在对日志解析等工作,仅需要主数据库服务器端将归档日志文件传输到容灾节点。因此对生产系统性能影响极小。
? 能够满足用户基本业务需求
Data Guard能够满足用户基本的数据容灾、RTO、RPO、带宽等相关基本业务需求。
3.2 Data Guard运行模式
Oracle提供了物理Data Guard以及逻辑Data Guard两种不同的方式。这两种方式各有优缺点。因为用户数据库中存在大量表,这些表没有PK/UK;因此无法满足逻辑Data Guard的使用前提条件。在本方案中,我们推荐采用物理Data Guard的方式。
太极计算机股份有限公司
3.3 Data Guard保护模式
根据用户的实际情况,在主数据库服务器和容灾数据库服务器之间距离较远,使用最大保护模式和最大可用模式均会严重影响主数据库的运行性能。用户允许在出现异常情况下15分钟内的数据丢失量,因此采用最大性能模式可以在现有带宽的情况下满足用户的容灾需求。
采用最大性能模式,系统不会实时传输日志文件,传递的是归档日志文件,因此对主数据库性能影响很小。归档日志文件传递是否能够成功对主数据库运行没有任何影响,因此在网络出现中断或者standby数据库出现异常也不会影响主数据库的正常运行。但因为日志没有同步写,因此在灾难发生的时候备份数据库与主数据库可能有一定的数据差异。
3.4 Data Guard初始安装步骤
1、确认主数据库运行于归档模式
如果主数据库没有处于归档模式,那么需要将数据库运行模式修改为归档模式。该修改过程需要短暂停止数据库运行。
2、物理备份主数据库的所有数据文件
该部分工作可以在不影响业务正常运行的情况下执行。该部分工作依据数据量以及I/O速度不同,所需要的时间也不同。一般估算,100G的数据应在1小时内备份完成。该备份操作启动后无需人为干预。
3、在主数据库创建standby 控制文件 通过命令创建灾备中心的控制文件。
4、拷贝备份的数据文件、standby控制文件及日志文件到备份节点。 因为数据量较大,可以将备份的文件压缩后传递。100G的备份文件经压缩,通常压缩率在40% - 50%之间。100G文件压缩后约50G。在网速为20M带宽的情况下,假设网络利用率为70%,那么速度约为6G/每小时;50G的文件需要9个小时传递完成。在网速为100M带宽的情况下,假设网络利用率为70%,那么速度约为30G/每小时;50G的文件需要1.5个小时传递完成。在数据传输启动后无需人为干预。