Oracle19c ADG搭建

news2024/11/27 22:20:04

文章目录

  • 一、环境配置
    • 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 logfile
  group 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 logfile
  group 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.coloradmin.cn/o/1560682.html

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

相关文章

【计算机考研】408全年保姆级规划+资料分享

408的复习顺序其实没有标准&#xff0c;推荐先复习数据结构 复习完数据结构之后&#xff0c;再去学操作系统和计算机网络的一些知识点就会很好理解。 数据结构➡计算机组成原理➡操作系统➡计算机网络。 大家可以按照上面这个顺序来学&#xff0c;其实按照这个顺序来学也是因…

泛零售行业大会员经营的发展趋势?

​随着消费者需求的快速变化和技术的不断进步&#xff0c;泛零售行业大会员经营将呈现如下发展趋势: 第一&#xff0c;会员精细化运营和个性服务将上升为泛零售企业未来的战略重点之一。 存量时代&#xff0c;市场竞争加剧&#xff0c;对绝大多数泛零售企业来说&#xff0c;得…

2024三掌柜赠书活动第二十期:搜索之道:信息素养与终身学习的新引擎

目录 目录 前言 信息素养 终身学习 搜索引擎 信息素养与终身学习 关于《搜索之道&#xff1a;信息素养与终身学习的新引擎》 编辑推荐 内容简介 作者简介 图书目录 书中前言/序言 《搜索之道&#xff1a;信息素养与终身学习的新引擎》全书速览 结束语 前言 随着互…

密码算法概论

基本概念 什么是密码学&#xff1f; 简单来说&#xff0c;密码学就是研究编制密码和破译密码的技术科学 例题&#xff1a; 密码学的三个阶段 古代到1949年&#xff1a;具有艺术性的科学1949到1975年&#xff1a;IBM制定了加密标准DES1976至今&#xff1a;1976年开创了公钥密…

微服务之分布式事务概念

微服务之分布式事务概念 CAP定理和Base理论 CAP定理 CAP定理在1998年被加州大学的计算机科学家 Eric Brewer 提出&#xff0c;分布式系统有三个指标&#xff1a; 一致性&#xff08;Consistency&#xff09;可用性&#xff08;Availability&#xff09;分区容错性&#xff…

LLM应用:Prompt flow vs LangChain

背景 Prompt flow和LangChain都是LLM时代&#xff0c;为高效地构建LLM应用而生。 Prompt flow是Microsoft开源的&#xff0c;其诞生时&#xff0c;LangChain已经很有名气了。 所以作为后生的Prompt flow会为我们带来哪些新的东西呢&#xff1f; ​​​​​​​ Prompt flo…

一文了解JAVA的常用API

目录 常用kpimathSystemRuntimeObjectObjectsBigIntegerBigDecima正则表达式包装类 常用kpi 学习目的&#xff1a; 了解类名和类的作用养成查阅api文档的习惯 math 工具类。因为是工具类&#xff0c;因此直接通过类名.方法名(形参)即可直接调用 abs&#xff1a;获取参数绝对…

Docker容器与Serverless的融合:探索《2023腾讯云容器和函数计算技术实践精选集》中的云原生创新案例

Docker容器与Serverless的融合&#xff1a;探索《2023腾讯云容器和函数计算技术实践精选集》中的云原生创新案例 文章目录 Docker容器与Serverless的融合&#xff1a;探索《2023腾讯云容器和函数计算技术实践精选集》中的云原生创新案例一、引言二、《2023腾讯云容器和函数计算…

recover 的使用

一旦mayPanic触发了panic&#xff0c;控制流会跳到defer函数中&#xff0c;尝试执行recover。 如果recover捕获到了panic&#xff0c;它会阻止panic继续传播&#xff0c;程序控制流会继续在safeCall函数的defer函数之后进行。 然而&#xff0c;由于panic导致的提前返回&#xf…

Linux---多线程(下)

