Exadata Database ASM restructure Testing
=============================
Exadata Database ASM restructure
=============================
DATA_QR01 24768 10056 8256
DBFS_DG 2880 1576 960
RECO_QR01 13824 12628 4992
3 from v$asm_disk d, v$asm_diskgroup dg
4 where dg.group_number=d.group_number and d.mount_status='CACHED'
5 group by dg.name, d.total_mb;
DBFS_DG 36 80 12 60
DATA_QR01 36 688 248 308
RECO_QR01 12 320 284 296
RECO_QR01 24 416 372 392
SQL> select * from gv$asm_operation;
3 force rebalance power 0;
3 where path like '%RECO_QR01%cel01';
FREE_MB HEADER_STATU MOUNT_S
---------- ------------ -------------------------------
3 where path like '%RECO_QR01%cel01';
SQL>
alter diskgroup reco_qr01 add disk
2 'o/192.168.1.11/RECO_QR01_CD_00_qr01cel01',
3 'o/192.168.1.11/RECO_QR01_CD_01_qr01cel01',
4 'o/192.168.1.11/RECO_QR01_CD_02_qr01cel01',
5 'o/192.168.1.11/RECO_QR01_CD_03_qr01cel01',
6 'o/192.168.1.11/RECO_QR01_CD_04_qr01cel01',
7 'o/192.168.1.11/RECO_QR01_CD_05_qr01cel01',
8 'o/192.168.1.11/RECO_QR01_CD_06_qr01cel01',
9 'o/192.168.1.11/RECO_QR01_CD_07_qr01cel01',
10 'o/192.168.1.11/RECO_QR01_CD_08_qr01cel01',
11 'o/192.168.1.11/RECO_QR01_CD_09_qr01cel01',
12 'o/192.168.1.11/RECO_QR01_CD_10_qr01cel01',
13 'o/192.168.1.11/RECO_QR01_CD_11_qr01cel01'
14 rebalance power 11 nowait;
Check
+++++++++
select
* from gv$asm_operation;
from v$asm_disk d, v$asm_diskgroup dg
where dg.group_number=d.group_number and d.mount_status='CACHED'
group by dg.name, d.total_mb;
from v$asm_disk
where path like '%RECO_QR01%cel01';
SQL> alter diskgroup reco_qr01
drop disks in failgroup qr01cel02 force rebalance power 0;
CellCLI command to show the free space on each cell disk.
CellCLI> list celldisk attributes name, freeSpace where freeSpace != 0
rebalance power 11 nowait;
CellCLI>
list celldisk attributes name, freeSpace where freeSpace != 0
CD_00_qr01cel01 96M
CD_01_qr01cel01 96M
CD_02_qr01cel01 96M
CD_03_qr01cel01 96M
CD_04_qr01cel01 96M
CD_05_qr01cel01 96M
CD_06_qr01cel01 96M
CD_07_qr01cel01 96M
CD_08_qr01cel01 96M
CD_09_qr01cel01 96M
CD_10_qr01cel01 96M
CD_11_qr01cel01 96M
CellCLI>
create griddisk all harddisk prefix=DATA2_QR01
GridDisk DATA2_QR01_CD_02_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_03_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_04_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_05_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_06_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_07_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_08_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_09_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_10_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_11_qr01cel01 successfully created
Check
+++++++++
DATA2_QR01_CD_02_qr01cel01 96M UNUSED
DATA2_QR01_CD_03_qr01cel01 96M UNUSED
DATA2_QR01_CD_04_qr01cel01 96M UNUSED
DATA2_QR01_CD_05_qr01cel
3 rebalance power 0;
3 (select * from v$asm_diskgroup where group_number != 0) dg
4 on d.group_number = dg.group_number
5 where dg.name is not null and d.path like 'o/%/DATA2%';
GNAME DNAME HEADER_STATU
------------------------------ ------------------------------ ------------
PATH
--------------------------------------------------------------------------------
3 rebalance power 11 wait;
Diskgroup altered.
SQL> create diskgroup data2_qr01 normal redundancy
2 disk 'o/*/DATA2_QR01*'
3 attribute 'compatible.rdbms' = '11.2.0.0.0',
4 'compatible.asm' = '11.2.0.0.0',
5 'cell.smart_scan_capable' = 'TRUE',
6 'au_size' = '4M';
Diskgroup created.
Check output
+++++++++++
attribute 'compatible.rdbms' = '11.2.0.0.0',
'compatible.asm' = '11.2.0.0.0',
'cell.smart_scan_capable' = 'TRUE',
'au_size' = '4M';
Exadata Database ASM restructure
=============================
SQL>
select name, total_mb, free_mb, required_mirror_free_mb
2 from
v$asm_diskgroup;
NAME TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB
------------------------------
---------- ---------- -----------------------DATA_QR01 24768 10056 8256
DBFS_DG 2880 1576 960
RECO_QR01 13824 12628 4992
SQL>
select dg.name, count(*), d.total_mb,
2
min(d.free_mb) MIN_FREE_MB, max(d.free_mb) MAX_FREE_MB3 from v$asm_disk d, v$asm_diskgroup dg
4 where dg.group_number=d.group_number and d.mount_status='CACHED'
5 group by dg.name, d.total_mb;
NAME COUNT(*) TOTAL_MB MIN_FREE_MB MAX_FREE_MB
------------------------------
---------- ---------- ----------- -----------DBFS_DG 36 80 12 60
DATA_QR01 36 688 248 308
RECO_QR01 12 320 284 296
RECO_QR01 24 416 372 392
SQL> select * from gv$asm_operation;
no
rows selected
SQL>
alter diskgroup reco_qr01
2 drop
disks in failgroup qr01cel013 force rebalance power 0;
Diskgroup
altered.
SQL>
select path, free_mb, header_status, mount_status
2 from
v$asm_disk3 where path like '%RECO_QR01%cel01';
PATH
-------------------------------------------------------FREE_MB HEADER_STATU MOUNT_S
---------- ------------ -------------------------------
o/192.168.1.11/RECO_QR01_CD_11_qr01cel01
0 MEMBER CLOSED
o/192.168.1.11/RECO_QR01_CD_10_qr01cel01
0 MEMBER CLOSED
o/192.168.1.11/RECO_QR01_CD_01_qr01cel01
0 MEMBER CLOSED
o/192.168.1.11/RECO_QR01_CD_00_qr01cel01
0 MEMBER CLOSED
o/192.168.1.11/RECO_QR01_CD_06_qr01cel01
0 MEMBER CLOSED
:
:
o/192.168.1.11/RECO_QR01_CD_05_qr01cel01
0 MEMBER CLOSED
12
rows selected.
SQL>
select path, free_mb, header_status, mount_status
2 from
v$asm_disk3 where path like '%RECO_QR01%cel01';
Notice
that the reconfigured grid disks are listed with HEADER_STATUS=CANDIDATE.
o/192.168.1.11/RECO_QR01_CD_05_qr01cel01
0 CANDIDATE CLOSED
12
rows selected.
Create
diskgroup again
++++++++++++++++++2 'o/192.168.1.11/RECO_QR01_CD_00_qr01cel01',
3 'o/192.168.1.11/RECO_QR01_CD_01_qr01cel01',
4 'o/192.168.1.11/RECO_QR01_CD_02_qr01cel01',
5 'o/192.168.1.11/RECO_QR01_CD_03_qr01cel01',
6 'o/192.168.1.11/RECO_QR01_CD_04_qr01cel01',
7 'o/192.168.1.11/RECO_QR01_CD_05_qr01cel01',
8 'o/192.168.1.11/RECO_QR01_CD_06_qr01cel01',
9 'o/192.168.1.11/RECO_QR01_CD_07_qr01cel01',
10 'o/192.168.1.11/RECO_QR01_CD_08_qr01cel01',
11 'o/192.168.1.11/RECO_QR01_CD_09_qr01cel01',
12 'o/192.168.1.11/RECO_QR01_CD_10_qr01cel01',
13 'o/192.168.1.11/RECO_QR01_CD_11_qr01cel01'
14 rebalance power 11 nowait;
Diskgroup
altered.
----
Check header status is member and mount status is cached
SQL>
select path, free_mb, header_status, mount_status
SQL>
select dg.name, count(*), d.total_mb,
min(d.free_mb) MIN_FREE_MB, max(d.free_mb)
MAX_FREE_MBfrom v$asm_disk d, v$asm_diskgroup dg
where dg.group_number=d.group_number and d.mount_status='CACHED'
group by dg.name, d.total_mb;
from v$asm_disk
where path like '%RECO_QR01%cel01';
Drop
the disks associated with the second cell (qr01cel02).
SQL> alter diskgroup reco_qr01
drop disks in failgroup qr01cel02 force rebalance power 0;
Diskgroup
altered.
Check
free space on cell disk [Exadata Storage]
------------------------------------------------------------CellCLI command to show the free space on each cell disk.
CellCLI> list celldisk attributes name, freeSpace where freeSpace != 0
rebalance power 11 nowait;
CD_00_qr01cel01 96M
CD_01_qr01cel01 96M
CD_02_qr01cel01 96M
CD_03_qr01cel01 96M
CD_04_qr01cel01 96M
CD_05_qr01cel01 96M
CD_06_qr01cel01 96M
CD_07_qr01cel01 96M
CD_08_qr01cel01 96M
CD_09_qr01cel01 96M
CD_10_qr01cel01 96M
CD_11_qr01cel01 96M
CellCLI>
Create
a set of grid disks, which consume all of the available free space. Specify
prefix=DATA2_QR01.
GridDisk
DATA2_QR01_CD_00_qr01cel01 successfully created
GridDisk
DATA2_QR01_CD_01_qr01cel01 successfully createdGridDisk DATA2_QR01_CD_02_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_03_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_04_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_05_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_06_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_07_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_08_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_09_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_10_qr01cel01 successfully created
GridDisk DATA2_QR01_CD_11_qr01cel01 successfully created
Check
+++++++++
CellCLI>
list griddisk attributes name, size, ASMModeStatus where name like 'DATA2.*'
DATA2_QR01_CD_00_qr01cel01 96M
UNUSED
DATA2_QR01_CD_01_qr01cel01 96M
UNUSEDDATA2_QR01_CD_02_qr01cel01 96M UNUSED
DATA2_QR01_CD_03_qr01cel01 96M UNUSED
DATA2_QR01_CD_04_qr01cel01 96M UNUSED
DATA2_QR01_CD_05_qr01cel
Exadata
grid disks are consumed inside ASM in two ways.
- add disks to an existing ASM disk group
- create a new ASM disk group based on Exadata
grid disks.
SQL>
alter diskgroup reco_qr01
2 add
disk 'o/192.168.1.11/DATA2_QR01_CD_00_qr01cel01'3 rebalance power 0;
Diskgroup
altered.
Check
======
SQL>
select dg.name GNAME, d.name DNAME, d.header_status, d.path
2 from
v$asm_disk d left outer join3 (select * from v$asm_diskgroup where group_number != 0) dg
4 on d.group_number = dg.group_number
5 where dg.name is not null and d.path like 'o/%/DATA2%';
GNAME DNAME HEADER_STATU
------------------------------ ------------------------------ ------------
PATH
--------------------------------------------------------------------------------
RECO_QR01
DATA2_QR01_CD_00_QR01CEL01
MEMBER
o/192.168.1.11/DATA2_QR01_CD_00_qr01cel01
Remove
the recently added disk from your disk group
====================================================
SQL>
alter diskgroup reco_qr01
2
drop disk DATA2_QR01_CD_00_QR01CEL013 rebalance power 11 wait;
Diskgroup altered.
Create
a new ASM disk group consuming the peviously create grid disks
=====================================================================SQL> create diskgroup data2_qr01 normal redundancy
2 disk 'o/*/DATA2_QR01*'
3 attribute 'compatible.rdbms' = '11.2.0.0.0',
4 'compatible.asm' = '11.2.0.0.0',
5 'cell.smart_scan_capable' = 'TRUE',
6 'au_size' = '4M';
Diskgroup created.
Check output
+++++++++++
RECO_QR01_CD_03_QR01CEL02 MEMBER
o/192.168.1.12/RECO_QR01_CD_03_qr01cel02
QL>
select name, header_status, path from v$asm_disk
where PATH like '%DATA1%';
alter
diskgroup RECO_QR01_CD_03_QR01CEL02;
;
drop
disk 'RECO_QR01_CD_03_qr01cel02'
;
rebalance
power 11 wait;
create
diskgroup data2_qr01 normal redundancy
disk 'o/*/DATA1_QR01*'attribute 'compatible.rdbms' = '11.2.0.0.0',
'compatible.asm' = '11.2.0.0.0',
'cell.smart_scan_capable' = 'TRUE',
'au_size' = '4M';
Comments
Post a Comment