news 2026/9/3 2:38:31

Oracle19c ADG搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Oracle19c ADG搭建

一、环境配置

1、主机环境

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

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

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

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、 开启归档

archive log list

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日志

select group#,type,member from v$logfile;

select group#,bytes/1024/1024 as MB,status from v$log;

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、传输口令文件和参数文件

root用户执行:

chown oracle:oinstall /opt

口令文件:

cd $ORACLE_HOME/dbs cp orapwp19c /opt/orapwp19cstd

参数文件:

sqlplus / as sysdba create pfile from spfile; exit
cd $ORACLE_HOME/dbs vim initp19c.ora *.db_unique_name='p19c' *.log_archive_config='dg_config=(p19c,p19cstd)' *.fal_client='p19c' *.fal_server='p19cstd' *.log_archive_dest_1='LOCATION=/u01/app/archive valid_for=(all_logfiles,all_roles) db_unique_name=p19c' *.log_archive_dest_2='service=p19cstd lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=p19cstd' *.log_archive_format='%t_%s_%r.arc' *.db_file_name_convert='/u01/app/oradata/P19CSTD/','/u01/app/oradata/P19C/' *.log_file_name_convert='/u01/app/oradata/P19CSTD/','/u01/app/oradata/P19C/' STANDBY_FILE_MANAGEMENT=AUTO


启用新的参数文件:

备份之前的spfile

# 如果报错可能是没有opt下的创建文件的权限,给一下权限就好 create pfile='/opt/spfile.bak' from spfile;


启用新的

shutdown immediate; create spfile from pfile; startup;

传输文件到备库:
备库执行:

chown oracle:oinstall /opt

# 这一步报错一般也是目标服务器中ORACLE用户没有在opt下创建文件的权限 scp /opt/orapwp19cstd oracle@p19cstd:/opt scp $ORACLE_HOME/dbs/initp19c.ora oracle@p19cstd:/opt/initp19cstd.ora

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

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

tnsping p19c tnsping p19cstd

三、备库配置

1、创建必要文件夹

mkdir -p /u01/app/archive chown -R oracle:oinstall /u01/app/ mkdir -p /u01/app/oradata/P19CSTD chown -R oracle:oinstall /u01/app/ mkdir -p /u01/app/oracle/admin/p19cstd/adump

2、配置参数文件

cd /opt cp orapwp19cstd initp19cstd.ora $ORACLE_HOME/dbs cd $ORACLE_HOME/dbs vim initp19cstd.ora *.audit_file_dest='/u01/app/oracle/admin/p19cstd/adump' *.control_files='/u01/app/oradata/P19CSTD/control01.ctl','/u01/app/oradata/P19CSTD/control02.ctl' *.db_unique_name='p19cstd' *.log_archive_config='dg_config=(p19cstd,p19c)' *.fal_client='p19cstd' *.fal_server='p19c' *.log_archive_dest_1='LOCATION=/u01/app/archive valid_for=(all_logfiles,all_roles) db_unique_name=p19cstd' *.log_archive_dest_2='service=p19c lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=p19c' *.log_archive_format='%t_%s_%r.arc' *.db_file_name_convert='/u01/app/oradata/P19C/','/u01/app/oradata/P19CSTD/' *.log_file_name_convert='/u01/app/oradata/P19C/','/u01/app/oradata/P19CSTD/'


3、启动备库到nomount

export ORACLE_SID=p19cstd sqlplus / as sysdba shutdown immediate create spfile from pfile; startup nomount; # 修改参数standby_file_management alter system set standby_file_management=MANUAL;

4、配置TNS文件

cd $ORACLE_HOME/network/admin/

tnetmgr,配置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) ) )

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

tnsping p19c tnsping p19cstd

四、构建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,复制数据库至备库

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

构建备库

run { allocate channel ch001 type disk; allocate channel ch002 type disk; allocate channel ch003 type disk; allocate channel ch004 type disk; allocate auxiliary channel ch005 type disk; allocate auxiliary channel ch006 type disk; duplicate target database for standby from active database nofilenamecheck using compressed backupset; release channel ch001; release channel ch002; release channel ch003; release channel ch004; release channel ch005; release channel ch006; }


