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