Oracle - AutoUpgrade

更新於 2022/06/29閱讀時間約 11 分鐘
個人網站: https://kxodia.com
Oracle Database AutoUpgrade 可以讓 DBA 在沒有過多人工干預的情況下,升級一個或多個資料庫,只需一個命令和一個配置文件,Autoupgrade會產生preupgrade來執行以符合一些升級條件,也會產生post-upgrade的要執行的文件,要是升級失敗也能自動重新嘗試或執行rollback。
可以通MOS下載最新的AutoUpgrade工具AutoUpgrade Tool (Doc ID 2485457.1)
關於可支援的資料庫版本,可以參考 Database Server Upgrade/Downgrade Compatibility Matrix (Doc ID 551141.1)
  • 11g ORACLE_HOME=/u01/app/oracle/product/11g/dbhome_1
  • 19c ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1

【安裝目標資料庫軟體】

unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/dbhome_1
$ ./runInstaller
《Silent mode 安裝》
  1. 編輯response file
$cd /u01/app/oracle/product/19c/dbhome_1/install/response/
$ cp db_install.rsp db_install.bk
$ cat db_install.rsp|grep -v '#'|grep -v ^$|grep -v '=$'
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=true
oracle.install.db.rootconfig.configMethod=ROOT
oracle.install.db.CLUSTER_NODES=rac1,rac2
2. 執行precheck
$ ./runInstaller -executePrereqs -silent -responseFile /u01/app/oracle/product/19c/dbhome_1/install/response/db_install.rsp
Launching Oracle Database Setup Wizard...
Prerequisite checks executed successfully.
3. 若安裝時檢查有錯,可加入-ignorePrereqFailure 忽略
$ ./runInstaller -silent -responseFile /u01/app/oracle/product/19c/dbhome_1/install/response/db_install.rsp -ignorePrereqFailure
 Enter password for 'root' user:

【Autoupgrade - create_sample_file】

$ java -jar autoupgrade.jar -create_sample_file config
編輯config file
[oracle@rac1 autoupgrade]$ cat sample_config.cfg  |grep -v ^$ |grep -v ^#
global.autoupg_log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade
upg1.log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade/orcl         # Path of the log directory for the upgrade job
upg1.sid=orcl                                              # ORACLE_SID of the source DB/CDB
upg1.source_home=/u01/app/oracle/product/11g/dbhome_1  # Path of the source ORACLE_HOME
upg1.target_home=/u01/app/oracle/product/19c/dbhome_1  # Path of the target ORACLE_HOME
upg1.start_time=NOW                                       # Optional. [NOW | +XhYm (X hours, Y minutes after launch) | dd/mm/yyyy hh:mm:ss]
upg1.upgrade_node=rac1                                # Optional. To find out the name of your node, run the hostname utility. Default is 'localhost'

【Autoupgrade - analyze】

autoupgrade analyze
檢視status log內記錄著資訊,包含preupgrade log 路徑
status.log
檢視preupgrade.log 內包含 “REQUIRED ACTIONS”
=======================================
Status of the database prior to upgrade
=======================================
      Database Name:  orcl1
     Container Name:  Not Applicable in Pre-12.1 database
       Container ID:  Not Applicable in Pre-12.1 database
            Version:  11.2.0.4.0
     DB Patch Level:  UNKNOWN
         Compatible:  11.2.0.4.0
          Blocksize:  8192
           Platform:  Linux x86 64-bit
      Timezone File:  14
  Database log mode:  ARCHIVELOG
           Readonly:  false
            Edition:  EE
......
...
.
==============
BEFORE UPGRADE
==============
  REQUIRED ACTIONS
  ================
  None
  RECOMMENDED ACTIONS
  ===================
1.(AUTOFIXUP)...
2.(AUTOFIXUP)...
=============
AFTER UPGRADE
=============
  REQUIRED ACTIONS
  ================
  None
  RECOMMENDED ACTIONS
  ===================
3.(AUTOFIXUP)
4.Gather statistics...
...

【Autoupgrade - deploy

執行deploy開始執行自動升級
$ java -jar autoupgrade.jar -config sample_config.cfg -mode deploy
lsj可以看到目前執行狀態與進度
autoupgrade deploy
autoupgrade ls job
status 可以看到詳細進度、花費時間、耗用資源
autoupgrade status
檢視資料庫資源,自動更換oracle home到19c
檢視資料庫狀態

【刪除restore point】

預設自動建立restore point,記得將其刪除。
restore point

【筆記】

