Oracle19c ADG搭建

文章目录

  • 一、环境配置
    • 1、主机环境
    • 2、host文件配置
  • 二、主库配置
    • 1、 开启归档
    • 2、redo日志
    • 3、修改参数文件
    • 4、配置TNS文件
    • 5、静态监听
    • 6、拷贝密码文件
  • 三、备库配置
    • 1、开启归档
    • 2、redo日志
    • 3、修改参数文件
    • 4、配置TNS文件
    • 5、配置静态监听
  • 四、构建DG
    • 1、验证监听
    • 2、主库登入rman,复制数据库至备库
    • 3、开启实时同步

一、环境配置

1、主机环境

类型主机名IP
主库p19c192.168.229.150
备库p19cstd192.168.229.151

这里选择做两个19c单机环境

tip:数据库服务名与主机名一致

  • 19c的安装可以参考以下教程,教程是以p19c为例,在安装p19cstd时,需要将所有的p19c替换成p19cstd
    Oracle 19c静默安装教程

2、host文件配置

配置hostname:

# 主库
hostnamectl set-hostname p19c
# 备库
hostnamectl set-hostname p19cstd

配置hosts文件:

cat <<EOF>>/etc/hosts
#Public IP
192.168.229.150     p19c
192.168.229.151     p19cstd
EOF

二、主库配置

1、 开启归档

  • 查看oracle归档状态
archive log list

在这里插入图片描述

  • 关闭数据库,并启动到mount状态
shutdown immediate;
startup mount;

在这里插入图片描述

  • 修改归档位置
mkdir -p /u01/app/archive
chown -R oracle:oinstall /u01/app/
# 在sql中执行,修改归档位置
alter system set log_archive_dest_1='location=/u01/app/archive';

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

  • 启用归档模式和强制归档
alter database archivelog;
alter database force logging;
alter database open;

在这里插入图片描述

  • 查看修改后的归档状态
archive log list;

在这里插入图片描述

  • 切换在线日志,验证归档是否正常
alter system switch logfile;
!ls /u01/app/archive

在这里插入图片描述

2、redo日志

  • 查询现有redo日志的数量
select group#,type,member from v$logfile;

在这里插入图片描述

  • 查询现有redo日志的容量
select group#,bytes/1024/1024 as MB,status from v$log;

在这里插入图片描述

  • 创建standby日志组,容量要和redo相同,数量是redo当前数量+1
mkdir -p /u01/app/oradata/P19C
chown -R oracle:oinstall /u01/app/
alter database add standby logfilegroup 6 ('/u01/app/oradata/P19C/standby_redo04.log') size 200m reuse,group 7 ('/u01/app/oradata/P19C/standby_redo05.log') size 200m reuse, group 8 ('/u01/app/oradata/P19C/standby_redo06.log') size 200m reuse, group 9 ('/u01/app/oradata/P19C/standby_redo07.log') size 200m reuse;

在这里插入图片描述

  • 确认状态
select group#,status,used from v$standby_log;

在这里插入图片描述

3、修改参数文件

# DG_CONFIG(主库名,备库名)
alter system set log_archive_config='DG_CONFIG=(p19c,p19cstd)';
# LOCATION是主库的归档日志,DB_UNIQUE_NAME是主库名
alter system set log_archive_dest_1='LOCATION=/u01/app/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=p19c';
# SERVICE=备库名,DB_UNIQUE_NAME=备库名
alter system set log_archive_dest_2='SERVICE=p19cstd VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=p19cstd';
alter system set log_archive_dest_state_1='enable';
alter system set log_archive_dest_state_2='enable';
# db_file_name_convert=新建的redo日志位置,主库和备库的,备库后边按照这个创建
alter system set db_file_name_convert='/u01/app/oradata/P19CSTD','/u01/app/oradata/P19C' scope=spfile;
# db_file_name_convert=新建的redo日志位置,主库和备库的,备库后边按照这个创建
alter system set log_file_name_convert='/u01/app/oradata/P19CSTD','/u01/app/oradata/P19C' scope=spfile;
# 备库名
alter system set fal_server='p19cstd';
# 主库名
alter system set fal_client='p19c';
alter system set standby_file_management='AUTO';
# 主库名
alter system set DB_UNIQUE_NAME='p19c' scope=spfile;

在这里插入图片描述
上面修改的参数有的需要重启数据库才能生效

shutdown immediate;
startup;

在这里插入图片描述

4、配置TNS文件

cd $ORACLE_HOME/network/admin/

netmgr,配置tns,监听

