首页 > 应用软件 > 软件教程 > 编程开发 > 正文

虚拟机上Oracle 10g DataGuard的配置
2011-07-08 14:50      我要评论()
字号:T|T

在Oracle数据库中,DataGuard最主要的功能就是容灾。它可以分为物理STANDBY和逻辑STANDBY两种。物理STANDBY主要用在主库的归档日志方面;逻辑STANDBY主要应用的是主库的归档日志提取的SQL语句。本文主要论述的是DataGuard在虚拟机上的配置,包括STANDBY参数的文件的相关配置等。

1.环境准备

虚拟机版本:VMware GSX

操作系统 :redhat linux 4

Primary主机

ip:192.168.111.131

db_name:wellcomm

db_unique_name:wellcomm

ip:192.168.111.131

db_name:wellcomm

db_unique_name:wellcommb

2.设置Primary主机为force logging模式

alter database force logging; 

3.在Primary 上面创建备用日志(为切换而用)

alter database add standby logfile group 4 ('/u01/oracle/oradata/wellcomm/stdredo01.log') size 50m;   
alter database add standby logfile group 5 ('/u01/oracle/oradata/wellcomm/stdredo02.log') size 50m;   
alter database add standby logfile group 6 ('/u01/oracle/oradata/wellcomm/stdredo03.log') size 50m; 

4.修改primary库的参数

alter system set db_unique_name='wellcomm' scope=spfile;   
alter system set log_archive_config='DG_CONFIG=(wellcomm,wellcommb)';   
alter system set log_archive_dest_1='LOCATION=/u01/oracle/oradata/wellcomm/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wellcomm';   
alter system set log_archive_dest_2='SERVICE=wellcommb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wellcommb';   
alter system set log_archive_dest_state_1=enable;   
alter system set log_archive_dest_state_2=enable;   
alter system set log_archive_max_processes=10; 

5.克隆Primary数据库

shutdown immediate   
startup mount   
backup database; 
创建standby的控制文件

alter database create standby controlfile as '/u01/oracle/controlbak.ctl'; 
创建standby的参数文件并按standby主机的配置修改

create pfile='/u01/oracle/initwellcommb.ora' from spfile; 

6.在standby主机上恢复数据库(rman方式);

将5步的文件拷备到对应位置(ftp)

startup mount pfile='';

修改参数文件


db_name='ora10g1'  
db_unique_name='ora10g3'  
log_archive_config='DG_CONFIG=(wellcomm,wellcommb)'  
log_archive_dest_1='LOCATION=/u01/oracle/oradata/wellcommb/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wellcommb'  log_archive_dest_2='SERVICE=wellcomm LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wellcomm'  
log_archive_dest_state_1=enable  
log_archive_dest_state_2=enable  
remote_login_passwordfile='EXCLUSIVE'  
log_archive_max_processes=10  
restore database;

7.监听配置和tns服务配置

(1)primary 主机上配置

listener.ora文件内容如下:

SID_LIST_LISTENER =   
(SID_LIST =   
(SID_DESC =   
(GLOBAL_DBNAME = wellcomm )   
(ORACLE_HOME = /u01/oracle/product/10.2.0/db_1)   
(SID_NAME = wellcomm )   
)   
)   
LISTENER =   
(DESCRIPTION_LIST =   
(DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.131)(PORT = 1521))   
)   

tnsnames.ora文件内容如下:

WELLCOMM =   
(DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = wangwang)(PORT = 1521))   
(CONNECT_DATA =   (SERVER = DEDICATED)   (SERVICE_NAME = wellcomm)   )   )   WELLCOMMB =   (DESCRIPTION =   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.132)(PORT = 1521))   
(CONNECT_DATA =   
(SERVER = DEDICATED)   
(SERVICE_NAME = wellcommb)   
)   

(2)在standby主机上配置

listener.ora文件内容如下:

SID_LIST_LISTENER =   
(SID_LIST =   
(SID_DESC =   
(GLOBAL_DBNAME = wellcommb)   
(ORACLE_HOME = /u01/oracle/product/10.2.0/db_1)   
(SID_NAME = wellcommb)   
)   
)   
LISTENER =   
(DESCRIPTION_LIST =   
(DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = wangkang)(PORT = 1521))   
)   

tnsnames.ora文件内容如下:

WELLCOMM =   
(DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.131)(PORT = 1521))   
(CONNECT_DATA =   
(SERVICE = DEDICATED)   
(SERVICE_NAME = wellcomm)   
)   
)   
WELLCOMMB =   
(DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.132)(PORT = 1521))   
(CONNECT_DATA =   
(SERVER = DEDICATED )   
(SERVICE_NAME = wellcommb)   
)   

重启监听

lsnrctl stop

lsnrctl start

8.在standby主机上启动应用redo

alter database recover managed standby database disconnect from session;

(取消:alter database recover managed standby database cancel;)

9.确认从Primary到Standby的Redo传输及应用

(1)在Primary主机上执行日志文件切换(最好多次)

alter system switch logfile;

(2)查询Primary的归档日志

select sequence#,applied,first_time,next_time from v$archived_log order by sequence#;

(3)查询Standby的归档日志及其应用

select sequence#,applied,first_time,next_time from v$archived_log order by sequence#;

注意applied字段显示YES则表明该归档日志已被standby数据库应用了。

新闻热线:010-68947455

关键词: 配置

责任编辑:lujq

我要评论

已有位网友参与评论

本类最热

科技视界

网站地图

牛华网

华军下载 | 牛华网 | 盒子 | pcsoft | 论坛

实用工具

关于我们 | 新闻投稿 | 软件发布 | 版权声明 | 意见建议 | 网站地图 | 友情连接 | RSS订阅 | 总编信箱 | 诚聘英才 | 联系我们

苏ICP备11016551号-2  苏公网安备 32132202000111号 本站特聘法律顾问:于国富律师

Copyright (C) 1997-2012 newhua.com 牛华网 版权所有