The most recent version of AutoUpgrade can be downloaded via this link: version:https://login.oracle.com/mysso/signon.jsp
二、升级前准备
由于 AutoUpgrade 工具需要 JDK 版本 1.8 以上,11GR2 的 jdk 版本为 1.5 不支持,所以使用 19C 的 ORACLE_HOME 中 JDK 版本。
拷贝 19C 的 jdk 到源库:
scp -r $ORACLE_HOME/jdk/ 10.211.55.110:/soft/
1、设置 JAVA 环境变量
##使用19c环境的ORACLE_HOME JDK
su - oracle
cat<<EOF >>/home/oracle/.bash_profile
export JAVA_HOME=/soft/jdk/bin
export PATH=/soft/jdk/bin:\$PATH
EOF
source /home/oracle/.bash_profile
java -version
java -jar /soft/autoupgrade.jar -version
2、源端创建并编辑config文件
java -jar /soft/autoupgrade.jar -create_sample_file config /soft/config.cfg
##参照生成的config文件,编写config
mkdir /soft/upg_logs /soft/logs
cat<<EOF >/soft/config.cfg
global.autoupg_log_dir=/soft/upg_logs
#
# Database number 1
#
upg1.dbname=lucifer
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=lucifer
upg1.log_dir=/soft/logs
upg1.upgrade_node=localhost
upg1.target_version=19
upg1.restoration=no
EOF
chown -R oracle:oinstall /soft
3、升级前源库进行分析检查
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode analyze
Notes:可以通过 lsj 命令查看当前JOB的运行情况。
可以通过网页查看检查情况:
cd /soft/logs
python -m SimpleHTTPServer 8000
网页访问
http://10.211.55.110:8000/lucifer/100/prechecks/lucifer_preupgrade.html:
4、升级前源库执行修复脚本
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode fixups
Notes:可以通过 status -job 101 命令查看当前JOB的运行情况。
三、正式升级
1、关闭源库
sqlplus / as sysdba
shutdown immediate
2、拷贝源库数据文件,日志文件,参数文件,密码文件到目标端,均在源端操作
su - oracle
##拷贝数据文件,控制文件,日志文件,临时文件
scp -r /oradata/lucifer/ 10.211.55.102:/oradata
scp -r /u01/app/oracle/fast_recovery_area/lucifer/control02.ctl 10.211.55.102:/oradata/lucifer
##拷贝参数文件
scp spfilelucifer.ora 10.211.55.102:/u01/app/oracle/product/19.3.0/db/dbs
##拷贝密码文件
scp orapwlucifer 10.211.55.102:/u01/app/oracle/product/19.3.0/db/dbs
3、目标库打开实例到upgrade模式,均在目标端操作
##创建文件夹
mkdir -p /u01/app/oracle/admin/lucifer/adump
mkdir -p /u01/app/oracle/fast_recovery_area/lucifer
mv /oradata/lucifer/control02.ctl /u01/app/oracle/fast_recovery_area/lucifer/control02.ctl
##/etc/oratab增加oracle_sid
cat <<EOF >>/etc/oratab
lucifer:/u01/app/oracle/product/19.3.0/db:Y
EOF
su - oracle
##替换环境变量或者设置ORACLE_SID
export ORACLE_SID=lucifer
sqlplus / as sysdba
startup upgrade
环境变量:
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 #AL32UTF8,ZHS16GBK
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
export ORACLE_HOSTNAME=cdb19c
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=lucifer
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
alias sas='sqlplus / as sysdba'
alias alert='tail -500f $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log|more'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
alias ggsci='rlwrap ggsci'
alias dgmgrl='rlwrap dgmgrl'
################OracleEnd###########################
export JAVA_HOME=$ORACLE_HOME/jdk/bin
export PATH=$ORACLE_HOME/jdk/bin:$PATH
4、目标端创建并编辑config文件
java -jar /soft/autoupgrade.jar -create_sample_file config /soft/config.cfg
##参照生成的config文件,编写config
mkdir /soft/upg_logs /soft/logs
cat<<EOF >/soft/config.cfg
global.autoupg_log_dir=/soft/upg_logs
upg1.dbname=lucifer
upg1.start_time=NOW
upg1.source_home=/tmp
upg1.target_home=/u01/app/oracle/product/19.3.0/db
upg1.sid=lucifer
upg1.log_dir=/soft/logs
upg1.upgrade_node=localhost
upg1.target_version=19
upg1.restoration=no
EOF
chown -R oracle:oinstall /soft
Notes:源端目录可以随意填写一个目录,例如:/tmp。
5、目标端执行升级操作(upgrade模式)
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode upgrade
6、监控升级情况
通过python来创建一个HTTPServer网页来监控升级情况:
cd /soft/upg_logs/cfgtoollogs/upgrade/auto
python -m SimpleHTTPServer 8000
打开网页,输入:http://10.211.55.102:8000/state.html,网页会自动刷新执行情况:
等待升级完成即可。
四、升级后处理
1、配置sqlnet.ora
cd $TNS_ADMIN
cat <<EOF >>sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
EOF
2、检查所有组件
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
454873.png)
2、检查所有组件
[外链图片转存中…(img-R9Mr5yrH-1719231752557)]
[外链图片转存中…(img-g8Ll3Ivr-1719231752557)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!