upg> restore all_failed
upg> restore -job
java -jar autoupgrade.jar -config config.cfg -restore -jobs
想要還原時,不可以動config檔案
AutoUpgrade is not fully tested on OpenJDK 64-Bit Server VM, Oracle recommends to use Java HotSpot(TM)
Previous execution found loading latest data
Total jobs recovered: 1
The content of the user config file /home/oracle/scripts/UPGR.cfg was altered after a deploy which may lead to corruption or invalid settings,
the AutoUpgrade will stop for safety, make sure to restore the original content of the file prior running the tool again
or if you wish to start from the beginning then remove or change the autoupg_log_dir directory
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
本文以12.1的oracle單機資料庫為例,更新每季出的PSU
使用Azure Backup Service將資料備份到雲端Microsoft Azure平臺,本文摘要說明 Azure 備份架構、元件。
override是控制 SCOM 收集的數據量的關鍵。可以更改 SCOM 的配置,用於監視器(monitors)、屬性(attributes)、對象發現(object discoveries)和規則(rules)。必須具有一定權限才能創建和編輯override。
SCOM指的是在Microsoft System Center內的一個元件 Operations Manager,簡稱SCOM。主要就是用來監控資訊環境的健康狀態、效能、可用性等等...,並可以發出告警alert,透過匯入Management Packs到要監控的目標object來達成
本文介紹了使用Azure Site Recovery service - Classic 在本地 VMware 和 Azure 之間部署災難恢復複製(disaster recovery replication )、故障轉移(failover)和恢復(recovery)時使用的架構和流程。
本文以12.1的oracle單機資料庫為例,更新每季出的PSU
使用Azure Backup Service將資料備份到雲端Microsoft Azure平臺,本文摘要說明 Azure 備份架構、元件。
override是控制 SCOM 收集的數據量的關鍵。可以更改 SCOM 的配置,用於監視器(monitors)、屬性(attributes)、對象發現(object discoveries)和規則(rules)。必須具有一定權限才能創建和編輯override。
SCOM指的是在Microsoft System Center內的一個元件 Operations Manager,簡稱SCOM。主要就是用來監控資訊環境的健康狀態、效能、可用性等等...,並可以發出告警alert,透過匯入Management Packs到要監控的目標object來達成
本文介紹了使用Azure Site Recovery service - Classic 在本地 VMware 和 Azure 之間部署災難恢復複製(disaster recovery replication )、故障轉移(failover)和恢復(recovery)時使用的架構和流程。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
最近因為工作的關係,遇到了取用Oracle資料庫的問題,這邊有一篇實作後確實可用的文章,在此紀錄與增補一些遇到的問題
Thumbnail
當你開始下定決心認真做一件事的時候,你就栽了! (文章後段有四隻心靈動物跟大家傳遞訊息唷~) 三個月內新增的牌卡種類 我問過很多專業的老師這個問題:「想要學會一種技能有沒有甚麼方法?」 得到的答案幾乎都是差不多,他們都會告訴我,你需要"大量的練習",並且最好"隨手可得"。這裡隨手可得的意思指的不是
Thumbnail
先前筆者有寫過「一篇打包軟體的科普、法普知識」,其中提到著作權法上關於電腦程式碼的相關概念,包括軟體在著作權法上的意義與保護、抄襲軟體與合理使用的概念,如今出現一個史上最受矚目且經全世界媒體報導的重大終局判決,筆者稱此判決案例為「Google與Oracle終局之戰」,這判決結果影響軟體產業
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
最近因為工作的關係,遇到了取用Oracle資料庫的問題,這邊有一篇實作後確實可用的文章,在此紀錄與增補一些遇到的問題
Thumbnail
當你開始下定決心認真做一件事的時候,你就栽了! (文章後段有四隻心靈動物跟大家傳遞訊息唷~) 三個月內新增的牌卡種類 我問過很多專業的老師這個問題:「想要學會一種技能有沒有甚麼方法?」 得到的答案幾乎都是差不多,他們都會告訴我,你需要"大量的練習",並且最好"隨手可得"。這裡隨手可得的意思指的不是
Thumbnail
先前筆者有寫過「一篇打包軟體的科普、法普知識」,其中提到著作權法上關於電腦程式碼的相關概念,包括軟體在著作權法上的意義與保護、抄襲軟體與合理使用的概念,如今出現一個史上最受矚目且經全世界媒體報導的重大終局判決,筆者稱此判決案例為「Google與Oracle終局之戰」,這判決結果影響軟體產業