`
itspace
  • 浏览: 978572 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

谈谈Oracle ASM的限制

阅读更多
今天在客户现场安装Oracle rac时,创建ASM DISKGROUP时出现问题,以下为解决过程。记录之,以备忘。
客户操作系统版本为AIX 6105,Oracle crs版本为10.2.0.5,rdbms和asm版本为10.2.0.1。
当用dbca工具建立磁盘组时,检索不出备选磁盘。在确定rdisk权限等没问题之后,在启动ASM实例之后,尝试在1号节点手动建立磁盘组,不料建磁盘组时出现以下错误。
引用
$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 31 13:44:37 2011

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


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> create diskgroup data1 external redundancy disk '/dev/rhdisk7' size 2047G;
create diskgroup data1 external redundancy disk '/dev/rhdisk7' size 2047G
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error: 6: No such device or address
Additional information: -1
Additional information: 655360
IBM AIX RISC System/6000 Error:

红色标注可以看到,Oracle识别不了磁盘rhdisk7,但实际上rhdisk7确实存在。由于时间紧张,上google搜索,在一份otn的帖子中,一老外同行也碰到过类似问题,后来在解决问题描述时指出:
引用
Hi All,
I have resolved the issue now.
Since we are using SAN disks with raid 5. The disks size visible to ASm was not correct one.
So what i did is that I added SIZE clause during asm diskgroup creation.
create diskgroup oradata external redundany disk '/dev/rhdisk4' size 1000G;
by issuing this statement now I can create diskgroups.
Remember max size of a SAN disk for ASM is 2TB. We can't go beyond 2TB

询问客户之后,发现本案例中也是raid5 而且rdisk也超过了2T,于是按照网友指出的方法进行创磁盘组尝试。幸好创建成功!
引用
SQL> create diskgroup data external redundancy disk '/dev/rhdisk7' size 1990G;

Diskgroup created.

创建成功之后,碰到了ASM重启之后,识别不了磁盘组错误:
引用
SQL> startup
ASM instance started

Total System Global Area  130023424 bytes
Fixed Size                  2019136 bytes
Variable Size             102838464 bytes
ASM Cache                  25165824 bytes
ORA-15110: no diskgroups mounted

或者
引用
SQL> startup
ASM instance started

Total System Global Area  130023424 bytes
Fixed Size                  2019136 bytes
Variable Size             102838464 bytes
ASM Cache                  25165824 bytes
ORA-15032: not all alterations performed
ORA-15063: ASM discovered an insufficient number of disks for diskgroup
"DATA,DATA1"

解决办法为:
在asm参数文件中显示指明该asm需要mount的磁盘组
引用
asm_diskgroups='DATA','ARCH'
ASM_DISKSTRING ='/dev/rhdisk7','/dev/rhdisk8'

为什么ASM不能创建超过2T的硬盘呢?上metalink一查,Oracle针对这一现象,解释为bug:Bug 6453944 - ORA-15196 with ASM disks larger than 2TB [ID 6453944.8]
引用
ORA-15196 (ASM block corruption) can occur, if LUNs larger than 2TB are
presented to an ASM diskgroup.

As a result of the fix, ORA-15099 will be raised if larger than 2TB size
disk is specified. This is irrespective of the presence of asmlib.

In the future, this limitation will be removed.

Workaround:
  Do not add more than 2 TB size disk to a diskgroup.

此外metalink 736891.1对此bug引起的后果有较为详细的描述,其中最直接的后果就是损坏ASM元数据(metadata):
引用
There are no clear indications of what can go wrong with ASM LUNs larger than 2TB – but one example is wrapping: when Oracle gets to the end of 2TB, it may wrap back to the start of the LUN and overwrite the ASM metadata
,并导致如下错误发生:
引用
ORA-15196 : invalid ASM block header [kfc.c:7997] [hard_kfbh] [4] [4] [34 != 130]

当然这一bug已经在以下版本修复:
引用
    11.2
    10.2.0.4 (Server Patch Set)
    11.1.0.7 (Server Patch Set)

那么除此之外,ASM还有什么限制呢?(metalink:ID 370921.1).我想除了2TB限制,其他限制达到的可能性还是比较低的。

引用
63 disk groups in a storage system
10,000 ASM disks in a storage system
2 terabyte maximum storage for each ASM disk (the Bug 6453944 allowed larger sizes, but that led to problems, see Note 736891.1 "ORA-15196 WITH ASM DISKS LARGER THAN 2TB")
40 exabyte maximum storage for each storage system
1 million files for each disk group
2.4 terabyte maximum storage for each file


分享到:
评论

相关推荐

    redhat/centos6.9 kmod-oracleasm/oracleasm-support/oracleasm rpm包

    kmod-oracleasm-2.0.8-15.el6_9.x86_64 oracleasm-support-2.1.8-1.el6.x86_64 oracleasmlib-2.0.4-1.el6.x86_64 安装顺序: rpm -ivh kmod-oracleasm-2.0.8-15.el6_9.x86_64.rpm rpm -ivh oracleasm-support-2.1.8...

    各种oracleasm rpm包(Linux下配置ASM使用)

    包含如下oracleasm包: kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm oracleasm-2.0.8-4.el6_6.src.rpm oracleasm-2.0.8-6.el6_7.src.rpm oracleasm-2.0.8-8.el7.src.rpm oracleasm-2.0.8-15.el7.centos.src.rpm ...

    安装oracle ASM所需的系统包:oracleasmlib、oracleasm-support

    Oracle ASM(Automatic Storage Management)是Oracle数据库系统中用于管理存储的一种高效、集成的解决方案。它提供了自动化的磁盘管理和故障恢复功能,简化了数据库管理员的工作。在安装Oracle ASM之前,必须先安装...

    oracle-support oracleasmlib kmod-oracleasm包

    Oracle Support for Oracle ASM (Automatic Storage Management) 和 Kmod-OracleASM 包是Oracle数据库系统在Linux环境下进行存储管理的关键组件。这些包确保了在Red Hat Enterprise Linux (RHEL)、CentOS以及Oracle ...

    rh*-kmod-oracleasm

    Oracle ASM (Automatic Storage Management) 是 Oracle 公司推出的一种集成化的存储管理解决方案,它为数据库提供了高性能、高可用性和易于管理的存储环境。在Linux系统中,Oracle ASM 需要与特定的驱动程序协同工作...

    kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm和Oracleasmlib、Oracleasm-support

    Oracle ASM (Automatic Storage Management) 是 Oracle 公司提供的一种高效、自动化的磁盘管理解决方案,尤其在Oracle数据库环境中被广泛使用。它简化了存储管理,提供了高性能、高可用性和高可扩展性。Oracleasmlib...

    oracleasmlib以及 kmod-oracleasm驱动包

    Oracle ASM (Automatic Storage Management) 是 Oracle 公司提供的一种先进的存储管理解决方案,它为数据库和其他应用程序提供了统一的、高性能的磁盘管理功能。Oracle ASMLib(Oracle ASM Library)是与ASM配套使用...

    oracleasm oracle rac rpm包

    oracleasm-2.6.18-128.el5-2.0.5-1.el5.i686.rpm oracleasmlib-2.0.4-1.el5.i386.rpm oracleasm-support-2.1.1-1.el4.i386.rpm X64: oracleasm-support-2.1.8-1.el5.x86_64.rpm oracleasmlib-2.0.4-1.el5.x86_64....

    oracleasmlib和oracleasm-support两个依赖包.zip

    Oracle ASM (Automatic Storage Management) 是Oracle数据库管理系统中的一个组件,用于高效管理数据库的存储。它提供了集成的卷管理和文件系统,简化了存储管理和性能优化。在Oracle ASM环境中,Oracle ASMLib ...

    redhat6.5 oracle ASM驱动

    Oracle ASM(Automatic Storage Management)是Oracle数据库公司提供的一种先进的存储管理解决方案,专为Oracle数据库设计。它整合了文件系统和卷管理器的功能,为数据库提供高效、可靠的存储管理。在Red Hat ...

    oracleasm RPM包

    Oracle ASM(Automatic Storage Management)是Oracle数据库公司提供的一种高级存储管理解决方案,主要用于简化和优化Oracle数据库的存储管理。Oracle ASM可以自动地管理和分配磁盘空间,提供数据冗余和容错功能,...

    oracleasm5,oracleasm6安装包

    oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm oracleasmlib-2.0.4-1.el5.x86_64.rpm oracleasm-support-2.1.7-1.el5.x86_64.rpm kmod-oracleasm-2.0.8-15.el6_9.x86_64.rpm oracleasmlib-2.0.4-1.el6.x86_64....

    oracle-rac使用的asmlib的kmod-oracleasm*.RPM包集合 6.6-7.5全集

    kmod-oracleasm-*,oracleasmlib*,oracleasm-support*。 虽然现在oracle-rac基本上已经都是用UEDV的来固化UUID了但是有些同学还不太会,然后看的教程都是使用asmlib来制作的,但是自己上机以后发现根本装不上啊,...

    kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm

    Oracle ASM(Automatic Storage Management)是Oracle数据库系统中的一个组件,用于提供高效、自动化的存储管理功能。在Linux环境中安装Oracle 11g数据库时,ASM是必不可少的一部分,它可以帮助管理员轻松管理和配置...

    kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rar

    Oracle ASM(Automatic Storage Management)是Oracle数据库公司提供的一种先进的存储管理解决方案,主要用于简化数据库和相关应用的数据存储。kmod-oracleasm是Oracle ASM在Linux操作系统上的内核模块,它允许系统...

    oracle不使用oracleasm的包配置ASM磁盘配置方法

    然而,在某些特殊场景下,可能需要不借助 OracleASM 包来手动配置 ASM 磁盘,例如当环境限制或特定需求不允许使用官方工具时。本文将详细介绍如何在不使用 OracleASM 包的情况下配置 ASM 磁盘。 #### 目标 本文的...

    centos7.4-7.6 oracle asm安装包

    centos 7.4 asm安装包包括三个(kmod-oracleasm-2.0.8-19.0.1.el7.x86_64,oracleasmlib-2.0.12-1.el7.x86_64,oracleasm-support-2.1.8-3.el7.x86_64)

    kmod-oracleasm(centos6.4-6.9,centos7.1-7.6)下载

    Oracle ASM (Automatic Storage Management) 是Oracle数据库系统中的一个重要组件,用于提供高效、自动化的存储管理。kmod-oracleasm 是一个专门为CentOS操作系统编译的内核模块,它允许操作系统与Oracle ASM进行...

    kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm

    标题 "kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm" 指向的是一个针对Oracle Automatic Storage Management (Oracle ASM) 的内核模块,它被设计用于Red Hat Enterprise Linux 6 (RHEL 6) 平台的64位体系结构。Oracle...

Global site tag (gtag.js) - Google Analytics