vim tnsnames.ora
LISTENER_P19C =(ADDRESS = (PROTOCOL = TCP)(HOST = p19c)(PORT = 1521))P19C =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = p19c)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = p19c)))P19CSTD =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = p19cstd)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = p19cstd)))

重启监听

lsnrctl stop
lsnrctl start

在这里插入图片描述

  • 测试监听是否配资成功
tnsping p19c
tnsping p19cstd

在这里插入图片描述

5、静态监听

cd $ORACLE_HOME/network/admin
vi listener.ora
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = p19c)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = p19c)(ORACLE_HOME = /u01/app/oracle/product/19.3.0)(SID_NAME = p19c)))

监听重载

lsnrctl reload

在这里插入图片描述

6、拷贝密码文件

# 如果下列命令找不到位置,就执行 cd $ORACLE_HOME/dbs
cd /u01/app/oracle/product/19.3.0/dbs
# 密码文件名字为orapw+实例名
scp orapwp19c oracle@p19cstd:/u01/app/oracle/product/19.3.0/dbs/

在这里插入图片描述
在这里插入图片描述
备库有两个密码文件,其中一个是主库的密码文件
在这里插入图片描述

三、备库配置

1、开启归档

  • 查看oracle归档状态
archive log list
  • 关闭数据库,并启动到mount状态
shutdown immediate;
startup mount;

在这里插入图片描述

  • 修改归档位置
mkdir -p /u01/app/archive
chown -R oracle:oinstall /u01/app/
# 在sql中执行,修改归档位置
alter system set log_archive_dest_1='location=/u01/app/archive';
  • 启用归档模式和强制归档
alter database archivelog;
alter database force logging;
alter database open;

在这里插入图片描述

  • 查看修改后的归档状态
archive log list;

在这里插入图片描述

  • 切换在线日志,验证归档是否正常
alter system switch logfile;
!ls /u01/app/archive

在这里插入图片描述

2、redo日志

  • 查询现有redo日志的数量
select group#,type,member from v$logfile;

在这里插入图片描述

  • 查询现有redo日志的容量
select group#,bytes/1024/1024 as MB,status from v$log;

在这里插入图片描述

  • 创建standby日志组,容量要和redo相同,数量是redo当前数量+1
mkdir -p /u01/app/oradata/P19CSTD
chown -R oracle:oinstall /u01/app/
alter database add standby logfilegroup 6 ('/u01/app/oradata/P19CSTD/standby_redo04.log') size 200m reuse,group 7 ('/u01/app/oradata/P19CSTD/standby_redo05.log') size 200m reuse, group 8 ('/u01/app/oradata/P19CSTD/standby_redo06.log') size 200m reuse, group 9 ('/u01/app/oradata/P19CSTD/standby_redo07.log') size 200m reuse;

在这里插入图片描述

  • 确认状态
select group#,status,used from v$standby_log;

在这里插入图片描述

3、修改参数文件

备库要创建/u01/app/oracle/admin/oraclestd/adump文件,要不然无法启动

mkdir -p /u01/app/oracle/admin/p19cstd/adump
# DG_CONFIG(备库名,主库名)
alter system set log_archive_config='DG_CONFIG=(p19cstd,p19c)';
# LOCATION是备库的归档日志,DB_UNIQUE_NAME是备库名
alter system set log_archive_dest_1='LOCATION=/u01/app/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=p19cstd';
# SERVICE=主库名,DB_UNIQUE_NAME=主库名
alter system set log_archive_dest_2='SERVICE=p19c VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=p19c';
alter system set log_archive_dest_state_1='enable';
alter system set log_archive_dest_state_2='enable';
# db_file_name_convert=新建的redo日志位置,主库和备库的,备库后边按照这个创建
alter system set db_file_name_convert='/u01/app/oradata/P19C','/u01/app/oradata/P19CSTD' scope=spfile;
# db_file_name_convert=新建的redo日志位置,主库和备库的,备库后边按照这个创建
alter system set log_file_name_convert='/u01/app/oradata/P19C','/u01/app/oradata/P19CSTD' scope=spfile;
# 主库名
alter system set fal_server='p19c';
# 备库名
alter system set fal_client='p19cstd';
alter system set standby_file_management='AUTO';
# 备库名
alter system set DB_UNIQUE_NAME='p19cstd' scope=spfile;

在这里插入图片描述
上面修改的参数有的需要重启数据库才能生效

shutdown immediate;
startup;

4、配置TNS文件

cd $ORACLE_HOME/network/admin/

netmgr,配置tns,监听

