news 2026/4/15 17:29:20

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/4/13 8:27:17

白帽黑客自学指南:2026 版网络安全学习路线(零基础到职业进阶)

随着网络空间的扩展&#xff0c;白帽黑客——即合法从事安全测试与漏洞挖掘的网络安全工程师&#xff0c;已成为数字时代不可或缺的职业角色。本文将为你提供一条系统化、可操作性强的学习路径&#xff0c;帮助你从零基础逐步成长为具备实战能力的安全工程师。 一、基础入门&am…

作者头像 李华
网站建设 2026/4/13 3:56:31

AI重构企业沟通:云蝠智能大模型如何重塑客户服务生态

01 效率困境&#xff0c;传统客户沟通的成本黑洞企业主最恐惧的不是疯狂涌进的咨询量&#xff0c;而是流失的客户可能正在用1次占线体验抵消10次广告投放的努力。传统客服系统已成为企业运营效率的“绞肉机”&#xff0c;吞噬着利润与客户信任。数据揭示了残酷的现实&#xff1…

作者头像 李华
网站建设 2026/4/3 5:04:06

python西安旅游景点攻略系统微信小程序_o

目录 西安旅游景点攻略系统微信小程序摘要 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 西安旅游景点攻略系统微信小程序摘要 该微信小程序旨在为游客提供西安旅游景点的详细信息、路线…

作者头像 李华
网站建设 2026/4/11 2:04:24

蜜语聊带后台源码_好玩的秘密语言工具,带后台

蜜语聊带后台源码&#xff0c;好玩的秘密语言工具&#xff0c;带后台 支持在线加解密&#xff0c;有多种类型可选。 源码下载&#xff1a; https://download.csdn.net/download/m0_61505785/92609033?spm1001.2014.3001.5503 更多同类源码分享&#xff0c;欢迎关注。

作者头像 李华
网站建设 2026/4/12 9:02:37

导师严选10个AI论文工具,专科生轻松搞定毕业论文!

导师严选10个AI论文工具&#xff0c;专科生轻松搞定毕业论文&#xff01; AI 工具如何让论文写作不再“难” 在当前的学术环境中&#xff0c;越来越多的专科生开始借助 AI 工具来辅助完成毕业论文。这些工具不仅能够帮助学生快速生成内容、优化语言表达&#xff0c;还能有效降…

作者头像 李华