Oracle 12c rac 搭建 dg
环境
rac 环境 (主)byoradbrac
系统版本:Red Hat Enterprise Linux Server release 6.5
软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
byoradb1:172.17.38.44
byoradb2:172.17.38.45
单机环境 (备)byoradbdg
系统版本:CentOS Linux release 7.9.2009
软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
byoradbdg:172.17.38.55
主库操作(byoradb1)
主库开启归档模式
#关闭数据库,启动到mount状态
SQL> shutdown immediateSQL> startup mount#修改数据库为归档模式,因为DG是通过传送归档日志到备库然后应用来保证主备库一致的。
SQL> alter database archivelog; #查看归档日志状态
SQL> archive log list;
可参考 Oracle database 开启归档日志 archivelog
主库开启force logging
#修改数据库为强制记日志,这是必须的操作,主库的每一步操作都得记录到日志中去。
SQL> alter database force logging;#查看是否为强制日志
SQL> select force_logging from v$database;
创建standby redo log
#查看Redo和Standby Redo
SQL> select * from v$logfile;
SQL> select group#,thread#,sequence#,archived,status from v$standby_log;
#仅仅显示Online Redo,不显示Standby Redo#查看redo大小
SQL> select thread#,group#,bytes/1024/1024/1024 from v$log ;#新增一组大小为500M的Standby Redo,这里的group号不得与Online redo重复
SQL> alter database add standby logfile group 5 '+DATADG' size 500M;
SQL>alter database add standby logfile group 6 '+DATADG' size 500M;
SQL>alter database add standby logfile group 7 '+DATADG' size 500M;
SQL>alter database add standby logfile group 8 '+DATADG' size 500M;#查看是否添加成功
SQL> select GROUP#,TYPE,MEMBER from v$logfile;
创建pfile
这里创建pfile是为了做一些主库参数的配置,并且还得拷贝到备库再次修改成备库的配置。(如果是RAC到单机,则单机单独创建pfile)
SQL> create pfile='/u01/app/oracle/product/12c/dbhome_1/dbs/initbyoradb1.ora' from spfile;create pfile='/nob/initrac.ora' from spfile;
SQL> shutdown immediate
修改主库pfile文件
# 编辑/u01/app/oracle/product/12c/dbhome_1/dbs/initbyoradb1.ora文件,追加cat >> /u01/app/oracle/product/12c/dbhome_1/dbs/initbyoradb1.ora << "EOF"
*.db_unique_name='byoradbrac'
*.fal_server='byoradbdg'
*.log_archive_config='dg_config=(byoradbrac,byoradbdg)'
*.log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles, all_roles) db_unique_name=byoradbrac'
*.log_archive_dest_2='service=byoradbdg lgwr async valid_for=(online_logfile,primary_role) db_unique_name=byoradbdg'
*.log_archive_dest_state_1=ENABLE
*.log_archive_dest_state_2=ENABLE
*.standby_file_management='AUTO'
*.db_file_name_convert='/oracledata/app/oracle/oradata','+DATA'
*.log_file_name_convert='/oracledata/app/oracle/oradata','+ARCH'
EOF
此时由于备库是单机、 所以需注意
*.db_file_name_convert='/oracledata/app/oracle/oradata','+DATA'
*.log_file_name_convert='/oracledata/app/oracle/oradata','+DATA'
如果备库也是rac
*.db_file_name_convert='+DATA','+DATA'
*.log_file_name_convert='+DATA','+DATA'
用pfile启动主库,并创建spfile
SQL> shutdown immediateSQL> startup nomount pfile='/u01/app/oracle/product/12c/dbhome_1/dbs/initbyoradb.ora'SQL> create spfile from pfile;
用创建的spfile启动主库
SQL> shutdown immediateSQL> startup
复制主库的密码文件到备库
#密码文件一般存放在$ORALCE_HOME/dbs
cd $ORALCE_HOME/dbs
scp orapwbyoradb1 byoradb:/oracledata/app/oracle/product/12.1.0/dbhome_1/dbs#如果主库密码文件不存在则需要重新创建
#注意此步会修改sys用户的密码
orapwd file=/oracledata/app/oracle/product/12.1.0/dbhome_1/dbs/orapwbyoradb1 password=zyz123123 entries=10 ignoreCase=Y force=ycd $ORALCE_HOME/dbs
scp orapwbyoradb1 byoradb:/oracledata/app/oracle/product/12.1.0/dbhome_1/dbs
配置主库监听listener.ora / tnsnames.ora
#查看监听文件位置
lsnrctl status
#grid 用户操作
vi /u01/app/12.1.0/grid/network/admin/listener.ora#添加以下内容
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = byoradbrac)(ORACLE_HOME = /u01/app/oracle/product/12c/dbhome_1)(SID_NAME = byoradb1)))#静态监听中,GLOBAL_DBNAME 为 service_name ORACLE_HOME为oracle用户的
#配置tnsnames.ora 路径一般在$ORACLE_HOME/network/admin/vi $ORACLE_HOME/network/admin/tnsnames.ora#添加以下内容
byoradbdg =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.38.55)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = byoradb)))
#测试是否能连通
sqlplus sys/zyz123123@byoradbdg as sysdba
备库操作(byoradb)
配置静态监听
#查看监听文件位置
lsnrctl status
#oracle 用户操作
vi /oracledata/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora#添加以下内容
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = byoradbdg)(ORACLE_HOME = oracledata/app/oracle/product/12.1.0/dbhome_1)(SID_NAME = byoradbdg)))#静态监听中,GLOBAL_DBNAME 为 service_name ORACLE_HOME为oracle用户的
配置tnsnames.ora
vi $ORACLE_HOME/network/admin/tnsnames.ora#增加以下内容
byoradbrac =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.38.44)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = byoradb)))
#测试是否能连通
sqlplus sys/zyz123123@byoradbdg as sysdba
修改备库pfile参数
如是空实例,可手动创建一个pfile文件
SQL> create pfile='/oracledata/app/oracle/product/12.1.0/dbhome_1/dbs/initbyoradbdg.ora' from spfile;#编辑/oracledata/app/oracle/product/12.1.0/dbhome_1/dbs/initbyoradb.ora文件,修改备库初始化参数cat >> /oracledata/app/oracle/product/12.1.0/dbhome_1/dbs/initbyoradbdg.ora << "EOF"
*.db_unique_name='byoradbdg'
*.fal_server='byoradb'
*.log_archive_config='dg_config=(byoradb,byoradbdg)'
*.log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles, all_roles) db_unique_name=byoradbdg'
*.log_archive_dest_2='service=byoradb lgwr async valid_for=(online_logfile,primary_role) db_unique_name=byoradb'
*.log_archive_dest_state_1=ENABLE
*.log_archive_dest_state_2=ENABLE
*.standby_file_management='AUTO'
*.db_file_name_convert='+DATA','oracledata/app/oracle/oradata'
*.log_file_name_convert='+DATA','oracledata/app/oracle/oradata'
EOF# 用修改后的pfile启动,并创建spfile,再用spfile启动
SQL> shutdown immediateSQL> startup nomount pfile='/oracledata/app/oracle/product/12.1.0/dbhome_1/dbs/initbyoradbdg.ora'SQL> create spfile from pfile;SQL> shutdown immediate
启动备库到nomount
SQL> startup nomount
开始使用RMAN进行ADG
首先RMAN连接到目标数据库和辅助数据库
[oracle@ora-dg admin]$ rman target sys/zyz123123@byoradbrac auxiliary sys/zyz123123@byoradbdg
使用RMAN的duplicate命令进行复制,两边目录结构相同,需要添加nofilenamecheck参数
RMAN> duplicate target database for standby from active database nofilenamecheck;
复制成功后,备库自动被加载为mount模式,进入sqlplus查看
SQL> select instance_name,status from v$instance;
打开备库并开启apply service
[oracle@ST dbs]$ sqlplus / as sysdba SQL> alter database open; SQL> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY
#开启日志实时应用SQL> alter database recover managed standby database disconnect from session;
检验是否成功
#主备库角色状态查询SQL> select switchover_status,database_role from v$database;
1–主库显示:TO STANDBY/PRIMARY,如果显示SESSION ACTIVE表示还有活动的会话,需要关闭活动的会话再检查
2–备库显示:NOT ALLOWED/PHYSICAL STANDBY
可进行切换日志或插入数据效验是否同步完成。
相关文章:

