DataGuard最详细的实验过程,欢迎讨论

本文档详述了一个Oracle Data Guard的实验过程,包括主备库的环境设置、配置步骤、注意事项、日志传输测试、保护模式管理和故障切换。重点讨论了如何创建standby redo logs,配置主备库参数,解决日志缺失问题,并介绍了不同保护模式的切换。
摘要由CSDN通过智能技术生成

Data Guard实验

实验环境

主库端

  • 基于linux系统安装11.2.0.4版本Oracle数据库
  • 有一个单实例数据库db_name=db_unique_name=wqdb

备库端

  • 基于linux系统安装11.2.0.4版本Oracle数据库
  • 未起数据库实例

注意事项

  • 大小写不敏感,除密码外
  • 路径结尾处是否有/是敏感的,同时末尾不要留有空格
  • 注意每个参数路径存在且权限为oracle:oinstall

主库端操作步骤

  • 检查主库是否开归档
SELECT log_mode FROM v$database;

若已开归档,则显示如下:

LOG_MODE
------------------------
ARCHIVELOG
  • 未开归档,需开归档
    该步是否需要依赖于上一步结果
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;
ALTER DATABASE FORCE LOGGING;

  • 检查主库的DB_NAME,DB_UNIQUE_NAME.
    主库和备库前者一致,后者不能一致;
SQL> show parameter db_name
SQL> show parameter db_unique_name

为了保证db_unique_name写入pfile内,alter system一下;

alter system set  db_unique_name=wqdb scope=spfile;
  • 本步可选,当需要做主备切换时需要

列出主备库上的DB_UNIQUE_NAME 参数。默认情况下,定义该参数能确保主备库数据库能够互相识别对方Primary与Standby端的db_unique_name不一致时

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(wqdb,wqdbdg)';

如在主备库db_unique_name不一致的情况下未配置 LOG_ARCHIVE_CONFIG则会出现如下报错
ORA-16057: DGID from server not in Data Guard configuration
原因:主库没有设置参数log_archive_config
解决方法*.log_archive_config=‘dg_config=( Primary , Standby )’

  • 查看数据文件位置
    DB_FILE_NAME_CONVERT该参数需要使用
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/wqdb/system01.dbf
/opt/oracle/oradata/wqdb/sysaux01.dbf
/opt/oracle/oradata/wqdb/undotbs01.dbf
/opt/oracle/oradata/wqdb/users01.dbf

  • 查看日志文件位置
    LOG_FILE_NAME_CONVERT该参数需要使用
SQL> select * from v$logfile;

    GROUP# STATUS	  TYPE
---------- -------------- --------------
MEMBER
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
IS_REC
------
	 3		  ONLINE
/opt/oracle/oradata/wqdb/redo03.log
NO

	 2		  ONLINE
/opt/oracle/oradata/wqdb/redo02.log
NO

    GROUP# STATUS	  TYPE
---------- -------------- --------------
MEMBER
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
IS_REC
------

	 1		  ONLINE
/opt/oracle/oradata/wqdb/redo01.log
NO

  • 设置dg远程归档路径

该参数仅当数据库角色为primary时生效,指定primary归档redo log到该参数定义的standby database上。
log_archive_dest_2可以说是dataguard上最重要的参数之一,它定义了redo log的传输方式(sync or async)以及传输目标(即standby apply node),直接决定了dataguard的数据保护级别。

ALTER SYST
  • 2
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值