前情提要&#xff1a;Linux---多线程(上) 七、互斥 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区互斥&#xff1a;任何时刻&#xff0c;互斥保证有且只有一个执行流进入临…

SuccessFactors-cpi-SAP 错误重复机制

系统做复杂的模型不是全量传输&#xff0c;最复杂的是增量模型&#xff0c;增量模型的设计完善&#xff0c;程序的复杂度几何倍增长&#xff0c;今天就讨论下SuccessFactor与HCM集成的增量原理。 首先我们看看同步步骤&#xff0c;见下图 同步过程中有多次数据交互&#xff0c;…

时序预测 | Python实现VMD-CNN-LSTM时间序列预测

时序预测 | Python实现VMD-CNN-LSTM时间序列预测 目录 时序预测 | Python实现VMD-CNN-LSTM时间序列预测预测效果基本介绍模型描述代码设计预测效果 基本介绍 VMD-CNN-LSTM 是一种混合深度学习模型,结合了变分模态分解(VMD)、卷积神经网络(CNN)和长短期记忆网络(LSTM)的…

探索创新前沿,ATFX出席CriptoSummit峰会,共商数字资产市场生态构建

发现、连接并转变您的数字金融愿景。3月20日&#xff0c;以数字资产生态构建和多元化配置为主题的CriptoSummit峰会在智利首都圣地亚哥盛大召开。大会汇聚了智利和拉丁美洲的领导人、学术专家和数字资产爱好者&#xff0c;历时8小时的深度对话与交流&#xff0c;不仅吸引了500余…

Sublime Text4 4169 安装激活【亲测可用】

此教程用于Windows 下Sublime Text4 4169版本的安装和激活。 无需安装其他软件&#xff0c;无需下载替换文件&#xff0c;无需注册机等。 官网&#xff1a; https://www.sublimetext.com 下载地址 64位&#xff1a;https://download.sublimetext.com/sublime_text_build_41…

使用Redis集合List实现消息队列

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型…

人体姿态识别项目 | 在EdgeTPU平台部署人体姿态识别算法

项目应用场景 面向 EdgeTPU 边缘计算设备平台上部署人体姿态识别算法 项目效果&#xff1a; 项目细节 > 具体参见项目 README.md (1) 安装依赖 sh install_requirements.sh (2) 执行图片检测示例 python3 simple_pose.py (3) 执行视频检测示例 python3 pose_camera.py# …

与鲸同行,智领未来!和鲸科技“人工智能+X”学科建设合作交流会(北京站)圆满结束!

在国家加快发展新质生产力的大背景下&#xff0c;3月25日下午&#xff0c;和鲸科技 2024 年“人工智能X”学科建设合作交流会&#xff08;北京站&#xff09;暨“AIX”实验室建设与供应商选型座谈会顺利召开。为提供更为集中和专业的讨论环境&#xff0c;本次会议特别采取闭门审…

JUC:java内存模型(如何保证?可见性、原子性、有序性)

文章目录 java内存模型可见性解决方法 原子性有序性流水线技术 模式之Balking(犹豫) java内存模型 JMM 即 Java Memory Model&#xff0c;它定义了主存、工作内存抽象概念&#xff0c;底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。 JMM 体现在以下几个方面 &#x…

从0到1:兼职招聘小程序开发笔记(一)

可行性分析 兼职招聘小程序&#xff1a;为雇主和求职者提供便利的平台&#xff0c;旨在帮助雇主招聘兼职员工&#xff0c;并让求职者寻找合适的兼职工作。提供简单、快捷的方式来匹配兼职岗位和候选人&#xff0c;节省了招聘和求职的时间和精力。其主要功能模块包括&#xff1…

C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)

快速排序属于交换排序&#xff0c;交换排序还有冒泡排序&#xff0c;这个太简单了&#xff0c;这里就不再讲解。 归并排序和快速排序都是采用分治法实现的排序&#xff0c;理解它们对分支思想的感悟会更深。 计数排序属于非比较排序&#xff0c;在数据集中的情况下可以考虑使…