Oracle Data Guard部署

Oracle的主备DG搭建

1. 修改主机名,同步时间

主库IP:192.168.100.137
备库IP:192.168.100.138配置主机名(主库)
Hostname zygjpdb
vim /etc/hosts
192.168.100.137 zygjpdb
192.168.100.138 zygjsdbvim /etc/sysconfig/network
HOSTNAME=zygjpdb
------------------------------------------------------------------------------
配置主机名(备库)
Hostname zygjsdb
vim /etc/hosts
192.168.100.137 zygjpdb
192.168.100.138 zygjsdbvim /etc/sysconfig/network
HOSTNAME=zygjsdb
同步时间,确保两台服务器的时间是一致的,这里我选用的ntpdate有外网的情况,可使用ntp.aliyun.com
*/10 * * * * ntpdate ntp.aliyun.com没外网的情况,需要自行搭建ntp服务器
*/10 * * * * ntpdate 192.168.100.130

2. 修改主库的配置

主库操作

su - oraclesqlplus / as sysdbaSQL> create pfile from spfile;
SQL> shutdown immediate;
SQL> startup mount;
SQL> Alter database archivelog;
SQL> alter database force logging;--归档模式下修改
SQL> alter database open;
SQL> alter system set db_unique_name="pdb" scope=spfile; --修改完后,要重启数据库
SQL> Shutdown immediate;
SQL> startup
SQL> show parameter db_unique_name;--(检查是否已修改)
NAME                TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name      string      pdbSQL> alter system set log_archive_config='dg_config=(pdb,sdb)';
SQL> ho mkdir /u01/archivelog; --创建归档目录
SQL> alter system set log_archive_dest_1='location=/u01/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=pdb';--归档文件的生成路径,location代表本地机上,service指在另一台机器上
SQL> alter system set log_archive_dest_2='service=sdb lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=sdb';--对方的网络服务名
SQL> show parameter log_archive_dest_state_1  --日志的
SQL> show parameter log_archive_dest_state_2 --确认这两个参数为enable的,激活定义的,可以先修改为defer 归档日志目录,允许redo 传输服务传输redo数据到指定的路径SQL> show parameter log_archive_format;
NAME               TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string      %t_%s_%r.dbf --格式默认就好SQL> alter system set fal_server=sdb;
SQL> alter system set fal_client=pdb; --注意这里反着写的,表示切换后的主和备
SQL> alter system set standby_file_management=auto;SQL> create pfile from spfile;

3.备库操作,安装软件,新建目录

装oracle软件(路径保持一致),不需要装库

--创建这些目录,注意使用oracle用户去创建
mkdir /u01/archivelog -p
mkdir /u01/arch_back -p
mkdir /u01/app/oracle/product/11.2.0/db_1/dbs -p
mkdir /u01/app/oracle/oradata/orcl/ -p
mkdir /u01/app/oracle/admin/orcl/{a,b,u,dp,c}dump -p
mkdir /u01/app/oracle/diag/rdbms/orcl/orcl/ -p
mkdir /u01/app/oracle/fast_recovery_area/orcl/ -p
--创建这些目录,注意使用oracle用户去创建
mkdir /u01/archivelog -p
mkdir /u01/arch_back -p
mkdir /u01/app/oracle/product/11.2.0/db_1/dbs -p
mkdir /u01/app/oracle/oradata/orcl/ -p
mkdir /u01/app/oracle/admin/orcl/{a,b,u,dp,c}dump -p
mkdir /u01/app/oracle/diag/rdbms/orcl/orcl/ -p
mkdir /u01/app/oracle/fast_recovery_area/orcl/ -p

4.主库操作,拷贝配置文件到备库,等会在备库修改

scp /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora oracle@192.168.100.138:/u01/app/oracle/product/11.2.0/db_1/dbs/ -------主库操作
--拷参数文件(配置文件)
scp /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl oracle@192.168.100.138:/u01/app/oracle/product/11.2.0/db_1/dbs/ -------主库操作
--拷密码文件--如果ssh端口有更改的,需要加scp -P port

5.备库操作,使密码文件生效

orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl password=oracle force=y
--在备库重新密码文件,或者从主库scp过来也是一样
--注意,scp拷的时候请用oracle用户,否则用root用户拷过来,要修改权限

6.主库的监听配置文件

[oracle@zygjpdb~]$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)(SID_NAME = orcl)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = zygjpdb)(PORT = 1521)))(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))ADR_BASE_LISTENER = /u01/app/oracle
[oracle@zygjpdb~]$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = zygjpdb)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))PDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.137)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = pdb)))SDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.138)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sdb)))

7.备库的监听配置文件

[oracle@zygjsdb~]$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = sdb)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)(SID_NAME = orcl)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = zygjsdb)(PORT = 1521)))(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))ADR_BASE_LISTENER = /u01/app/oracle
[oracle@zygjsdb ~]$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = zygjsdb)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))PDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.137)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = pdb)))SDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.138)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sdb)))

8.主备库操作

两边都需要同样的操作,确保没有任何报错

