asm 建立表空間遇到 ora 15025 ora 01119

lovestanford發表於2014-03-28
在本地測試環境中建立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 grid
uid=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---- 1 grid asmadmin 8, 161 Nov 19 05:08 /dev/oracleasm/disks/DATA01
brw-rw---- 1 grid asmadmin 8, 177 Nov 19 05:08 /dev/oracleasm/disks/FLASH01

Proper SETUID (SETGID), owner for each of the Oracle Homes' oracle executable:

-rwsr-s--x 1 grid oinstall 184437523 Sep 13 2010 /appl/oraasm/OracleHomes/asm_1/bin/oracle
-rwsr-s--x 1 oracle oinstall 210973186 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 oracle oinstall 210973186 May 31 21:25 /appl/oracle/OracleHomes/11.2.0/bin/oracle


It needs to be:

-rwsr-s--x 1 oracle asmadmin 210973186 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 now asmadmin (not oinstall).

If done, restart the database.

按照上述方法問題可以解決,將在測試環境中進行測試。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21754115/viewspace-1131913/,如需轉載,請註明出處,否則將追究法律責任。

相關文章