一、閱讀readme文件 二、檢查更新opatch 三、備份程序 四、使用opatchauto工具進行數據庫升級 五、打OJVM補丁
一、閱讀readme文件html
二、檢查更新opatchnode
【12.1.0.2.0】版本是12.1.0.1.3 更新至12.2.0.1.13之上 【12.2.0.1.0】版本是12.2.0.1.6 更新至12.2.0.1.12之上 --更新opatch https://updates.oracle.com/download/6880880.html Opatch下載地址 $ORACLE_HOME/OPatch/opatch version $ORACLE_HOME/OPatch/opatch lspatches chmod -R 777 /oracle/soft/p6880880_122010_Linux-x86-64.zip --------------------------------oracle opatch su - oracle ls -ld $ORACLE_HOME/OPatch* mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch`date +\%Y\%m\%d`bak && cd /oracle/soft && unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME $ORACLE_HOME/OPatch/opatch version RAC環境下沒法在grid用戶下直接執行,會報權限不足,須要root用戶mv opatch --------------------------------grid opatch su - grid ls -ld $ORACLE_HOME/OPatch* cd $ORACLE_HOME/OPatch pwd su - mv /oracle/app/12.2.0/grid/OPatch /oracle/app/12.2.0/grid/OPatch`date +\%Y\%m\%d` unzip /oracle/soft/p6880880_122010_Linux-x86-64.zip -d /oracle/app/12.2.0/grid chown -R grid:oinstall /oracle/app/12.2.0/grid/OPatch su - grid $ORACLE_HOME/OPatch/opatch version
三、備份程序sql
【備份軟件】 su - root mkdir -p /oracle/backup_soft nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_oracle.tar /oracle/app/oracle >/oracle/backup_soft/`date +\%Y\%m\%d`_oracle.tar.log & nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_12.2.0.tar /oracle/app/12.2.0 >/oracle/backup_soft/`date +\%Y\%m\%d`_12.2.0.tar.log & nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_grid.tar /oracle/app/grid >/oracle/backup_soft/`date +\%Y\%m\%d`_grid.tar.log & nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_oraInventory.tar /oracle/app/oraInventory >/oracle/backup_soft/`date +\%Y\%m\%d`_oraInventory.tar.log & nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_etc.tar /etc >/oracle/backup_soft/`date +\%Y\%m\%d`_etc.tar.log &
四、使用opatchauto工具進行數據庫升級數據庫
su – root mkdir -p /oracle/soft/12c_patch cd /oracle/soft/12c_patch unzip /oracle/soft/p28980109_122010_Linux-x86-64.zip -d /oracle/soft/12c_patch chmod -R 777 /oracle/soft/12c_patch 方法1:GI和DB分開打 【To patch only the GI home】 su - root export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109 export GI_HOME=/oracle/app/12.2.0/grid export PATH=$PATH:$GI_HOME/OPatch opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $GI_HOME -analyze opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $GI_HOME 【To patch only the DB home】 su - root export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109 export ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_1 export PATH=$PATH:$ORACLE_HOME/OPatch opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME -analyze opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME 方法2:GI+DB一塊兒打 su - root export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109 export GI_HOME=/oracle/app/12.2.0/grid export PATH=$PATH:$GI_HOME/OPatch opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -analyze opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 --12C補丁列表信息 $ORACLE_HOME/OPatch/opatch version $ORACLE_HOME/OPatch/opatch lspatches $ORACLE_HOME/OPatch/opatch lsinventory --檢查數據字典中補丁信息 set lines 500 pages 500 col description for a80 col action_time for a35 col action for a10 col comments for a50 col VERSION for a20 col NAMESPACE for a20 col BUNDLE_SERIES for a20 select * from registry$history; select patch_id,version,action,status,action_time,description from dba_registry_sqlpatch;
五、打OJVM補丁session
【OJVM】 一、ojvm補丁檢查 su - oracle export PATCH_TOP_DIR=/oracle/soft/12c_patch/28980109 export PATH=$PATH:$ORACLE_HOME/OPatch opatch prereq CheckConflictAgainstOHWithDetail -ph $PATCH_TOP_DIR/28790651 二、關閉全部服務(shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons) For an Oracle RAC environment, shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons) running from the Oracle home on all the nodes you want to patch. su – root /oracle/app/12.2.0/grid/bin/crsctl stop cluster -all -----中止全部節點集羣服務 三、打OJVM補丁,全部節點都要打(OPatch is used on only one node at a time.) su - oracle export PATCH_TOP_DIR=/oracle/soft/12c_patch/28980109 export PATH=$PATH:$ORACLE_HOME/OPatch cd $PATCH_TOP_DIR/28790651 $ORACLE_HOME/OPatch/opatch apply $ORACLE_HOME/OPatch/opatch lspatches $ORACLE_HOME/OPatch/opatch lsinventory 四、啓服務 (After all nodes are patched, start all services. ) su – root /oracle/app/12.2.0/grid/bin/crsctl start cluster -all -----啓動全部節點集羣服務 五、Loading Modified SQL Files Into the Database 1)Starting the Database for Post Installation Steps in an Oracle RAC Environment On only one node, perform the following steps to start an Oracle RAC database in startup upgrade mode. sqlplus / as sysdba SQL> startup 啓動全部服務的時候數據庫資源以及啓動了 SQL> alter system set cluster_database=false scope=spfile; $ORACLE_HOME/bin/srvctl stop database -d ndscdb sqlplus / as sysdba SQL> startup upgrade 2) cd $ORACLE_HOME/OPatch ./datapatch -verbose 過程見下面 sqlplus / as sysdba SQL> shutdown immediate; 3)Restarting the Database after Running the Post Installation Steps in an Oracle RAC Environment To start the database back in normal mode sqlplus / as sysdba SQL> startup SQL> alter system set cluster_database=true scope=spfile; SQL> shutdown immediate; $ORACLE_HOME/bin/srvctl start database -d ndscdb 六、失效對象 cd $ORACLE_HOME/rdbms/admin sqlplus / as sysdba SQL> @utlrp.sql set lin 300 pages 5000 col object_name for a40 col owner for a20 select count(*) from dba_objects where status='INVALID'; select count(*) from dba_objects where status='INVALID' and owner='SYS'; select owner,object_name,object_type,status from dba_objects where status='INVALID'; 七、檢查數據字典中補丁信息 set lines 500 pages 500 col description for a75 col action_time for a35 col action for a10 col comments for a50 col VERSION for a25 col NAMESPACE for a20 col BUNDLE_SERIES for a20 select * from registry$history; select patch_id,version,action,status,action_time,description from dba_registry_sqlpatch;
--補丁安裝日誌 WWJD-DB1:/root #export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109 WWJD-DB1:/root #export GI_HOME=/oracle/app/12.2.0/grid WWJD-DB1:/root #export PATH=$PATH:$GI_HOME/OPatch WWJD-DB1:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $GI_HOME OPatchauto session is initiated at Mon Jan 28 13:53:33 2019 System initialization log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchautodb/systemconfig2019-01-28_01-53-36PM.log. Session log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/opatchauto2019-01-28_01-53-48PM.log The id for this session is D6KS Executing OPatch prereq operations to verify patch applicability on home /oracle/app/12.2.0/grid Patch applicability verified successfully on home /oracle/app/12.2.0/grid Bringing down CRS service on home /oracle/app/12.2.0/grid Prepatch operation log file location: /oracle/app/grid/crsdata/WWJD-db1/crsconfig/crspatch_WWJD-db1_2019-01-27_09-54-06PM.log CRS service brought down successfully on home /oracle/app/12.2.0/grid Start applying binary patch on home /oracle/app/12.2.0/grid Binary patch applied successfully on home /oracle/app/12.2.0/grid Starting CRS service on home /oracle/app/12.2.0/grid Postpatch operation log file location: /oracle/app/grid/crsdata/WWJD-db1/crsconfig/crspatch_WWJD-db1_2019-01-27_09-58-04PM.log CRS service started successfully on home /oracle/app/12.2.0/grid OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:WWJD-db1 CRS Home:/oracle/app/12.2.0/grid Version:12.2.0.1.0 Summary: ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/26839277 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28566910 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28822515 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28864846 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log OPatchauto session completed at Mon Jan 28 14:06:37 2019 Time taken to complete the session 13 minutes, 4 seconds WWJD-DB1:/root # WWJD-DB1:/root #export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109 WWJD-DB1:/root #export ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_1 WWJD-DB1:/root #export PATH=$PATH:$ORACLE_HOME/OPatch WWJD-DB1:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME -analyze OPatchauto session is initiated at Mon Jan 28 14:13:12 2019 System initialization log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchautodb/systemconfig2019-01-28_02-13-16PM.log. Session log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/opatchauto2019-01-28_02-14-04PM.log The id for this session is 1RQ4 Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/12.2.0/db_1 Patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Verifying SQL patch applicability on home /oracle/app/oracle/product/12.2.0/db_1 SQL patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 OPatchAuto successful. --------------------------------Summary-------------------------------- Analysis for applying patches has completed successfully: Host:WWJD-db1 RAC Home:/oracle/app/oracle/product/12.2.0/db_1 Version:12.2.0.1.0 ==Following patches were SKIPPED: Patch: /oracle/soft/12c_patch/28980109/28828733/28864846 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/26839277 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/28566910 Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY analyzed to be applied: Patch: /oracle/soft/12c_patch/28980109/28828733/28870605 Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-14-14PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28822515 Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-14-14PM_1.log OPatchauto session completed at Mon Jan 28 14:14:44 2019 Time taken to complete the session 1 minute, 32 seconds WWJD-DB1:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME OPatchauto session is initiated at Mon Jan 28 14:15:18 2019 System initialization log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchautodb/systemconfig2019-01-28_02-15-21PM.log. Session log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/opatchauto2019-01-28_02-15-46PM.log The id for this session is DJVQ Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/12.2.0/db_1 Patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Verifying SQL patch applicability on home /oracle/app/oracle/product/12.2.0/db_1 SQL patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Preparing to bring down database service on home /oracle/app/oracle/product/12.2.0/db_1 Successfully prepared home /oracle/app/oracle/product/12.2.0/db_1 to bring down database service Bringing down database service on home /oracle/app/oracle/product/12.2.0/db_1 Following database(s) and/or service(s) are stopped and will be restarted later during the session: ndscdb Database service successfully brought down on home /oracle/app/oracle/product/12.2.0/db_1 Performing prepatch operation on home /oracle/app/oracle/product/12.2.0/db_1 Perpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Start applying binary patch on home /oracle/app/oracle/product/12.2.0/db_1 Binary patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 Performing postpatch operation on home /oracle/app/oracle/product/12.2.0/db_1 Postpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Starting database service on home /oracle/app/oracle/product/12.2.0/db_1 Database service successfully started on home /oracle/app/oracle/product/12.2.0/db_1 Preparing home /oracle/app/oracle/product/12.2.0/db_1 after database service restarted No step execution required......... Trying to apply SQL patch on home /oracle/app/oracle/product/12.2.0/db_1 SQL patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:WWJD-db1 RAC Home:/oracle/app/oracle/product/12.2.0/db_1 Version:12.2.0.1.0 Summary: ==Following patches were SKIPPED: Patch: /oracle/soft/12c_patch/28980109/28828733/28864846 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/26839277 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/28566910 Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/28822515 Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-17-17PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605 Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-17-17PM_1.log OPatchauto session completed at Mon Jan 28 14:20:23 2019 Time taken to complete the session 5 minutes, 6 seconds WWJD-DB1:/root # 節點2 WWJD-DB2:/root #export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109 WWJD-DB2:/root #export GI_HOME=/oracle/app/12.2.0/grid WWJD-DB2:/root #export PATH=$PATH:$GI_HOME/OPatch WWJD-DB2:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 OPatchauto session is initiated at Mon Jan 28 16:21:56 2019 System initialization log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchautodb/systemconfig2019-01-28_04-21-59PM.log. Session log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/opatchauto2019-01-28_04-22-27PM.log The id for this session is SW7K Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/12.2.0/db_1 Executing OPatch prereq operations to verify patch applicability on home /oracle/app/12.2.0/grid Patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Patch applicability verified successfully on home /oracle/app/12.2.0/grid Verifying SQL patch applicability on home /oracle/app/oracle/product/12.2.0/db_1 SQL patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Preparing to bring down database service on home /oracle/app/oracle/product/12.2.0/db_1 Successfully prepared home /oracle/app/oracle/product/12.2.0/db_1 to bring down database service Bringing down CRS service on home /oracle/app/12.2.0/grid Prepatch operation log file location: /oracle/app/grid/crsdata/WWJD-db2/crsconfig/crspatch_WWJD-db2_2019-01-28_00-23-06AM.log CRS service brought down successfully on home /oracle/app/12.2.0/grid Performing prepatch operation on home /oracle/app/oracle/product/12.2.0/db_1 Perpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Start applying binary patch on home /oracle/app/oracle/product/12.2.0/db_1 Binary patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 Performing postpatch operation on home /oracle/app/oracle/product/12.2.0/db_1 Postpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Start applying binary patch on home /oracle/app/12.2.0/grid Binary patch applied successfully on home /oracle/app/12.2.0/grid Starting CRS service on home /oracle/app/12.2.0/grid Postpatch operation log file location: /oracle/app/grid/crsdata/WWJD-db2/crsconfig/crspatch_WWJD-db2_2019-01-28_00-35-56AM.log CRS service started successfully on home /oracle/app/12.2.0/grid Preparing home /oracle/app/oracle/product/12.2.0/db_1 after database service restarted No step execution required......... Trying to apply SQL patch on home /oracle/app/oracle/product/12.2.0/db_1 SQL patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:WWJD-db2 RAC Home:/oracle/app/oracle/product/12.2.0/db_1 Version:12.2.0.1.0 Summary: ==Following patches were SKIPPED: Patch: /oracle/soft/12c_patch/28980109/28828733/28864846 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/26839277 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/28566910 Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/28822515 Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-31-15PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605 Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-31-15PM_1.log Host:WWJD-db2 CRS Home:/oracle/app/12.2.0/grid Version:12.2.0.1.0 Summary: ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/26839277 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28566910 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28822515 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28864846 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605 Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log OPatchauto session completed at Mon Jan 28 16:42:00 2019 Time taken to complete the session 20 minutes, 4 seconds WWJD-DB2:/root #