lsnrctl reload
tnsping orcl
tnsping pdb
tnsping sdb
sqlplus sys/oracle@pdb as sysdba
sqlplus sys/oracle@sdb as sysdba

9.更改备库的启动文件

initorcl.ora 此文件是主库的配置文件,上一步scp过来的,下面的仅供参考,请根据实际情况修改

orcl.__db_cache_size=14831058944
orcl.__java_pool_size=469762048
orcl.__large_pool_size=536870912
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=6979321856
orcl.__sga_target=18186502144
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=2214592512
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=20737418240
*.db_unique_name='sdb'  --需修改
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_client='SDB'  --需修改
*.fal_server='PDB'  --需修改
*.java_jit_enabled=TRUE
*.log_archive_config='dg_config=(sdb,pdb)'   ----需修改
*.log_archive_dest_1='location=/u01/arch/ valid_for=(all_logfiles,all_roles) db_unique_name=sdb'  --需修改
*.log_archive_dest_2='service=pdb lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=pdb'  --需修改
*.open_cursors=300
*.pga_aggregate_target=6949672960 --注意备库SGA和PGA的大小(根据机器配置) 
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=1655
*.sga_max_size=18161927680
*.sga_target=18161927680  --注意备库SGA和PGA的大小(根据机器配置) 
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'

10.恢复备库,使之与主库同步

备库操作

[oracle@zygjsdb~]$ sqlplus / as sysdba
SQL> startup nomount pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora;
SQL> create spfile from pfile;
SQL> shutdown immediate;
SQL> startup nomount;[oracle@zygjsdb~]$ rman target sys/oracle@pdb auxiliary sys/oracle@sdb
--开始恢复,最关键命令
RMAN>run { allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate AUXILIARY channel c4 type disk;allocate AUXILIARY channel c5 type disk;allocate AUXILIARY channel c6 type disk;DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;release channel c1;release channel c2;release channel c3;release channel c4;release channel c5;release channel c6;}

在这里插入图片描述
在这里插入图片描述

11.恢复后,打开归档日志传递应用功能

11.1 恢复完成后,备库自动会由nomount状态到mount状态;现在退出rman,连接sqlplus查看状态
select status from v$instance;select open_mode from v$database;

在这里插入图片描述

 11.2 备库创建日志组

SQL> alter database add standby logfile group 10 '/u01/app/oracle/oradata/orcl/stredo10.log' size 500m;
SQL> alter database add standby logfile group 11 '/u01/app/oracle/oradata/orcl/stredo11.log' size 500m;
SQL> alter database add standby logfile group 12 '/u01/app/oracle/oradata/orcl/stredo12.log' size 500m;
SQL> alter database add standby logfile group 13 '/u01/app/oracle/oradata/orcl/stredo13.log' size 500m;
11.3 备库打开日志传递应用功能
--备库开启日志应用(非实时),推荐使用
SQL> alter database recover managed standby database disconnect from session;--备库开启实时日志应用
alter database recover managed standby database using current logfile disconnect from session;--取消应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;    
11.4 至此,dg搭建完成,现在可以进行验证
--尝试在主库切换日志文件,查看备库日志
--主库操作
alter system switch logfile;

在这里插入图片描述

--备库日志
/u01/app/oracle/diag/rdbms/sdb/orcl/trace/alert_orcl.log

在这里插入图片描述

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

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

相关文章

TransformControls 是 Three.js 中的一个类,用于在网页中进行 3D 场景中物体的交互式操作。

demo案例 TransformControls 是 Three.js 中的一个类,用于在网页中进行 3D 场景中物体的交互式操作。让我们来详细讲解它的输入参数、输出、属性和方法: 输入参数: TransformControls 构造函数通常接受两个参数: camera&#…

YAPI接口自动鉴权功能部署详解

安装准备 以下操作,默认要求自己部署过yapi,最好是部署过yapi二次开发环境。 无论是选择在线安装或者是本地安装,都需要安装client工具。 1、yapi-cli:npm install yapi-cli –g, 2、安装后将文件夹nodejs/node_gl…

JavaScript 打印教程(第二部分)设置编码

JavaScript 打印教程(第二部分)设置编码 在进行文本打印时,尤其是涉及到中文或其他特殊字符时,正确的编码设置是非常重要的。不同的打印机支持不同的指令集,因此了解并使用适合您打印机的指令集是关键。本篇教程继续使…

使用 python 拆分 excel 文件

文章目录 1、安装虚拟环境(在特定文件夹内)2、脚本 split.sh3、运行脚本(在特定文件夹内)4、结果 1、安装虚拟环境(在特定文件夹内) brew install python3 xcode-select --install python3 -m venv my_pan…

【Python】Selenium自动化测试框架

设计思路 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架,能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff0…

【蓝牙协议栈】【SMP】安全管理协议

1. SMP概念 SMP(Security Manager Protocol)即安全管理协议。SMP 是蓝牙用来进行安全管理的,其定义了配对和 Key(可以理解成密钥)的分发过程的实现,以及用于 实现这些方法的协议和工具。SMP 的内容主要是配…

探索网络分析:图论算法介绍及其如何用于地理空间分析

