Oracle9i数据库Data Guard实施及维护手册
- 格式:docx
- 大小:29.06 KB
- 文档页数:25
ORACLE9i下配置DataGuard本文中涉及的软件及硬件环境如下:机器a(主机名:test1)以下简称主库(cuss_1),双网卡配置,通过IP为10.5.31.42的网卡与局域网连接,通过IP为192.168.1.1的网卡与机器b直接相连。
机器b(主机名:test2)以下简称从库(cuss_2),双网卡配置,通过IP为10.5.31.43的网卡与局域网连接,通过IP为192.168.1.2的网卡与机器a直接相连。
操作系统:RHEL3.0_u7数据库版本:9.2.0.4时间校验一下******************************************************************************* *****************关于ORACLE数据库的安装1.主从两机操作系统参数修改(以root用户)vi /etc/sysctl.conf 修改后为:kernel.sysrq=1kernel.shmmax=1073741824# 这个参数为服务器ram的一半kernel.msgmni=1024kernel.sem=100 32000 100 100fs.file-max=65535net.ipv4.ip_local_port_range=1024 65000net.ipv4.tcp_max_syn_backlog=81922.主从两机重启网卡,使第一步的设置生效(以root用户)/etc/init.d/network restart3.主从两机建立ORACLE安装用户(以root用户)4.主从两机建立相关目录(777权限)(以root用户)5.主从两机ORACLE用户环境变量设置6.使ORACLE用户环境变量生效7.在主库上安装ORACLE(以ORACLE用户)选择只安装software 不安装数据库8.打包主库上的ORACLE安装后的文件,ftp到从库解开(以ORACLE用户)9.在主库上用dbca建立数据库(以ORACLE用户)。
1ORACLE数据库日常维护手册前言 (2)2 ORACLE数据库每天应检查的项目 (2)2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.6 2.7 2.7.1 2.7.2 2.7.3 2.8 2.8.1 2.8.2 2.9 2.9.1 2.9.2 2.9.3 2.9.4数据库基本状况检查 (2)检查Oracle的进程 (2)检查Oracle监听进程 (3)检查Oracle实例状态 (4)检查归档情况 (4)数据库日志文件检查 (4)检查Oracle日志文件 (4)检查Oracle核心转储目录 (5)数据库对象状态检查 (5)检查Oracle控制文件状态 (5)检查Oracle在线日志状态 (6)检查Oracle表空间的状态 (6)检查Oracle所有数据文件状态 (6)检查Oracle所有表、索引、存储过程、触发器、包等对象的状态 (7)数据库资源使用情况检查 (7)检查Oracle初始化文件中相关的参数值 (7)检查Oracle各个表空间的增长情况 (8)检查一些扩展异常的对象 (9)检查system 表空间内的内容 (9)检查对象的下一扩展与表空间的最大扩展值 (9)数据库表空间使用情况监控 (10)检查数据库定时作业的完成情况 (11)数据库坏块的处理 (11)数据库备份情况检查 (12)检查备份软件的日志 (12)检查数据库归档日志 (12)控制文件的备份 (12)数据库连接情况检查 (12)检查数据库连接 (12)检查数据库会话 (12)操作系统相关检查 (13)检查空间使用情况 (13)检查网络状况 (13)检查内存使用情况 (13)检查磁盘I/O 瓶颈 (14)3 ORACLE数据库每周应检查的项目 (14)3.1 3.2查看是否有危害到安全策略的问题 (14)查看的网络日志 (14)3.3 3.4将所有的警告日志存档 (14)查看ORACLE相关的网站,获取最新信息 (14)4 ORACLE数据库每月应检查的项目 (15)4.1 4.2 4.3查看对数据库会产生危害的增长速度 (15)查看数据库调整产生的影响 (15)查看I/O 的屏颈问题 (15)5附: (17)5.1 5.2 5.3 5.4启动数据库 (17)关闭数据库 (17)启动监听 (18)关闭监听 (19)1 前言数据库系统往往是企业或组织信息系统中最重要的基础架构,一旦数据库系统不能正常运行,那基于数据库的整个信息架构都会随之瘫痪,因此我们必须保证数据库系统持续的健康的运行。
文档标识文件状态:[] 草稿[√] 正式发布[ ] 正在修改Oracle RAC+DataGuard运维手册版本:1.0.0编制周光晖2015年01月20审核批准年月日生效日期:年月日修订历史记录日期版本修订说明作者目录第一章引言 (3)**. 编写目的 (3)**. 定义、首字母缩写词和缩略语 (4)第二章......................................................................................................... D ATA G UARD状态查询4**. 检查主备库的D ATA G UARD状态信息 (4)**. 检查进程 (4)**. 检查归档状态 (4)**. 检查最后应用的日志S EQUENCE (5)**. 查看是否使用实时应用 (5)**. 检查GAP (5)**. 检查保护模式 (5)**. 相关视图 (6)第三章................................................................................................................... SWITCHOVER 6**. 确认主库状态是否支持切换操作 (6)**. 执行主库转换 (7)**. 关闭并MOUNT新备库 (7)**. 确认老备库状态 (7)**. 切换目标备库为主库 (7)**. 打开新主库 (8)**. 启动新备库的日志应用 (8)**. 开启新备库的ADG (8)第一章引言1.1. 编写目的本文档描述了Oracle 11gR2 RAC+ADG操作手册。
包含RAC DOWN机测试,日常查询状态,启停RAC等指令同时包含oracle 11g R2 ACTIVE DATAGUARD 的日常维护指令。
1.2. 定义、首字母缩写词和缩略语第二章DataGuard状态查询2.1. 检查主备库的DataGuard状态信息SQL> Alter session set nls_date_format ='‘YYYY-MM-DD HH24:MISS';SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;使用V$DATAGUARD_STATUS结合alert日志信息,判断DataGuard使用过程中的错误信息,查看当前日志应用的状态。
DATAGUARD实施和维护总结1、DATAGUARD原理STANDBY一旦创建,DATAGUARD就会通过将主数据库的REDO传递给STANDBY数据库,然后在STANDBY中应用REDO实现数据库的同步。
有两种类型的STANDBY:物理STANDBY和逻辑STANDBY物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。
它是直接应用REDO实现同步的。
逻辑STANDBY则不是这样,在逻辑STANDBY中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。
逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表。
DATAGUARD包含三个服务(日志传输、日志应用和角色转换)日志传输服务控制REDO数据的传输(传输日志,实施数据库保护模式)--------------STANDBY上通过起用RFS进程接收REDO数据。
日志应用服务则一方面自动应用日志,另一方面自动检测STANDBY缺少的REDO,并从主数据库或其它STANDBY 中自动查询出丢失的REDO。
DATAGUARD的几种保护模式:最大保护,最大可用,最大性能最大保护是指除非REDO在至少一个STANDBY中可用,否则事务不能提交。
如果在某个STANDBY中不可用,则主数据库的操作被停止。
最大可用是指如果STANDBY不可用,主数据库仍然可以处理事务,只是在问题被纠正后,STANDBY和主数据库进行再同步。
这样的一个问题是:当再同步之前有必要FAILOVER时,有些数据可能会丢失。
最大性能是指主数据库的提交操作不等待STANDBY。
物理STANDBY可能的模式:只读模式(OPEN READONLY)和恢复模式(MANANGED RECOVERY)2、物理DATAGUARD实施主数据库的准备工作:FORCE LOGGING,ENABLE ARCHIVING,一个本地归档目的地。
业务与软件产品Oracle 9i RAC数据库日常操作及维护手册拟制:章新日期:2004-04-26 审核:日期:批准:日期:华为技术有限公司版权所有侵权必究1 RAC数据库配置 (5)1.1 SPFILE参数文件配置 (5)1.1.1 SPFILE文件的创建 (5)1.1.2 SPFILE文件的使用 (6)2 RAC数据库实例管理 (7)2.1 查看集群数据库状态 (8)2.2 启动集群数据库 (8)2.2.1 数据库的正常启动 (8)2.2.2 安装启动与非安装启动 (9)2.2.3 约束启动 (10)2.3 关闭集群数据库 (10)2.4 监听程序的管理 (11)3 RAC数据库存储管理 (11)3.1 本地表空间管理 (11)3.2 回滚表空间管理 (12)3.2.1 建立undotablespace (13)3.2.2 影响undotablespace的关键初始化参数 (13)3.3 临时表空间管理 (14)3.4 如何维护redo logfile (15)3.4.1 如何增加联机日志文件的大小 (15)3.4.2 如何增加联机日志文件组的成员 (16)3.5 如何扩展表空间 (17)3.5.1 如何扩展非临时表空间 (17)3.5.2 如何扩展临时表空间 (18)3.6 如何在RAC环境下增加新的数据或者日志文件 (18)3.6.1 AIX平台:数据库已使用卷组划分新逻辑卷 (18)3.6.2 AIX平台:新卷组上划分新逻辑卷 (20)3.6.3 HP平台:数据库已使用卷组划分新逻辑卷 (21)3.6.4 HP平台:新卷组上划分新逻辑卷 (23)4 RAC数据库的日常检查 (25)4.1 查看数据库状态 (25)4.2 查看数据文件 (25)4.3 查看日志文件 (26)4.4 查看表空间 (27)4.5 查看数据库连接用户 (27)4.6 查看数据库日志文件 (28)4.7 查看进程跟踪文件 (28)5 RAC数据库的备份和恢复 (29)5.1 EXPORT备份 (30)5.1.1 表方式 (30)5.1.2 用户方式 (30)5.2 IMPORT恢复 (30)5.2.1 表方式 (30)5.2.2 用户方式 (31)5.2.3 参数说明 (31)5.3 定时备份cron脚本 (31)6 RAC数据库错误诊断 (33)6.1 错误信息查看工具oerr (33)6.2 ORA-1652到ORA-1655 (33)6.3 ORA-01555(snapshot too old) (34)6.4 ORA-04031 (35)6.5 ORA-600 (37)7 RAC数据库故障紧急处理 (38)7.1 业务恢复处理 (38)7.2 手工收集现场信息 (39)7.3 使用ORACLE RDA收集现场信息 (40)7.3.1 RDA安装 (40)7.3.2 执行 (40)7.3.3 使用RDA需要注意的问题 (41)7.4 求助渠道 (41)8 附录 (42)8.1 SPFILE文件的文本格式范例 (42)8.2 网络配置范例 (44)8.2.1 节点RAC1的listener.ora范例 (44)8.2.2 节点RAC2的listener.ora范例 (44)8.2.3 节点RAC1和RAC2的tnsnames.ora范例 (45)8.2.4 客户端的tnsnames.ora范例 (46)Oracle 9i RAC数据库日常操作及维护手册说明:本文适用于各种平台的RAC数据库管理。
Oracale dataguard操作手册第一。
dataguard的好处:它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库的快速切换与灾难性恢复,提供了灾难保护并防止数据丢失.Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。
用户能够在对主数据库影响很小的情况下,实现主备数据库的同第二。
选用什么DG模式?DG有三种模式,最大保护(Maximum protection),最大性能(Maximum performance),最大可用性(Maximum availability),默认的就是最大性能模式。
再实际的应用种使用最大性能模式比较多。
三种保护模式:可以在V$DATABASE中查看到DataGuard的保护模式SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;第三.物理standby还是逻辑standby?1,物理stand by直接从primary接受archived log,然后直接做恢复,效率较高,因为是使用最底层的块级别上的复制。
逻辑stand by是把primary接收过来的archived log解析为sql语句,然后做同步,效率较低,因为是执行SQL语句.2,Physical standby的APPLY节点为MOUNT状态,Logical standby节点为OPEN状态,可分担primary上部分的查询和报表服务。
3,Physical standby可以实现与Primary来回switchover;logical standby切为Primary ,不能再切回来。
4,Physical standby可以切换为Logical standby ,但是logical 不能转换为Physical。
综合以上采取:物理standby模式,效率高,数据完整性好。
第四。
如何创建物理standby?见附件一:ORACLE 11G 搭建DATAGUARD步骤大概步骤如下:首先:配置主库1.1设置数据库强制归档1.2添加STANDBY日志文件1.3修改参数文件1.4修改监听配置文件1.5修改TNS配置文件1.6重启监听服务1.7启动数据库,配置DG模式:最大可用性模式或者最大性能模式1.8备份数据库其次:配置备库。
广州宝钢井昌钢材配送有限公司Data Guard实施文档北京金至泰克科技有限公司深圳分公司(2009年06月)目录概述...............................................................................................................................................................- 3 - 介绍...............................................................................................................................................................- 3 - Data Guard的保护模式.................................................................................................................................- 5 - Data Guard的类型.........................................................................................................................................- 7 - 测试环境说明...............................................................................................................................................- 8 - 物理备用数据库的实施...............................................................................................................................- 8 - 物理备用数据库的管理.............................................................................................................................- 15 - 手动进行的物理变更.................................................................................................................................- 16 - 角色转换和故障转换.................................................................................................................................- 17 -概述Data Guard是一种目前广泛采用的备份方式,用以防止任何可能引起数据丢失的因素,无论是因为人为差错、操作系统引起的崩溃,还是自然灾害和恐怖事件。
Oracle数据库维护及管理基本手册目录1 目的 (4)2 适用范围 (4)3 适用对象 (4)4 机房值班 (4)4.1 服务器规划........................................................................................ 错误!未定义书签。
4.2 日常巡检............................................................................................ 错误!未定义书签。
4.3 Oracle (4)4.3.1 表空间检查; (4)4.3.2 表碎片整理 (5)4.3.3 表索引整理 (5)4.3.4 检查数据库后台进程是否正常 (6)4.3.5 查看CRS(群集就绪软件)状态是否正常 (6)4.3.6 检查报警日志文件 (6)4.3.7 查看数据库监听状态和监听日志大小 (7)4.3.8 检查数据文件状态是否是ONLINE (8)4.3.9 检查数据库是否有失效的对象 (9)4.3.10 检查数据库服务器性能,记录数据库的cpu使用以及io wait等待 (9)4.3.11 检查数据库服务器磁盘空间使用率 (10)4.3.12 检查数据库备份是否正常 (10)4.3.13 数据库性能监控 (11)4.3.14 历史数据清理 (11)4.3.15 监控数据库JOB执行情况 (11)4.3.16 用户及权限安全监控 (12)4.4 设备重启规范 (13)4.4.1 数据库重启 (13)1目的通过对日常运行维护工作的梳理和沉淀,希望能够形成标准化的运行维护手册,以达到规范工作流程、明确职责分工、提高工作效率的目的,使得复杂的事情简单做,简单的事情重复做。
2适用范围本手册适用于运维部内部的日常维护工作。
3适用对象业务支撑中心运维部数据组。
b ei n ga re Oracale dataguard 操作手册第一.dataguard 的好处:第二.选用什么DG 模式?DG 有三种模式,最大保护(Maximum protection), 最大性能(Maximumperformance),最大可用性(Maximum availability),默认的就是最大性能模式。
再实际的应用种使用最大性能模式比较多。
三种保护模式:可以在V$DATABASE 中查看到DataGuard 的保护模式SELECT PROTECTION_MODE, PROTECTION_LEVEL FROMV$DATABASE;n ga re go od fo 第三.物理standby 还是逻辑standby ?1,物理stand by 直接从primary 接受archived log,然后直接做恢复,效率较高,因为是使用最底层的块级别上的复制。
逻辑stand by 是把primary 接收过来的archived log 解析为sql 语句,然后做同步,效率较低,因为是执行SQL 语句。
2,Physical standby 的APPLY 节点为MOUNT 状态,Logical standby 节点为OPEN 状态,可分担primary 上部分的查询和报表服务。
3,Physical standby 可以实现与Primary 来回switchover ;logical standby 切为Primary ,不能再切回来。
4,Physical standby 可以切换为Logical standby ,但是logical 不能转换为Physical 。
综合以上 采取:物理standby 模式,效率高,数据完整性好。
第四.如何创建物理standby ?见附件一:ORACLE 11G 搭建DATAGUARD 步骤大概步骤如下:首先:配置主库1.1设置数据库强制归档1.2添加STANDBY 日志文件1.3修改参数文件1.4修改监听配置文件1.5修改TNS 配置文件1.6重启监听服务1.7启动数据库,配置DG 模式:最大可用性模式或者最大性能模式1.8备份数据库其次:配置备库。
ORACLE 数据库备份软件Dataguard监控和维护文档一、运行状态监控① 查看后台logtail -f $ORACLE_BASE/admin/spring/bdump/alert_spring.log主机正常状态显示:A:下一次提交的日志序列号为7410B:日志7410不能写入,原因是7409还没有完成。
(这个属正常提示,多核CPU导致,7409 完成后,即显示A)备机正常状态显示:A:接收到主机序号为7409的日志。
B:成功写入7409 号日志。
C:等待7410 号日志。
二、主机正常状态下主备机角色切换(此操作没有太大实际意义,主机正常,没有必要切换,切换需要重新配置参数,包括中间件服务器)(谨记:无论哪台做主机,其服务名必为spring,否则前台应用会出错)主机操作:(必须先操作主机,再操作备机)①切换成备机状态sqlplus / as sysdbaalter database commit to switchover to physical standby with session shutdown;shutdown immediate;②修改启动参数(如果没有,需要增加)$ORACLE_HOME/dbs/initspring.ora*.fal_client='springsty' (本机服务名)*.fal_server='spring' (对方服务名)*.log_archive_dest_1='LOCATION=/data/oracle/oradata/spring/arch' (本地日志存放位置)*.log_archive_format='%t_%s_%r.dbf' (日志格式)*.standby_archive_dest='/data/oracle/oradata/spring/archive/' (本机接收primary传过来的日志存放位置)*.standby_file_management='AUTO' (自动管理standby 日志)*.service_names=springsty (本机服务名, 切换成备机要用springsty)*.local_listener='(ADDRESS_LIST=(Address=(Protocol=TCP)(Host=138.136.10.30)(Port=1521) )(Address=(Protocol=IPC)(Key=springsty)))' (本地监听,注意host 和key)③修改tns --- - $ORACLE_HOME/network/admin/tnsnames.ora注意spring与springsty的ip地址,应该对调一下。
« 博客园首页Oracle9i数据库Data Guard实施及维护手册作者:一江水来源:博客园发布时间:2008-08-12 23:50 阅读:850 次原文链接[收藏]Oracle9i数据库Data Guard实施及维护手册By Kamus一.Data Guard介绍备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH AVAILABLE)数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。
ORACLE 从7.3 才开始支持standby database。
7.3.x-8.0.x 需要手工拷贝所有归档日志并手工同步,从ORACLE815开始,开始支持多节点复制,并实现了自动同步,但是这种同步是数据异步模式的,可能引起数据丢失。
Oracle9i的Data Guard是对Oracle8i中Standby Database功能的加强,而Standby Database 技术出现的主要初衷就是为了容灾(Disaster Recovery),所以具有更强大功能的Data Guard 毫无疑问成了Oracle数据库高可用性解决方案中首选使用的产品。
Oracle 提供支持高可用性(high availability) 相关产品主要有下面几种:(1) Oracle Fail Safe on NT(2) Oracle Real Application Cluster (RAC)(3) Oracle Parallel Fail Safe(4) Oracle Advanced Quening(5) Oralce Advanced Replication(6) Oracle Data Guard这几种产品中,最让人困惑的是如何在RAC,Data Guard 和Advanced Replication 中选择适合自己生产环境的高可用性产品。
因此我就先将这三种产品做一下比较:RAC (Oracle Real Application Cluster)RAC的前身是Oracle8i中的OPS(Oracle Parallel Server),RAC 是多个单CPU机或SMP(Symmetric Multi-Processing system) 或者MPP(Massively Parallel Processing)的cluster 。
cluster 里面不同的服务器使用一个(一般是一个)或多个oracle instances 与一个database 连接。
主要的技术特点:(1) 数据库中所有的数据文件,控制文件和重作日志文件都是建立在裸设备(raw devices)上的,虽然随着OCFS的推出,在某些平台上面已经开始支持Cluster文件系统,但是总体来说RAC在技术方面对操作系统的设置有很高的依赖性,需要有Cluster软件的支持,难度比较大。
(2)每个数据库实例都有自己单独的联机重作日志组,因此在做备份和恢复的时候,需要特殊的处理。
(3)RAC的存储方面并没有额外的冗余,因此在介质损坏的情况下,还是需要依靠RAID 等磁盘冗余方案来支持。
软件许可证方面,RAC并未包括在数据库使用许可证(license) 之内,需要额外购买;同样,Oracle 产品的技术支持,也需在数据库支持之外另外购买OPS/RAC 部分。
总体来说,RAC的设置与维护还是比Data Guard复杂和昂贵得多。
高级复制(Advanced Replication )主要的技术特点:(1) Replication 使用分布式数据库技术在多个站点之间共享数据。
(2) Replicated Database 和Distributed Database 并不一样,在分布式数据库系统中数据在多个站点同时有效,但是一个表只会存在于一个站点中,而对于Replication 来说相同的数据将同时存在于多个站点中。
(3) 使用replication 的原因:1) Availability:也就是提供了优秀的failover保护2) Performance:由于有多个server,所以可以将用户业务分布在不同的server 上3) Disconnected computing:实体化视图允许用户在和master 断开后使用数据库的子集,在重新连接上master 之后再进行两者的同步。
4) Network load reduction:由于有多个server,所以可以减少master 的网络请求5) Mass deployment:通过变量产生自定义的实体化视图以满足多种需求(4) 在不同的Oracle 发行版本之间以及不同操作系统的Oracle 之间都可以使用Advanced Replication。
这是高级复制的最大优势所在。
而RAC和Data Guard都需要操作系统和数据库版本相同。
高级复制不需要除数据库之外额外的使用许可(license) 。
高级复制要对需要同步的每个数据库对象都进行单独的复制生成准备工作,所以当数据库中存在大量对象需要同步的话,高级复制的初期准备工作非常耗时。
而且高级复制对于DDL 操作不能很好支持,必须要使用特殊的包来执行DDL操作,才能将操作复制到远方数据库。
所以高级复制作为一个整体数据库的容灾方案并不十分理想,只有在由于费用问题,要求灾备数据库和主数据库的硬件架构不同的情况下,才应该选择这种方案。
Data Guard与RAC或者OPS比较Data Guard 在高可用性方面的使用性,可以从几个方面来探讨:(1) 数据库备份:Data Guard克隆了原始数据库,因此原始数据库有备份,具有灾备要求的冗余量;而RAC/OPS 只有一份数据库,如果数据所在的硬盘发生了问题,需要另外的方法(比如RAID)解决。
(2) 服务器的数量及利用率:RAC/OPS 至少需要双机支持,支持动态负载平衡,对於大量用户访问的环境,可以在多个服务器同时处理用户的请求。
在多机系统环境,如果尚有一台服务器运行正常,不会造成整个数据库系统由于故障彻底停机。
Data Guard可以设置在同一个服务器上面,理论上支持单机环境。
(3) 故障停机时间:如上面所说,OPS/RAC 环境只要还有一台服务器正常运行,就不会造成停机;Data Guard环境中,primary 数据库到Standby 数据库的切换,至少需要几分钟的停机时间。
(4) 费用:使用许可证方面,Data Guard不需要购买数据库之外的使用许可。
同时在维护费用方面,OPS/RAC 的实施也相对复杂,人力、物力相对昂贵。
通过上面几种产品的比较,再分析此次客户对于灾备的硬件投入和功能要求,我们认为Data Guard是比较合适的方案。
首先此次灾备环境中使用的都是SUN的小型机,符合Data Guard对于服务器同构的要求,其次由于灾备库在上海,而主库在北京,也同样满足Data Guard对于HA的要求。
而Data Guard在也同样能够满足最多丢失一分钟的数据,并且使用灾备库作为历史查询服务器这样的功能需求。
二.Data Guard类型的比较Oracle9i在Data Guard的配置方面提供了几种不同的类型,根据客户对于高可用性的不同要求,可以选择不同的Data Guard类型。
下面对于Data Guard的几种类型作一个列举和比较。
Data Guard环境中包含一个产品数据库,这是正常运行用以支撑日常业务的主数据库,称为Primary Database。
另外包含一个或者多个灾备数据库,称为Standby Database。
按照备用库(Standby Database)应用归档日志的不同方式,Standby Database可以分为物理备用库(Physical Standby)和逻辑备用库(Logical Standby)。
按照主数据库(Primary Database)的保护模式,整个Data Guard环境分为最大数据保护模式(MAXIMIZE PROTECTION),最大可用性模式(MAXIMIZE AVAILABILITY),最大性能模式(MAXIMIZE PERFORMANCE)。
按照主库向备用库传递重作信息的方式,可以分为ARCH方式和LGWR方式。
物理备用库可以运行在数据库三种保护模式中的任何一种模式下,逻辑备用库只可以运行在最大可用性模式或者最大性能模式下。
无论物理备用库还是逻辑备用库都可以在传输日志上采用ARCH方式或者LGWR方式。
物理备用库(Physical Standby):提供了一份跟主数据库在物理级别上完全相同的copy,指在数据库的block级别都是完全相同的,比如数据库表中记录的rowid。
物理备用库是通过不断地恢复Primary Database传入的重作日志数据信息来达到跟主数据库保持同步。
物理备用库在处于自动恢复重作日志信息的状态下,无法提供查询服务。
因为此时的备用数据库并不是处于正常打开的状态,数据库的非sysdba用户无法登录备用库,自然也就无法进行普通的查询业务。
逻辑备用库(Logical Standby):指在逻辑上跟主数据库保持一致,但是在物理层面上跟主数据库并不相同。
逻辑备用库是通过将Primary Database传入的重作日志数据信息转化为SQL语句,然后在备用库上重新执行来达到跟主数据库保持同步。
逻辑备用库在应用重作信息的同时也可以提供查询功能。
但是由于逻辑备用库应用重作日志的方式限制,所以逻辑备用库在功能和性能上面都有所限制。
以下是逻辑备用库的一些限制条件。
1. 以下数据类型不被支持:NCLOB ,LONG ,LONG RAW ,BFILE ,ROWID ,UROWID2. 以下操作不被支持:ALTER DATABASE ,ALTER SESSION ,ALTER SNAPSHOTALTER SNAPSHOT LOG ,ALTER SYSTEM SWITCH LOGCREATE CONTROL FILE ,CREATE DA TABASE ,CREATE DATABASE LINK ,CREATE PFILE FROM SPFILE ,CREATE SCHEMA AUTHORIZA TIONCREATE SNAPSHOT ,CREATE SNAPSHOT LOG ,CREATE SPFILE FROM PFILECREATE TABLE AS SELECT FROM A CLUSTER TABLEDROP DATABASE LINK ,DROP SNAPSHOT ,DROP SNAPSHOT LOGEXPLAIN ,LOCK TABLE ,RENAME ,SET CONSTRAINTS ,SET ROLE ,SET TRANSACTION3. 高级队列的管理和物化视图的刷新不被支持4. 要求每张表应该有主键或者唯一性索引,如果必须有没有唯一性标识的表,那么可以激活Primary库的supplemental logging属性,但是这样将会在重作日志中记录该表中每一条记录的所有字段信息,会大大增加重作日志的记录量。