在本地测试环境中创建ASM表空间
create tablespace ttt datafile '+DATA' size 1m
*
ERROR at line 1:
ORA-01119: error in creating database file '+DATA'
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-15040: diskgroup is incomplete
ORA-15040: diskgroup is incomplete
ORA-15040: diskgroup is incomplete
ORA-15040: diskgroup is incomplete
使用 oerr ora 查看上述提示代码,然后检查DG状态,一些正常。
继续查看 alert 日志内容如下
create tablespace rmantbs datafile '+DATA' size 10m
Fri Mar 28 09:14:28 2014
ORA-15025: could not open disk "/dev/asmdisk1_udev1"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
ORA-15025: could not open disk "/dev/asmdisk2_udev2"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
ORA-15025: could not open disk "/dev/asmdisk3_udev3"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
ORA-15025: could not open disk "/dev/asmdisk4_udev4"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
SUCCESS: diskgroup DATA was dismounted
ERROR: diskgroup DATA was not mounted
ORA-1119 signalled during: create tablespace rmantbs datafile '+DATA/' size 10m...
然后比较oracle grid 两个用户的权限和所属组,发现与设计符合,
找不到解决思路,google 下 ora 15025,得到提示
去 查看解决方法。
Oracle Database - Enterprise Edition - Version 11.2.0.1 and later
Information in this document applies to any platform.
Symptoms
Database instance will not mount:
alert_ORCL.log:
~~~~~~~~~~~~~~~~~~
...
Thu Nov 17 14:32:28 2011
Starting ORACLE instance (normal)
...
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options.
...
Thu Nov 17 14:32:33 2011
ALTER DATABASE MOUNT
NOTE: Loaded library: System
ORA-15025: could not open disk '/dev/oracleasm/disks/DATA01'
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
SUCCESS: diskgroup DATA was mounted
NOTE: dependency between database ORCL and diskgroup resource ora.DATA.dg is established
ORA-15025: could not open disk '/dev/oracleasm/disks/FLASH01'
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
SUCCESS: diskgroup FLASH was mounted
ORA-00204: error in reading (block 1, # blocks 1) of control file
ORA-00202: control file: '+FLASH/orcl/controlfile/current.256.711293457'
ORA-15081: failed to submit an I/O operation to a disk
ORA-00204: error in reading (block 1, # blocks 1) of control file
ORA-00202: control file: '+DATA/orcl/controlfile/current.256.711293457'
ORA-15081: failed to submit an I/O operation to a disk
NOTE: dependency between database ORCL and diskgroup resource ora.FLASH.dg is established
Thu Nov 17 14:32:36 2011
Checker run found 2 new persistent data failures
ORA-205 signalled during: ALTER DATABASE MOUNT...
Sat Nov 19 02:51:01 2011
SUCCESS: diskgroup DATA was dismounted
SUCCESS: diskgroup FLASH was dismounted
The ASM instance has all necessary ASM diskgroups mounted.
Changes
Job role separation between the ASM and the Database software owners, check fine (see exception further below):
The ASM software owner has proper Primary Group, ASM OSASM, ASM OSDBA, ASM OSPER and Database OSDBA groups assigned to it:
# id griduid=27637(grid) gid=7101(oinstall) groups=106(dba),787(asmadmin),788(asmdba),789(asmoper),7101(oinstall)
The Database software owner has proper Primary Group, Database OSDBA, Database OPER, and ASM OSDBA groups assigned to it:
# id oracle
uid=19114(oracle) gid=7101(oinstall) groups=106(dba),786(oper),788(asmdba),7101(oinstall)
The ASM disks have the proper user:group and file permissions:
# ls -ltra /dev/oracleasm/disks/*
brw-rw----1grid asmadmin8, 161 Nov 19 05:08 /dev/oracleasm/disks/DATA01
brw-rw----1gridasmadmin 8, 177 Nov 19 05:08 /dev/oracleasm/disks/FLASH01
Proper SETUID (SETGID), owner for each of the Oracle Homes' oracle executable:
-rwsr-s--x1grid oinstall184437523 Sep 13 2010 /appl/oraasm/OracleHomes/asm_1/bin/oracle
-rwsr-s--x1oracle oinstall210973186 May 31 21:25 /appl/oracle/OracleHomes/11.2.0/bin/oracle
Cause
However the problem is that the Database oracle executable is not
assigned to the ASM OSASM group (instead is assigned to the 'oinstall'
group):
-rwsr-s--x 1 oracleoinstall210973186 May 31 21:25 /appl/oracle/OracleHomes/11.2.0/bin/oracle
It needs to be:
-rwsr-s--x 1 oracleasmadmin210973186 May 31 21:25 /appl/oracle/OracleHomes/11.2.0/bin/oracle
Solution
To correct the proper group for the Database oracle executable, do:
As the :
$ cd /bin ---切换到 grid用户,cd $ORACLE_HOME/bin
$ ./setasmgidwrap o=/bin/oracle
Now check that the primary group for the Database oracle executable is nowasmadmin(not oinstall).
If done, restart the database.
按照上述方法问题可以解决,将在测试环境中进行测试。