ASM problem : ORA-15001: diskgroup "DGROUP1" does not exist or is not mounted ORA-15040: diskgroup is incomplete

=============================================================

mos中的详细解释:

 

ODA: After Apply ODA 12.2.1.2.0 Patch, Unable to Create TableSpace Due to [ORA-15001: diskgroup “DATA” does not exist or is not mounted | ORA-15040: diskgroup is incomplete] (Doc ID 2375553.1)

 

 
《ASM problem : ORA-15001: diskgroup 《ASM problem : ORA-15001: diskgroup 《ASM problem : ORA-15001: diskgroup ODA: After Apply ODA 12.2.1.2.0 Patch, Unable to Create TableSpace Due to [ORA-15001: diskgroup “DATA” does not exist or is not mounted | ORA-15040: diskgroup is incomplete] (Doc ID 2375553.1)《ASM problem : ORA-15001: diskgroup To Bottom《ASM problem : ORA-15001: diskgroup

《ASM problem : ORA-15001: diskgroup

In this Document

 Symptoms
 Cause
 Solution
 Community Discussions ODA
 References

 

APPLIES TO:

Oracle Database Appliance Software – Version 12.1.2.10 to 12.1.2.12 [Release 12.1]
Oracle Database – Enterprise Edition – Version 12.2.0.1 to 12.2.0.1 [Release 12.2]
Information in this document applies to any platform.

SYMPTOMS

After ODA upgrade to 12.2.1.2.0 release, tableSpaces cannot be created from 12.1 database in the ASM diskgroups due to the next errors:

*****************
STATUS : OPEN
DB_UNIQUE_NAME : CLOUDDB
OPEN_MODE : READ WRITE
LOG_MODE : ARCHIVELOG
DATABASE_ROLE : PRIMARY
FLASHBACK_ON : YES
FORCE_LOGGING : YES
VERSION : 12.1.0.2.0
CDB Enabled : NO
*************************************
oracle@asmclouddb:/home/oracle/ [CLOUDDB] sqh

SQL*Plus: Release 12.1.0.2.0 Production on Mon Mar 12 17:33:23 2018

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Advanced Analytics
and Real Application Testing options

SQL> create tablespace testrecodg datafile ‘+RECO’ size 1000M;
create tablespace testrecodg datafile ‘+RECO’ size 1000M
*
ERROR at line 1:
ORA-01119: error in creating database file ‘+RECO’
ORA-17502: ksfdcre:4 Failed to create file +RECO
ORA-15001: diskgroup “RECO” does not exist or is not mounted
ORA-15040: diskgroup is incomplete

SQL> create tablespace testredodg datafile ‘+REDO’ size 1000M;
create tablespace testredodg datafile ‘+REDO’ size 1000M
*
ERROR at line 1:
ORA-01119: error in creating database file ‘+REDO’
ORA-17502: ksfdcre:4 Failed to create file +REDO
ORA-15001: diskgroup “REDO” does not exist or is not mounted
ORA-15040: diskgroup is incomplete

SQL> create tablespace testredodg datafile ‘+DATA’ size 1000M;
create tablespace testredodg datafile ‘+DATA’ size 1000M
*
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

SQL> create tablespace testredodg datafile ‘+FLASH’ size 1000M;
create tablespace testredodg datafile ‘+FLASH’ size 1000M
*
ERROR at line 1:
ORA-01119: error in creating database file ‘+FLASH’
ORA-17502: ksfdcre:4 Failed to create file +FLASH
ORA-15001: diskgroup “FLASH” does not exist or is not mounted
ORA-15040: diskgroup is incomplete

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Advanced Analytics
and Real Application Testing options
oracle@asmclouddb:/home/oracle/ [CLOUDDB]

 

 

CAUSE

 The OS group in the oracle RDBMS Oracle Home binary is not correct, it should be asmadmin instead of oinstall:

[root@ ~]# ls -l /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle
-rwsr-s–x 1 oracle  oinstall 328120913 Feb 24 02:47 /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle

 

SOLUTION

a) Please execute the next steps as grid OS user:

$> setasmgidwrap o=/u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle

$> chgrp asmadmin /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle

$> ls -l /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle

 

注释 :正确的权限如下:  6751 

