oracle rac-> rac配置adg避坑注意点

news2024/9/20 1:17:29

例如源主库db_name为aaa

db_unique_name为aaa,实例名为aaa1,aaa2

ORACLE_SID为aaa1,aaa2

tnsnames.ora的服务名配置:aaa/dgaaa

则备库设置参考:db_name相同为aaa,db_unique_name不同为dgaaa,实例名为dgaaa1,dgaaa2

ORACLE_SID为dgaaa1,dgaaa2

tnsnames.ora的服务名配置:aaa/dgaaa

创建dg时,

准备密码文件:从主库拷贝出密码文件传到备库,注意格式orapw+实例名

拷贝密码文件到asm 中管理: 
[root@dgrac1 ~]# su - grid 
[grid@dgrac1 ~]$ asmcmd 
ASMCMD> cd datac1
ASMCMD> pwcopy /u01/app/oracle/product/19c/dbhome_1/dbs/orapwdgaaa1 +DATA/DGDGAAA/orapwdgaaa
 copying /u01/app/oracle/product/19c/dbhome_1/dbs/orapwdgaaa1 -> +DATA/DGDGAAA/orapwdgaaa
ASMCMD> ls -l +DATA/DGDGAAA/orapwdgaaa 

准备参数文件,从主库创建出参数文件,去掉所有集群相关的参数,保留单节点的参数值,并用dgaaa替换所有aaa(除了db_name的名称不能修改)。根据物理内存等情况适当调整sga,pga等值。

然后启动到nomount状态。

配置备库单个节点的监听和tnsnames.ora连接,主备库都连接这个单节点的tnsnames.ora服务,

 listener.ora

备库配置grid监听:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = dgaaa)
      (ORACLE_HOME = /u01/app/oracle/product/19c/dbhome_1)
      (SID_NAME = dgaaa1)
    )
  )

tnsnames.ora 

#连备库
dgaaa =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dgrac1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID= dgaaa1)
    )
  )
#连主库
aaa =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = exa-scan1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = aaa)
    )
  )

主备测试联通性sqlplus sys/xxx@dgaaa as sysdba

sqlplus sys/xxx@aaa as sysdba

等duplicate恢复备库完成后

[oracle@dgrac1 ~]$ cat dg.sh
rman target sys/xxx@aaa auxiliary sys/xxx@dgaaa log /home/oracle/rman-`date +%Y%m%d-%H%M`.log <<EOF
run
{
allocate channel cl1 type disk;
allocate auxiliary channel c1 type disk;
duplicate target database for standby from active database nofilenamecheck;
release channel c1;
release channel cl1;
}
EOF

nohup ./dg.sh &

修改参数文件,加回所有集群参数,并用dgaaa替换所有aaa(除了db_name的名称不能修改

创建参数到共享存储位置:例如 

create spfile='+DATAC1' from pfile='/home/oracle/dgaaa.txt';
检查asm中生成的spfile文件,记录路径

节点1的$ORACLE_HOME/dbs下创建initdgaaa1.ora

vi inithiscdb1.ora
spfile='+DATAC1/DGAAA/PARAMETERFILE/spfile.376.1148230649'

并拷贝到节点2为initdgaaa2.ora

备库rac添加资源:
[oracle@dgrac1 ~]$ srvctl add database -db dgaaa -dbname aaa -oraclehome /u01/app/oracle/product/19c/dbhome_1 -dbtype RAC -role PHYSICAL_STANDBY
[oracle@dgrac1 ~]$ srvctl add instance -db dgaaa -instance dgaaa1 -node dgrac1
[oracle@dgrac1 ~]$ srvctl add instance -db dgaaa -instance dgaaa2 -node dgrac2
[oracle@dgrac1 ~]$ srvctl modify database -db dgaaa -spfile '+DATAC1/dgaaa/PARAMETERFILE/spfile.376.1148230649' -pwfile '+DATAC1/dgaaa/orapwhiscdb' -diskgroup DATAC1,RECOC1
检查配置
[oracle@dgrac1 dbs]$ srvctl config database -db dgaaa

恢复监听,去掉单节点的静态注册(备库操作)

 备库操作:

srvctl stop listener -n dgrac1
srvctl stop listener -n dgrac2
srvctl stop scan_listener

srvctl start listener -n dgrac1
srvctl start listener -n dgrac2
srvctl start scan_listener
srvctl status listener -n dgrac1
srvctl status listener -n dgrac2
srvctl status scan_listener

恢复tnsnames.ora:去掉只连接单实例SID的信息,改为scanip和service_name(主备操作)

 

#连备库
dgaaa =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dgrac-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dgaaa)
    )
  )
