IT 邦德

哇塞,从19C到26ai,3步原地自动升级?

1.升级要求

要使用AutoUpgrade将Oracle 19C升级至26ai,核心在于遵循新目录安装(Out-of-Place)的升级原则,并利用AutoUpgrade工具分阶段(分析、修复、部署)自动化完成。这个过程要求将新软件(26ai)安装到一个独立的目录,并在整个过程中保留旧的19C Oracle Home,以便在出现问题时可以快速回退。

2.安装26ai软件

通过此链接下载26ai

https://www.oracle.com/database/technologies/oracle26ai-linux-downloads.html

Image

解压
mkdir -p /u01/app/oracle/product/23.26.1/dbhome_1

unzip /opt/LINUX.X64_2326100_db_home.zip \
-d /u01/app/oracle/product/23.26.1/dbhome_1

[oracle@aiserver db_1]$ ./runInstaller

3.AutoUpgrade配置

3.1 下载AutoUpgrade

在Oracle Database 19c(19.3)和更高版本的目标Oracle根目录下,默认情况下存在autoupgrade.jar文件。但是,在使用自动升级之前,建议下载最新版本并替换$Oracle_HOME/rdbms/admin下已有的版本。

https://docs.oracle.com/en/database/oracle/oracle-database/26/upgrd/about-oracle-database-autoupgrade.html

3.2 AutoUpgrade配置

虽然Oracle 19c的$ORACLE_HOME/rdbms/admin/目录下自带了autoupgrade.jar,但强烈建议从MOS中下载最新版本,以获得最佳功能和错误修复

cd$ORACLE_HOME/rdbms/admin/
mv autoupgrade.jar autoupgrade.jar.bak
cp /opt/autoupgrade.jar ./

1.使用以下命令生成一个样本配置文件
java -jar autoupgrade.jar -create_sample_file config

Created sample configuration file /tmp/sample_config.cfg

2.根据样本文件创建你的配置文件,例如config.cfg。以下是一个关键配置示例
vi /tmp/sample_config.cfg

global.autoupg_log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade
upg1.sid=orcl
upg1.source_home=/u01/app/oracle/product/19.3.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/23.26.1/dbhome_1

3.3 分析模式

此模式会检查数据库,识别潜在问题,但不会对数据库进行任何修改。

 java -jar /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin/autoupgrade.jar -config /tmp/sample_config.cfg -mode analyze

Image

Image

3.4 修复模式

此模式会尝试自动修复在分析模式中发现的问题

 java -jar /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin/autoupgrade.jar -config /tmp/sample_config.cfg -mode fixups

Image

3.5 升级模式

这是执行实际升级操作的阶段。此过程会自动进行,包括创建还原点、关闭数据库、执行升级脚本、完成升级后检查与修复等。

 java -jar /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin/autoupgrade.jar -config /tmp/sample_config.cfg -mode deploy

Image

Image

4.注意事项

1.版本与架构:直接从19C升级到26ai是支持的。如果你的19C是非CDB架构,而计划升级到的26ai环境是CDB,则需要在配置文件中指定target_cdb参数,将非CDB作为PDB插入。

2.备份至上:在开始任何操作前,必须对源19C数据库进行完整的冷备份或RMAN备份,并确保可以恢复。这是最重要的安全网。

3.使用最新工具:务必从Oracle官方渠道下载最新版本的AutoUpgrade工具,它包含了最多的错误修复和功能改进。

4.充分测试:任何升级操作都必须先在一个与生产环境尽可能一致的测试环境中进行完整演练,以预估时间和发现潜在问题。

5.规划停机:AutoUpgrade升级过程需要数据库停机。请提前与业务部门沟通,安排足够的维护窗口。

5.总结

总的来说,通过AutoUpgrade从19C升级到26ai是一个高度自动化的过程,但成功的关键在于严谨的前期准备、完整的备份以及测试环境的充分验证。严格按照分析、修复、部署的阶段执行,并善用监控功能,可以最大程度降低风险。