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 immediate

SQL> 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 immediate

SQL> startup nomount pfile='/u01/app/oracle/product/12c/dbhome_1/dbs/initbyoradb.ora'

SQL> create spfile from pfile;


用创建的spfile启动主库

SQL> shutdown immediate

SQL> 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=y

cd $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 immediate

SQL> 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

可进行切换日志或插入数据效验是否同步完成。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

车路协同中 CUDA 鱼眼相机矫正、检测、追踪

在车路协同中,鱼眼一般用来补充杆件下方的盲区,需要实现目标检测、追踪、定位。在目标追踪任务中,通常的球机或者枪机方案,无法避免人群遮挡的问题,从而导致较高的ID Swich,造成追踪不稳定。但是鱼眼相机的顶视角安装方式,天然缓解了遮挡的问题,从而实现杆件下方的盲区…

关于“Python”的核心知识点整理大全46

目录 16.1.3 提取并读取数据 highs_lows.py highs_lows.py 16.1.4 绘制气温图表 highs_lows.py 16.1.5 模块 datetime ​编辑 16.1.6 在图表中添加日期 highs_lows.py 16.1.7 涵盖更长的时间 highs_lows.py highs_lows.py 16.1.9 给图表区域着色 highs_lows.py …

Linux操作系统(Crontab计划任务+NTP时间同步服务器)

如何修改linux系统时间 与时间相关的命令&#xff0c;查看当前的时间 运行 date 即可 cal 查看当前月份的日历 运行 timedatectl 查看时间详细参数 &#xff08; NTP&#xff1a; network time protocol 网络时间协议 &#xff09; &#xff08; local time : 本地时间 &#x…

搭建APP应用程序如何选择服务器

我经常收到许多关于如何搭建 APP 的询问。其中&#xff0c;如何选择服务器是许多初创企业和开发者经常面临的问题。带着这些问题我也通过一些科技手段收集整理了些知识&#xff0c;今天我就和大家来来探讨如何选择服务器&#xff0c;帮助您搭建一个稳定、高效、安全的 APP。 Ap…

MariaDB单机多实例的配置方法

1、什么是数据库的单机多实例 数据库的单机多实例是指在一台物理服务器上运行多个数据库实例。这种部署方式允许多个数据库实例共享相同的物理资源&#xff0c;如CPU、内存和存储&#xff0c;从而提高硬件利用率并降低成本。每个数据库实例可以独立运行&#xff0c;处理不同的…

python如何通过日志分析加入黑名单

python通过日志分析加入黑名单 监控nginx日志&#xff0c;若有人攻击&#xff0c;则加入黑名单&#xff0c;操作步骤如下&#xff1a; 1.读取日志文件 2.分隔文件&#xff0c;取出ip 3.将取出的ip放入list&#xff0c;然后判读ip的次数 4.若超过设定的次数&#xff0c;则加…

SwiftUI ArkUI 对比分析

下载链接&#x1f517;&#xff1a; https://download.csdn.net/download/gwh111/88670868 版本 1.0 (2023 年 4月) 更新说明&#xff1a; 4.7 修改问题和缺陷 4.13 新增缺陷讨论 4.14 新增引言和部分小结 4.17 高亮关键性代码&#xff0c;新增SwiftUI状态官方定义 目录 引言…

[Angular] 笔记 11:可观察对象(Observable)

chatgpt: 在 Angular 中&#xff0c;Observables 是用于处理异步数据流的重要工具。它们被广泛用于处理从异步操作中获取的数据&#xff0c;比如通过 HTTP 请求获取数据、定时器、用户输入等。Observables 提供了一种机制来订阅这些数据流&#xff0c;并可以在数据到达时执行相…

ElasticSearch:centos7安装elasticsearch7,kibana,ik中文分词器,云服务器安装elasticsearch

系统&#xff1a;centos7 elasticsearch: 7.17.16 安装目录&#xff1a;/usr/local 云服务器的安全组&#xff1a;开放 9200 和5601的端口 一、下载安装elasticsearch7.17.16 1、安装 #进入安装目录 cd /usr/local#下载elasticsearch wget https://artifacts.elastic.co/d…

