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)
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) | To Bottom |
In this Document
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. SYMPTOMSAfter 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: ***************** 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: SQL> create tablespace testrecodg datafile ‘+RECO‘ size 1000M; SQL> create tablespace testredodg datafile ‘+REDO‘ size 1000M; SQL> create tablespace testredodg datafile ‘+DATA‘ size 1000M; SQL> create tablespace testredodg datafile ‘+FLASH‘ size 1000M; SQL> exit
CAUSEThe OS group in the oracle RDBMS Oracle Home binary is not correct, it should be asmadmin instead of oinstall: [[email protected] ~]# 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
SOLUTIONa) 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 [[email protected] bin]$ ls -rlt 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: 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 文件存在
[[email protected] ~]# su - oracle
[[email protected] ~]$ rman target sys/[email protected] 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
[[email protected] ~]$ asmcmd ls -l
State Type Rebal Name
MOUNTED NORMAL N DATADG01/
MOUNTED NORMAL N FRADG01/
[[email protected] ~]$ id
uid=1100(grid) gid=1000(oinstall) 組=1000(oinstall),1020(asmadmin),1021(asmdba),1022(asmoper),1300(dba)
[[email protected] ~]# su - oracle
[[email protected] ~]$ 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
[[email protected] ~]$ id
uid=1101(oracle) gid=1000(oinstall) 組=1000(oinstall),1021(asmdba),1300(dba),1301(oper)
[[email protected] 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
[[email protected] ~]$ 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
[[email protected] ~]$
通過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
ASM problem : ORA-15001: diskgroup "DGROUP1" does not exist or is not mounted ORA-15040: diskgroup is incomplete