Oracle Dataguard 需要配置的参数详解

Oracle Dataguard 需要配置的参数详解

目录

  • Oracle Dataguard 需要配置的参数详解
    • 一、数据库名:DB_NAME
    • 二、数据库唯一名:DB_UNIQUE_NAME
    • 三、LOG_ARCHIVE_CONFIG
    • 四、LOG_ARCHIVE_DEST_1
    • 五、LOG_ARCHIVE_DEST_2
    • 六、LOG_ARCHIVE_DEST_3
    • 七、LOG_ARCHIVE_DEST_STATE_n
    • 七、FAL_SERVER 与 FAL_CLIENT
    • 七、DB_FILE_NAME_CONVERT
    • 七、LOG_FILE_NAME_CONVERT
    • 七、STANDBY_FILE_MANAGEMENT

一、数据库名:DB_NAME

db_name参数用于标识数据库的名称。

主备各节点使用相同的db_name,推荐与service_name一致。例如:

主库:*.DB_NAME='HISDB'
备库:*.DB_NAME='HISDB'

二、数据库唯一名:DB_UNIQUE_NAME

主库与备库的唯一名称。如果主备db_unique_name不一样,需要与LOG_ARCHIVE_CONFIG配合使用。例如:

主库:*.db_unique_name='HISDB'
备库:*.db_unique_name='HISDBDG'

三、LOG_ARCHIVE_CONFIG

列出主备库上的DB_UNIQUE_NAME参数。定义该参数能确保主备库能够互相识别对方。当主备库的db_unique_name不一致时必须设置如下参数。例如:

主库:*.db_unique_name='HISDB'
备库:*.db_unique_name='HISDBDG'
主库:*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(HISDB,HISDBDG)'
备库:*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(HISDB,HISDBDG)'

如在主备库db_unique_name不一致的情况下未配置LOG_ARCHIVE_CONFIG则会出现如下报错:

ORA-16057: DGID from server not in Data Guard configuration

当主备库的db_unique_name一致时,LOG_ARCHIVE_CONFIG参数设置为空。例如:

主库:*.db_unique_name='HISDB'
备库:*.db_unique_name='HISDB'
主库:*.LOG_ARCHIVE_CONFIG=''
备库:*.LOG_ARCHIVE_CONFIG=''

四、LOG_ARCHIVE_DEST_1

设置本地归档路径。主库与备库需要定义各自的online redo log的归档地址,以系统实际的存放路径为准。格式如下:

主库:*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=hisdb'     -- db_unique_name: 主库的唯一名备库:*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=hisdbdg'   -- db_unique_name: 备库的唯一名

五、LOG_ARCHIVE_DEST_2

log_archive_dest_2Oracle Dataguard最重要的参数之一,它定义了redo log的传输方式(sync or async)以及传输目标(即:standby apply node),直接决定了Oracle Dataguard的数据保护级别。

格式如下:

主库:*.log_archive_dest_2='service=hisdbdg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=hisdbdg'
-- service值: 是tnsnames.ora文件中定义的网络服务名。在主库中service参数为备库的网络服务名。
-- DB_UNIQUE_NAME值:当前节点设置的均为另一端数据库的 db_unique_name。主库设置为:hisdbdg备库:*.log_archive_dest_2='service=hisdb lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=hisdb'
-- service值: 是tnsnames.ora文件中定义的网络服务名。在备库中service参数为主库的网络服务名。
-- DB_UNIQUE_NAME值:当前节点设置的均为另一端数据库的 db_unique_name。主库设置为:hisdb。

六、LOG_ARCHIVE_DEST_3

该参数仅当数据库角色为standby时生效,定义主库的日志写到备库的standby redo log中。

格式如下:

主库:*.LOG_ARCHIVE_DEST_3='LOCATION=/archivelog/standbylog/ VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) '
备库:*.LOG_ARCHIVE_DEST_3='LOCATION=/arch/arch3/ VALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE)'
-- LOCATION定义的路径以本节点能读写的实际路径为准。