#连主库
aaa =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = exa-scan1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = aaa)
    )
  )

备库可启动: 

[oracle@dgrac1 ~]$ srvctl stop database -d dgorcl -o immediate

[oracle@dgrac1 ~]$ srvctl start database -d dgorcl

[oracle@dgrac1 ~]$ sqlplus /nolog 

SQL>show pdbs;

SQL>alter pluggable database open all instances=all;

--recover managed stanssdby database cancel;#停止redo apply 
SQL> recover managed standby database disconnect using current logfile;#重启 redo apply

检查备库alert日志输出是否正常,在主库创建记录测试备库是否正常应用。

启停测试:

[oracle@dgrac1 ~]$ srvctl stop database -d dgorcl -o immediate

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

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

相关文章

【LeetCode】56. 区间合并

区间合并 题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; …

Oracle的一些脚本工具总结

一、操作系统性能 在linux 6 之后&#xff0c;建议使用dstat监控操作系统的各项指标。 使用方法&#xff1a; yum install dstat dstat -cdlrgmnpsy 二、we.sql https://download.csdn.net/download/zengxiangbo/89601165 详见文章关联附件。 Oracle脚本工具&#xff0c;查…

企业安全生产管理是否将成为新的朝阳产业?

这个答案我可以肯定的告诉你&#xff0c;是的&#xff01; 首先朝阳产业是啥&#xff1f;朝阳产业指的是具有广阔发展前景、高成长性和创新性的产业。 但你也有可能不信我说的这句。因为在大多数人看来&#xff0c;安全生产管理这块儿&#xff0c;企业的关注度不多&#xff0…

Oracle Database 确认表空间大小的方法

