ASM between storages

  • From: "Sebastião Carlos" <scarlosantos@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Tue, 9 Dec 2008 17:11:43 -0200

In my production environment instances of Oracle are under the file system
JFS2. Soon we will have to relocate space for these file or switch to ASM.
Our preference is going to the ASM, but we do need some tests we are
conducting.
Today, in a production environment, data from storage1 are replicated via
AIX / HACMP for storage2.
Our tests with the ASM has to contemplate the use of a set of disks in
storage1 and another set in storage2.

Below the details of the environment:
------------------------------
*In AIX 5.3 TL8*
------------------------------
*root@suorg06_BKP:/> lspv*
hdisk17 none None
hdisk18 none None
hdisk19 none None
hdisk16 none None

*root@suorg06_BKP:/> fget_config -Av*

---dar0---

User array name = 'STCATORG01'
dac0 ACTIVE dac1 ACTIVE

Disk DAC LUN Logical Drive
hdisk17 dac0 15 ASMTST_02
hdisk16 dac0 14 ASMTST_01

---dar1---

User array name = 'STCATORG02'
dac4 ACTIVE dac5 ACTIVE

Disk DAC LUN Logical Drive
hdisk18 dac5 16 ASMTST_B01
hdisk19 dac5 17 ASMTST_B02
------------------------------
*select*
** lpad(name,15) as name,**
** group_number,**
** disk_number,**
** mount_status,**
** header_status,**
** state,**
** redundancy,**
** lpad(path,15) as path,**
** total_mb,**
** free_mb,**
** to_char(create_date,'dd/mm/yyyy') as create_date,**
** to_char(mount_date,'dd/mm/yyyy') as mount_date**
*from*
** v$asm_disk**
*order by*
** disk_number;**

NAME GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU STATE REDUNDA PATH
TOTAL_MB FREE_MB

0 0 CLOSED CANDIDATE NORMAL UNKNOWN /dev/rhdisk16 30720 0
0 1 CLOSED CANDIDATE NORMAL UNKNOWN /dev/rhdisk17 30720 0
0 2 CLOSED CANDIDATE NORMAL UNKNOWN /dev/rhdisk18 30720 0
0 3 CLOSED CANDIDATE NORMAL UNKNOWN /dev/rhdisk19 30720 0

*select*
** v$asm_diskgroup.group_number,**
** lpad(v$asm_diskgroup.name,20) as name,**
** v$asm_diskgroup.sector_size,**
** v$asm_diskgroup.block_size,**
** v$asm_diskgroup.allocation_unit_size,**
** v$asm_diskgroup.state,**
** v$asm_diskgroup.type,**
** v$asm_diskgroup.total_mb,**
** v$asm_diskgroup.free_mb,**
** v$asm_diskgroup.offline_disks,**
** v$asm_diskgroup.unbalanced,**
** v$asm_diskgroup.usable_file_mb**
*from*
** v$asm_diskgroup**
*order by*
** v$asm_diskgroup.group_number;**

no rows selected

SQL> *CREATE DISKGROUP 'DB_DG_TESTE' NORMAL REDUNDANCY DISK '/dev/rhdisk16',
'/dev/rhdisk18';*

Diskgroup created.

*select*
** lpad(name,15) as name,**
** group_number,**
** disk_number,**
** mount_status,**
** header_status,**
** state,**
** redundancy,**
** lpad(path,15) as path,**
** total_mb,**
** free_mb,**
** to_char(create_date,'dd/mm/yyyy') as create_date,**
** to_char(mount_date,'dd/mm/yyyy') as mount_date**
*from*
** v$asm_disk**
*order by*
** disk_number;**

NAME GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU STATE REDUNDA PATH
TOTAL_MB FREE_MB CREATE_DAT MOUNT_DATE

