文档章节

Oracle 12.2报错ORA-15032、ORA-15410或ORA-15411解决

o
 osc_gu9d45li
发布于 2019/04/08 00:27
字数 947
阅读 13
收藏 0
asm

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

**现象:**在Oracle 12.2.0.1 RAC环境,在其ASM实例中,如果添加不同大小或者不同数量的LUN到failgroup中,会报错:

ORA-15032: not all alterations performed
ORA-15410: Disks in disk group OCRVT do not have equal size.
或者
ORA-15032: not all alterations performed
ORA-15411: Failure groups in disk group OCRVT have different number of disks.

解决方案: 动态修改这两个隐藏参数可以解决:

alter system set "_asm_disable_failgroup_size_checking"=true;
alter system set "_asm_disable_dangerous_failgroup_checking"=true;

下面举一个实际的例子: 比如新加的LUN:mpathi,mpathj,mpathk都是200M大小,以前的ASM磁盘组OCRVT由3个LUN:mpatha,mpathb,mpathc都是1G大小组成;现在想把新的LUN加到OCRVT磁盘组中:

SQL>  select name, failgroup, path, mode_status, voting_file from v$asm_disk;

NAME                                FAILGROUP                      PATH                                          MODE_ST V
----------------------------------- ------------------------------ --------------------------------------------- ------- -
                                                                   /dev/mapper/mpathj                            ONLINE  N
                                                                   /dev/mapper/mpathi                            ONLINE  N
                                                                   /public/nfsdisk                               ONLINE  N
                                                                   /dev/mapper/mpathk                            ONLINE  N
DATA_0001                           DATA_0001                      /dev/mapper/mpathf                            ONLINE  N
FRA_0000                            FRA_0000                       /dev/mapper/mpathh                            ONLINE  N
DATA_0002                           DATA_0002                      /dev/mapper/mpathg                            ONLINE  N
DATA_0000                           DATA_0000                      /dev/mapper/mpathe                            ONLINE  N
MGMT_0000                           MGMT_0000                      /dev/mapper/mpathd                            ONLINE  N
OCRVT_0000                          OCRVT_0000                     /dev/mapper/mpathc                            ONLINE  Y
OCRVT_0002                          OCRVT_0002                     /dev/mapper/mpathb                            ONLINE  Y
OCRVT_0001                          OCRVT_0001                     /dev/mapper/mpatha                            ONLINE  Y

12 rows selected.

直接尝试添加新的LUN到ASM磁盘组OCRVT中,会报错。依次尝试设置相关的隐藏参数,可以成功添加:

SQL> alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi';   
alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15410: Disks in disk group OCRVT do not have equal size.

SQL> alter system set "_asm_disable_dangerous_failgroup_checking"=true;

System altered.

SQL> alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi';
alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15411: Failure groups in disk group OCRVT have different number of disks.

SQL> alter system set "_asm_disable_failgroup_size_checking"=true;

System altered.

SQL>  alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi';

Diskgroup altered.

总结: asm中与failgroup相关的隐藏参数: _asm_disable_dangerous_failgroup_checking FALSE _asm_disable_failgroup_count_checking FALSE _asm_disable_failgroup_size_checking FALSE

SQL> r
  1  SELECT   i.ksppinm name,
  2     i.ksppdesc description,
  3     CV.ksppstvl VALUE
  4  FROM   sys.x$ksppi i, sys.x$ksppcv CV
  5     WHERE   i.inst_id = USERENV ('Instance')
  6     AND CV.inst_id = USERENV ('Instance')
  7     AND i.indx = CV.indx
  8     AND i.ksppinm LIKE '%&param%'
  9* ORDER BY   REPLACE (i.ksppinm, '_', '')
Enter value for param: failgroup
old   8:    AND i.ksppinm LIKE '%&param%'
new   8:    AND i.ksppinm LIKE '%failgroup%'

NAME                                DESCRIPTION                                                        VALUE
----------------------------------- ------------------------------------------------------------------ ------------------------------
_asm_disable_dangerous_failgroup_ch Disable checking for dubious failgroup configurations              FALSE
ecking

_asm_disable_failgroup_count_checki Disable checking for failure group count                           FALSE
ng

_asm_disable_failgroup_size_checkin Disable checking for failure group size                            FALSE
g

--这类参数实测可以动态修改:
alter system set "_asm_disable_failgroup_size_checking"=true;
alter system set "_asm_disable_dangerous_failgroup_checking"=true;
--alter system set "_asm_disable_failgroup_count_checking"=true; 这个参数我没有测出来实际作用,实测只需要上面两个参数设置为true就同样可以允许failgroup的数量不一致。

SQL> show parameter _asm

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
_asm_disable_dangerous_failgroup_che boolean     TRUE
cking
_asm_disable_failgroup_size_checking boolean     TRUE


--test
SQL> select name, failgroup, path, mode_status, voting_file from v$asm_disk;

NAME                                FAILGROUP                      PATH                                          MODE_ST V
----------------------------------- ------------------------------ --------------------------------------------- ------- -
                                                                   /public/nfsdisk                               ONLINE  N