网络分析简介 出售真空吸尘器的挨家挨户的推销员列出了一个潜在客户,分布在邻近他的几个城市中。他想离开家,参观每个潜在客户,然后返回家园。他可以采取的最短、最有效的路线是什么? 这种情况被称为旅行推销员问题,它可能是优化中研究最深入的问题(旅行推销员问题,2023…

【Unity】调整Player Settings的Resolution设置无效

【背景】 Build时修改了Player Settings下的Resolution设置,但是再次Building时仍然不生效。 【分析】 明显是沿用了之前的分辨率设定,所以盲猜解决办法是Build相关的缓存文件,或者修改打包名称。 【解决】 实测修改版本号无效&#xf…

推特社交机器人分类

机器人有不同的种类。 cresci-17数据集中的三种不同的机器人类:传统垃圾机器人、社交垃圾机器人和假追随者。 传统的垃圾邮件机器人会生成大量推广产品的内容,并且可以通过频繁使用的形容词来检测; 社交垃圾邮件倾向于攻击或支持政治候选人,因此情绪是一…

鸿蒙HarmonyOS应用开发之Node-API简介

场景介绍 OpenHarmony Node-API是基于Node.js 8.x LTS的 Node-API 规范扩展开发的机制,为开发者提供了ArkTS/JS与C/C模块之间的交互能力。它提供了一组稳定的、跨平台的API,可以在不同的操作系统上使用。 本文中如无特别说明,后续均使用Nod…

顶会热点!迁移学习9个结合创新思路,让审稿人眼前一亮

为更灵活、更高效地解决各种复杂和动态变化问题,研究者开始着眼于将迁移学习与其他技术相结合。 这种结合充分发挥了迁移学习的优势,如知识转移、数据效率和加速学习过程等,让模型能够从更高的基准开始学习,更快地适应新任务&…

多源异构数据种类有哪些?企业该如何利用融合多源数据

随着信息时代的来临,数据的重要性愈发凸显,企业、组织和个人从各种渠道汲取丰富的信息。然而,这些数据往往源自不同的渠道,呈现异构的形式,为数据融合带来了巨大挑战。本文旨在深入研究多源异构数据的种类,…

人工智能课程小结

人工智能的各种认识论 对人工智能理论的争论 符号主义 (1)人类认知和思维的基本单元是符号 (2)计算机也是—个物理符号系统 (3)认知过程就是在符号表示上的一种运算。 连接主义 (1)人的思维单元是神经元 (2)人脑不同于电脑 行为主义 (1)智能取决于感知和行动&#xf…

AJAX介绍使用案例

文章目录 一、AJAX概念二、AJAX快速入门1、编写AjaxServlet,并使用response输出字符(后台代码)2、创建XMLHttpRequest对象:用于和服务器交换数据 & 3、向服务器发送请求 & 4、获取服务器响应数据 三、案例-验证用户是否存…

@Value注解的使用方式

Value 注解用于从配置文件中获取特定的属性值,并注入到 Spring Bean 中。它有多种使用方式,下面列举了一些常见的用法: 先贴图: 1. 注入单个属性值 Component public class MyBean {Value("${my.property}")private S…

DCS系统在工业场合中的功能是什么?为你揭秘常见DCS系统的应用场景

一.DCS系统的功能和应用 DCS系统的主要功能包括数据采集和处理、监控和报警、控制和调节、历史数据记录和趋势分析等。通过这些功能,DCS系统可以实现自动化控制、优化生产过程、提高生产效率和质量等目标。DCS系统广泛应用于各个行业,如化工、电力、制药…

代码随想录刷题笔记 Day 58 | 判断子序列 No.392 | 不同的子序列 No.115

文章目录 Day 5801. 判断子序列&#xff08;No. 392&#xff09;<1> 题目<2> 题解<3> 代码 02. 不同的子序列&#xff08;No. 115&#xff09;<1> 题目<2> 题解<3> 代码 Day 58 01. 判断子序列&#xff08;No. 392&#xff09; 题目链接…

图片文件过大?尝试这些方法压缩图片大小!

​有时候我们会面临图片文件过大的问题&#xff0c;这不仅占用存储空间&#xff0c;还可能导致传输、上传和下载速度&#xff0c;本文将介绍一些实用的图片压缩方法&#xff0c;帮助我们压缩图片大小&#xff0c;同时保持良好的图像质量。 调整图像尺寸&#xff1a; 图像的尺…

【SpringSecurity】基础入门

目录 权限管理什么是权限管理认证授权权限管理解决方案Shiro开发者自定义Spring Security Spring Security特性Spring、Spring Boot 和 Spring Security 三者的关系整体架构1.认证AuthenticationManagerAuthenticationSecurityContextHolder 2.授权AccessDecisionManagerAccess…

卷起来——高级数据分析师

要成为一名高级数据分析师&#xff0c;需要掌握一系列的技能&#xff0c;包括数据处理、统计分析、机器学习、数据可视化以及业务理解等&#xff0c;喜欢或者想往这方面发展的童鞋们&#xff0c;卷起来&#xff0c;点击以下链接中的链接&#xff0c;备注"分析"进群交…