AutoUpgrade升级19C CDB

网友投稿 589 2022-05-29

前言

一、环境准备

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

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

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

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

本次测试尽量按照生产环境升级进行模拟,故而使用2台主机进行测试:

注意:源库为生产环境,目标库为升级环境,需要通过rman的将生产环境实例备份恢复到目标库,保留生产环境用于失败回退。

确保磁盘空间足够,否则升级过程报错:

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

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

以下所有操作都不涉及源库10.211.55.100数据库,以下称10.211.55.102中11GR2库为源库。

二、升级前准备

由于AutoUpgrade工具需要JDK版本1.8以上,11GR2的jdk版本为1.5不支持,所以使用19C的ORACLE_HOME中JDK版本。

1、11GR2升级APEX或者卸载APEX

##升级目标库版本最新APEX版本,参考MOS:1088970.1 ##下载APEX: http://www.oracle.com/technetwork/developer-tools/apex/all-archives-099381.html ##解压APEX包 unzip apex_19.2.zip chown -R oracle:oinstall /soft/apex ##升级APEX cd /soft/apex/ sqlplus / as sysdba @apexins.sql SYSAUX SYSAUX TEMP /i/ ##编译无效对象 sqlplus / as sysdba @?/rdbms/admin/utlrp.sql ##查看当前APEX版本 SELECT comp_name, status, version FROM dba_registry WHERE comp_name = 'Oracle Application Express'; ##卸载APEX ##https://mikedietrichde.com/2017/07/27/oracle-apex-clean-up-oracle-database-11-2-12-2/ ##How to Uninstall Oracle HTML DB / Application Express from a Standard Database (Doc ID 558340.1) sqlplus / as sysdba @?/apex/apxremov.sql drop package HTMLDB_SYSTEM; ##HTMLDB_SYSTEM Package is Invalid After Removing APEX (Doc ID 1231863.1)

2、设置JAVA环境变量

##使用19c环境的ORACLE_HOME JDK su - oracle cat<>/home/oracle/.bash_profile_19 export JAVA_HOME=$ORACLE_HOME/jdk/bin export PATH=$ORACLE_HOME/jdk/bin:$PATH EOF source /home/oracle/.bash_profile_19 java -version java -jar /soft/autoupgrade.jar -version

3、创建并编辑config文件

java -jar /soft/autoupgrade.jar -create_sample_file config chown -R oracle:oinstall /soft mkdir /soft/upg_logs /soft/logs ##参照生成的config文件,编写config cat</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=nocdb 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=lucifer upg3.target_pdb_copy_option=file_name_convert=('/oradata/nocdb/', '/oradata/CDB19C/lucifer/') upg3.start_time=NOW # Optional. 10 Minutes from now upg3.upgrade_node=cdb19c # 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

3、升级前源库进行分析检查

java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode analyze

Notes:可以通过 lsj 命令查看当前JOB的运行情况。

4、升级前源库执行修复脚本

java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode fixups

Notes:可以通过 status -job 101 命令查看当前JOB的运行情况。

AutoUpgrade升级至19C CDB

三、正式升级

在确认以上步骤没有问题之后,可以开始进行数据库升级。

1、执行升级命令

java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode deploy

Notes:执行升级过程中,可以通过 lsj 和 status -job 102 来检查升级情况。

或者通过python来创建一个HTTPServer网页来监控升级情况:

cd /soft/upg_logs/cfgtoollogs/upgrade/auto python -m SimpleHTTPServer 8000

打开网页,输入:http://10.211.55.102:8000/state.html,网页会自动刷新执行情况:

Notes:实际升级过程也是先升级到19C NON-CDB,然后再插入CDB中。

等待升级完成即可。

四、升级后处理

1、删除原11GR2环境相关文件

rm -rf /u01/app/oracle/product/11.2.0/db ##关闭11G监听 ps -ef|grep tns kill -9 $spid

2、修改新实例nocdb 19C监听端口号为1521

cp tnsnames.ora $TNS_ADMIN cp listener.ora $TNS_ADMIN cd $TNS_ADMIN ##修改listener.ora文件: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cdb19c)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) lsnrctl start

3.配置sqlnet.ora

cd $TNS_ADMIN cat <>sqlnet.ora SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 EOF

4.检查所有组件

select substr(comp_id,1,15) comp_id,substr(comp_name,1,30) comp_name,substr(version,1,10) version,status from dba_registry order by modified;

**参考MOS文档:

AutoUpgrade Tool (Doc ID 2485457.1)

Database Server Upgrade/Downgrade Compatibility Matrix (Doc ID 551141.1)    **

Using AutoUpgrade for Oracle Database Upgrades

如果觉得文章对你有帮助,、、关注、评论,一键四连支持,你的支持就是我创作最大的动力,谢谢

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:号称十倍性能于Cassandra的ScyllaDB,究竟祭出了哪些技术"利器"?
下一篇:《带你走进Docker的世界》轻松学会原理|架构|安装|加速【与云原生的故事】
相关文章