新聞中心
前言
Oralce 19C 版本已經(jīng)趨于成熟,而 11GR2 版本Oracle已經(jīng)在 2020 年停止支持,意味著不再更新 bug 補(bǔ)丁。因此,升級(jí) 19C 是未來(lái)的大趨勢(shì),本文就來(lái)講解下 Oracle 如何快速安裝的升級(jí)到 19C 版本。

成都創(chuàng)新互聯(lián)公司專(zhuān)注于新都企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開(kāi)發(fā)。新都網(wǎng)站建設(shè)公司,為新都等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
根據(jù)上圖所示介紹,Oracle 推出一種新的升級(jí)方式,升級(jí)過(guò)程簡(jiǎn)單且非常高效!
一、環(huán)境準(zhǔn)備
本次測(cè)試盡量按照生產(chǎn)環(huán)境升級(jí)進(jìn)行模擬,故而使用2臺(tái)主機(jī)進(jìn)行測(cè)試:
注意: 源庫(kù)為生產(chǎn)環(huán)境 Linux 6 版本系統(tǒng),目標(biāo)庫(kù)為升級(jí)環(huán)境,由于 19C 無(wú)法安裝在 Linux 6 版本系統(tǒng),因此選擇異機(jī)升級(jí),保留生產(chǎn)環(huán)境用于失敗回退。
「AutoUpgrade 工具:」
根據(jù) MOS文檔 2485457.1 可以獲取最新版AutoUpgrade工具下載地址:
The most recent version of AutoUpgrade can be downloaded via this link: version 20211115.
二、升級(jí)前準(zhǔn)備
拷貝19C 的 jdk 到源庫(kù):
scp -r $ORACLE_HOME/jdk/ 10.211.55.110:/soft/
注意: AutoUpgrade 工具需要JDK版本 1.8 以上,11GR2 的 jdk 版本為 1.5 不支持,因此需要使用 19C 的 ORACLE_HOME 中 JDK 版本。
1、設(shè)置JAVA環(huán)境變量
Oracle 用戶(hù)下 java 環(huán)境變量配置
##使用19c環(huán)境的ORACLE_HOME JDK
su - oracle
cat<>/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、源端創(chuàng)建并編輯config文件
java -jar /soft/autoupgrade.jar -create_sample_file config /soft/config.cfg
##參照生成的config文件,編寫(xiě)config
mkdir /soft/upg_logs /soft/logs
cat</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、升級(jí)前源庫(kù)進(jìn)行分析檢查
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode analyze
注意: 可以通過(guò) lsj 命令查看當(dāng)前JOB的運(yùn)行情況。
「可以通過(guò)網(wǎng)頁(yè)查看檢查情況:」
cd /soft/logs
python -m SimpleHTTPServer 8000
打開(kāi)網(wǎng)頁(yè)訪問(wèn): http://10.211.55.110:8000/lucifer/100/prechecks/lucifer_preupgrade.html
4、升級(jí)前源庫(kù)執(zhí)行修復(fù)腳本
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode fixups
注意: 可以通過(guò) status -job 101 命令查看當(dāng)前JOB的運(yùn)行情況。
三、正式升級(jí)
1、關(guān)閉源庫(kù)
sqlplus / as sysdba
shutdown immediate
2、拷貝源庫(kù)數(shù)據(jù)文件,日志文件,參數(shù)文件,密碼文件到目標(biāo)端,均在源端操作
su - oracle
##拷貝數(shù)據(jù)文件,控制文件,日志文件,臨時(shí)文件
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
##拷貝參數(shù)文件
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、目標(biāo)庫(kù)打開(kāi)實(shí)例到upgrade模式,均在目標(biāo)端操作
##創(chuàng)建文件夾
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 <>/etc/oratab
lucifer:/u01/app/oracle/product/19.3.0/db:Y
EOF
su - oracle
##替換環(huán)境變量或者設(shè)置ORACLE_SID
export ORACLE_SID=lucifer
sqlplus / as sysdba
startup upgrade
「Oracle環(huán)境變量如下:」
################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、目標(biāo)端創(chuàng)建并編輯config文件
java -jar /soft/autoupgrade.jar -create_sample_file config /soft/config.cfg
##參照生成的config文件,編寫(xiě)config
mkdir /soft/upg_logs /soft/logs
cat</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
「 注意:」 源端目錄可以隨意填寫(xiě)一個(gè)目錄,例如:/tmp。
5、目標(biāo)端執(zhí)行升級(jí)操作(upgrade模式)
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode upgrade
6、監(jiān)控升級(jí)情況
「通過(guò)python來(lái)創(chuàng)建一個(gè)HTTPServer網(wǎng)頁(yè)來(lái)監(jiān)控升級(jí)情況:」
cd /soft/upg_logs/cfgtoollogs/upgrade/auto
python -m SimpleHTTPServer 8000
打開(kāi)網(wǎng)頁(yè)訪問(wèn):http://10.211.55.102:8000/state.html,網(wǎng)頁(yè)會(huì)自動(dòng)刷新執(zhí)行情況:
等待升級(jí)完成即可!
至此,AutoUpgrade工具升級(jí)結(jié)束!
四、升級(jí)后處理
1 配置sqlnet.ora
cd $TNS_ADMIN
cat <>sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
EOF
2 檢查所有組件
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;
五、升級(jí)為PDB并且插入CDB
通過(guò)以上操作可以異機(jī)升級(jí)數(shù)據(jù)庫(kù),但是只升級(jí)到NON-CDB模式。那么如何直接升級(jí)成PDB呢?
1、目標(biāo)端需要?jiǎng)?chuàng)建CDB模式的數(shù)據(jù)庫(kù)實(shí)例
2、使用剛剛升級(jí)成功的lucifer作為源端進(jìn)行轉(zhuǎn)pdb
「目標(biāo)端創(chuàng)建并編輯config文件」
java -jar /soft/autoupgrade.jar -create_sample_file config /soft/config.cfg
##參照生成的config文件,編寫(xiě)config
mkdir /soft/upg_logs /soft/logs
rm -rf /soft/upg_logs/*
rm -rf /soft/logs/*
cat</soft/config.cfg
global.autoupg_log_dir=/soft/upg_logs
upg1.dbname=lucifer
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/19.3.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
upg1.target_cdb=cdb19c
upg1.target_pdb_name=lucifer
upg3.target_pdb_copy_option=file_name_convert=('/oradata/lucifer/', '/oradata/CDB19C/lucifer/')
EOF
chown -R oracle:oinstall /soft
「目標(biāo)端執(zhí)行升級(jí)操作(deploy模式):」
java -jar /soft/autoupgrade.jar -config /soft/config.cfg -mode deploy
「等待轉(zhuǎn)換完畢:」
「升級(jí)后檢查:」
至此,完整的升級(jí)流程已經(jīng)演示結(jié)束,希望能夠幫助到!
參考文檔:
- Oracle AutoUpgrade between two servers
- Oracle AutoUpgrade between two servers – and Plugin?
- AutoUpgrade with Source and Target Database Homes on Different Servers
網(wǎng)頁(yè)題目:AutoUpgrade快速升級(jí)Oracle數(shù)據(jù)庫(kù)
網(wǎng)頁(yè)鏈接:http://www.dlmjj.cn/article/dphddec.html


咨詢(xún)
建站咨詢(xún)