DB_DG_TESTE_000 1 0 CACHED MEMBER NORMAL UNKNOWN /dev/rhdisk16 30720 30669
09/12/2008 09/12/2008
0 1 CLOSED CANDIDATE NORMAL UNKNOWN /dev/rhdisk17 30720 0 09/12/2008
09/12/2008
DB_DG_TESTE_000 1 1 CACHED MEMBER NORMAL UNKNOWN /dev/rhdisk18 30720 30669
09/12/2008 09/12/2008
0 3 CLOSED CANDIDATE NORMAL UNKNOWN /dev/rhdisk19 30720 0 09/12/2008
09/12/2008
*select*
** v$asm_diskgroup.group_number,**
** lpad(v$asm_diskgroup.name,20) as name,**
** v$asm_diskgroup.sector_size,**
** v$asm_diskgroup.block_size,**
** v$asm_diskgroup.allocation_unit_size,**
** v$asm_diskgroup.state,**
** v$asm_diskgroup.type,**
** v$asm_diskgroup.total_mb,**
** v$asm_diskgroup.free_mb,**
** v$asm_diskgroup.offline_disks,**
** v$asm_diskgroup.unbalanced,**
** v$asm_diskgroup.usable_file_mb**
*from*
** v$asm_diskgroup**
*order by*
** v$asm_diskgroup.group_number;**

GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE
TOTAL_MB FREE_MB OFFLINE_DISKS U USABLE_FILE_MB

1 DB_DG_TESTE 512 4096 1048576 MOUNTED NORMAL 61440 61338 0 N *30669*

SQL> *ALTER DISKGROUP 'DB_DG_TESTE' ADD DISK '/dev/rhdisk17',
'/dev/rhdisk19';*

*select*
** lpad(name,15) as name,**
** group_number,**
** disk_number,**
** mount_status,**
** header_status,**
** state,**
** redundancy,**
** lpad(path,15) as path,**
** total_mb,**
** free_mb,**
** to_char(create_date,'dd/mm/yyyy') as create_date,**
** to_char(mount_date,'dd/mm/yyyy') as mount_date**
*from*
** v$asm_disk**
*order by*
** disk_number;**

NAME GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU STATE REDUNDA PATH
TOTAL_MB FREE_MB CREATE_DAT MOUNT_DATE

DB_DG_TESTE_000 1 0 CACHED MEMBER NORMAL UNKNOWN /dev/rhdisk16 30720 30681
09/12/2008 09/12/2008
DB_DG_TESTE_000 1 1 CACHED MEMBER NORMAL UNKNOWN /dev/rhdisk18 30720 30681
09/12/2008 09/12/2008
DB_DG_TESTE_000 1 2 CACHED MEMBER NORMAL UNKNOWN /dev/rhdisk17 30720 30682
09/12/2008 09/12/2008
DB_DG_TESTE_000 1 3 CACHED MEMBER NORMAL UNKNOWN /dev/rhdisk19 30720 30681
09/12/2008 09/12/2008
 *select*
** v$asm_diskgroup.group_number,**
** lpad(v$asm_diskgroup.name,20) as name,**
** v$asm_diskgroup.sector_size,**
** v$asm_diskgroup.block_size,**
** v$asm_diskgroup.allocation_unit_size,**
** v$asm_diskgroup.state,**
** v$asm_diskgroup.type,**
** v$asm_diskgroup.total_mb,**
** v$asm_diskgroup.free_mb,**
** v$asm_diskgroup.offline_disks,**
** v$asm_diskgroup.unbalanced,**
** v$asm_diskgroup.usable_file_mb**
*from*
** v$asm_diskgroup**
*order by*
** v$asm_diskgroup.group_number;**

GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE
TOTAL_MB FREE_MB OFFLINE_DISKS U USABLE_FILE_MB

1 DB_DG_TESTE 512 4096 1048576 MOUNTED NORMAL 122880 122725 0 N 46002

At the end of the creation of diskgroup you can see the query that the space
available for the diskgroup is 30669 MB, but after the addition of two other
discs the size in MB available 46002.

It was not expected that the space available for use was approximately 50%
of total discs?

How should I proceed with the creation of diskgroup to have it in the
mirror storage1 with storage2 without this great loss of space

Other related posts:

  • » ASM between storages - Sebastião Carlos