七、LOG_ARCHIVE_DEST_STATE_n

设置为ENABLE,激活log_archive_dest_n定义的属性。

格式如下:

主库:
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'备库:
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'

七、FAL_SERVER 与 FAL_CLIENT

FALFetch Archive Log)是Oracle Dataguard主备之间GAP的处理机制。

当主库的某些日志没有成功发送到备库,这时候会产生Archive GAP。缺失的这些日志就是GAPOracle Dataguard能够自动检测、解决GAP,不需要DBA的介入。此时需要配置FAL_CLIENTFAL_SERVER这两个参数。

FAL是备库主动发起的取日志的过程,备库就是FAL_CLIENT,它从FAL_SERVER中取这些GAPFAL_SERVER可以是主库, 也可以是其他的备库。

FAL_CLIENTFAL_SERVER两个参数都是Oracle监听中的网络服务名。FAL_CLIENT通过网络向FAL_SERVER发送请求,FAL_SERVER通过网络向FAL_CLIENT发送缺失的日志。因此,FAL_CLIENTFAL_SERVER发送请求时,会携带FAL_CLIENT参数值,用来告诉FAL_SERVER应该向哪里发送缺少的日志。

格式如下:

-- fal_client用于接受日志,fal_server用于发送日志。
-- 无论是主库或备库,fal_server=对方,fal_client=自己
主库:
*.fal_server='HISDBDG'
*.fal_client='HISDB'
备库:
*.fal_server='HISDB'
*.fal_client='HISDBDG'

七、DB_FILE_NAME_CONVERT

主库与备库上数据文件的存放路径不一致的时候,需要定义该参数进行转换,否则standby apply后无法创建与主库一致的数据文件并报错。

格式如下:

-- 格式: 
-- 主库配置格式: *.db_file_name_convert= 备库数据文件目录,主库数据文件目录
-- 备库配置格式: *.db_file_name_convert= 主库数据文件目录,备库数据文件目录
主库:*.db_file_name_convert='/usr/local/oradata/hisdbdg/','/usr/local/oradata/hisdb/'
备库:*.db_file_name_convert='/usr/local/oradata/hisdb/','/usr/local/oradata/hisdbdg/'

七、LOG_FILE_NAME_CONVERT

DB_FILE_NAME_CONVERT类似,定义主备log文件的存放路径转换。如果主、备库的联机日志路径不一致,则需要设置log_file_name_convert参数。但如果主备库数据文件以及日志文件路径一致则不需要设置该参数。

格式如下:

-- 主库配置格式: *. log_file_name_convert=备库log目录,主库log目录
-- 备库配置格式: *. log_file_name_convert=主库log目录,备库log目录主库:*.log_file_name_convert='/usr/local/oradata/hisdbdg/','/usr/local/oradata/hisdb/'
备库:*.log_file_name_convert='/usr/local/oradata/hisdb/','/usr/local/oradata/hisdbdg/'

七、STANDBY_FILE_MANAGEMENT

初始化参数STANDBY_FILE_MANAGEMENT作用于standby数据库 ,用来控制是否自动将主库增加表空间或数据文件的改动,传播到物理备库。该参数有两个值:

AUTO:如果该参数值设置为AUTO,则主库执行的表空间创建操作也会被传播到物理备库上执行。

MANUAL:如果设置为MANUAL或未设置任何值(默认值是MANUAL),需要手工复制新创建的数据文件到物理备库。

在主库端删除表空间时,会影响到物理备库端的数据文件和表空间,初始化参数STANDBY_FILE_MANAGEMENT的属性值设置决定了该事件是否需要DBA介入。

STANDBY_FILE_MANAGEMENT设置为AUTO时,在主库删除表空间,则备库也会自动删除相关的表空间,无需人工干预。