Oracle Database 确认表空间大小的方法 sql: WITH object_size AS (SELECT segment_name,owner,segment_type,tablespace_name,SUM(bytes) total_bytesFROM dba_segmentsGROUP BY segment_name, owner, segment_type, tablespace_name ), table_size AS (SELECT segment_name …

【探索Linux】P.43(网络层 —— IP协议)

阅读导航 引言一、IP协议基本概念二、IP协议头格式三、网段划分1. 网络号和主机号2. 引入子网掩码&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;默认子网掩码&#xff08;3&#xff09;子网掩码的作用&#xff08;4&#xff09;子网掩码与IP地址的结合&#xff…

探索Python代码质量的守护神:Flake8

文章目录 探索Python代码质量的守护神&#xff1a;Flake8背景&#xff1a;为何选择Flake8&#xff1f;简介&#xff1a;Flake8是什么&#xff1f;安装&#xff1a;如何获取Flake8&#xff1f;使用方法&#xff1a;Flake8的基本命令场景应用&#xff1a;Flake8在实际开发中的作用…

SOMEIPSRV_RPC_13: 不同服务可以共享相同的端口

测试目的&#xff1a; 验证不同的服务是否能够共享同一个传输层协议的端口号。 描述 本测试用例旨在验证在同一个电子控制单元(ECU)上&#xff0c;不同服务的多个服务实例是否能够监听不同的端口&#xff0c;同时确保不同的服务能够共享同一个端口号。 测试拓扑&#xff1a…

接口测试:使用 curl 发送请求

简介 cURL 是一个通过 URL 传输数据的&#xff0c;功能强大的命令行工具。cURL 可以与 Chrome Devtool 工具配合使用&#xff0c;把浏览器发送的真实请求还原出来&#xff0c;附带认证信息&#xff0c;脱离浏览器执行&#xff0c;方便开发者重放请求、修改参数调试&#xff0c;…

SAP HCM 薪酬过账-忽略成本分配的含义

导读 INTRODUCTION 忽略成本分配&#xff1a;昨天分析C0表与C1表的作用&#xff0c;是为今天说的忽略成本分配按钮的铺垫&#xff0c;忽略成本分配这个翻译有点难让人理解&#xff0c;从字母意思感觉就是所有成本类的不拆分处相关的行项目&#xff0c;但是实际不是这样&#xf…

大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

ALB快速实现IPv4服务的负载均衡

阿里云应用型负载均衡ALB支持HTTP、HTTPS和QUIC协议&#xff0c;专门面向网络应用层&#xff0c;提供强大的业务处理能力。 为了实现IPv4服务的负载均衡&#xff0c;需要快速创建一个ALB实例&#xff0c;并将来自客户端的访问请求转发至后端服务器。 操作流程 第一步&#x…

多语言 AI 翻译 API 数据接口

AI / 翻译 基于 AI 多语言模型 支持多语言 / 基于模型。 1. 产品功能 基于自有专业模型进行 AI 多语言翻译高效的文本翻译性能全接口支持 HTTPS&#xff08;TLS v1.0 / v1.1 / v1.2 / v1.3&#xff09;&#xff1b;全面兼容 Apple ATS&#xff1b;全国多节点 CDN 部署&#xf…

ITSS服务经理/ITSS服务工程师,招投标需要准备吗?

信息技术服务标准&#xff08;ITSS&#xff09;是中国首套完整的信息技术服务标准体系&#xff0c;全面规定了IT服务产品及其组成要素的标准化实施&#xff0c;旨在提供可信赖的IT服务。 在国际竞争日益激烈的背景下&#xff0c;推动国内标准的国际化已成为广泛共识&#xff0…

excel如何绘制多列数据的折线图

1.注意表中的数据必须是数据类型的&#xff0c;不能是字符串格式的。如果是用python生成的&#xff0c;需要填充int或者float型的数据。 2.选择数据&#xff08;多列数据的选择&#xff0c;可以按住ctrl键后选中多列&#xff09; 2. 选择插入 3.选择 推荐的图表->所有图表…

JumpingKnowledge

文章目录 JumpingKnowledge思想&#xff1a; 举例 贯彻费曼学习法&#xff0c;用最简单的语句阐述复杂的理论 PYG JumpingKnowledge JumpingKnowledge GNN里也有JK了吗 思想&#xff1a; 非常简单。 假设有3层GNN&#xff0c;将经过GNN的每一层都保存下来&#xff0c;即中间…

Mybatis批量更新数据库错误

问题&#xff1a;记录一次使用Mybatis批量更新数据库的错误&#xff0c;错误信息&#xff0c;Error updating database. Cause: org.postgresql.util.PSQLException: 错误: 字段 "update_time" 的类型为 timestamp without time zone, 但表达式的类型为 text 建议&am…

你了解渗透测试吗?渗透测试在网络安全行业属于食物链什么层级?

可能大家对于行业存在食物链这一说法&#xff0c;印象最深的往往是编制行业&#xff0c;所谓的等级主义在那里确实更为明显。但实际上&#xff0c;各行各业都或多或少存在这种层级结构&#xff0c;网络安全领域也不例外&#xff0c;毕竟都是一些所谓的“人情世故”。那么就网络…

使用Qt3D绘制机械手场景

文章目录 1.前言2.效果3.实现过程3.1.场景代码3.2.自定义模型的渲染3.3.绘制直线或者网格 4.有待解决的一些问题4.1.线宽的设置、背面消隐&#xff08;culling&#xff09;的设置4.2.法线的问题 1.前言 之前是使用Coin3D来绘制机械手场景的【Qt利用Coin3D&#xff08;OpenInve…

15.1 Zookeeper简介安装及基础使用

1. Zookeeper介绍 1.1 介绍 1.2 应用场景简介 1.3 zookeeper工作原理 1.4 zookeeper特点

低代码平台下的用户中心开发:构建高效系统的新趋势

前言 随着数字化转型的深入&#xff0c;低代码开发平台因其快速、灵活的特性越来越受到企业的青睐。用户中心作为用户管理和服务的核心模块&#xff0c;对提升用户体验和增强用户粘性具有重要作用。本文将探讨如何利用低代码平台高效地构建用户中心&#xff0c;满足快速变化的…