Oracle 数据库data guard 容灾配置方案 方案设计者:巩利民 2009年4月15日
一、data guard简单介绍
Data Guard 是一个集合,由一个primary 数据库(生产数据库)及一个或多个standby 数据库(最多9 个)组成。组成Data Guard 的数据库通过Oracle Net 连接,并且有可能分布于不同地域。Data Guard与操作系统没有任何关系(但操作系统的类型必须是一样的,版本可以不同),只要oracle数据库能够连通就可以了。
Standby又可以分为物理Standby和逻辑Standby,二者是有区别的,区别主要体现在对数据的真实性的写照上。物理Standby就像我们照镜子一样的,完全真实的呈现,逻辑Standby就像一位画家给我们素描。根据两种standby的不同特点,我们这里采用物理Standby来实现容灾。
Data Guard的要求是数据库版本必须是企业版的数据库,标准版数据库不支持DG操作。 二、Data Guard的配置方法 1、准备工作
不管物理standby 还是逻辑standby,其初始创建都是要依赖primary 数据库,因此这个准备工作中最重要的一部分,就是对primary 数据库的配置。 1)打开Forced Logging 模式
将primary 数据库置为FORCE LOGGING 模式。通过下列语句:
SQL> alter database force logging;
注:这个操作在后期的standby数据库创建完成后也要执行这个操作此命令是设置切换后日志能够正常传送 2)创建备份
shutdown冷备(主要是数据库的数据文件、日志文件、控制文件等).
3)将primary置为archive log 状态:(现在的数据库已经在归档模式下了,所以这一步就可以省略了) C:>sqlplus/nolog
Sql>conn sys/ennoracle as sysdba 再执行以下命令 Sql>shutdown immediate
Sql>Startup mount(只能在mount格式下,不能再open下) Sql>alter database archivelog; Sql>alter system archive log start 修改primary 库的配置文件。 2、创建步骤
1)创建备份(手工复制数据文件或通过RMAN) ---primary 库操作 2)创建控制文件--primary 库操作
通过下列语句为standby 数据库创建控制文件
SQL> alter database create standby controlfile as 'd:\\backup\\jsspdg01.ctl';
注:控制文件通常需要有多份,要么手工将上述文件复制几份,要么用命令多创建几个出来。另外,创建完控制文件之后到standby 数据库创建完成这段时间内,要保证primary 数据库不再有结构性的变化(比如增加表空间等等),不然primary 和standby 同步时会有问题。 3)创建初始化参数文件 ? 创建客户端初始化参数文件
SQL> create pfile='d:\\backup\\inite3suite.ora' from spfile; 4)修改初始化参数文件中的参数
根据实际情况修改,注意primary 和standby 不同角色的属性配置,注意文件路径。 然后要重建spfile文件 通过pfile 重建spfile SQL> shutdown immediate SQL>startup pfile=‘’;
SQL> create spfile from pfile='inite3suite.ora'; SQL> shutdown immediate SQL>startup
5)配置standby 数据库 拷贝文件到standby服务器 a.创建服务器端的初始化文件
b.创建新的OracleService(windows 环境下需要)。 c.创建密码文件,注意保持密码与primary 数据库一致。