STANDBY_FILE_MANAGEMENT参数设置为MANUAL时,在主库删除表空间时,备库只会将表空间和数据文件从数据字典中删除,表空间涉及的物理文件仍需要手工删除。

在主库端执行数据文件重命名操作:

如果主库重命名了一个或多个数据文件,该项修改并不会自动传播到备库。即使设置了初始化参数STANDBY_FILE_MANAGEMENTAUTO也不行,要让备库的数据文件与主库保持一致,只能手工操作。

添加或删除Redo logs文件:

如果在主重置日志文件大小或增加删除日志组,如果STANDBY_FILE_MANAGEMENT参数值设置为AUTO的话,这种操作也会被传播到物理备库库。

通常建议,当在主库增加或删除Online Redo logs时,一定记得手工同步相关物理备库中的相关设置,同时也要考虑好Standby Redo logsOnline Redo logs之间的关系,即保证Standby Redo logsOnline Redo logs要至少多一组。

注意在备库端操作前务必将STANDBY_FILE_MANAGEMENT设置为MANUAL,如果物理备库的日志文件与主库路径不同的话,应该通过初始化参数LOG_FILE_NAME_CONVERT的设置,让其自动进行转换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/891931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cat命令详解

cat 是 Linux/Unix 中的一个非常常用的命令,主要用于 连接 文件并显示文件内容。它的名称来源于 concatenate(连接),不仅可以查看文件内容,还能将多个文件合并为一个文件,或用作其他数据流操作。 以下是对 …

[sdx12] Qualcomm SDX12查看基线版本

about.html文件 Build部分 Product SDX12.LE.1.0-00263-NBOOT.NEFS.PROD-1.90789.1 Distribution SDX12.LE.1.0|AMSS|Standard|OEM: Build Components部分 从以上截图可以看到以下模块的版本号及格式 BOOT 基线版本号 BOOT.BF.3.1.c3-00010-SDX12AAAAANAZB-1 Distr…

基于CLIP和DINOv2实现图像相似性方面的比较

概述 在人工智能领域,CLIP和DINOv2是计算机视觉领域的两大巨头。CLIP彻底改变了图像理解,而DINOv2为自监督学习带来了新的方法。 在本文中,我们将踏上一段旅程,揭示定义CLIP和DINOv2的优势和微妙之处。我们的目标是发现这些模型…

LS1046 XFI网口接近10Gbps

硬件平台: CPU LS1046A 1.8GHZ 软件平台: LINUX 4.19.32 BUILDROOT 测试软件: ipferf 整个过程比较曲折,网口默认不能达到这个速度,只有2Gbps以内。需要FMC配置后才能达到9.4Gbps。

一则问答:211集成电路专业,转互联网还是FPGA?

问: 我于2016年毕业于西安电子科技大学集成电路设计与集成系统专业。毕业后,我在一家不知名私企从事PCB绘制和单片机调试工作,持续了一年半。之后,我受律师职业光鲜外表的吸引,尝试了两年的司法考试,但未能…

嵌入式linux系统中QT信号与槽实现

第一:Qt中信号与槽简介 信号与槽是Qt编程的基础。因为有了信号与槽的编程机制,在Qt中处理界面各个组件的交互操作时变得更加直观和简单。 槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。 案例操作与实现: #ifndef …

Java Web开发进阶——Spring Boot基础

Spring Boot是基于Spring框架的新一代开发框架,旨在通过自动化配置和简化的开发方式提升生产效率。它将复杂的配置抽象化,让开发者专注于业务逻辑实现,而无需关注繁琐的基础配置。 1. Spring Boot简介与优势 Spring Boot 是 Spring 家族中的…

探索 ES6 Set:用法与实战

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

使用SSH建立内网穿透,能够访问内网的web服务器

搞了一个晚上,终于建立了一个内网穿透。和AI配合,还是得自己思考,AI配合才能搞定,不思考只依赖AI也不行。内网服务器只是简单地使用了python -m http.server 8899,但是对于Gradio建立的服务器好像不行,会出…

