Data Guard

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Data Guard
名词
Dataguard结构:
一个Primary合多个Standby(最多九个),物理位置及操作系统无限制
1.Primary
有且只有1个,可以时单实例也可以时RAC
1.Standby
可以视为Primary某个时间点的备份(事务上一直),利用Primary的REDO数据自动维护Standby
•逻辑Standby:内容相同,结构不同 SQL Apply
•物理Standby:一模一样以介质恢复方式实现同步 Redo Apply
Data Guard服务
1.Redo传输服务
RTS服务(REDO传输服务)控制redo数据
常见启动归档模式即设置一个本地归档路径,standby是设一个或多个远端service name
•传输redo数据到standby
•处理由于网络中断导致的归档中断
•控制数据库的保护模式(Gap)
•检查standby端丢失或无效的归档,并尝试从其它primary/standby获取。

1.Log应用服务
应用redo到standby以保持standby与primary一致
•物理standby,应用Redo Apply技术,即标准recover方式应用redo数据
•逻辑standby,使用sql apply技术,将redo转换成sql,然后执行
1.角色切换
•switchover:可以保证数据不丢失
•failover:Primary出现故障不能及时恢复时,在最大保护模式或最高可用性模式下,failover也可以不争不会数据丢失。

保护模式
•最大保护:确保数据绝无丢失,要求所有事物在提交前redo写入本地online redologs和standby redologs,并确认redo数据至少在一个standby数据库可用,然后才提交事务。

如果出现standby数据库不可用,primary会被
shutdown。

•最高性能:不影响primary性能前提下,提供最高级别数据报数策略,事务随时提交,primary库的redo至少需写入一个standby,鞋服可以不同步•最高可用:不影响primary前天一下,提供最高级别数据保护策略,保护方式与最大保护类似。

如果出现故障导致standby无法访问,primarily不会被shutdown,而自动转换为高性能,standby恢复后prinmary又切换为最高可用。

最大保护及最高可用需要至少一个standby的redo数据被同步写入。

三种模式都需要指定log archive dest_n初始化。

Standby数据库类型
1.物理standby
•redo应用如果正在执行redo操作,oracle不能被open
•read only模式打开可执行查询/备份
•read write模式此时暂停从primary接受redo数据,并暂时失去灾备功能1.逻辑standby
与primary逻辑结构与物理结构可以不一致
正常情况下以read write模式打开,在open状态下执行sql应用,多级standby 对某些数据类型及一些ddl/dml语句会有操作上的限制。

Data Guard操作方式
•OEM
•sqlplus命令行方式
•DGMGRL
硬件需求
1.相同系统架构
2.不同服务器硬件配置可以不同,
3.操作系统平台必须相同,版本可以略有差距,目录路径也可以不同
软件需求
1.Oracle企业版的一个特性,标准版不支持
2.同一个Data Guard配置中所欲初始化参数:conpatible值必须相同
3.必须归档模式,确保primary中打开force logging
4.同一个dg中可以有逻辑和物理,可以单实例也可以rac
5.可以同一个服务器
6.管理必须有sysdba权限
7.相同的存储架构
时间设置很重要
•standy数据库目录结构:尽量保持目录结构一致
•redologs: online redologs\archivelogs
物理standby
准备
1.启用force logging
alter database force logging;
1.创建密钥文件(如果没有的话)
同dg总所有库必须有独立密钥文件,并且sys用户具有相同密码
f:\oracle>orapwd
f:\oracle>orapwd file=f:\oracle\product\11.2.0\db_1\database\PWD orcl.o
ra password=verysafe entries=30
1.配置standby redologs
为最大保护和最高可用性模式,建议为standby配置standby redolog(可不配置,oralce会自动创建归档日志文件,并虚拟为一组standby redoblogs),并用LWGR SYNC模式传输REDO数据
•关于standby redologs
•管理standby redologs
alter database add standby logfile group 4 ('f:\oracle\oradata\orcl\sta ndbyrd01.log')size 200M;
alter database drop standby logfile group 4;--删除日志组
select group#,type,member from v$logfile; --查看日志
1.设置初始化参数
2.将Primary置于归档模式
创建物理standby
1.创建备份
建议用rman创建备份集。

1.创建Standby数据库控制文件
alter database create standby controlfile as 'd:\backup\orcldg.ctl'; --如果多次使用该命令,请确保执行时数据库处于mount状态。

创建万控制文件到standby数据库创建完成之间,确保primary不再有结构上的变化。

1.配置standby数据库的初始化参数文件
•创建pfile客户端初始化参数文件。

create pfile='d:\backup\initorcl.ora'from spfile;--spfile复制自primary
•修改初始化参数文件中的参数
主要修改两方面
–注意primary和standby不同角色对应初始化参数的配置
–注意保持各初始化参数中的路径准确有效
1.复制文件到standby服务器
•备份的数据文件
•创建的standby控制文件
•修改过的初始化参数文件
1.配置standby
•创建新的oracle service
•创建密钥文件,注意保持与primary一致
•配置监听并启动
•修改primry和standby的tnsnames.ora,各自增加对应的Net Service Name
•创建服务器端的初始化文件
1.启动物理standby的redo应用
(n>o,o>p,p>q,q>...)
startup;
select opne_mode from v$database;
通常情况下,加载到mount状态即可。

##10g版本##
进入mount后开始接受primary的redo数据,
alter database recover managed standby database using current logfile d isconnect from session;
要启动实用应用,primary发送redo必须使用lgwr,如果使用arch发送redo数据,standby无法启用实时应用,ORA-38500.
1.停止standby
•先停止parimary。

如果直接停止standby,priamry的alert中会出现错误信息,或者primary直接挂。

•正常关闭
alter system set log_archive _dest_state_2=defer;--primary
alter database recover managed standby database calcel; --standby shutdown immediate;
配置过程
set sqlprompt "orcl>"
1.确认主库归档模式
archive log list;
shutdown immediate;
startup mount;
alter database archive log;
1.设置primary force logging;
select force_logging from v$database;
alter database force logging;
1.配置primary的初始化参数
create pfile='d:\oracle\backup\pfile_orcl.ora'from spfile;
修改初始化参数文件
DB_UNIQUE_NAME=orcl;
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcldg)'
LOG_ARCHIVE_DEST_2='SERVICE=ORCLDG_192.168.1.101 ARCH VALID_FOR=(ONLINE _LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg'
LOG_ARCHIVE_DEST_STATE_2=DEFER。

相关文档
最新文档