The purpose of this document is to provide information about the ASM rolling upgrade feature and Step by Step to install a patchset or patch in ASM Home without downtime.


Solution


The following conditions should be met for to perform ASM rolling upgrade 

(*) An ASM rolling upgrade applies only to clustered ASM instances.

(*) Separate ASM Home. (ASM and DB Home should not be same)

(*) You can perform rolling upgrades only in environments with 11g release 1 (11.1) and  later release

      ie The following combination is possible

     11g CRS ,11g ASM with 11g Database
                  or
     11g CRS.11g ASM with 10g Database

(*) ASM SID format should be +ASM[1-9] 

    /etc/oratab
    +ASM1:/oracle/asm/product/11.1.0/asm_1:N
    db11g:/oracle/asm/product/11.1.0/db_1:N 
 

ASM Rolling Upgrade (Step by Step)

1) To perform a rolling upgrade ,you should have separate ASM Home

To enable the ASM instance for rolling migration mode,you can use this command to start the rolling migration to <database version>.

ALTER SYSTEM START ROLLING MIGRATION TO '11.1.0.7.0';

You can run this command from any one of the ASM instance in the Cluster.This command does not actually perform the rolling migration but communicates with all the ASM instances in the cluster.This command informs the other ASM instances of  RAC that it is preparing to perform an upgrade.Once the rolling migration is enabled ,you can query each ASM instance to view current state of the ASM;

SQL> select sys_context ('sys_cluster_properties','cluster_state') from dual;

SYS_CONTEXT('SYS_CLUSTER_PROPERTIES','CLUSTER_STATE')
--------------------------------------------------------------------------------
In Rolling Upgrade

The above output shows ASM instance in Rolling Upgrade status.Once you confirm the state of the ASM instance in rolling Upgrade ,you can now safely perform the below steps to Upgrade ASM home in Rolling method.

2) Shutdown the DB Instance,ASM instance and listener 

srvctl stop instance -d <db name> -i <instance name>

srvctl stop asm  -n  <node name> 

srvctl stop listener -n <node name> -l <listener name>

3) Apply the software upgrade to the ASM Home.

Select the current node from the Node Selection Page ("Specify Hardware Cluster Installation Mode")

Node Selection Page does not allow to deselect the remote node(s) for the following reason

ASM and Database Homes are same

ASM SID is not in the format of +ASM[1-9]

4) Apply the ​Patch 7436280​ locally (*This step is required only to upgrade from 11.1.0.6 to 11.1.0.7 patchset*)

cd 7436280
opatch apply -local 

5) startup the ASM instance ,DB Instance,listener

srvctl start asm -n <node name>

srvctl start instance -d <db name> -i <instance name>

srvctl start listener -n <node name> -l <listener name>

6) Repeat steps 2 to 5 on remaining ASM Instances in the cluster.

7) After successful upgrade of ASM on all node,need to end the ASM Rolling migration operation and to signal the ASM instance new version state.

ALTER SYSTEM STOP ROLLING MIGRATION;

* Validates that all of the members of the cluster are at the same software version. If there are one or more ASM instances that have different versions, then Oracle displays an error and the cluster continues to be in rolling upgrade mode.
* Rebalance operations that were pending are restarted if the setting for the ASM_POWER_LIMIT parameter enables this.
* The ASM instances begin supporting the full clustered ASM functionality.


ASM Rolling Downgrade

You need to have an ASM Home software and central inventory backup(before apply the patchset) to downgrade.

Perform the following steps for removing the 11.1.0.7 patch set

1) To enable the ASM instance for rolling downgrade mode,you can use this command to start the rolling mirgration to <database version>.

alter system start rolling migration to '11.1.0.7.0'

This command does not actually perform the rolling downgrade but communicates with all the ASM instances in the cluster.This command informs the other ASM instances of  RAC that it is preparing to perform an downgrade.Once the rolling downgrade is enabled ,you can query each ASM instance to view current state of the ASM;

SQL> select sys_context ('sys_cluster_properties','cluster_state') from dual;

SYS_CONTEXT('SYS_CLUSTER_PROPERTIES','CLUSTER_STATE')
--------------------------------------------------------------------------------
In Rolling Downgrade

The above output shows ASM instance in Rolling Downgrade status.Once you confirm the state of the ASM instance in rolling downgrade ,you can now safely perform the below steps to downgrade ASM home in Rolling method.

2) Shutdown the Instance ,ASM instance and listener.

srvctl stop instance -d <db name> -i <instance name>

srvctl stop asm -n <node name>

srvctl stop listener -n <node name> -l <listener name>

3) Restore the Oracle 11g installation and central inventory that you backed up before applying the patch set. (See /etc/oraInst.loc.)

4) startup the ASM instance and check v$version information shows previous version ie 11.1.0.6

srvctl start asm -n <node name>

srvctl start instance -d <db name> -i <instance name>

srvctl start listener -n <node name> -l <listener name>

5) Repeat steps 2 to 4 on remaining ASM Instances in the cluster.

6) After successful downgrade of ASM on all node,need to end the ASM Rolling downgrade operation and to signal the ASM instance new version state.

ALTER SYSTEM STOP ROLLING MIGRATION;

During the ASM upgrade/downgrade mode,only the following operations are permitted.

* Mount diskgroup
* Unmount diskgroup
* Database file open, close, resize, and delete
* Limited access to fixed views and fixed packages ie Only local views are available; all global views are not allowed during rolling upgrade/downgrade mode

not allowed operations

* Rebalance
* Add/drop/online/offline disk

Please check the known issues with ASM Rolling upgrade.

​Note.742647.1​ ASM ROLLING UPGRADE FAILS WITH SIGSEGV IN KSXPCINI()​Note.746816.1​ Ora-15160: Rolling Migration Internal Fatal Error During Upgrade of ASM To 11.1.0.7.0​Bug 7673203​ CANNOT PERFORM ASM ROLLING UPGRADE IF SID NOT IN FORMAT +ASM[1-9]






From Oracle

-------------------------------------------------------------------------------------------------------

DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请