Rename Diskgroup having OCR , Vote File , ASM SPILE

Consider a setup having OCR
,Vote File and ASM SPFILE on a diskgroup. You have a requirement to rename this
diskgroup.”renamedg”
utility can be used to rename of the diskgroup when the diskgroup is dismounted.
Our diskgroup is containing vote disk and OCR so we need to use an intermediate
diskgroup for storing OCR and Vote File temporarily while renaming the actual
diskgroup.
Below assumptions are made :
 1. Name of Temporary
diskgroup is TEST.
 2. OCR,Voting Disks
and ASM SPFILE are originally stored in diskgroup CRS.
 3. Diskgroup CRS
should be renamed to VOS.
 4. $ORACLE_HOME
points to GRID Home.
 5. Cluster is up and
running in all nodes of RAC.
1) Create a temporary diskgroup :
Login as SYSASM using SQLPLUS into ASM instance on one node
and run below commands:
create diskgroup TEMP normal redundancy disk <disk_1>
,<disk_2> ,<disk_3>
attribute ‘compatible.rdbms’=’11.2.0.0’,
‘compatible.asm’=’11.2.0.0’, ‘au_size’=<desired_au_size>;
Example:
SQL> create diskgroup TEMP normal redundancy disk
‘ORCL:DISK4′ ,’ORCL:DISK5′ ,’ORCL:DATA4’ attribute
‘compatible.rdbms’=’11.2.0.0’, ‘compatible.asm’=’11.2.0.0’, ‘au_size’=’4M’;
Diskgroup created.
2) Move OCR and Vote file from
<current diskgroup> to <TEMP> :
$ORACLE_HOME/bin/bin/ocrconfig
-add +TEST
$ORACLE_HOME/bin/bin/ocrconfig
-delete +CRS
$ORACLE_HOME/bin/crsctl
replace votedisk +TEST
Example :
[root@rac1 ~]# $ORACLE_HOME/bin/ocrconfig -add +TEST
[root@rac1 ~]# date
Fri Mar 24 06:11:07 EDT 2017
[root@rac1 ~]# $ORACLE_HOME/bin/ocrconfig -delete +CRS
[root@rac1 ~]# date
Fri Mar 24 06:11:39 EDT 2017
[root@rac1 ~]# $ORACLE_HOME/bin/crsctl replace votedisk
+TEST
Successful addition of voting disk
60eb341b8b744fe7bf85a5d513153bcc.
Successful deletion of voting disk
261993a31aa74fccbf7e8d14755cc9bc.
Successfully replaced voting disk group with +TEST.
CRS-4266: Voting file(s) successfully replaced
[root@rac1 ~]# date
Fri Mar 24 06:12:06 EDT 2017
[root@rac1 ~]# $ORACLE_HOME/bin/crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
—  —–    —————–                ——— ———
 1. ONLINE   60eb341b8b744fe7bf85a5d513153bcc (ORCL:TEMP)
[TEST]
Located 1 voting disk(s).
[root@rac1 ~]# $ORACLE_HOME/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          3
         Total space
(kbytes)     :     262120
         Used space
(kbytes)      :       2788
         Available
space (kbytes) :     259332
         ID                       : 1056661873
         Device/File
Name         :      +TEST
                                    Device/File
integrity check succeeded
                                    Device/File
not configured
                                    Device/File
not configured
                                    Device/File
not configured
                                    Device/File
not configured
         Cluster
registry integrity check succeeded
         Logical
