OJVM+GI PSU補丁升級
先在DataGuard上執行,DataGuard所有節點升級成功後,在生產上執行,dg不需要執行升級後跑指令碼操作,只需當主備庫補丁都打完後在主庫一個節點執行即可;
當升級前主庫需要停止日誌傳輸到備庫,備庫需要停止日誌應用;
當升級完成後注意檢查主備庫應用情況;
核心步驟如下:
1.主庫禁用日誌傳送到備庫
2.關閉備庫,應用補丁,但不執行指令碼(catpatch.sql等),啟動到mount,不啟用日誌恢復
3.關閉主庫,應用補丁,執行指令碼(run catpatch/catbundle/catcpu等)
4.啟動主庫,重新開啟日誌傳送到備庫
5.備庫開啟日誌恢復
6.檢查補丁應用情況
************************************************
* 一、主備庫升級前檢查及相關操作 *
************************************************
This patch is Data Guard Standby First Installable - See My Oracle Support Document 1265700.1 Oracle Patch Assurance - Data Guard Standby-First Patch Apply for details on how to remove risk and reduce downtime when applying this patch.
---升級前主庫/DG備庫執行----
先主庫停止傳輸日誌
alter system set log_archive_dest_state_2=defer;
--備庫見檢查資料庫狀態,角色;然後備庫修改,停止日誌應用,並關閉所有節點(根據所打補丁看是否需要停資料庫)
select inst_id,host_name,instance_name,status from gv$instance;
select inst_id,database_role,switchover_status from gv$database;
recover managed standby database cancel;
shutdown immediate; --根據所打補丁看是否需要停資料庫
--主/備應用補丁如下列一二三四五步驟所述進行,注意:備庫的補丁升級後註冊操作不需要做:
************************************************
* 二、以下步驟依次在RAC的所有節點執行 *
************************************************
1. 確認opatch版本
su - oracle
opatch version ——11.2.0.3.6或以上
su - grid
opatch version ——11.2.0.3.6或以上
2. 升級opatch(如果第1步不滿足,則執行此步,否則忽略)
su - oracle
unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
opatch version
su - grid
unzip p6880880_112000_Linux-x86-64.zip -d $GI_HOME
opatch version
************************************************
* 三、以下步驟依次在RAC的所有節點執行 *
************************************************
打GI PSU
How to Create an OCM Response file to Apply a Patch in Silent Mode - opatch silent (文件 ID 966023.1)
2.1. 建立OCM檔案
su - oracle
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /home/oracle/ocm.rsp
chmod 775 /home/oracle/ocm.rsp
-- Validation of Oracle Inventory(以GI和DB使用者分別執行)
/OPatch/opatch lsinventory -detail -oh
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
2.2 停止EM程式(如果沒有安裝EM,則忽略)
su - oracle
emctl stop dbconsole
--One-off Patch Conflict Detection and Resolution補丁衝突檢測
How to Use the My Oracle Support Conflict Checker Tool for Patches Installed with OPatch [Video] (文件 ID 1091294.1)
2.3 升級PSU (As root user, execute the following command on each node of the cluster:不能並行執行)
su - root
cd /tmp/patch
unzip p26030870_112040_Linux-x86-64.zip
opatch auto /tmp/patch/26030870/26030799 -ocmrf /home/oracle/ocm.rsp
使用GI下的opatch工具
*****************************************************
* 四、OJVM補丁升級 *
*****************************************************
3. OJVM補丁升級(db下執行)
3.1 檢查補丁衝突
$ cd /tmp/patch/26030870/26027154
$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
3.2 檢查資料庫連線數、關閉監聽、最後關閉crs(所有節點都執行)
--檢查pmon程式:
ps -ef|grep pmon
--檢查連線數、殺連線、關監聽
ps -ef|grep LOCAL=NO|grep -v grep |wc -l
ps -ef|grep LOCAL=NO|grep -v grep|awk '{print $2}'|xargs kill -9
lsnrctl stop
--停crs:
crsctl stop crs
3.3 應用補丁:
cd /tmp/patch/26030870/26027154
opatch apply -local
3.4 確認補丁資料庫是否應用
opatch lsinventory
opatch lspatches
3.5 啟所有已經打完補丁的節點的crs
crsctl start crs
***************************************************************************************
* 五、升級成功後,在生產的一個節點上執行(且在主庫的一個節點打就行,備庫不打 *
***************************************************************************************
--For an Oracle RAC environment, perform these steps on only one node.(在主庫一個節點執行即可,備庫不用執行,且主備庫的補丁都已經應用成功)
SQL installation is performed after the primary database and all standby databases have the database home binaries patched to the same level。
4.1 大GI PSU升級後指令碼
-- 執行catbundle.sql檔案
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
--執行重編譯
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
-- Check the following log files in $ORACLE_BASE/cfgtoollogs/catbundle for any errors:
catbundle_PSU__APPLY_.log
catbundle_PSU__GENERATE_.log
-- 升級RMAN CATALOG(如果沒有用到Oracle Recovery Manager,則忽略)
su - oracle
rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
-- 驗證:DB和GI下都執行
opatch lspatches
4.2 OJVM補丁升級後註冊操作
-- 透過針對單個例項環境執行以下命令來安裝修補程式的SQL部分。
注意:此步驟適用於單例項打OJVM PSU
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> startup upgrade
SQL> @postinstall.sql
SQL> shutdown
SQL> startup
-- 對於Oracle RAC環境,請使用以下命令重新載入其中一個節點上的軟體包。 確保遠端節點上沒有其他資料庫例項處於啟動狀態。
注意:此步驟需要關閉rac上非跑指令碼的其他例項
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
-- 在安裝補丁的SQL部分之後,一些軟體包可能變為無效。 這將在訪問時得到重新編譯,或者你可以執行utlrp.sql讓它們回到有效狀態。
注意:RAC或者單例項都需要執行
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
*****************************************************
* 六、如果出現異常,回滾並停止升級,分析原因 *
*****************************************************
回滾(GI PUS)
su - root
opatch auto /tmp/patch/26030799 -rollback -ocmrf /home/oracle/ocm.rsp
回滾註冊:注意需要在當時打補丁完成後註冊的那個rac節點上操作
step 1:Start all database instances running from the Oracle home. (For more information, see Oracle Database Administrator's Guide.)
step 2:For each database instance running out of the ORACLE_HOME, connect to the database using SQL*Plus as SYSDBA and run the rollback script as follows:
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU__ROLLBACK.sql
SQL> QUIT
In an Oracle RAC environment, the name of the rollback script will have the format catbundle_PSU__ROLLBACK.sql.
step 3:If the OJVM PSU was applied for a previous GI PSU patch, you may see invalid Java classes after execution of the catbundle.sql script in the previous step. If this is the case, run utlrp.sql to re-validate these Java classes.
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
step 4:check
$ opatch lsinventory
回滾(OJVM 補丁)
crsctl stop crs
opatch rollback -id 26027154
crsctl start crs
opatch lsinventory
回滾後註冊:
The following steps load modified SQL files into the database. For an Oracle RAC environment, perform these steps on only one node.
step 1:Install the SQL portion of the patch by running the following command for a single instance environment.
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> startup upgrade
SQL> @postdeinstall.sql
SQL> shutdown
SQL> startup
For an Oracle RAC environment, reload the packages on one of the nodes using the following commands. Make sure no other instance of the database is up on the remote nodes.
注意:此步驟需要關閉rac上非跑指令碼的其他例項
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postdeinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
step 2:After installing the SQL portion of the patch, some packages could become INVALID. This will get recompiled upon access or you can run utlrp.sql to get them back into a VALID state.
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
*****************************************************
* 七、主備庫升級成功後啟用備庫,並檢視同步情況 *
*****************************************************
--主庫日誌應用成功後,修改主庫引數及備庫應用日誌,同時檢查同步情況:
先主庫啟用傳輸日誌
alter system set log_archive_dest_state_2=enable;
備庫啟動,並應用日誌
startup
recover managed standby database using current logfile;
最後檢查同步情況:
select process, sequence#, status, delay_mins from v$managed_standby;
========================================================================
*************************************************************
* GI PSU補丁升級示例操作步驟 *
*************************************************************
GI PSU補丁可以以滾動方式應用GI HOME和DB HOME。注意下載補丁的存放位置應該是GI和db共享的目錄;
一、檢查rac沒法節點的opatch工具版本大於或等於11.2.0.3.6:
更新db和GI下的opatch工具:
$ unzip <OPATCH-ZIP> -d <ORACLE_HOME>
$ <ORACLE_HOME>/OPatch/opatch version
二、配置響應檔案
su - oracle
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /home/oracle/ocm.rsp
chmod 775 /home/oracle/ocm.rsp
三、驗證有效期
-- Validation of Oracle Inventory(以GI和DB使用者分別執行)
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
四、打補丁或回滾補丁前應停止EM程式(如果沒有安裝EM,則忽略)
su - oracle
<ORACLE_HOME>/bin/emctl stop dbconsole
五、升級PSU(As root user, execute the following command on each node of the cluster:不能並行執行)
--As root user, execute the following command on each node of the cluster:
以root使用者身份,在叢集的每個節點上執行以下命令:
注意:PSU補丁的存放位置應該是GI和db共享的目錄,並以GI下的opatch工具去執行
$ cd <UNZIPPED_PATCH_LOCATION>
$ unzip p27107360_112040_<platform>.zip
# opatch auto <UNZIPPED_PATCH_LOCATION>/27107360 -ocmrf <ocm response file>
六、升級後資料庫註冊,跑指令碼:對於rac只需在一個節點上操作即可
--執行指令碼catbundle.sql
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
The catbundle.sql execution is reflected in the dba_registry_history view by a row associated with bundle series PSU.
--編譯失效物件
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
--檢查日誌有無報錯
catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log
--如果在使用rman恢復目錄,則執行如下:
$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
七、回滾PSU:
--root身份執行:
As root user, execute the following command on each node of the cluster.
# opatch auto <UNZIPPED_PATCH_LOCATION>/27107360 -rollback -ocmrf <ocm response file>
八、回滾後註冊:在執行打補丁註冊後的節點上執行回滾後註冊
8.1 Start all database instances running from the Oracle home
8.2 執行指令碼
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU_<database SID PREFIX>_ROLLBACK.sql
SQL> QUIT
8.3 編譯失效物件
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
8.4 Check the log file for any errors.
The log file is found in $ORACLE_BASE/cfgtoollogs/catbundle and is named catbundle_PSU_<database SID>_ROLLBACK_<TIMESTAMP>.log where TIMESTAMP is of the form YYYYMMMDD_HH_MM_SS. If there are error.
8.5 檢查
$ opatch lsinventory
當升級前主庫需要停止日誌傳輸到備庫,備庫需要停止日誌應用;
當升級完成後注意檢查主備庫應用情況;
核心步驟如下:
1.主庫禁用日誌傳送到備庫
2.關閉備庫,應用補丁,但不執行指令碼(catpatch.sql等),啟動到mount,不啟用日誌恢復
3.關閉主庫,應用補丁,執行指令碼(run catpatch/catbundle/catcpu等)
4.啟動主庫,重新開啟日誌傳送到備庫
5.備庫開啟日誌恢復
6.檢查補丁應用情況
************************************************
* 一、主備庫升級前檢查及相關操作 *
************************************************
This patch is Data Guard Standby First Installable - See My Oracle Support Document 1265700.1 Oracle Patch Assurance - Data Guard Standby-First Patch Apply for details on how to remove risk and reduce downtime when applying this patch.
---升級前主庫/DG備庫執行----
先主庫停止傳輸日誌
alter system set log_archive_dest_state_2=defer;
--備庫見檢查資料庫狀態,角色;然後備庫修改,停止日誌應用,並關閉所有節點(根據所打補丁看是否需要停資料庫)
select inst_id,host_name,instance_name,status from gv$instance;
select inst_id,database_role,switchover_status from gv$database;
recover managed standby database cancel;
shutdown immediate; --根據所打補丁看是否需要停資料庫
--主/備應用補丁如下列一二三四五步驟所述進行,注意:備庫的補丁升級後註冊操作不需要做:
************************************************
* 二、以下步驟依次在RAC的所有節點執行 *
************************************************
1. 確認opatch版本
su - oracle
opatch version ——11.2.0.3.6或以上
su - grid
opatch version ——11.2.0.3.6或以上
2. 升級opatch(如果第1步不滿足,則執行此步,否則忽略)
su - oracle
unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
opatch version
su - grid
unzip p6880880_112000_Linux-x86-64.zip -d $GI_HOME
opatch version
************************************************
* 三、以下步驟依次在RAC的所有節點執行 *
************************************************
打GI PSU
How to Create an OCM Response file to Apply a Patch in Silent Mode - opatch silent (文件 ID 966023.1)
2.1. 建立OCM檔案
su - oracle
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /home/oracle/ocm.rsp
chmod 775 /home/oracle/ocm.rsp
-- Validation of Oracle Inventory(以GI和DB使用者分別執行)
/OPatch/opatch lsinventory -detail -oh
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
2.2 停止EM程式(如果沒有安裝EM,則忽略)
su - oracle
emctl stop dbconsole
--One-off Patch Conflict Detection and Resolution補丁衝突檢測
How to Use the My Oracle Support Conflict Checker Tool for Patches Installed with OPatch [Video] (文件 ID 1091294.1)
2.3 升級PSU (As root user, execute the following command on each node of the cluster:不能並行執行)
su - root
cd /tmp/patch
unzip p26030870_112040_Linux-x86-64.zip
opatch auto /tmp/patch/26030870/26030799 -ocmrf /home/oracle/ocm.rsp
使用GI下的opatch工具
*****************************************************
* 四、OJVM補丁升級 *
*****************************************************
3. OJVM補丁升級(db下執行)
3.1 檢查補丁衝突
$ cd /tmp/patch/26030870/26027154
$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
3.2 檢查資料庫連線數、關閉監聽、最後關閉crs(所有節點都執行)
--檢查pmon程式:
ps -ef|grep pmon
--檢查連線數、殺連線、關監聽
ps -ef|grep LOCAL=NO|grep -v grep |wc -l
ps -ef|grep LOCAL=NO|grep -v grep|awk '{print $2}'|xargs kill -9
lsnrctl stop
--停crs:
crsctl stop crs
3.3 應用補丁:
cd /tmp/patch/26030870/26027154
opatch apply -local
3.4 確認補丁資料庫是否應用
opatch lsinventory
opatch lspatches
3.5 啟所有已經打完補丁的節點的crs
crsctl start crs
***************************************************************************************
* 五、升級成功後,在生產的一個節點上執行(且在主庫的一個節點打就行,備庫不打 *
***************************************************************************************
--For an Oracle RAC environment, perform these steps on only one node.(在主庫一個節點執行即可,備庫不用執行,且主備庫的補丁都已經應用成功)
SQL installation is performed after the primary database and all standby databases have the database home binaries patched to the same level。
4.1 大GI PSU升級後指令碼
-- 執行catbundle.sql檔案
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
--執行重編譯
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
-- Check the following log files in $ORACLE_BASE/cfgtoollogs/catbundle for any errors:
catbundle_PSU__APPLY_.log
catbundle_PSU__GENERATE_.log
-- 升級RMAN CATALOG(如果沒有用到Oracle Recovery Manager,則忽略)
su - oracle
rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
-- 驗證:DB和GI下都執行
opatch lspatches
4.2 OJVM補丁升級後註冊操作
-- 透過針對單個例項環境執行以下命令來安裝修補程式的SQL部分。
注意:此步驟適用於單例項打OJVM PSU
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> startup upgrade
SQL> @postinstall.sql
SQL> shutdown
SQL> startup
-- 對於Oracle RAC環境,請使用以下命令重新載入其中一個節點上的軟體包。 確保遠端節點上沒有其他資料庫例項處於啟動狀態。
注意:此步驟需要關閉rac上非跑指令碼的其他例項
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
-- 在安裝補丁的SQL部分之後,一些軟體包可能變為無效。 這將在訪問時得到重新編譯,或者你可以執行utlrp.sql讓它們回到有效狀態。
注意:RAC或者單例項都需要執行
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
*****************************************************
* 六、如果出現異常,回滾並停止升級,分析原因 *
*****************************************************
回滾(GI PUS)
su - root
opatch auto /tmp/patch/26030799 -rollback -ocmrf /home/oracle/ocm.rsp
回滾註冊:注意需要在當時打補丁完成後註冊的那個rac節點上操作
step 1:Start all database instances running from the Oracle home. (For more information, see Oracle Database Administrator's Guide.)
step 2:For each database instance running out of the ORACLE_HOME, connect to the database using SQL*Plus as SYSDBA and run the rollback script as follows:
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU__ROLLBACK.sql
SQL> QUIT
In an Oracle RAC environment, the name of the rollback script will have the format catbundle_PSU__ROLLBACK.sql.
step 3:If the OJVM PSU was applied for a previous GI PSU patch, you may see invalid Java classes after execution of the catbundle.sql script in the previous step. If this is the case, run utlrp.sql to re-validate these Java classes.
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
step 4:check
$ opatch lsinventory
回滾(OJVM 補丁)
crsctl stop crs
opatch rollback -id 26027154
crsctl start crs
opatch lsinventory
回滾後註冊:
The following steps load modified SQL files into the database. For an Oracle RAC environment, perform these steps on only one node.
step 1:Install the SQL portion of the patch by running the following command for a single instance environment.
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> startup upgrade
SQL> @postdeinstall.sql
SQL> shutdown
SQL> startup
For an Oracle RAC environment, reload the packages on one of the nodes using the following commands. Make sure no other instance of the database is up on the remote nodes.
注意:此步驟需要關閉rac上非跑指令碼的其他例項
cd $ORACLE_HOME/sqlpatch/26027154
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postdeinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
step 2:After installing the SQL portion of the patch, some packages could become INVALID. This will get recompiled upon access or you can run utlrp.sql to get them back into a VALID state.
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
*****************************************************
* 七、主備庫升級成功後啟用備庫,並檢視同步情況 *
*****************************************************
--主庫日誌應用成功後,修改主庫引數及備庫應用日誌,同時檢查同步情況:
先主庫啟用傳輸日誌
alter system set log_archive_dest_state_2=enable;
備庫啟動,並應用日誌
startup
recover managed standby database using current logfile;
最後檢查同步情況:
select process, sequence#, status, delay_mins from v$managed_standby;
========================================================================
*************************************************************
* GI PSU補丁升級示例操作步驟 *
*************************************************************
GI PSU補丁可以以滾動方式應用GI HOME和DB HOME。注意下載補丁的存放位置應該是GI和db共享的目錄;
一、檢查rac沒法節點的opatch工具版本大於或等於11.2.0.3.6:
更新db和GI下的opatch工具:
$ unzip <OPATCH-ZIP> -d <ORACLE_HOME>
$ <ORACLE_HOME>/OPatch/opatch version
二、配置響應檔案
su - oracle
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /home/oracle/ocm.rsp
chmod 775 /home/oracle/ocm.rsp
三、驗證有效期
-- Validation of Oracle Inventory(以GI和DB使用者分別執行)
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
四、打補丁或回滾補丁前應停止EM程式(如果沒有安裝EM,則忽略)
su - oracle
<ORACLE_HOME>/bin/emctl stop dbconsole
五、升級PSU(As root user, execute the following command on each node of the cluster:不能並行執行)
--As root user, execute the following command on each node of the cluster:
以root使用者身份,在叢集的每個節點上執行以下命令:
注意:PSU補丁的存放位置應該是GI和db共享的目錄,並以GI下的opatch工具去執行
$ cd <UNZIPPED_PATCH_LOCATION>
$ unzip p27107360_112040_<platform>.zip
# opatch auto <UNZIPPED_PATCH_LOCATION>/27107360 -ocmrf <ocm response file>
六、升級後資料庫註冊,跑指令碼:對於rac只需在一個節點上操作即可
--執行指令碼catbundle.sql
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
The catbundle.sql execution is reflected in the dba_registry_history view by a row associated with bundle series PSU.
--編譯失效物件
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
--檢查日誌有無報錯
catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log
--如果在使用rman恢復目錄,則執行如下:
$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
七、回滾PSU:
--root身份執行:
As root user, execute the following command on each node of the cluster.
# opatch auto <UNZIPPED_PATCH_LOCATION>/27107360 -rollback -ocmrf <ocm response file>
八、回滾後註冊:在執行打補丁註冊後的節點上執行回滾後註冊
8.1 Start all database instances running from the Oracle home
8.2 執行指令碼
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU_<database SID PREFIX>_ROLLBACK.sql
SQL> QUIT
8.3 編譯失效物件
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
8.4 Check the log file for any errors.
The log file is found in $ORACLE_BASE/cfgtoollogs/catbundle and is named catbundle_PSU_<database SID>_ROLLBACK_<TIMESTAMP>.log where TIMESTAMP is of the form YYYYMMMDD_HH_MM_SS. If there are error.
8.5 檢查
$ opatch lsinventory
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2152442/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【PSU】怎麼給RAC打PSU補丁
- Weblogic 補丁升級慢Web
- 補丁psu、spu、cpu的意思
- 12. Oracle版本、補丁及升級——12.2. 補丁及補丁集Oracle
- 12. Oracle版本、補丁及升級——12.3. 升級Oracle
- WSUS Offline Update離線補丁升級工具
- 使用web client對 vcenter 進行補丁升級Webclient
- 使用shell 方式對 vcenter 進行補丁升級
- Oracle 補丁那些事兒(PS、PSU、CPU、SPU、BP、DBBP…)Oracle
- Oracle 11g RAC自動打GI PSU補丁Oracle
- 使用vCenter對ESXi主機進行補丁升級
- 12. Oracle版本、補丁及升級——12.1. 版本體系Oracle
- 阿里雲Polardb國產資料庫補丁升級 實踐阿里資料庫
- 【kingsql分享】Oracle 18c RAC補丁升級實戰【DBRU】SQLOracle
- Oracle 檢查當前資料庫CPU和PSU補丁資訊Oracle資料庫
- ORACLE 12.1.0.2 for linux7.6 應用PSU補丁31550110中的巨坑OracleLinux
- PSU的GI升級,ERROR: This patch is not applicable to GI home.ErrorAPP
- Oracle Weblogic 反序列化漏洞 (CVE-2018-2893 )的補丁升級操作OracleWeb
- Exchange 2016部署實施案例篇-06.升級到最新CU補丁
- 微軟緊急釋出10個IE補丁使用者應火速升級微軟
- 【補丁】Oracle補丁的知識及術語Oracle
- win10系統如何利用cmd命令提示符解除安裝升級補丁Win10
- 微軟再次推送win10更新補丁KB4023057:意在讓使用者升級微軟Win10
- ORACLE windows和linux環境下 10g升級到11.2.0.4 並安裝11.2.0.4.19補丁OracleWindowsLinux
- oracle rac 打PSU補丁30805461兩個問題(Java版本及空間不足導致失敗)OracleJava
- GI PSU打補丁之opatch auto 自動方式分別打GI_HOME和ORACLE_HOMEOracle
- AMD 證實升級 Windows 11 現重大 BUG: CPU 速度最高降 15%,補丁即將釋出Windows
- 微軟為督促升級Win10版本1903:再次推送KB4023057補丁更新微軟Win10
- 微軟再次推送win10系統KB4023057更新補丁:改進升級機制微軟Win10
- Oracle RAC更新補丁Oracle
- Android熱補丁之Robust(二)自動化補丁原理解析Android
- Oracle的OPatch補丁更新Oracle
- c#釋出補丁C#
- oracle打補丁回顧Oracle
- 如何給esxi打補丁
- weblogic 12 補丁安裝Web
- Pycharn破解補丁啟用
- Linux檔案打補丁Linux