【UP_ORACLE】Oracle 19c之從19.3升級到19.9
前言
和Oracle 11g以及之前的遠古版本不同,從Oracle 12c開始,升級Oracle RDBMS只能透過類似於打PSU補丁的方式。
Oracle 19c的第一個免費版本是19.3(可以就認為是12c的12.2.0.3這個版本),建議用zip包一步一步安裝。
19.3官方下載地址:
對於19.9或者其他老版本(包括12c,11g等)可透過MOS的文件找到: ID 1454618.1
注:2020年19c目前最新的補丁是Patch 31750108 (補丁裡同時包括Grid Home和DB Home)
補丁資訊
Patch 31750108裡面的補丁包資訊如下:
補丁編號 |
補丁說明 |
使用條件 |
31771877 |
Database Release Update 19.9.0.0.201020 |
可以單獨在非RAC或者ASM單例項環境的DB Home上使用 |
31772784 |
OCW Release Update 19.9.0.0.201020 |
適用於DB Home和Grid Home |
31773437 |
ACFS Release Update 19.9.0.0.201020 |
僅用於Grid Home |
31780966 |
Tomcat Release Update 19.0.0.0.0 |
僅用於 Grid Home |
注:ACFS,DBWLM和TOMCAT子修補程式不適用於HP-UX Itanium和Linux on IBM System z platforms
補丁的安裝和解除安裝
1. 補丁安裝
(1) DB Home 和Grid Home下面的OPatch這個資料夾裡檔案的版本必須 不低於12.2.0.1.19,可透過Patch 下載,解壓後直接替換OPatch這個資料夾即可:
$ unzip Patch6880880.zip -d $ORACLE_HOME
驗證:
$ $ORACLE_HOME/OPatch/opatch version
(2)檢查DB Home和Grid Home的補丁列表裡補丁的一致性
$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
注:如果此命令成功,將會列出安裝在主目錄中的Oracle元件。
(3)檢查新補丁版本是否和當前已安裝補丁版本衝突
-
Grid Home:
$GI_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/31771877
$GI_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/31772784
$GI_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/31773437
$GI_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/
$GI_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/31780966
-
DB Home:
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/31771877
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracle/soft/31750108/31772784
(4)檢查OS剩餘空間是否能容納補丁
先把補丁路徑放到一個自定義文字檔案中
-
Grid Home:
$ cat grid_patch.txt
/oracle/soft/31750108/31771877
/oracle/soft/31750108/31772784
/oracle/soft/31750108/31773437
/oracle/soft/31750108/
/oracle/soft/31750108/31780966
檢查命令:
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/grid/grid_patch.txt
-
DB Home:
$ cat db_patch.txt
/oracle/soft/31750108/31771877
/oracle/soft/31750108/31772784
檢查命令:
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/oracle/db_patch.txt
(5)執行升級安裝
此部分分三種情況:
1)適用於Oracle RAC或者使用ASM的單例項資料庫,並且Grid Home和DB Home都不是共享的,同時ACFS也沒有配置
停環境後,直接用root執行:
$ $ORACLE_HOME/bin/srvctl stop database –d db-unique-name
2)適用於Oracle RAC或者使用ASM的單例項資料庫,並且DB Home是共享的,Grid Home沒有共享出去,同時ACFS有可能已經配置:
-
確保所有節點的庫都停了
$ $ORACLE_HOME/bin/srvctl stop database -d db-unique-name
-
在第一個節點上如有ACFS,必須解除安裝
-
在第一個節點的Grid Home 上應用補丁, 用 root 執行 以下命令
# $GI_HOME/OPatch/opatchauto apply /oracle/soft/31750108 -oh $GI_HOME
-
在第一個節點上重新掛載ACFS
-
在第一個節點上,以root 使用者身份執行以下命令:
# $GI_HOME/OPatch/opatchauto apply /oracle/soft/31750108 -oh $ORACLE_HOME
注:由於資料庫主目錄是共享的, 因此此操作將跨叢集修補資料庫主目錄。 但是USM 補丁無法應用於資料庫主目錄。
-
僅啟動第一個節點的資料庫
$ $ORACLE_HOME/bin/srvctl start instance -d db-unique-name -n nodename
-
解除安裝第二個節點的ACFS
-
在第二個節點的Grid Home 上應用補丁, 用 root 執行 以下命令
# $GI_HOME/OPatch/opatchauto apply /oracle/soft/31750108 -oh $GI_HOME
-
在第二個節點上重新執行上一步 opatchauto 命令,將會重啟 stack
-
在第二個節點上重新掛載ACFS
-
僅啟動第二個節點上的資料庫
-
其他節點重複第二個節點的操作即可
3 )非RAC 和不使用ASM 的單節點資料庫
-
停庫
-
使用db 使用者執行補丁安裝:
$ cd /oracle/soft/31750108/31771877
$ opatch apply (解除安裝命令:opatch rollback -id 31771877)
注:如果啟用了 DG ,則 DG 端也需要安裝
(6)解除安裝補丁
也是和第(5)一樣的三個步驟,只需要把“apply”改成“rollback”
後續步驟
安裝或解除安裝補丁後都需要:
(1)對於曾打過補丁的 Oracle home 上執行的每個單獨的資料庫(包括多租戶和非多租戶), 按照 下表 執行 datapatch 命令該實用程式。如果是 Oracle RAC ,則僅在一個例項上執行 datapatch
Steps |
Standalone DB |
Steps |
Single/Multitenant (CDB/PDB) DB |
1 |
% sqlplus /nolog |
1 |
% sqlplus /nolog |
2 |
SQL> Connect / as sysdba |
2 |
SQL> Connect / as sysdba |
3 |
SQL> startup |
3 |
SQL> startup |
4 |
SQL> quit |
4 |
SQL> alter pluggable database all open; |
5 |
% cd $ORACLE_HOME/OPatch |
5 |
SQL> quit |
6 |
% ./datapatch -verbose |
6 |
% cd $ORACLE_HOME/OPatch |
|
|
7 |
% ./datapatch -verbose |
注:在dba_registry_sqlpatch檢視中,確認APPLY的狀態為“ SUCCESS”。
(2)檢查$ORACLE_HOME/sqlpatch/31771877/中的以下日誌檔案是否存在錯誤:
31771877_rollback_dbSID_CDBname_timestamp.log
(3)編譯無效物件
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
(4)升級catalog
$ rman catalog sys/sys@test_db
RMAN> UPGRADE CATALOG; ##執行兩遍
RMAN> UPGRADE CATALOG;
RMAN> EXIT;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2751275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【UP_ORACLE】使用DBUA一鍵化靜默升級到19C以及DBUA引數詳解Oracle
- Oracle Database 19c(19.9) RAC On RedHat 8.3 Using VirtualBox and MacBookOracleDatabaseRedhatMac
- Oracle 18C升級到19COracle
- 【UP_ORACLE】使用AutoUpgrade工具升級Oracle 11.2.0.4至12.2.0.1Oracle
- Oracle 19c - 手動升級 Oracle 12.x, 18c CDB 到 Oracle 19c (19.x)Oracle
- 使用DBUA升級 Oracle 11.2.0.4到Oracle 19C的問題記錄Oracle
- Oracle從Windows 11.2.0.1升級並遷移到Linux 19cOracleWindowsLinux
- Oracle:Oracle RAC 11.2.0.4 升級為 19cOracle
- Oracle 19c - 手動升級到 Non-CDB 19c 的完整核對清單 (Doc ID 2577572.1)Oracle
- 靜默升級oracle 11g (從11.2.0.1升級到11.2.0.4)Oracle
- 【Oracle升級】Oracle指令碼升級11g to 19c non-CDBOracle指令碼
- 《Oracle 19c從入門到精通(視訊教學超值版)》簡介Oracle
- Oracle 字符集從GBK升級到Utf8Oracle
- 【UP_ORACLE】如何給Oracle DG打補丁(一)整體思路Oracle
- ORACLE 19c 新特性之混合分割槽表Oracle
- 將Oracle 12c資料庫註冊到Oracle 19c Grid InfrastructureOracle資料庫ASTStruct
- [Oracle-> MySQL] Oracle通過dblink連線MySQL--Oracle 19c連線到MySQL 5.7OracleMySql
- Oracle 19C EMOracle
- Oracle從10g升級到11g詳細步驟Oracle
- oracle rac 11.2.0.3 升級到11.2.0.4Oracle
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- oracle 19c dataguard silent install (oracle 19c dataguard 靜默安裝)Oracle
- 【資料庫升級】Oracle指令碼升級12c CDB to 19c CDB資料庫Oracle指令碼
- Oracle 19c Concepts(01):Introduction to Oracle DatabaseOracleDatabase
- Oracle 19c Concepts(13):Oracle Database InstanceOracleDatabase
- Oracle 19c Broker配置Oracle
- 【UP_ORACLE】如何給Oracle DG打補丁(二)備庫安裝補丁步驟Oracle
- 【UP_ORACLE】如何給Oracle DG打補丁(三)主庫安裝補丁步驟Oracle
- Oracle資料泵(Oracle Data Pump) 19cOracle
- Oracle 19c Concepts(10):TransactionsOracle
- Oracle 19c RPM安裝Oracle
- oracle 19c 初體驗Oracle
- Oracle 19c中的TomcatOracleTomcat
- Oracle 19c Concepts(07):SQLOracleSQL
- Oracle 19c的安裝Oracle
- oracle 19c pdb遷移Oracle
- Oracle 19c Database Management ToolsOracleDatabase
- 從Oracle 11.2.0.4 BUG到Oracle子查詢展開分析Oracle