Focus On Oracle

Installing, Backup & Recovery, Performance Tuning,
Troubleshooting, Upgrading, Patching

Oracle Engineered System


当前位置: 首页 » 技术文章 » Oracle

如何使用Autoupgrade升级RAC数据库

随着2019年1月发布的RU (Release Updates),针对12.2和18c (18.5)作为升级目标的AutoUpgrade Tool在Support网站提供,从19c (19.3)开始,该工具也随着数据库软件一并发布(保存在$ORACLE_HOME/rdbms/admin目录下)。这个AutoUpgrade Utility是基于Java8的JARfile(autoupgrad.jar),是一个轻量级的命令行工具,可以协助我们实现升级数据库自动化。


通过AutoUpgrade Tool可以同时升级一个或多个数据库,AutoUpgrade会自动运行升级前的预检查任务,在需要的地方执行自动修复(能修复99%的潜在问题),接着执行升级数据库,最后完成升级后的后续动作(比如编译失效对象,调整时区、更新密码文件、spfile以及/etc/oratab等)。整个过程我们无需干预,只需要一个命令和一个配置文件,AutoUpgrade显著减少了与数据库升级相关的手工工作,使数据库升级过程更简单,从而大大降低风险。


截止到2019-12月,AutoUpgrade Tool的最新上传版本是Autoupgrade 19.7.2 build version 20191125。
对于12.2和18c (18.5) 作为升级目标的环境,需要通过2485457.1 – AutoUpgradeTool下载工具并保存到$ORACLE_HOME/rdbms/admin目录下,因为从 19.3开始,该工具才随数据库一并提供。虽然说19.3开始,该工具随数据库一并提供,但Oracle专家建议您到Support网站下载最新的版本并替换$ORACLE_HOME/rdbms/admin的发行版本。
AutoUpgrade工作流程
https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/understanding-autoupgrade-workflows-stages.html#GUID-8C1FC4E1-2C9C-4CBC-AF5B-95F311D73BE4
比如java -jar $OH19/rdbms/admin/autoupgrade.jar -config config.txt -mode deploy这个命令,该命令会读取配置文件coonfig.txt,启动一个升级job,然后由该job负责完成升级阶段的所有工作。如果升级过程中出现特殊问题,解决该问题后,可以从失败的地方继续执行。

AutoUpgrade工作内容

Autoupgrade的四种模式。我们常用的是analyze和deploy


每个阶段执行的内容:
Analyze Mode: Setup, Prechecks.
Fixups Mode: Setup, Prechecks, and Prefixups.
Deploy Mode: Setup, Preupgrade, Prechecks, guaranteed restore point (GRP), Prefixups, Drain, DB (database) Upgrade, Postchecks, and Postupgrade. You can run your own scripts before the upgrade (Preupgrade stage) or after the upgrade (Postupgrade stage), or both before and after the upgrade.
Upgrade Mode: Setup, DB (database) Upgrade, Postchecks, and Postfixups.

升级RAC数据库
在升级数据库时,尤其是RAC数据库,建议通过DBUA或者autoupgrade工具来升级,因为这两个工具会处理几乎所有与升级数据库相关的工作。Autoupgrade工具是一个完美的升级工具。可参考AutoUpgrade Tool (Doc ID 2485457.1)。升级前建议下载最新的autoupgrade工具,并使用最新的版本。因为会解决一些潜在的问题。比如下面这两个问题
如果使用的是2019年7月以后的版本,则无需修改数据库参数cluster_database=false
如果使用的是2019年10月以后的版本,则无需修改配置文件参数timezone_upg=no

如果有多个实例在运行,数据库对自动关闭其他实例,保留一个节点
如果是CDB容器数据库,PDB是什么状态也无所谓,autoupgrade会自动处理

RAC数据库环境信息

本次升级是从Oracle 12.1.0.2 RAC升级到Oracle 19.3 RAC,其中12.1数据库包含了两个pluggable database(PPDB01,PPDB02)。整个过程很简单,对DBA来说,真的是太棒了。因为GI的版本自身是19.4,所以在本次实验中不涉及GI的升级。升级GI更简单,安装GI,然后运行rootupgrade.sh脚本,详情可参考下面的链接,将GI从11204升级到12102  (http://www.ohsdba.cn/index.php?m=Article&a=show&id=195)。点击此处下载升级通过Autoupgrade升级RAC的文档


Autoupgrade非常完美
通过日志我们可以看出,autoupgrade真的是太贴心了,做了很多东西。
1.    创建spfile
2.    更新/etc/oratab
3.    复制tnsnames.ora,listener.ora,sqlnet.ora到新ORACLE HOME
4.    执行srvctl upgrade database
5.    健康检查


Reference
https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/using-autoupgrade-oracle-database-upgrades.html
AutoUpgrade Tool (Doc ID 2485457.1)
https://mikedietrichde.com/2019/09/05/the-september-2019-autoupgrade-and-the-autoupgrade-video/
https://mikedietrichde.com/2019/06/28/config-file-for-autoupgrade-19c-advanced-options/
https://mikedietrichde.com/2019/07/19/autoupgrade-and-data-guard-rac-restart-and-non-cdb-to-pdb/


关键词:upgrade pdb 

相关文章

如何使用Autoupgrade升级RAC数据库
Upgrade to Oracle Database 19c Hands-on
Oracle PDB升级/迁移实践
容器数据库(CDB)和可插拔数据库(PDB)概述
PDB Migration/Failover in Dataguard
Oracle Database 12c之后DataGuard环境中的PDB操作
在18c中通过ASM Flex DiskGroup克隆PDB
Oracle Database 18c (18.3.0) Upgrade and Migration hands-on Lab
Oracle Database 12.2 Hands-On Lab
Rolling upgrade Oracle11gR2 MAA to Oracle12c MAA
Upgrade 11gR2 RAC database to 12.1.0.2 with DBUA
Create/Delete/Rename/Clone/Convert to PDB
Top