暂无图片
暂无图片
9
暂无图片
暂无图片
暂无图片

Oracle DataGuard容灾如何升级?看这篇就够了

原创 刘鹏程Lucifer 2021-06-04
11124

大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。

目录

前言

随着Oracle的普遍应用,DataGuard这个成员基本成为了数据库容灾环境的标配。当需要升级Oracle数据库的同时,也需要考虑同时升级DataGuard数据库版本,那么如何快捷安全的升级?


升级流程

推荐方案:

升级至NON-CDB模式:

1、首先关闭ADG同步,升级主库至19C,备库以mount模式在19C下打开,开启ADG同步。

升级至CDB模式:

1、首先升级主库为19C cdb+pdb模式,备库重新搭建ADG。

2、首先搭建一套19C CDB的主备ADG环境,首先关闭ADG同步,然后将主库升级并插入主库CDB,开启ADG同步。

以下主要介绍CDB模式方案1:

一、环境准备

环境安装过程忽略,可参考:

10分钟!一键部署Oracle 11GR2单机

30分钟!一键部署Oracle 19C单机CDB+PDB

脚本使用和下载可参考Githubhttps://github.com/pc-study/InstallOracleshell

搭建ADG可参考:

ADG单实例搭建系列之(Active Database Duplicate Using Image Copies)

ADG单实例系列搭建之(RMAN备份恢复)

ADG单实例搭建系列之 (DBCA)

ADG搭建系列之 11G RAC to Single DATABASE

本次测试尽量按照生产环境升级进行模拟:

节点 主机版本 主机名 实例名 Oracle版本 IP地址
主库 redhat 7.9 orcl orcl+cdb19c 11.2.0.4 + 19.3.0(补丁 29585399) 10.211.55.100
备库 redhat 7.9 orcl_stby 不创建实例 19.3.0(补丁 29585399) 10.211.55.101

注意:源库最好冷备拷贝到新机器进行升级,保留源库用于回退。

根据MOS文档 2485457.1可以获取最新版 AutoUpgrade工具下载地址:

The most recent version of AutoUpgrade can be downloaded via this link: version 20210421.

二、升级主库

1、用autoUpgrade工具升级主库

参考文章:都2021了,还愁Oracle升级步骤麻烦吗?学会本文,升级如喝水

config文件如下:

cat<<EOF >/soft/conifg.cfg
# Global configurations
global.autoupg_log_dir=/soft/uplogs
global.raise_compatible=yes
global.drop_grp_after_upgrade=yes

# Database number 3 - Noncdb to PDB upgrade
upg3.log_dir=/soft/logs
upg3.sid=orcl
upg3.source_home=/u01/app/oracle/product/11.2.0/db
upg3.target_cdb=cdb19c
upg3.target_home=/u01/app/oracle/product/19.3.0/db
upg3.target_pdb_name=orcl
upg3.target_pdb_copy_option=file_name_convert=('/oradata/orcl/', '/oradata/CDB19C/orcl/')
upg3.start_time=NOW                  # Optional. 10 Minutes from now
upg3.upgrade_node=orcl           # Optional. To find out the name of your node, run the hostname utility. Default is 'localhost'
upg3.run_utlrp=yes              # Optional. Whether or not to run utlrp after upgrade
upg3.timezone_upg=yes           # Optional. Whether or not to run the timezone upgrade
upg3.target_version=19  # Oracle version of the target ORACLE_HOME.  Only required when the target Oracle database version is 12.2
upg3.remove_underscore_parameters=yes
upg3.source_tns_admin_dir=/u01/app/oracle/product/11.2.0/db/network/admin
upg3.target_tns_admin_dir=/u01/app/oracle/product/19.3.0/db/network/admin
EOF

开始升级non-cdb转换为pdb
升级完成
至此,主库已升级完成。


检查升级情况:

设置pdb随cdb启动:
alter pluggable database all save state;
在这里插入图片描述

三、搭建ADG

1、主备CDB搭建ADG

备库执行:

dbca -silent -createDuplicateDB \
-gdbName cdb19c \
-sid cdb19c \
-sysPassword oracle \
-primaryDBConnectionString 10.211.55.100:1521/cdb19c \
-nodelist orcl_stby \
-databaseConfigType SINGLE \
-createAsStandby -dbUniqueName cdb19c_stby \
-datafileDestination '/oradata'

DBCA创建备库实例pdb

--主库设置DG参数
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(CDB19C,CDB19C_STBY)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=CDB19C';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=CDB19C_stby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=CDB19C_STBY';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
ALTER SYSTEM SET FAL_SERVER=CDB19C_STBY;
ALTER SYSTEM SET FAL_CLIENT=CDB19C;
ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/oradata/CDB19C','/oradata/CDB19C_STBY' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='/oradata/CDB19C','/oradata/CDB19C_STBY'  SCOPE=SPFILE;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

--备库设置DG参数
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(CDB19C_STBY,CDB19C)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=CDB19C_STBY';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=CDB19C ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=CDB19C';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
ALTER SYSTEM SET FAL_SERVER=CDB19C;
ALTER SYSTEM SET FAL_CLIENT=CDB19C_STBY;
ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/oradata/CDB19C_STBY','/oradata/CDB19C' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='/oradata/CDB19C_STBY','/oradata/CDB19C'  SCOPE=SPFILE;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

配置ADG参数
2、CDB主备开启同步

##备库执行
alter database recover managed standby database using current logfile disconnect from session;

##主库执行
alter system set log_archive_dest_state_2=enable;

同步情况检查

四、升级完测试

主库创建测试数据:

alter session set container=orcl;
创建连接用户
sqlplus lucifer/lucifer@orcl
创建测试数据
备库查看是否同步:
在这里插入图片描述
升级结束,ADG同步正常,完美。


参考文章:

How to Upgrade with AutoUpgrade and Data Guard

Upgrade Database to 12.2 with Physical Standby


往期精彩文章

Oracle 一键巡检自动生成 Word 报告
Oracle 一键安装合集
Oracle一键安装脚本的 21 个疑问与解答
Oracle一键巡检脚本的 21 个疑问与解答
全网首发:Oracle 23ai 一键安装脚本(非 RPM)
Oracle 19C 最新 RU 补丁 19.24 ,一键安装!
Oracle Linux 7.9 一键安装 Oracle 19C
RedHat 9.4(aarch64) 一键安装 Oracle 19C
openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC
RHEL 7.9 一键安装 Oracle 19C 19.23 RAC
Oracle DataGuard GAP 修复手册
优化 Oracle:最佳实践与开发规范
DBA 必备:Linux 软件源配置全攻略
Linux 一键配置时钟同步全攻略


感谢您的阅读,这里是 Lucifer三思而后行,欢迎点赞+关注,我会持续分享数据库知识、运维技巧。

最后修改时间:2024-08-09 11:20:56
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论