Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1115587
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2013-12-12 15:44:01

配置DataGuard,可以使用图形界面的Data Guard Manager,或者命令行手动创建DG。
 
一、图形界面
1.先确认standby HOST上是否有与primary一样的ORACLE软件

2.查看到ocm2上也安装有10.2.0.2版本的ORACLE数据库软件

 
3.点击Database -> db1,选择Maintenance

 
4.找到DataGuard,点击

 
5.点击增加一个standby数据库

 
 
6.创建一个新的物理standby数据库

 
7.选择备份类型,选择第一个执行一个在线备份

8.指定备份目录

 
9.输入standby数据库实例名,可以输入和primary数据库一致的db1,也可以输入其他名称。指定standby数据库所在的位置,只有安装了与primary相同版本数据库软件的主机才会列出。

 
10.指定standby主机备份文件的存放位置。

 
11.指定standby数据库文件的位置,默认使用OFA,自动进行转换。

12.指定数据库网络配置文件的位置

 
13.如果有警告,可以点击继续。

14.指定standby数据库唯一名,不能和primary数据库名一样。指定standby数据库归档目录。

 
15.回顾一下配置情况,没有问题就点OK。

 
16.等待一段时间处理。

 
17.没有报错的话,就能正确配置为以下情况。注意查看到Data Guard Status为Normal,才正常。

 
 
二、命令行
 
使用DGMGRL可以将创建好的物理standby数据库通过DG_broker进行管理。
 
primary数据库已经手动建好,并开启了归档以及force logging
startup mount;
alter system set log_archive_dest_1='location=/oracle/arch/db1 valid_for=(all_roles,online_logfiles)';
alter database archivelog;
alter database open;
alter system set standby_file_management=AUTO;
alter database force logging;
 
 
2个数据库的db_name参数相同
db_unique_name不同
 
primary数据库上就先配置1个参数:
alter system set log_archive_config='dg_config=(db1,dg1)';
 
创建standby数据库的密码文件
orapwd file=$ORACLE_HOME/dbs/orapwdg1 password=oracle entries=10
 
standby数据库参数文件修改以下4个参数:
db_unique_name='dg1'
log_archive_dest_1='location=/oracle/arch/dg1 valid_for=(all_roles,online_logfiles)'
db_file_name_convert='/oracle/oradata/db1','/oracle/oradata/dg1'
log_file_name_convert='/oracle/oradata/db1','/oracle/oradata/dg1'
 

监听文件中增加2个GLOBAL_DBNAME
(SID_DESC =
  (GLOBAL_DBNAME = db1_DGMGRL)
  (ORACLE_HOME=/oracle/ora10g)
  (SID_NAME = db1)
)
(SID_DESC =
  (GLOBAL_DBNAME = dg2_DGMGRL)
  (ORACLE_HOME=/oracle/ora10g)
  (SID_NAME = dg2)
)
 
分别启动监听
各自配置tnsname
将standby数据库启动到nomount状态
 

使用rman创建standby数据库:
rman target auxiliary
backup current controlfile for standby database;
将备份文件传输到standby端相同位置
duplicate target database for standby;
如果文件位置完全相同,加上nofilenamecheck,不检查文件名转换。
duplicate target database for standby nofilenamecheck;
 
创建standby logfile。注意,standby log最好大于online redo log数量:

alter database add standby logfile group 4 ('/oracle/oradata/db1/std01.log') size 50m;
alter database add standby logfile group 5 ('/oracle/oradata/db1/std02.log') size 50m;
alter database add standby logfile group 6 ('/oracle/oradata/db1/std03.log') size 50m;
alter database add standby logfile group 7 ('/oracle/oradata/db1/std05.log') size 50m;
standby数据库上:
alter database add standby logfile group 4 ('/oracle/oradata/dg1/std01.log') size 50m;
alter database add standby logfile group 5 ('/oracle/oradata/dg1/std02.log') size 50m;
alter database add standby logfile group 6 ('/oracle/oradata/dg1/std03.log') size 50m;
alter database add standby logfile group 7 ('/oracle/oradata/dg1/std04.log') size 50m;
 
 
修改2个库的dg_broker_start参数:
alter system set dg_broker_start=true;
如有需要修改以下2个文件的路径:
ALTER SYSTEM SET dg_broker_config_file1 = '/oracle/oradata/db1/dr1mfg.dat' scope=both;
ALTER SYSTEM SET dg_broker_config_file2 = '/oracle/oradata/db1/dr2mfg.dat' scope=both;
 

配置DG broker:
create configuration DGCONF as primary database is DB1 connect identifier is db1;
add database DG1 as connect identifier is dg1 maintained as physical;
enable configuration;
show configuration verbose;
 

修改保护级别为最大可用:
edit database db1 set property LogXptMode=sync;
edit database dg1 set property LogXptMode=sync;
show database verbose db1;
edit configuration set protection mode as maxavailability;
 

切换DG:
switchover to dg1;
 

阅读(1794) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~