ASP.NET Core 使用Log4Net写文本日志和数据库日志

1&#xff0c;先安装依赖 2&#xff0c;在项目目录新建Log4Net.config配置文件&#xff0c;必须要安装System.Data.SqlClient&#xff0c;不然日志存不进去数据库 <?xml version"1.0" encoding"utf-8"?> <log4net><!-- Define some outpu…

Redis6.0 Client-Side缓存是什么

前言 Redis在其6.0版本中加入了Client-side caching的支持&#xff0c;开启该功能后&#xff0c;Redis可以将指定的key-value缓存在客户端侧&#xff0c;这样当客户端发起请求时&#xff0c;如果客户端侧存在缓存&#xff0c;则无需请求Redis Server端。 Why Client-side Cac…

【C#】.net core 6.0 依赖注入生命周期

给自己一个目标&#xff0c;然后坚持一段时间&#xff0c;总会有收获和感悟&#xff01; 对于.net core而言&#xff0c;依赖注入生命周期有三种瞬态&#xff08;Transient&#xff09;、作用域&#xff08;Scoped&#xff09;和单例&#xff08;Singleton&#xff09;&#xf…

【正则表达式】

概述 正则表达式又称规则表达式。&#xff08;英语&#xff1a;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09;&#xff0c;计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式并不仅限于某一种语…

传统船检已经过时?AR智慧船检来助力!!

想象一下&#xff0c;在茫茫大海中&#xff0c;一艘巨型货轮正缓缓驶过。船上的工程师戴着一副先进的AR眼镜&#xff0c;他们不再需要反复翻阅厚重的手册&#xff0c;一切所需信息都实时显示在眼前。这不是科幻电影的场景&#xff0c;而是智慧船检技术带来的现实变革。那么问题…

中间件系列 - Redis入门到实战(高级篇-多级缓存)

前言 学习视频&#xff1a; 黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记&#xff0c;如有侵扰&#xff0c;联系删除 学习目标 JVM进程缓存Lua语法入…

scikit-learn文档中的数据生成器

目录 1. make_classification: 2. make_regression: 3. make_blobs: 4. make_moons: 5.make_circles 6. make_sparse_coded_signal: 1. make_classification: 这是一个用于生成复杂二维数据的函数&#xff0c;通常用于可视化分类器的学习过程或者测试机器学习算法的性能…

学习笔记:数据挖掘与机器学习

文章目录 一、数据挖掘、机器学习、深度学习的区别&#xff08;一&#xff09;数据挖掘&#xff08;二&#xff09;机器学习&#xff08;三&#xff09;深度学习&#xff08;四&#xff09;总结 二、数据挖掘体系三、数据挖掘的流程四、典型的数据挖掘系统 一、数据挖掘、机器学…

在Ubuntu20.04配置PX4环境

目录 1.下载PX4源码2.安装PX4所有工具链3.编译PX4工程1.下载PX4源码 打开Ubuntu,Ctrl+Alt+T打开终端输入下面代码: git clone https://github.com/PX4/PX4-Autopilot.git --recursive出现上图中出现“Command ‘git’ not found, but can be installed with”,使用以下代码…

山景32位蓝牙DSP音频应用处理芯片—BP1048B2

由工采网代理的BP1048B2是山景推出的一款高性能32位DSP蓝牙音频应用处理器&#xff1b;该芯片拥有32位RISC内核&#xff0c;支持DSP指令&#xff0c;集成FPU支持浮点运算&#xff0c;可应用于蓝牙K歌宝、蓝牙便携式音箱、蓝牙拖箱、蓝牙SoundBar、包头式蓝牙耳机、各类蓝牙音频…

2013年第二届数学建模国际赛小美赛A题数学与经济灾难解题全过程文档及程序

2013年第二届数学建模国际赛小美赛 A题 数学与经济灾难 原题再现&#xff1a; 2008年的市场崩盘使世界陷入经济衰退&#xff0c;目前世界经济仍处于低迷状态&#xff0c;其原因是多方面的。其中之一是数学。   当然&#xff0c;并非只有金融界依赖于并非总是可靠的数学模型…
最新文章