OCRVT_0005                          OCRVT_0002                     /dev/mapper/mpathk                            ONLINE  N
OCRVT_0004                          OCRVT_0001                     /dev/mapper/mpathj                            ONLINE  N
DATA_0001                           DATA_0001                      /dev/mapper/mpathf                            ONLINE  N
OCRVT_0003                          OCRVT_0000                     /dev/mapper/mpathi                            ONLINE  N
FRA_0000                            FRA_0000                       /dev/mapper/mpathh                            ONLINE  N
DATA_0002                           DATA_0002                      /dev/mapper/mpathg                            ONLINE  N
DATA_0000                           DATA_0000                      /dev/mapper/mpathe                            ONLINE  N
MGMT_0000                           MGMT_0000                      /dev/mapper/mpathd                            ONLINE  N
OCRVT_0000                          OCRVT_0000                     /dev/mapper/mpathc                            ONLINE  Y
OCRVT_0002                          OCRVT_0002                     /dev/mapper/mpathb                            ONLINE  Y
OCRVT_0001                          OCRVT_0001                     /dev/mapper/mpatha                            ONLINE  Y

12 rows selected.

--以下操作均可以成功:
alter diskgroup ocrvt drop disk OCRVT_0003;
alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi';   
	   
--如果不改参数,那么只能同时删除/增加每个failgroup中的成员:
alter diskgroup ocrvt drop disk OCRVT_0003, OCRVT_0004, OCRVT_0005;
alter diskgroup ocrvt add FAILGROUP OCRVT_0000 disk '/dev/mapper/mpathi'  
FAILGROUP OCRVT_0001 disk '/dev/mapper/mpathj'  
FAILGROUP OCRVT_0002 disk '/dev/mapper/mpathk';

--最后同样可以动态还原配置:
alter system set "_asm_disable_failgroup_size_checking"=false;
alter system set "_asm_disable_dangerous_failgroup_checking"=false;

**注意:**实验发现如果使用asmca添加磁盘,无论是否设置这个参数,都会报错[DBT-30003] The size of the disks selected is not the same as to allow for an equal number of 4MB AU size blocks. 而使用命令行操作,只要设置这2个隐藏参数为true即可成功。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
ASM Disk Group Will not Mount In Presence Of Duplicate Disks / Devices: ORA-15032, ORA-15017, ORA...

APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.1 and later Information in this document applies to any platform. Checked for relevance on 11-May-2014 SYMPTOMS......

osc_tm2zceka
2018/06/25
3
0
Oracle12c(12.1)中性能优化&功能增强之通过参数THREADED_EXECTION使用多线程模型

后台 UNIX/Linux系统上,oracle用多进程模型。例如:linux上一个常规安装的数据库会有如下进程列: $ ps -ef | grep [o]ra_ oracle 15356 1 0 10:53 ? 00:00:00 orapmondb12c oracle 15358 1...

osc_gazfrwgi
2018/05/02
4
0
【原创】oracle 12c ORA-28040: No matching authentication protocol

故障现象: 当使用ORACLE 11G客户端访问ORACLE 12C 12.2 时,会出现报错“ORA-28040: No matching authentication protocol” 解决方法: # su - oracle $ vi $ORACLE_HOME/network/admin/sq......

osc_88wjsceo
2018/08/16
2
0
expdp 导出UDE-31623 ORA-31623

问题描述: ORACLE EXADATA 12.2 4节点 一个简单的expdp导出,在之前是正常的,但是隔了一天后出现问题了,具体报错信息如下: expdp '"/as sysdba"' DIRECTORY=dir1 DUMPFILE=vat%U.dmp log......

突突突酱
2019/11/29
86
0
Top Issues : Encountered while mounting ASM Diskgroup (文档 ID 2247485.1)

APPLIES TO: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 12.1.0.2 [Release 10.2 to 12.1] Information in this document applies to any platform. PURPOSE The purpose ......

osc_tm2zceka
2018/06/25
2
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊dubbo-go的AccessLogFilter

序 本文主要研究一下dubbo-go的AccessLogFilter AccessLogFilter dubbo-go-v1.4.2/filter/filter_impl/access_log_filter.go type AccessLogFilter struct {logChan chan AccessLogData}......

go4it
昨天
24
0
对服务与工厂感到困惑 - Confused about Service vs Factory

问题: As I understand it, when inside a factory I return an object that gets injected into a controller. 据我了解,当在工厂内部时,我返回一个被注入控制器的对象。 When inside a ...

技术盛宴
昨天
25
0
OpenCV开发笔记(六十七):红胖子8分钟带你深入了解特征点暴力匹配(图文并茂+浅显易懂+程序源码)

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:h...

红模仿_红胖子
昨天
24
0
将向量附加到向量[重复] - Appending a vector to a vector [duplicate]

问题: This question already has an answer here: 这个问题已经在这里有了答案: Concatenating two std::vectors 22 answers 连接两个std :: vectors 22个答案 Assuming I have 2 standa......

javail
昨天
19
0
获得所有文件夹的大小

有两个工具 https://www.getfoldersize.com/ http://www.uderzo.it/main_products/space_sniffer/index.html...

ethanleellj
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部