Oracle 12c rac 搭建 dg
环境 rac 环境 (主)byoradbrac 系统版本:Red Hat Enterprise Linux Server release 6.5 软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1:172.17.38.44 byoradb2:…...

Cisco模拟器-交换机端口的隔离
设计要求将某台交换机的端口划分在不同的VLAN。以实现连接在相同VLAN端口上的计算机可以通信,而连接在不同VLAN端口上的计算机无法通信的目的。 通过设计,一方面可以加强计算机网络的安全,另一方面通过隔绝不同VLAN间的广播包也可以提高网络…...
zdppy_api框架快速入门
概述 zdppy_api是一款为了快速开发而生的,基于异步的,使用简单的Python后端API接口开发框架。 本框架的目标是让Python后端开发变得越来越简单,直到发现原来还可以更简单! 一切都是为了提高开发效率!!&…...
https证书配置过程
相关网址: FreeSSL首页 - FreeSSL.cn一个提供免费HTTPS证书申请的网站 ACME v2证书自动化快速入门 acme.sh简单教程-CSDN博客...
如何用C语言程序生成任意手性(即具有任意m和n值),任意长度的碳纳米管,并输出三维空间坐标呢?
如何用C语言程序生成任意手性(即具有任意m和n值),任意长度的碳纳米管,并输出三维空间坐标呢? 生成任意手性、任意长度的碳纳米管可以使用 Chirality Vector 和 Unit Vector 的概念来表示。Chirality Vector (n, m) 描述…...