[oracle@racdb2 bin]$ ls -rlt oracle
-rwsr-s–x 1 oracle asmadmin 239937921 Jun 6 2018 oracle

 

 

b) Then confirm the TableSpaces can be created:

SQL*Plus: Release 12.1.0.2.0 Production on Fri Mar 16 10:04:45 2018

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Advanced Analytics
and Real Application Testing options

SQL> create tablespace test1 datafile ‘+RECO’ size 1000M;

Tablespace created.

SQL> create tablespace test2 datafile ‘+DATA’ size 100M;

Tablespace created.

SQL> create tablespace test3 datafile ‘+REDO’ size 100M;

Tablespace created.

SQL> create tablespace test4 datafile ‘+FLASH’ size 100M;

Tablespace created.

=========================================================================================================================

 问题举例 1:原地址   https://community.oracle.com/thread/3993000

ASM problem : ORA-15001: diskgroup “DGROUP1” does not exist or is not mounted

 

问题:

I am new to ASM and I am trying to move my non-ASM database to an ASM database.

 

Here is the situation :

– 1 ASM database version 12.1.0.2.0

– 1 non-ASM database version 11.2.0.1.0

– ASM database is up and running and the diskgroup is mounted

– non-ASM database is also up and running

– Cluster Synchronization Services seems ok, I issued the following command :

$ crsctl check css

$ CRS-4529: Cluster Synchronization Services is online

 

So far, to move my database to an ASM-database I performed the following steps :

 

1. Changed the location of my non-ASM control_file parameter to my created ASM disks

SQL> alter system set control_files=’+DGROUP1′ scope=spfile;

 

2. Set the parameter DB_CREATE_FILE_DEST to my ASM disk

SQL> alter system set db_create_file_dest=’+DGROUP1′ scope=spfile;

 

3. Shutdown and startup nomount my non-ASM database

SQL> shutdown immediate

SQL> startup nomount

 

4. Restored control file from the existing one

rman target /

restore controlfile from ‘/oracle/dbfile/ORCL/ORCL/control01.ctl’;

 

This is where I am stuck as I have the following error :

 

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 11/21/2016 16:02:52

ORA-19504: failed to create file “+DGROUP1”

ORA-17502: ksfdcre:4 Failed to create file +DGROUP1

ORA-15001: diskgroup “DGROUP1” does not exist or is not mounted

ORA-15055: unable to connect to ASM instance

ORA-12547: TNS:lost contact

ORA-19600: input file is control file  (/oracle/dbfile/ORCL/ORCL/control01.ctl)

ORA-19601: output file is control file  (+DGROUP1)

 

Does anyone as an idea on how to fix this issue ?

 

Thanks very much,

 =========================================================================================================

答案:

:

Yep, where is the error:

 

TNS-00517: Lost contact

    nt secondary err code: 32

    nt OS err code: 0

ERROR: Failed to connect with connect string: (DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/grid/app/oracle/product/11.2.0/grid2/bin/oracle)(ARGV0=oracle+ASM_asmb_orcl)(ENVS=’ORACLE_HOME=/grid/app/oracle/product/11.2.0/grid2,ORACLE_SID=+ASM’)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))’))(enable=setuser))

 

The error has to do with permissions in your directory. Follow the steps in this article to fix the issue.

https://daviewning.wordpress.com/2015/04/10/ora-15055-unable-to-connect-to-asm-instance-and-ora-12547-tnslost-contact/

 

You have to change the permission on

$GRID_HOME/bin/

chmod 6751 oracle

 

And $ORACLE_HOME/bin/

chmod 6751 oracle

 

Then try again.

======================================================================================================

 

问题举例二(转载飞总)参考:

rac和dg的目录不一样,都采用asm管理磁盘

控制文件备份/home/oracle/rman/control2ipl7sft_82_1 文件存在

