In 11gR2 Grid Infrastructure and RAC
On node1, I discover and add a disk to ASM. NFS "devices" asmdisk.1 to asmdisk.6 are present as ASM Disks. asmdisk.7 has been added on NFS mount point /data1. (Disks asmdisk.3 to asmdisk.6 are on /data2)
I start on node1 in my Cluster
I now have a new DiskGroup using External Redundancy with a single disk. Is it visible at node2 ?
Why is the size not visible yet ? Because, although the CREATE from node1 had also MOUNTed the Disk Group, it hasn't been mounted on node2 yet.
Can I confirm the underlying disk ?
What happens when I create a tablespace/datafile in this DiskGroup, from the instance on node1 ?
Why do I get this error ? I could create a DiskGroup on the ASM Disk but I couldn't add a datafile ? Let me check the permissions.
The oinstall group that is used by "oracle" did not have write permissions. Let me go back to Oracle now after having granted the permissions.
The CREATE TABLESPACE has succeeded. I can verify the datafile and the ASM file from node2 now.
Now, I have the new DataFile visible in ASM and the Database on the New DiskGroup.
.
.
.
On node1, I discover and add a disk to ASM. NFS "devices" asmdisk.1 to asmdisk.6 are present as ASM Disks. asmdisk.7 has been added on NFS mount point /data1. (Disks asmdisk.3 to asmdisk.6 are on /data2)
I start on node1 in my Cluster
[root@node1 ~]# su - grid
-sh-3.2$ sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on Sat Aug 16 23:42:02 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: / as sysasm
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Real Application Clusters and Automatic Storage Management options
SQL> show parameter asm_diskstring
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring string /crs/*, /data1/*, /data2/*, /f
ra/*
SQL> !ls -l /data1/asm*
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 16 23:42 /data1/asmdisk.1
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 16 23:42 /data1/asmdisk.2
-rw-r--r-- 1 grid oinstall 2048000000 Aug 16 23:33 /data1/asmdisk.7
SQL> create diskgroup DATA3 disk '/data1/asmdisk.7';
create diskgroup DATA3 disk '/data1/asmdisk.7'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15072: command requires at least 2 regular failure groups, discovered only
1
SQL> create diskgroup DATA3 external redundancy disk '/data1/asmdisk.7';
Diskgroup created.
SQL>
SQL> select group_number, name, total_mb
2 from v$asm_diskgroup
3 where name = 'DATA3'
4 /
GROUP_NUMBER NAME TOTAL_MB
------------ ------------------------------ ----------
5 DATA3 1953
SQL>
I now have a new DiskGroup using External Redundancy with a single disk. Is it visible at node2 ?
[root@node2 ~]# su - grid
-sh-3.2$ sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on Sat Aug 16 23:47:45 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: / as sysasm
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select group_number, name, total_mb
2 from v$asm_diskgroup
3 where name = 'DATA3'
4 /
GROUP_NUMBER NAME TOTAL_MB
------------ ------------------------------ ----------
0 DATA3 0
SQL>
Why is the size not visible yet ? Because, although the CREATE from node1 had also MOUNTed the Disk Group, it hasn't been mounted on node2 yet.
SQL> alter diskgroup DATA3 mount;
Diskgroup altered.
SQL> select group_number, name, total_mb
2 from v$asm_diskgroup
3 where name = 'DATA3'
4 /
GROUP_NUMBER NAME TOTAL_MB
------------ ------------------------------ ----------
5 DATA3 1953
SQL>
Can I confirm the underlying disk ?
SQL> select group_number, disk_number, header_status, state, total_mb
2 from v$asm_disk
3 where group_number = 5;
GROUP_NUMBER DISK_NUMBER HEADER_STATU STATE TOTAL_MB
------------ ----------- ------------ -------- ----------
5 0 MEMBER NORMAL 1953
SQL>
What happens when I create a tablespace/datafile in this DiskGroup, from the instance on node1 ?
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Real Application Clusters and Automatic Storage Management options
-sh-3.2$ su - oracle
Password:
-sh-3.2$ sqlplus '/ as sysdba'
SQL*Plus: Release 11.2.0.2.0 Production on Sun Aug 17 00:08:31 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> create tablespace NEW_TBS datafile '+DATA3';
create tablespace NEW_TBS datafile '+DATA3'
*
ERROR at line 1:
ORA-01119: error in creating database file '+DATA3'
ORA-15045: ASM file name '+DATA3' is not in reference form
ORA-17502: ksfdcre:5 Failed to create file +DATA3
ORA-15081: failed to submit an I/O operation to a disk
SQL>
Why do I get this error ? I could create a DiskGroup on the ASM Disk but I couldn't add a datafile ? Let me check the permissions.
SQL> !sh
sh-3.2$ cd /data1
sh-3.2$ ls -l asmd*
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 17 00:11 asmdisk.1
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 17 00:11 asmdisk.2
-rw-r--r-- 1 grid oinstall 2048000000 Aug 17 00:11 asmdisk.7
sh-3.2$ su grid
Password:
sh-3.2$ pwd
/data1
sh-3.2$ ls -l asmd*
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 17 00:12 asmdisk.1
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 17 00:12 asmdisk.2
-rw-r--r-- 1 grid oinstall 2048000000 Aug 17 00:12 asmdisk.7
sh-3.2$ chmod 775 asmdisk.7
sh-3.2$ ls -l asmdisk.7
-rwxrwxr-x 1 grid oinstall 2048000000 Aug 17 00:12 asmdisk.7
sh-3.2$
The oinstall group that is used by "oracle" did not have write permissions. Let me go back to Oracle now after having granted the permissions.
sh-3.2$ exit
exit
sh-3.2$ exit
exit
SQL> l
1* create tablespace NEW_TBS datafile '+DATA3'
SQL> /
Tablespace created.
SQL>
The CREATE TABLESPACE has succeeded. I can verify the datafile and the ASM file from node2 now.
-sh-3.2$ id
uid=500(grid) gid=1001(oinstall) groups=1001(oinstall),1011(asmdba)
-sh-3.2$ sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on Sun Aug 17 00:17:19 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: / as sysasm
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select group_number, file_number, bytes/1048576, type, redundancy
2 from v$asm_file
3 where group_number=5;
GROUP_NUMBER FILE_NUMBER BYTES/1048576
------------ ----------- -------------
TYPE REDUND
---------------------------------------------------------------- ------
5 256 100.007813
DATAFILE UNPROT
SQL>
SQL> exit
suDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Real Application Clusters and Automatic Storage Management options
-sh-3.2$
-sh-3.2$ su - oracle
Password:
-sh-3.2$ sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on Sun Aug 17 00:19:34 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> select file_name, bytes/1048576 from dba_data_files
2 where tablespace_name = 'NEW_TBS';
FILE_NAME
--------------------------------------------------------------------------------
BYTES/1048576
-------------
+DATA3/racdb/datafile/new_tbs.256.855792859
100
SQL>
Now, I have the new DataFile visible in ASM and the Database on the New DiskGroup.
.
.
.