首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AutoUpgrade升级至19C non-cdb

AutoUpgrade升级至19C non-cdb

作者头像
Lucifer三思而后行
发布2021-08-17 15:52:09
发布2021-08-17 15:52:09
7180
举报

参考MOS文档:

AutoUpgrade Tool (Doc ID 2485457.1) 

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

一、环境准备

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

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

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

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

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

节点

主机版本

主机名

实例名

Oracle版本

IP地址

源库

redhat 6.9

s11g

nocdb

11204(补丁 31537677)

192.168.1.100

目标库

redhat 7.6

s19c

nocdb

11204(补丁 31537677)+ 19.3.0(补丁 29585399)

192.168.1.101

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

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

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

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

二、升级前准备

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

1、设置JAVA环境变量

代码语言:javascript
复制
##使用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

2、创建并编辑config文件

代码语言:javascript
复制
java -jar /soft/autoupgrade.jar -create_sample_file config

chown -R oracle:oinstall /soft
##参照生成的config文件,编写config
mkdir /soft/upg_logs /soft/logs
cat</soft/conifg.cfg
#Global configurations
#Autoupgrade's global directory, ...
#temp files created and other ...
#send here
global.autoupg_log_dir=/soft/upg_logs

#
# Database number 1 
# 
upg1.dbname=nocdb
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/11.2.0/db
upg1.target_home=/u01/app/oracle/product/19.3.0/db
upg1.sid=nocdb
upg1.log_dir=/soft/logs
upg1.upgrade_node=s19c
upg1.target_version=19
upg1.restoration=no
EOF

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

代码语言:javascript
复制
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode analyze

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

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

代码语言:javascript
复制
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode fixups

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

三、正式升级

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

1、执行升级命令

代码语言:javascript
复制
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode deploy

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

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

代码语言:javascript
复制
cd /soft/upg_logs/cfgtoollogs/upgrade/auto
python -m SimpleHTTPServer 8000

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

等待升级完成即可。

四、升级后处理

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

代码语言:javascript
复制
rm -rf /u01/app/oracle/product/11.2.0/db
##关闭11G监听
ps -ef|grep tns

kill -9 $spid

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

代码语言:javascript
复制
##修改LOCAL_LISTENER
alter system reset local_listener;
shutdown immediate
startup

##Notes:如果不将LOCAL_LISTENER设置为空,动态监听无法注册。

lsnrctl stop
cd $TNS_ADMIN

##修改listener.ora文件:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = s19c)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

lsnrctl start

3.配置sqlnet.ora

代码语言:javascript
复制
cd $TNS_ADMIN
cat <>sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
EOF

4.检查所有组件

代码语言:javascript
复制
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;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/05/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境准备
  • 二、升级前准备
  • 三、正式升级
  • 四、升级后处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档