3、检验并开启实时同步

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

# 打开备库 alter database open;

检查文件:

select name from v$datafile; select name from v$tempfile; select group#,type,member from v$logfile order by 2,1;


开启日志应用(即开启实时同步):

alter database recover managed standby database using current logfile disconnect;

检查数据同步状态:
通过判断transport lag和apply lag两个参数的DATUM_TIME值来判断备库是否在应用主库的日志文件
如果多次查询DATUM_TIME值保持不变,则说明备库已经停止从主库接收数据了

select name,value,TIME_COMPUTED,DATUM_TIME from v$dataguard_stats;

检查MRP进程状态:

select process,status from v$managed_standby;

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

select open_mode from v$database;


到这里已经完成了ADG的搭建了

4、测试同步

随便创建一个表,在插入一些数据,然后用备库查询看是否能查询到
注意:主库数据插入之后需要提交之后备库才能查看到



备库进行查看:

同步成功

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 22:33:02

在 Windows中,WSL与Docker的关系

WSL 是地基&#xff0c;Docker 是房子&#xff0c;而你的代码是在房子里的某个房间跑的。 1. 什么是 WSL (Windows Subsystem for Linux)&#xff1f; WSL 的全称是 Windows 下的 Linux 子系统。 它的作用&#xff1a; 让你在 Windows 电脑上&#xff08;不用双系统&#xff0…

作者头像 李华
网站建设 2026/9/1 17:52:33

2026年AI开发平台如何驱动金融、制造、零售的场景化落地?

通用型的AI工具已无法满足行业纵深需求。2026年&#xff0c;AI开发平台的竞争力将高度体现在其对垂直行业场景的深度理解与支撑能力上。金融、制造、零售作为数字化先锋行业&#xff0c;其智能化痛点与路径具有代表性。本文将剖析在这三大行业&#xff0c;2026年AI开发平台怎么…

作者头像 李华
网站建设 2026/9/3 2:12:04

手搭BLDC模型与电流滞回比较控制器实现方波控制

该模型采用电流滞回比较控制器对BLDC进行方波控制&#xff0c;其中BLDC模型为手搭模型&#xff0c;非采用自带的模型在电机控制领域&#xff0c;无刷直流电机&#xff08;BLDC&#xff09;因其高效、低噪等优势被广泛应用。今天咱就来唠唠如何通过手搭BLDC模型&#xff0c;配合…

作者头像 李华
网站建设 2026/9/3 0:54:56

燃烧室设计学习DAY4:湍流燃烧为何比层流燃烧快

目录 湍流燃烧与层流燃烧的速率对比&#xff1a;机理分析与动力学探讨 摘要 第一章 引言 第二章 层流燃烧&#xff1a;有序与缓慢的基准 2.1 层流火焰的结构与传播机制 2.2 层流燃烧速度的决定因素 第三章 湍流流动的基本特征 3.1 涡团结构 3.2 湍流强度与雷诺数 第四…

作者头像 李华
网站建设 2026/9/1 23:14:10

燃烧室设计学习DAY6:热力学第一定律:能量守恒的奥秘

目录 热力学第一定律深度解析&#xff1a;理论基础、历史演变与应用价值 引言 第一章&#xff1a;热力学第一定律的历史渊源与演进 1.1 热质说的统治与挑战 1.2 迈尔的直觉与贡献 1.3 焦耳的实验铁证 1.4 亥姆霍兹的数学化表述 第二章&#xff1a;热力学第一定律的科学…

作者头像 李华
网站建设 2026/9/2 23:23:36

力扣Hot100系列16(Java)——[堆]总结()

文章目录前言一、数组中的第K个大的元素1.题目2.代码3. 例子二、前k个高频元素1.题目2.代码3.理解1.PriorityQueue的排序规则2.offer方法和add方法的区别4. 例子三、数据流中的中位数1.题目2.代码3. 例子前言 本文记录力扣Hot100里面关于堆的三道题&#xff0c;包括常见解法和…

作者头像 李华