<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          手把手教你 Oracle 數(shù)據(jù)庫升級!

          共 7544字,需瀏覽 16分鐘

           ·

          2021-06-08 00:44

          轉(zhuǎn)載請注明以下內(nèi)容:
          來源:公眾號【杰哥的IT之旅】
          作者:三笠
          ID:Jake_Internet

          前言

          在上一篇《手把手教你在 Linux 環(huán)境下部署 Oracle 數(shù)據(jù)庫!》文章中,有讀者說:杰哥真周到,不過這篇文章從前期的安裝環(huán)境開始比較簡單,相信能對一些 Oracle 初學(xué)者參考把基礎(chǔ)的環(huán)境給搭建起來才能順利進(jìn)行后期的一些事情。

          那么我們有了第一版環(huán)境的出現(xiàn)就會面臨著版本的迭代與升級,這篇文章就帶領(lǐng)大家一步步的 Oracle 升級,希望能對你有所幫助。

          一、環(huán)境準(zhǔn)備

          本次測試盡量按照生產(chǎn)環(huán)境升級進(jìn)行模擬,故而使用2臺主機(jī)進(jìn)行測試:

          節(jié)點主機(jī)版主機(jī)名實例名Oracle版本IP地址
          源庫redhat 6.9luciferlucifer11204(未安裝補(bǔ)?。?/td>10.211.55.110
          目標(biāo)庫redhat 7.9cdb19c
          19.3.0(補(bǔ)丁 29585399)10.211.55.102

          注意:源庫為生產(chǎn)環(huán)境 linux 6系統(tǒng),目標(biāo)庫為升級環(huán)境,由于 19C 無法安裝在 linux 6系統(tǒng),故而選擇異機(jī)升級,保留生產(chǎn)環(huán)境用于失敗回退。

          根據(jù) MOS 文檔 2485457.1 可以獲取最新版 AutoUpgrade 工具下載地址:

          The most recent version of AutoUpgrade can be downloaded via this link: version:https://login.oracle.com/mysso/signon.jsp

          二、升級前準(zhǔn)備

          由于 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、設(shè)置 JAVA 環(huán)境變量

          ##使用19c環(huán)境的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、源端創(chuàng)建并編輯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、升級前源庫進(jìn)行分析檢查

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


          Notes:可以通過 lsj 命令查看當(dāng)前JOB的運(yùn)行情況。

          可以通過網(wǎng)頁查看檢查情況:

          cd /soft/logs
          python -m SimpleHTTPServer 8000

          網(wǎng)頁訪問 

          http://10.211.55.110:8000/lucifer/100/prechecks/lucifer_preupgrade.html:

          4、升級前源庫執(zhí)行修復(fù)腳本

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


          Notes:可以通過 status -job 101 命令查看當(dāng)前JOB的運(yùn)行情況。

          三、正式升級

          1、關(guān)閉源庫

          sqlplus / as sysdba
          shutdown immediate


          2、拷貝源庫數(shù)據(jù)文件,日志文件,參數(shù)文件,密碼文件到目標(biāo)端,均在源端操作

          su - oracle
          ##拷貝數(shù)據(jù)文件,控制文件,日志文件,臨時文件
          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)庫打開實例到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 <<EOF >>/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

          環(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文件,編寫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、目標(biāo)端執(zhí)行升級操作(upgrade模式)

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


          6、監(jiān)控升級情況

          通過python來創(chuàng)建一個HTTPServer網(wǎng)頁來監(jiān)控升級情況:

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

          打開網(wǎng)頁,輸入:http://10.211.55.102:8000/state.html,網(wǎng)頁會自動刷新執(zhí)行情況:

          等待升級完成即可。

          至此,AutoUpgrade工具升級結(jié)束。

          四、升級后處理

          1、配置sqlnet.ora

          cd $TNS_ADMIN
          cat <<EOF >>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,10version,status
          from dba_registry 
          order by modified;


          五、升級為PDB并且插入CDB

          通過以上操作可以異機(jī)升級數(shù)據(jù)庫,但是只升級到NON-CDB模式。那么如何直接升級成PDB呢?

          1、目標(biāo)端需要創(chuàng)建CDB模式的數(shù)據(jù)庫實例。

          2、使用剛剛升級成功的lucifer作為源端進(jìn)行轉(zhuǎn)pdb。

          3、目標(biāo)端創(chuàng)建并編輯config文件

          java -jar /soft/autoupgrade.jar -create_sample_file config /soft/config.cfg

          ##參照生成的config文件,編寫config
          mkdir /soft/upg_logs /soft/logs
          rm -rf /soft/upg_logs/*
          rm -rf /soft/logs/*

          cat<<EOF >/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


          4、目標(biāo)端執(zhí)行升級操作(deploy模式)

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


          等待轉(zhuǎn)換完畢。

          5、升級后檢查

          參考鏈接:

          https://mikedietrichde.com/2020/08/03/oracle-autoupgrade-between-two-servers/

          https://mikedietrichde.com/2020/08/04/oracle-autoupgrade-between-two-servers-and-plugin/

          https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/examples-of-autoupgrade-workflows.html#GUID-6A4B79EB-2CE6-44FF-8FF4-C67B09D82F12

          10分鐘!一鍵部署Oracle 11GR2單機(jī)

          https://blog.csdn.net/m0_50546016/article/details/116503394

          30分鐘!一鍵部署Oracle 19C單機(jī)CDB+PDB

          https://blog.csdn.net/m0_50546016/article/details/116524049

          推薦閱讀

          手把手教你在 Linux 環(huán)境下部署 Oracle 數(shù)據(jù)庫!

          Oracle客戶端PLSQL的使用說明

          Linux環(huán)境下Oracle數(shù)據(jù)庫常用命令

          Linux-Ubuntu 18.04 LTS 安裝 Oracle VirtualBox

          最后

          本文是讀者:三笠在 CSDN 平臺創(chuàng)作的一篇文章,寫的非常詳細(xì),歡迎大家關(guān)注。

          博客地址:https://blog.csdn.net/m0_50546016(點擊文末左側(cè)的閱讀原文可直達(dá),或 PC 端訪問)

          原創(chuàng)不易,如果你覺得這篇文章對你有點用的話,麻煩你為本文點個贊、在看、留言或轉(zhuǎn)發(fā)一下,因為這將是我輸出更多優(yōu)質(zhì)文章的動力,感謝!我們下期再見!


          杰哥的另一個公眾號,主要分享關(guān)于個人成長經(jīng)歷的那點事,歡迎您的關(guān)注。

          瀏覽 113
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人入人人草 | 18成人视频 | 国产婷婷久久Av免费高清 | 日韩无码 精品 乱伦 | 欧美污视频网站 |