Migration ASM, the ARC diskgroup to the new storage
I'm new on Orafaq, this is my first blog. Thank you Sir John Watson promoted and supported me, and I'm sorry, I usually wrote bad English language.
1- Create and make the new disk to ASM
Device Boot Start End Blocks Id System
/dev/sdf1 10 2610 20892532+ 83 Linux
Disk /dev/sdg: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdg doesn't contain a valid partition table
[root@anhttRHEL ~]# fdisk /dev/sdg
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 6527.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6527, default 1): 10
Last cylinder or +size or +sizeM or +sizeK (10-6527, default 6527):
Using default value 6527
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@anhttRHEL ~]# oracleasm listdisks
ARC
BKP
DATA
DATAVOL1
2. Backup Database
2.2. Backup full database
[root@anhttRHEL ~]# su - oracle [oracle@anhttRHEL ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Tue Dec 1 09:16:59 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: ANHTT (DBID=386671821) RMAN> crosscheck backup; using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=588 device type=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: SID=11 device type=DISK crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/arc_48qlauoq_1_1 RECID=124 STAMP=894794522 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/arc_47qlauoq_1_1 RECID=125 STAMP=894794522 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/full_4aqlauot_1_1 RECID=126 STAMP=894794530 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/full_49qlauot_1_1 RECID=127 STAMP=894794525 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/full_4cqlauqb_1_1 RECID=128 STAMP=894794571 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/full_4bqlauqb_1_1 RECID=129 STAMP=894794574 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/arc_4dqlauqg_1_1 RECID=130 STAMP=894794576 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=+BKP/ctl_4eqlauqh_1_1 RECID=131 STAMP=894794578 Crosschecked 8 objects RMAN> delete noprompt backup; using channel ORA_DISK_1 using channel ORA_DISK_2 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 124 124 1 1 AVAILABLE DISK +BKP/arc_48qlauoq_1_1 125 125 1 1 AVAILABLE DISK +BKP/arc_47qlauoq_1_1 126 126 1 1 AVAILABLE DISK +BKP/full_4aqlauot_1_1 127 127 1 1 AVAILABLE DISK +BKP/full_49qlauot_1_1 128 128 1 1 AVAILABLE DISK +BKP/full_4cqlauqb_1_1 129 129 1 1 AVAILABLE DISK +BKP/full_4bqlauqb_1_1 130 130 1 1 AVAILABLE DISK +BKP/arc_4dqlauqg_1_1 131 131 1 1 AVAILABLE DISK +BKP/ctl_4eqlauqh_1_1 deleted backup piece backup piece handle=+BKP/arc_48qlauoq_1_1 RECID=124 STAMP=894794522 deleted backup piece backup piece handle=+BKP/arc_47qlauoq_1_1 RECID=125 STAMP=894794522 deleted backup piece backup piece handle=+BKP/full_4aqlauot_1_1 RECID=126 STAMP=894794530 deleted backup piece backup piece handle=+BKP/full_49qlauot_1_1 RECID=127 STAMP=894794525 deleted backup piece backup piece handle=+BKP/full_4cqlauqb_1_1 RECID=128 STAMP=894794571 deleted backup piece backup piece handle=+BKP/full_4bqlauqb_1_1 RECID=129 STAMP=894794574 deleted backup piece backup piece handle=+BKP/arc_4dqlauqg_1_1 RECID=130 STAMP=894794576 deleted backup piece backup piece handle=+BKP/ctl_4eqlauqh_1_1 RECID=131 STAMP=894794578 Deleted 8 objects RMAN> run{ 2> backup as compressed backupset incremental level 0 database 3> format '+BKP/full_%U' 4> plus archivelog delete input 5> format '+BKP/arc_%U' 6> filesperset 2; 7> backup current controlfile 8> format '+BKP/ctl_%U'; 9> } Starting backup at 01-DEC-2015 09:18:05 current log archived using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting compressed archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=51 RECID=91 STAMP=897296759 channel ORA_DISK_1: starting piece 1 at 01-DEC-2015 09:18:06 channel ORA_DISK_2: starting compressed archived log backup set channel ORA_DISK_2: specifying archived log(s) in backup set input archived log thread=1 sequence=52 RECID=92 STAMP=897297485 channel ORA_DISK_2: starting piece 1 at 01-DEC-2015 09:18:06 channel ORA_DISK_1: finished piece 1 at 01-DEC-2015 09:18:13 piece handle=+BKP/arc_4fqnnb2e_1_1 tag=TAG20151201T091805 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07 channel ORA_DISK_1: deleting archived log(s) archived log file name=+ARC/anhtt/archivelog/2015_12_01/thread_1_seq_51.256.897296753 RECID=91 STAMP=897296759 channel ORA_DISK_2: finished piece 1 at 01-DEC-2015 09:18:13 piece handle=+BKP/arc_4gqnnb2e_1_1 tag=TAG20151201T091805 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:07 channel ORA_DISK_2: deleting archived log(s) archived log file name=+ARC/anhtt/archivelog/2015_12_01/thread_1_seq_52.258.897297485 RECID=92 STAMP=897297485 Finished backup at 01-DEC-2015 09:18:14 Starting backup at 01-DEC-2015 09:18:14 using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting compressed incremental level 0 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=+DATAVOL1/anhtt/datafile/system.258.892497941 input datafile file number=00003 name=+DATAVOL1/anhtt/datafile/undotbs1.262.892498031 input datafile file number=00006 name=+DATAVOL1/anhtt/datafile/admin.256.891959225 input datafile file number=00004 name=+DATA/anhtt/datafile/users.273.889993453 channel ORA_DISK_1: starting piece 1 at 01-DEC-2015 09:18:14 channel ORA_DISK_2: starting compressed incremental level 0 datafile backup set channel ORA_DISK_2: specifying datafile(s) in backup set input datafile file number=00002 name=+DATAVOL1/anhtt/datafile/sysaux.261.892497987 input datafile file number=00005 name=+DATA/anhtt/datafile/example.257.889993453 input datafile file number=00008 name=+DATA/anhtt/datafile/logmnrts.261.890144385 channel ORA_DISK_2: starting piece 1 at 01-DEC-2015 09:18:15 ... Starting backup at 01-DEC-2015 09:19:06 using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set channel ORA_DISK_1: starting piece 1 at 01-DEC-2015 09:19:07 channel ORA_DISK_1: finished piece 1 at 01-DEC-2015 09:19:08 piece handle=+BKP/ctl_4mqnnb4a_1_1 tag=TAG20151201T091906 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 01-DEC-2015 09:19:08 RMAN>
2.3. Validate backup
RMAN> report need backup; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 7 days Report of files that must be backed up to satisfy 7 days recovery window File Days Name ---- ----- ----------------------------------------------------- RMAN> restore database validate; Starting restore at 01-DEC-2015 09:19:49 using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting validation of datafile backup set channel ORA_DISK_2: starting validation of datafile backup set channel ORA_DISK_1: reading from backup piece +BKP/full_4iqnnb2m_1_1 channel ORA_DISK_2: reading from backup piece +BKP/full_4hqnnb2m_1_1 channel ORA_DISK_1: piece handle=+BKP/full_4iqnnb2m_1_1 tag=TAG20151201T091814 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: validation complete, elapsed time: 00:00:26 channel ORA_DISK_2: piece handle=+BKP/full_4hqnnb2m_1_1 tag=TAG20151201T091814 channel ORA_DISK_2: restored backup piece 1 channel ORA_DISK_2: validation complete, elapsed time: 00:00:36 Finished restore at 01-DEC-2015 09:20:25 RMAN>
3- Add the new disk to ASM diskgroup ARC
3.1. Query the disk in ARC diskgroup exists
[root@anhttRHEL ~]# oracleasm querydisk -p ARC Disk "ARC" is a valid ASM disk /dev/sdf1: LABEL="ARC" TYPE="oracleasm"
3.2. Label the new disk
[root@anhttRHEL ~]# oracleasm createdisk ARCVOL1 /dev/sdg1 Writing disk header: done Instantiating disk: done [root@anhttRHEL ~]# oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... [root@anhttRHEL ~]# oracleasm listdisks ARC ARCVOL1 BKP DATA DATAVOL1 FRA [root@anhttRHEL ~]#
3.4. Query the disk string
grid@anhttRHEL ~]$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 1 09:24:39 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Automatic Storage Management option idle> show parameter asm_disk NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_diskgroups string FRA, BKP, DATAVOL1, ARC asm_diskstring string idle> exit ... rw-rw-rw- 1 root tty 5, 2 Dec 1 09:39 ptmx [root@anhttRHEL ~]# ls -ll /dev/oracleasm total 0 drwxr-xr-x 1 root root 0 Dec 1 09:08 disks drwxrwx--- 1 grid asmadmin 0 Dec 1 09:03 iid [root@anhttRHEL ~]# ls -ll /dev/oracleasm/disks total 0 brw-rw---- 1 grid asmadmin 8, 81 Dec 1 09:03 ARC brw-rw---- 1 grid asmadmin 8, 97 Dec 1 09:29 ARCVOL1 brw-rw---- 1 grid asmadmin 8, 49 Dec 1 09:03 BKP brw-rw---- 1 grid asmadmin 8, 17 Dec 1 09:03 DATA brw-rw---- 1 grid asmadmin 8, 65 Dec 1 09:03 DATAVOL1 brw-rw---- 1 grid asmadmin 8, 33 Dec 1 09:03 FRA grid@anhttRHEL ~]$ dd if=/dev/oracleasm/disks/ARCVOL1 of=/dev/null count=100 bs=8192 100+0 records in 100+0 records out 819200 bytes (819 kB) copied, 0.068321 seconds, 12.0 MB/s [grid@anhttRHEL ~]$ kfed /dev/oracleasm/disks/ARCVOL1 as/mlib ASM Library [asmlib='lib'] aun/um AU number to examine or update [AUNUM=number] aus/z Allocation Unit size in bytes [AUSZ=number] blkn/um Block number to examine or update [BLKNUM=number] blks/z Metadata block size in bytes [BLKSZ=number] ch/ksum Update checksum before each write [CHKSUM=YES/NO] cn/t Count of AUs to process [CNT=number] de/v ASM device to examine or update [DEV=string] dm/pall Don't suppress repeated lines when dumping corrupt blocks [DMPALL=YES/NO] o/p KFED operation type [OP=READ/WRITE/MERGE/REPAIR/NEW/FORM/FIND/STRUCT] p/rovnm Name for provisioning purposes [PROVNM=string] s/eek AU number to seek to [SEEK=number] te/xt File name for translated block text [TEXT=string] ty/pe ASM metadata block type number [TYPE=number] KFED-00101: LRM error [102] while parsing command line arguments
3.5. Add the new disk in disk string
idle> set lines 270 pages 10000 idle> col diskgroup for a10 idle> col DISKNAME for a30 idle> select dg.NAME diskgroup, dg.TYPE, dg.VOTING_FILES, 2 ds.NAME diskname, ds.TOTAL_MB, ds.FREE_MB, dg.USABLE_FILE_MB 3 from V$ASM_DISKGROUP dg, V$asm_disk_stat ds 4 where dg.GROUP_NUMBER = ds.GROUP_NUMBER 5 order by diskgroup, diskname; DISKGROUP Type V DISKNAME Total Size (MB) FREE_MB USABLE_FILE_MB ---------- ------ - ------------------------------ --------------- ---------- -------------- ARC EXTERN N ARC 20,402 20343 20343 BKP EXTERN N BKP 20,402 19991 19991 DATA EXTERN N DATA 40,884 36217 36217 DATAVOL1 EXTERN N DATAVOL1 51,128 46933 46933 FRA EXTERN N FRA 20,402 18821 18821 --------------- Grand Tota 153,218 idle> alter diskgroup arc add disk 'ORCL:ARCVOL1'; Diskgroup altered. idle> select dg.NAME diskgroup, dg.TYPE, dg.VOTING_FILES, 2 ds.NAME diskname, ds.TOTAL_MB, ds.FREE_MB, dg.USABLE_FILE_MB 3 from V$ASM_DISKGROUP dg, V$asm_disk_stat ds 4 where dg.GROUP_NUMBER = ds.GROUP_NUMBER 5 order by diskgroup, diskname; DISKGROUP Type V DISKNAME Total Size (MB) FREE_MB USABLE_FILE_MB ---------- ------ - ------------------------------ --------------- ---------- -------------- ARC EXTERN N ARC 20,402 20383 71469 ARC EXTERN N ARCVOL1 51,128 51086 71469 BKP EXTERN N BKP 20,402 19991 19991 DATA EXTERN N DATA 40,884 36217 36217 DATAVOL1 EXTERN N DATAVOL1 51,128 46933 46933 FRA EXTERN N FRA 20,402 18821 18821 --------------- Grand Tota 204,346 6 rows selected.
3.6 Balance the disks
idle> alter diskgroup arc rebalance power 11; Diskgroup altered.
3.7. Verify the balance processing
idle> select * from v$asm_operation; GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE ------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- -------------------------------------------- 4 REBAL RUN 11 11 5161 5161 0 0 idle> select * from v$asm_operation; no rows selected <<-- Dones
3.8. Drop the disk
idle> alter diskgroup arc drop disk ARC; Diskgroup altered.
3.9. Verify the disk in diskgroup
idle> @asmd DISKGROUP Type V DISKNAME Total Size (MB) FREE_MB USABLE_FILE_MB ---------- ------ - ------------------------------ --------------- ---------- -------------- ARC EXTERN N ARCVOL1 51,128 51069 51069 BKP EXTERN N BKP 20,402 19991 19991 DATA EXTERN N DATA 40,884 36217 36217 DATAVOL1 EXTERN N DATAVOL1 51,128 46933 46933 FRA EXTERN N FRA 20,402 18821 18821 --------------- Grand Tota 183,944
4. Verify in database
Log file Thread 1 advanced to log sequence 54 (LGWR switch) Current log# 3 seq# 54 mem# 0: +DATA/anhtt/onlinelog/group_3.265.889993739 Current log# 3 seq# 54 mem# 1: +FRA/anhtt/onlinelog/group_3.283.889993749 Archived Log entry 93 added for thread 1 sequence 53 ID 0x170ec428 dest 1: Tue Dec 01 10:02:51 2015 SUCCESS: disk ARCVOL1 (1.3915942127) added to diskgroup ARC Tue Dec 01 10:31:07 2015 NOTE: disk 0 (ARC) in group 1 (ARC) is offline for reads NOTE: disk 0 (ARC) in group 1 (ARC) is offline for writes SUCCESS: disk ARC (0.3915942117) dropped from diskgroup ARC
Switch log file to check
sys@ANHTT> alter system switch logfile; System altered. -- Logfile Tue Dec 01 10:34:10 2015 Thread 1 advanced to log sequence 55 (LGWR switch) Current log# 1 seq# 55 mem# 0: +DATA/anhtt/onlinelog/group_1.258.889993701 Current log# 1 seq# 55 mem# 1: +FRA/anhtt/onlinelog/group_1.284.889993711 Tue Dec 01 10:34:12 2015 Archived Log entry 94 added for thread 1 sequence 54 ID 0x170ec428 dest 1:
Hope this article useful to you.
TAT
- trantuananh24hg's blog
- Log in to post comments