C++每日一练(8):图像相似度
题目描述 给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。 说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。…...

C++面试宝典第12题:数组元素相除
题目 从控制台输入若干个整数作为数组,将数组中每一个元素除以第一个元素的结果,作为新的数组元素值。比如:可以先输入3,作为数组元素的个数;然后输入3个整数,作为数组元素的值。 解析 这道题本身并不复杂,但里面隐藏了不少“坑点”和“雷区”,主要考察应聘者全面思考问…...
oCPC实践录 | 目标ROI的出价与转化回传调控算法
这篇文章我们聊聊广告主在oCPC下,怎么调控自己的出价或者回传转化优化自己的ROI。 ROI是广告主最关心的指标了,根据oCPC出价的基本原理ocpc_bid pcvr * given_cpa * k, 广告主在整个出价中有两个可以控制的变量来影响出价,一个是直接的give…...
百倍量化之Dbcd-v2中性策略
Dbcd-v2中性策略 1. 指标含义 该指标主要是计算偏置的因子,并根据偏置的平均来分析这个股票的稳定性。相比于v1,策略是更换了dbcd的计算方式 第一步主要操作就是计算当前值和前段时间的平均值的偏置 ma = bt.indicators.SimpleMovingAverage(self.data, period=self.p.peri…...
系统学习Python——装饰器:函数装饰器-[装饰器状态保持方案:函数属性]
分类目录:《系统学习Python》总目录 如果我们没有在使用Python3.X并因此无法利用一条nonlocal语句,或者我们希望代码具有可移植性,能在Python3.X和Python2.X上同时工作一一我们仍然能够针对某些可改变的状态使用函数属性来避免使用全局变量和…...

逻辑卷学习后续----------缩容
一、缩容:缩减大小 ext4可以 , xfs无法缩减,缩减会影响业务 1.解挂载 2.检查文件系统完整性 3.缩减文件系统 4.缩减逻辑卷上下一致 5.再挂载回去 添加磁盘 文件系统只能装ext4 缩减文件系统 resize2fs 挂载失败需要重新安装文件系统…...

15-网络安全框架及模型-BLP机密性模型
目录 BLP机密性模型 1 背景概述 2 模型原理 3 主要特性 4 优势和局限性 5 困难和挑战 6 应用场景 7 应用案例 BLP机密性模型 1 背景概述 BLP模型,全称为Bell-LaPadula模型,是在1973年由D.Bell和J.LaPadula在《Mathematical foundations and mod…...

[C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
源码地址: github地址:https://github.com/Ahmednull/L2CS-Net L2CS-Net介绍: 眼睛注视(eye gaze) 是在各种应用中使用的基本线索之一。 它表示用户在人机交互和开放对话系统中的参与程度。此外,它还被用…...

[2024区块链开发入门指引] - 比特币与区块链诞生
一份为小白用户准备的免费区块链基础教程 工欲善其事,必先利其器 Web3开发中,各种工具、教程、社区、语言框架.。。。 种类繁多,是否有一个包罗万象的工具专注与Web3开发和相关资讯能毕其功于一役? 参见另一篇博文👉 2024最全面…...

【大数据面试知识点】Spark中的累加器
Spark累加器 累加器用来把Executor端变量信息聚合到Driver端,在driver程序中定义的变量,在Executor端的每个task都会得到这个变量的一份新的副本,每个task更新这些副本的值后,传回driver端进行merge。 累加器一般是放在行动算子…...

深度学习核心技术与实践之深度学习基础篇
非书中全部内容,只是写了些自认为有收获的部分 神经网络 生物神经元的特点 (1)人体各种神经元本身的构成很相似 (2)早期的大脑损伤,其功能可能是以其他部位的神经元来代替实现的 (3&#x…...

Kafka安装及简单使用介绍
🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...

20231229在Firefly的AIO-3399J开发板的Android11使用挖掘机的DTS配置单前后摄像头ov13850
20231229在Firefly的AIO-3399J开发板的Android11使用挖掘机的DTS配置单前后摄像头ov13850 2023/12/29 11:10 开发板:Firefly的AIO-3399J【RK3399】 SDK:rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBrick】 Android11.…...
九台虚拟机网站流量分析项目启动步骤
文章目录 零、操作概述一、服务器分配二、9台虚拟机相互免密登录三、Nginx(反向代理服务器)四、Tomcat(Web服务器)五、测试Nginx反向代理是否成功六、Flume集群配置七、修改LogDemo项目八、项目1703FluxStorm九、Hadoop集群十、整个集群的启动十一、部署项目十二、测试项目…...

迅软科技助力高科技防泄密:从华为事件中汲取经验教训
近期,涉及华为芯片技术被窃一事引起广泛关注。据报道,华为海思的两个高管张某、刘某离职后成立尊湃通讯,然后以支付高薪、股权支付等方式,诱导多名海思研发人员跳槽其公司,并指使这些人员在离职前通过摘抄、截屏等方式…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...