vim tnsnames.ora
LISTENER_P19CSTD =(ADDRESS = (PROTOCOL = TCP)(HOST = p19cstd)(PORT = 1521))P19CSTD =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = p19cstd)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)	(SERVICE_NAME = p19cstd)))P19C =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = p19c)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = p19c)))

重启监听

lsnrctl stop
lsnrctl start

在这里插入图片描述

  • 测试监听是否配资成功
tnsping p19c
tnsping p19cstd

在这里插入图片描述

5、配置静态监听

cd $ORACLE_HOME/network/admin
vi listener.ora
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = p19cstd)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = p19cstd)(ORACLE_HOME = /u01/app/oracle/product/19.3.0)(SID_NAME = p19cstd)))

监听重载

lsnrctl reload

在这里插入图片描述
再次测试监听
在这里插入图片描述

在这里插入图片描述

四、构建DG

1、验证监听

主库:

sqlplus sys/123@p19c as sysdba
sqlplus sys/123@p19cstd as sysdba

备库:

sqlplus sys/123@p19c as sysdba
sqlplus sys/123@p19cstd as sysdba

在这里插入图片描述

在这里插入图片描述

2、主库登入rman,复制数据库至备库

  • 先将备库置为nomount状态
sqlplus sys/123@p19cstd as sysdba
shutdown immediate;
startup nomount;
# 修改参数standby_file_management
alter system set standby_file_management=MANUAL;

在这里插入图片描述

rman target sys/123@p19c auxiliary sys/123@p19cstd

构建备库

duplicate target database for standby from active database nofilenamecheck using compressed backupset;

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

3、开启实时同步

  • 备库
# 查询备库状态是否已经mount:
select open_mode from v$database;

在这里插入图片描述

# 打开数据库
alter database open;alter database recover managed standby database using current logfile disconnect from session;

关闭同步:即停止 mgr 进程(这里不用关闭,了解就行)

alter database recover managed standby database cancel;

查看数据库打开状态:
READ ONLY WITH APPLY代表ADG启动成功

select open_mode from v$database;

在这里插入图片描述

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

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

相关文章

排序——选择排序(直接选择排序和堆排)

本专栏和大家分享关于排序的算法,其中有插入排&#xff08;直接插入排序和希尔排序&#xff09;、选择排序&#xff08;直接选择排序和堆排&#xff09;、交换排序&#xff08;冒泡排序和快速排序&#xff09;、归并排序以及其他非基于比较的排序 本文与大家分享选择排序 目录 …

【pytest、playwright】多账号同时操作

目录 方案实现思路&#xff1a; 方案一&#xff1a; 方案二&#xff1a; 方案实现思路&#xff1a; 依照上图所见&#xff0c;就知道&#xff0c;一个账号是pytest-playwright默认的环境&#xff0c;一个是 账号登录的环境 方案一&#xff1a; 直接上代码&#xff1a; imp…

Tensorflow2.0笔记 - 自定义Layer和Model

本笔记主要记录如何在tensorflow中实现自定的Layer和Model。详细内容请参考代码中的链接。 import time import tensorflow as tf from tensorflow import keras from tensorflow.keras import datasets, layers, optimizers, Sequential, metricstf.__version__ #关于自定义l…

JRT业务开发起步

这是一段充满挑战与奋斗的旅程&#xff0c;自第一行Java代码的写下起&#xff0c;便历经重重险阻。从细微的代码行&#xff0c;逐步汇聚成实用的工具类方法&#xff1b;从工具类方法的积累&#xff0c;逐渐构建起功能强大的工具包&#xff1b;再从工具包的整合&#xff0c;最终…

走进标杆企业——成套数字化标杆观摩游学(重庆站)

为了推进工业电气加工与设计的效率提升&#xff0c;加快企业数字化、网络化和智能化管理的步伐&#xff0c;利驰软件(苏州)有限公司&#xff08;下文简称利驰软件&#xff09;在重庆于2024年3月22日举办了一场成套数字化标杆观摩游学。此次为期一天的活动吸引了湘鄂渝地区专家们…

视频素材下载哪个软件好?几个素材库视频免费下载

在浩瀚的创意海洋中&#xff0c;找到完美的无水印视频素材犹如寻宝一般&#xff0c;每一段精彩的视频片段都能为您的作品增色不少。无论您是视频制作新手&#xff0c;还是经验丰富的专业人士&#xff0c;这里有全球各地的精选视频素材网站&#xff0c;旨在激发您的灵感&#xf…

EfficientSAM 项目排坑