[root@racdg1 ~]# su – oracle
[oracle@racdg1 ~]$ rman target sys/123456@racdg1 auxiliary /
Recovery Manager: Release 11.2.0.4.0 – Production on Thu Oct 16 21:44:14 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: GNNT (DBID=1162592830)
connected to auxiliary database: GNNT (not mounted)
RMAN> duplicate target database for standby;
Starting Duplicate Db at 16-OCT-14
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=760 device type=DISK
contents of Memory Script:
{
   restore clone standby controlfile;
}
executing Memory Script
Starting restore at 16-OCT-14
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /home/oracle/rman/control2ipl7sft_82_1
channel ORA_AUX_DISK_1: ORA-19870: error while restoring backup piece /home/oracle/rman/control2ipl7sft_82_1
ORA-19504: failed to create file “+DATADG01/dg01/controlfile/control01.ctl”
ORA-17502: ksfdcre:3 Failed to create file +DATADG01/dg01/controlfile/control01.ctl
ORA-15001: diskgroup “DATADG01” does not exist or is not mounted
ORA-15040: diskgroup is incomplete
ORA-15040: diskgroup is incomplete

[grid@racdg1 ~]$ asmcmd ls -l
State    Type    Rebal  Name
MOUNTED  NORMAL  N      DATADG01/
MOUNTED  NORMAL  N      FRADG01/
[grid@racdg1 ~]$ id
uid=1100(grid) gid=1000(oinstall) 组=1000(oinstall),1020(asmadmin),1021(asmdba),1022(asmoper),1300(dba)
[root@racdg1 ~]# su – oracle
[oracle@racdg1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Oct 16 22:37:04 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL>  select name,type,state,total_mb,free_mb from v$asm_diskgroup;

NAME                           TYPE   STATE         TOTAL_MB    FREE_MB
—————————— —— ———– ———- ———-
DATADG01                       NORMAL MOUNTED          40960      40840
FRADG01                        NORMAL MOUNTED          40960      40854
[oracle@racdg1 ~]$ id
uid=1101(oracle) gid=1000(oinstall) 组=1000(oinstall),1021(asmdba),1300(dba),1301(oper)
[oracle@racdg1 rman]$ rman target /

Recovery Manager: Release 11.2.0.4.0 – Production on Thu Oct 16 23:26:13 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: GNNT (not mounted)

RMAN> restore controlfile from ‘/home/oracle/rman/control2ipl7sft_82_1’;                      

Starting restore at 16-OCT-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1893 device type=DISK

channel ORA_DISK_1: restoring control file
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 10/16/2014 23:26:35
ORA-19870: error while restoring backup piece /home/oracle/rman/control2ipl7sft_82_1
ORA-19504: failed to create file “+DATADG01/dg01/controlfile/control01.ctl”
ORA-17502: ksfdcre:3 Failed to create file +DATADG01/dg01/controlfile/control01.ctl
ORA-15001: diskgroup “DATADG01” does not exist or is not mounted
ORA-15040: diskgroup is incomplete
ORA-15040: diskgroup is incomplet

ASMCMD> ls
ONLINELOG/
controlfile/
datafile/
tempfile/
ASMCMD> pwd
+DATADG01/dg01
ASMCMD> exit

[grid@racdg1 ~]$ ls -l /dev/asm*
brw-rw—- 1 grid asmadmin 8, 16 10月 16 23:30 /dev/asmdata01
brw-rw—- 1 grid asmadmin 8, 32 10月 16 23:30 /dev/asmdata02
brw-rw—- 1 grid asmadmin 8, 48 10月 16 23:30 /dev/asmfra01
brw-rw—- 1 grid asmadmin 8, 64 10月 16 23:30 /dev/asmfra02
[grid@racdg1 ~]$ 

通过udev 设置:

KERNEL==”sd*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c29196640f0bb64cbb6a20333009″, NAME=”asmdata01″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″   
KERNEL==”sd*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c29912bdf56b54e0da578f17b8ff”, NAME=”asmdata02″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″   
KERNEL==”sd*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c29603fa50e5f0a5a0537fac7962″, NAME=”asmfra01″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″   
KERNEL==”sd*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c2939990b39898c449f35ac1ef9c”, NAME=”asmfra02″, OWNER=”grid”,  GROUP=”asmadmin”, MODE=”0660″

故障原因:
由于oracle用户无法访问asm disk 权限,导致restore失败,遇到类似情况,可以尝试dbca创建数据库测试,应该不会发现asm磁盘组

解决方法:二选一
1. 磁盘组所组修改为asmdba
2. oracle用户加上所属组asmadmin

 

 

 

 

 

 

 

 

点赞