回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、方法概述 CNN-BiLSTM-Attention多输入单输出回归预测方法旨在通过融合CNN的局…

动态库dll与静态库lib编程4:MFC规则DLL讲解

文章目录 前言一、说明二、具体实现2.1新建项目2.2 模块切换的演示 总结 前言 动态库dll与静态库lib编程4:MFC规则DLL讲解。 一、说明 1.前面介绍的均为Win32DLL,即不使用MFC的DLL。 2.MFC规则DLL的特点:DLL内部可以使用MFC类库、可以被其他…

【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析

文章目录 类的加载器ClassLoader自定义类加载器双亲委派机制概念源码分析优势劣势如何打破Tomcat 沙箱安全机制JDK9 双亲委派机制变化 类的加载器 获得当前类的ClassLoader clazz.getClassLoader() 获得当前线程上下文的ClassLoader Thread.currentThread().getContextClassLoa…

数据挖掘——回归算法

数据挖掘——回归算法 回归算法线性回归最小二乘法优化求解——梯度下降法逻辑回归逻辑回归函数逻辑回归参数估计逻辑回归正则化 决策树回归小结 回归算法 回归分析 如果把其中的一些因素(房屋面积)作为自变量,而另一些随自变量的变化而变化…

前端如何从入门进阶到高级

在前端学习的道路上,我们将其划分为三个阶段:入门、实战和进阶。以下是各阶段的学习指南 一、入门阶段 在入门阶段,我们的目标是掌握前端的基本语法和知识,以便能够独立解决一些基础问题。这一阶段,我们建议通过视频…

Android14 CTS-R6和GTS-12-R2不能同时测试的解决方法

背景 Android14 CTS r6和GTS 12-r1之后,tf-console默认会带起OLC Server,看起来olc server可能是想适配ATS(android-test-station),一种网页版可视化、可配置的跑XTS的方式。这种网页版ATS对测试人员是比较友好的,网页上简单配置下…

Linux中的tcpdump抓包命令详解:抓取TCP和UDP数据包并按小时输出文件

Linux中的tcpdump抓包命令详解:抓取TCP和UDP数据包并按小时输出文件 一、tcpdump简介二、安装tcpdump三、抓取TCP和UDP数据包四、按小时输出文件五、tcpdump命令的常用选项和表达式六、总结在Linux系统中,tcpdump是一款强大的网络抓包工具,它基于libpcap库开发,可以捕获网络…

k8s基础(4)—Kubernetes-Service

Service概述 抽象层 ‌k8s的Service是一种抽象层,用于为一组具有相同功能的Pod提供一个统一的入口地址,并通过负载均衡将网络流量分发到这些Pod上。‌ Service解决了Pod动态变化的问题,例如Pod的IP地址和端口可能会发生变化,通过…

国内Ubuntu环境Docker部署CosyVoice

国内Ubuntu环境Docker部署CosyVoice 本文旨在记录在 国内 CosyVoice项目在 Ubuntu 环境下如何使用 dockermin-conda进行一键部署。 源项目地址: https://github.com/FunAudioLLM/CosyVoice 如果想要使用 dockerpython 进行部署,可以参考我另一篇博客中的…

基于 gitlab-runner 实现调度GPU的资源

本篇目录 1. 客户需求2. 需求调研3. 实践3.1 方案一:环境变量的方式3.2 方案二:k8s 自身的spec注入机制 4. 效果 该实践来自于客户的一个真实需求 1. 客户需求 客户的某些流水线需要使用GPU资源,但是对于GPU服务器而言,会有多张G…

计算机网络 —— 网络编程(TCP)

计算机网络 —— 网络编程(TCP) TCP和UDP的区别TCP (Transmission Control Protocol)UDP (User Datagram Protocol) 前期准备listen (服务端)函数原型返回值使用示例注意事项 accpect (服务端)函数原型返回…