EfficientSAM 项目排坑 任务过程记录创建环境运行示例 任务 跑通这个项目代码 过程记录 创建环境 readme里没有说具体怎么配置环境&#xff0c;所以可能对我来说还挺困难的。 现把项目git下来&#xff1a; git clone https://github.com/yformer/EfficientSAM.git cd Effi…

Flask Python:请求上下文和应用上下文

请求上下文和应用上下文详解 一、背景二、什么是上下文2.1、请求上下文2.2、应用上下文2.3、两种上下文的底层逻辑 三、写在最后 一、背景 在如何实现异步发送邮件的时候&#xff0c;遇到过这样一个报错 RuntimeError: Working outside of request context.This typically me…

【机器学习】数据探索---python主要的探索函数

在上一篇博客【机器学习】数据探索(Data Exploration)—数据质量和数据特征分析中&#xff0c;我们深入探讨了数据预处理的重要性&#xff0c;并介绍了诸如插值、数据归一化和主成分分析等关键技术。这些方法有助于我们清理数据中的噪声、消除异常值&#xff0c;以及降低数据的…

C语言内存函数(超详解)

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 点击主页&#xff1a;optimistic_chen和专栏&#xff1a;c语言&#xff0c; 创作不易&#xff0c;大佬们点赞鼓…

KIl5:Stm32L071下载出现flash download faild “cortex-m0+“的解决方法

首先看看有没有芯片&#xff0c;没有芯片下载一下 下载并在device选择对应的芯片 选择调试器 选择flash

C++ 二叉树OJ题

&#x1f493;博主CSDN主页:麻辣韭菜-CSDN博客&#x1f493;   ⏩专栏分类&#xff1a;C知识分享⏪   &#x1f69a;代码仓库:C高阶&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多C知识   &#x1f51d;&#x1f51d; 前言 C二叉搜索树 这篇讲解了搜索二叉…

MySQL经验分享:Shell开发问题

背景 之前整理过Python连接使用MySQL的经验&#xff0c;链接如下&#xff1a; pymysql封装总结_pymysql封装类-CSDN博客 相比高级语言&#xff0c;Shell与MySQL开发使用相对会更麻烦一些&#xff1b;由于 shell是linux命令集的概称&#xff0c;是属于命令行的人机界面。Shel…

1688采集商品信息 马帮 店小秘 芒果采集API接口 java php

1688详情API接口是一种基于开放平台的应用程序接口&#xff0c;它能够实现与1688平台的数据交互&#xff0c;让商家能够更加方便地获取商品详情、库存信息、价格变动等重要数据。通过这一接口&#xff0c;商家可以实时掌握市场动态&#xff0c;快速响应消费者需求&#xff0c;从…

jenkins进行自动化部署

jenkins自动化部署 hello&#xff0c;大家好&#xff0c;前文我们已经下载好我们的jenkins了&#xff0c;下面我们用jenkins来实现自动化部署啦&#xff01; 一、下载插件 我们选择插件管理 一个是Maven Integration plugin&#xff0c;一个是 Publish Over SSH 这里因为作…

【uniapp】uniapp实现免密登录

文章目录 一、概要二、整体架构流程三、技术名词解释四 、技术细节1.存取token有效期&#xff1f;2.使用setStorageSync而不使用setStorage&#xff1f;3.使用onLaunch而不使用全局路由&#xff1f; 一、概要 打开一个网页或小程序的时候&#xff0c;我们有时候会自动进入主页…

嵌入式驱动学习第五周——驱动模块

前言 Linux驱动有两种运行方式&#xff0c;第一种是将驱动编译进Linux内核中&#xff0c;另一种是编译成模块&#xff0c;本篇博客来介绍一下驱动模块。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可…

Oladance、南卡、韶音开放式耳机值得买吗?爆款实测拒绝踩坑!

​在寻找最佳开放式耳机的过程中&#xff0c;我亲自试用并评估了市场上三个备受欢迎的品牌&#xff1a;Oladance、南卡和韶音。通过全面的多维度性能测试&#xff0c;我旨在为大家提供准确的购买指南&#xff0c;避免因选择不当而遭遇音质失真或佩戴不适的问题。 选择正确的耳…

window7 SP2

网上很多window7 SP1的更新教程&#xff0c;很少有sp2的教程 参考博客Windows 7 Service Pack 2 Download and Install (64-bit/32-bit) 即 转到 Microsoft 网站上的 Windows 7 Service Pack 2下载页面 。 选择与 Windows 7 版本相对应的 “下载 ”链接。 也可以 登录官网…