DataGuard配置说明

  • 格式:docx
  • 大小:40.03 KB
  • 文档页数:12

DataGuard配置说明

Oracle Data Guard配置

同一操作系统平台的单机普通存储数据库的Data Guard配置

操作系统:Windows 2003 Server

主数据库名称:dgmain

备数据库名称:dgstand

1.启动主数据库的强制日志记录功能,避免Nologging子句的影响

ALTER DATABASE FORCE LOGGING;

2.配置日志传递的安全认证

一般情况,设定remote_login_passwordfile=exclusive,并且配置tnsnames.ora即可

3.配置主数据库的初始化参数

#主库作为主数据库的配置:

DB_NAME=dgmain#主备数据库必须相同

DB_UNIQUE_NAME=DGMAIN#主备数据库不能相同

LOG_ARCHIVE_CONFIG='DG_CONFIG=(DGMAIN,DGSTAND)''#DataGuard专用配置,主备数据库相同

control_files='E:\Oracle\oradata\DGMAIN\control01.ctl','E:\Ora

cle\oradata\DGMAIN\control02.ctl','E:\Oracle\oradata\DGMAIN\contro l03.ctl'#控制文件

LOG_ARCHIVE_DEST_1='LOCATION=E:\Oracle\oradata\DGMAIN\ARCH\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=DGMAIN'#主数据库归档地址

LOG_ARCHIVE_DEST_2='SERVICE=DGSTAND ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=DGSTAND'#备用数据库归档地址,由该配置指定向备用数据库写归档日志 LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc 归档日志文件名格式

LOG_ARCHIVE_MAX_PROCESSES=30#默认是4,可以不修改

#主库作为备用数据库的配置:

FAL_SERVER=DGSTAND

FAL_CLIENT=DGMAIN

DB_FILE_NAME_CONVERT='DGSTAND','DGMAIN'

LOG_FILE_NAME_CONVERT='DGSTAND','DGMAIN'

STANDBY_FILE_MANAGEMENT=AUTO

4.启动数据库归档模式

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

5.在主库创建备用重做日志。备用重做日志对主库是非必须的,对备用库是必

须的。为方便主库和备用库的切换,在主库也创建备用重做日志。

SELECT GROUP#, BYTES FROM V$LOG;#查询联机日志文件

SELECT GROUP#, BYTES FROM V$STANDBY_LOG;#查询备用日志文件

ALTER DATABASE ADD STANDBY

LOGFILE('e:\Oracle\OraData\DGMAIN\ sredo01.log') SIZE 20M; #需要生成2个以上

6.创建主数据库的一个备份。

为简单起见,以免出现不必要的错误,使用数据库冷备份。

7.创建备用数据库的控制文件

shutdown immediate

startup mount

alter database create standby controlfile as 'e:\dgstand.ctl'; alter database open;

8.创建并修改初始化参数文件

create pfile='e:\init.ora' from spfile;

对e:\init.ora做如下修改

#备库作为备用数据库的配置:

DB_NAME= dgmain # 主备数据库必须相同

DB_UNIQUE_NAME=DGSTAND#主备数据库不能相同

LOG_ARCHIVE_CONFIG='DG_CONFIG=(DGMAIN,DGSTAND)'# DataGuard专用配置,主备数据库相同

control_files='E:\Oracle\oradata\DGSTAND\control01.ctl','E:\Or

acle\oradata\DGSTAND\control02.ctl','E:\Oracle\oradata\DGSTAND\con trol03.ctl'# 控制文件

LOG_ARCHIVE_DEST_1='LOCATION=E:\Oracle\oradata\DGSTAND\ARCH\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=DGSTAND'# 备用数据库归档地址

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc#归档日志格式,一定要给前面的log

LOG_ARCHIVE_MAX_PROCESSES=30#默认是4,可以不修改

DB_FILE_NAME_CONVERT='dgmain','dgstand'

LOG_FILE_NAME_CONVERT='dgmain','dgstand'

FAL_SERVER=dgmain

FAL_CLIENT=dgstand

STANDBY_FILE_MANAGEMENT=AUTO

#备库作为主数据库的配置:

LOG_ARCHIVE_DEST_2='SERVICE=DGMAIN ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=DGMAIN'# 备用数据库归档地址,由该配置指定向作为备用数据库的主数据库写归档日志 LOG_ARCHIVE_DEST_STATE_2=ENABLE

创建服务器参数文件

create spfile from pfile='e:\init.ora';

9.创建备用数据库运行环境

a)创建Oracle服务。Windows平台专用。

oradim -new -sid DGSTAND -startmode manual

b)准备密码文件

密码文件一定要从主数据库复制,而不能使用以下命令生成,否则即使

设定的密码一样,还报告没有权限

#orapwd file=PWDDGSTAND.ora password=internal

entries=5

c)监听器配置,可使用动态注册,如果使用DUPLICATE命令,则必须静态

注册

d)配置网络服务tnsnames.ora,主库到备库的连接通过网络服务方式连接

e)复制主数据库的encryption wallet到备用数据库(一般不需要)

10.启动备用数据库

startup mount

11.启动日志应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE

USING CURRENT LOGFILE DISCONNECT FROM SESSION;

12.检查操作是否成功

SELECT thread#,max(SEQUENCE#) FROM V$ARCHIVED_LOG

group by thread#;

ALTER SYSTEM SWITCH LOGFILE;

SELECT DESTINATION, STATUS, ARCHIVED_THREAD#,

ARCHIVED_SEQ#,ERROR FROM V$ARCHIVE_DEST_STATUS

WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE'; 13.如果数据库软件有实时查询功能的授权,则可以将备用数据库以只读模式打

开。这样可以在备用数据库上进行查询,而且在主数据库的修改可以立即反应到备用数据库上。

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE

CANCEL;

ALTER DATABASE OPEN;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE

USING CURRENT LOGFILE DISCONNECT;

使用RMAN进行Data Guard配置

操作步骤:

以上的1,2,3,4,5,6,8,11,12与普通DataGuard配置方式一样

与普通DataGuard配置的区别是:

1.第7步,不需要创建备用数据库的控制文件,使用DUPLICATE命令能够自动

创建

2.第9步的监听器配置必须是静态注册数据库,否则不能正常连接

3.第10步,由于没有控制文件,启动数据库到未加载状态(STARTUP NOMOUNT)

4.启动数据库到未加载状态完成后,需要使用RMAN连接,并执行DUPLICATE

命令

rman target=sys/password@dgmain

auxiliary=sys/password@dgstand duplicate target database for

standby from active database dorecover;

具体的DUPLICATE命令可参考Oracle的备份恢复文档

使用ASM的数据库的Data Guard配置

只要修改两个参数的配置即可,如下形式,注意“+DATA”:

DB_FILE_NAME_CONVERT='+DATA/syswin','E:\Oracle\orada