corruption check succeeded
3) Change ASM SPFILE location
from <Current diskgroup> to <TEST> diskgroup.That can be verified
by below commands :
$ORACLE_HOME/bin/gpnptool get
$asmcmd spget
Example:
[oracle@rac1 ~]$ sqlplus / as sysasm
SQL> create pfile=’/tmp/init.txt’ from spfile;
File created.
SQL> create spfile=’+TEST’ from pfile=’/tmp/init.txt’ ;
File created.
[oracle@rac1 ~]$ asmcmd spget
+TEST/rac-cluster/asmparameterfile/registry.253.939449937
4) Restart CRS on all nodes to
startup CRS using new SPFILE from TEMP diskgroup :
crsctl stop crs
crsctl start crs
5) Dismount the OLD Diskgroup on
all cluster nodes:
Login as SYSASM using SQLPLUS into ASM instance:-
SQL>alter diskgroup crs dismount; — on all node
Verify it with : asmcmd lsdg
Example:
SQL> alter diskgroup crs dismount;
Diskgroup altered.
SQL> !date
Fri Mar 24 06:26:34 EDT 2017
6) Rename OLD diskgroup to NEW
diskgroup name :
renamedg phase=both dgname=DATA newdgname=CRS
asm_diskstring=” verbose=true
Example :
[oracle@rac1 ~]$ renamedg phase=both dgname=CRS
newdgname=VOS asm_diskstring=’/dev/oracleasm/disks/*’ verbose=true
Parsing parameters..
Parameters in effect:
         Old DG name       : CRS
         New DG
name          : VOS
         Phases               :
                 Phase
1
                 Phase
2
         Discovery
str        : /dev/oracleasm/disks/*
         Clean              : TRUE
         Raw only           : TRUE
renamedg operation: phase=both dgname=CRS newdgname=VOS
asm_diskstring=/dev/oracleasm/disks/* verbose=true
Executing phase 1
Discovering the group
Performing discovery with string:/dev/oracleasm/disks/*
Identified disk UFS:/dev/oracleasm/disks/DISK8 with disk
number:0 and timestamp (33050006 163859456)
Checking for hearbeat…
Re-discovering the group
Performing discovery with string:/dev/oracleasm/disks/*
Identified disk UFS:/dev/oracleasm/disks/DISK8 with disk
number:0 and timestamp (33050006 163859456)
Checking if the diskgroup is mounted
Checking disk number:0
Checking if diskgroup is used by CSS
Generating configuration file..
Completed phase 1
Executing phase 2
Looking for /dev/oracleasm/disks/DISK8
Modifying the header
Completed phase 2
Terminating kgfd context 0x2b39e29690a0
SQL> set line 1000
set pages 599
col path format a30
SQL> select
name,state,usable_file_mb,total_mb,free_mb,required_mirror_free_mb from
v$asm_diskgroup;
NAME                           STATE       USABLE_FILE_MB   TOTAL_MB   
FREE_MB REQUIRED_MIRROR_FREE_MB
—————————— ———– ————–
———- ———-
VOS                            DISMOUNTED               0          0          0                       0
DATA                           MOUNTED               9119      12268       9119                       0
NORM1                          MOUNTED               7044      15336     
14400                     312
TEST                           MOUNTED                113        509        113                       0
SQL> select
name,path,group_number,header_status,total_mb,free_mb from v$asm_disk;
NAME                           PATH                           GROUP_NUMBER HEADER_STATU   TOTAL_MB   
FREE_MB
——————————
—————————— ———— ————
                                  ORCL:DISK8                                0 MEMBER                0          0
DISK1                          ORCL:DISK1                                2 MEMBER             3067       2274
DISK2                          ORCL:DISK2                                2 MEMBER             3067       2278
DISK3                          ORCL:DISK3                                2 MEMBER             3067       2284
DISK4                          ORCL:DISK4                                2 MEMBER             3067       2283
DISK5                          ORCL:DISK5                                3 MEMBER             5112       4800
DISK6                          ORCL:DISK6                                3 MEMBER             5112       4800
DISK7                          ORCL:DISK7                                3 MEMBER             5112       4800
TEMP                           ORCL:TEMP                                 4 MEMBER              509        113
7) Mount the renamed diskgroup
on All the nodes:
Login as SYSASM using SQLPLUS into ASM instance and run
below commands:
SQL>alter diskgroup VOS mount; — on each node
Example:
SQL> alter diskgroup VOS mount;
Diskgroup altered.
SQL> select
name,state,usable_file_mb,total_mb,free_mb,required_mirror_free_mb from
v$asm_diskgroup;
NAME                           STATE       USABLE_FILE_MB   TOTAL_MB   
FREE_MB REQUIRED_MIRROR_FREE_MB
—————————— ———– ————–
———- ———- ———————–
VOS                            MOUNTED                130        494        130                       0
DATA                           MOUNTED               9119      12268       9119                       0
NORM1                          MOUNTED               7044      15336     
14400                     312
TEST                           MOUNTED                113        509        113                       0
8) Move OCR and Vote file from
TEMP Diskgroup to Renamed Diskgroup :
$ORACLE_HOME/bin/ocrconfig
-add +VOS
$ORACLE_HOME/bin/ocrconfig
-delete +TEST
$ORACLE_HOME/bin/crsctl
replace votedisk +VOS
Example :
[root@rac1 ~]# $ORACLE_HOME/bin/ocrconfig -add +VOS
[root@rac1 ~]# $ORACLE_HOME/bin/ocrconfig -delete +TEST
[root@rac1 ~]# $ORACLE_HOME/bin/crsctl replace votedisk +VOS
Successful addition of voting disk
2654f89dfbe34ffcbf823d24c6502a62.
Successful deletion of voting disk
60eb341b8b744fe7bf85a5d513153bcc.
Successfully replaced voting disk group with +VOS.
CRS-4266: Voting file(s) successfully replaced
[root@rac1 ~]# date
Fri Mar 24 06:59:13 EDT 2017
9) Change ASM SPFILE location
from <TEMP diskgroup> to Renamed Diskgroup:
SQL> create spfile=’+VOS’ from pfile=’/tmp/init.txt’ ;
File created.
SQL> !asmcmd spget
+VOS/rac-cluster/asmparameterfile/registry.253.939452479
10) Restart CRS on all nodes to
startup CRS using new SPFILE from TEMP diskgroup :
crsctl stop crs
crsctl start crs
11) Drop the Intermediate
Diskgroup TEST :
Login as SYSASM using SQLPLUS into ASM instance on one node
and run below commands::
SQL>drop diskgroup test including contents;
NOTE: Diskgroup TEMP must be mounted in order to be able to
drop it.You need to mount it (if it is not already mounted at CRS startup) and
then run “drop diskgroup..”
Example :
SQL> drop diskgroup test including contents;
Diskgroup dropped.
12) Need to Remove the Diskgroup
Resources TEMP and <OLD Diskgroup Name> from Oracle Clusterware :
srvctl
remove diskgroup -g data
srvctl
remove diskgroup -g TEMP
Example :-
[root@test ~]# $ORACLE_HOME/bin/srvctl remove diskgroup -g
TEST
PRCR-1001 : Resource ora.TEST.dg does not exist
[root@test ~]# $ORACLE_HOME/bin/srvctl remove diskgroup -g
CRS
NOTE: Normally diskgroup TEST as resource should be removed
by “drop diskgroup..” command, hence you need to run above command
only if the resource is not already dropped.
In case of CRS diskgroup resource you need to explicitly
remove it using srvctl command as the diskgroup was just renamed not dropped.
13) Ensure ALL Cluster resources
are started successfully using below sample commands :
$ORACLE_HOME/bin/crsctl stat res -init -t
$ORACLE_HOME/bin/crsctl check cluster -all

$ORACLE_HOME/bin/crsctl stat res -t

  • October 21, 2017 | 19 views
  • Comments