装RAC时,用DBCA命令创建了ASM 实例,之后创建diskgroup的时候,有一个节点的diskgroup 挂不上,看了下日志,错误如下:
ORA-15186: ASMLIB error function = [asm_open], error = [1], mesg = [Operation not permitted]
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "FRA"
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"
不过错误是提示是很恶心的,误导了我很长时间:
Ensure that the listener is runing on this node and the ASM instance is registered to the listener.
一度以为是监听的问题。 不过后来发现还是权限问题。
总的来说,导致不能mount 的原因,有两方面原因:
(1)Oracle ASM database instance parameterasm_diskstringis unset
(2)Oracle ASM database instance parameterasm_diskstringwas recently modified to include devices or directories that it has no privilege to access
1. 对应Device 的权限问题
Device 需要oracle 用户的权限。
[oracle@rac1 mapper]$ ll
brw-rw---- 1 oracle oinstall 253, 3 Mar 21 15:01 data
brw-rw---- 1 oracle oinstall 253, 12 Mar 24 13:40 datap1
brw-rw---- 1 oracle oinstall 253, 2 Mar 21 15:01 fra
brw-rw---- 1 oracle oinstall 253, 8 Mar 24 13:40 frap1
不过一般安装的时候,默认是root:disk. 使用命令修改一下:
$chown oracle:oinstall device_name
2. asm_diskstring 参数的问题
这个参数也会导致权限的问题。这个参数是支持通配符的。我开始一直设置成 ORCL:*, 如:
SQL> show parameter asm_diskstring
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring string ORCL:*
这些设置之后,在创建磁盘组的时候是能够识别的,但是在第二个节点挂载的时候,就报开始提到的错误了。 把整个ASM 删除了2次,重建了2次,问题依旧。 无耐,没有设置通配符了。
(1)先讲所有已经挂载的磁盘dismout
SQL>alter diskgroup all dismount
(2)重新指定asm_diskstring:
SQL> alter system set asm_diskstring='/dev/mapper/datap1','/dev/mapper/frap1';
(3)dbca 继续挂载,当然也可以手工的创建磁盘组。
参考:
Oracle ASM 详解
http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5314541.aspx
这次一次通过了。
(4) shutdown ASM实例,重启启动。
我们之前的的修改是只对内存生效,所以如果ASM重启,就没有了。所以需要修改pfile,在重启。
[oracle@rac1 dbs]$ pwd
/u01/app/oracle/product/10.2.0/db_1/dbs
[oracle@rac1 dbs]$ vi init+ASM2.ora
asm_diskstring='/dev/mapper/datap1','/dev/mapper/frap1'
注意:
$ORACLE_HOME下的init+ASM2.ora 只是一个link,
[oracle@rac1 dbs]$ ls -lrt init+ASM2.ora
lrwxrwxrwx 1 oracle oinstall 41 Mar 24 12:49 init+ASM2.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
SQL> startup
ASM instance started
Total System Global Area 92274688 bytes
Fixed Size 1217884 bytes
Variable Size 65890980 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL> col name format a10
SQL> select GROUP_NUMBER,NAME,STATE,TYPE,TOTAL_MB,FREE_MB,
2 UNBALANCED from v$asm_diskgroup;
GROUP_NUMBER NAME STATE TYPE TOTAL_MB FREE_MB U
------------ ---------- ----------- ------ ---------- ---------- -
1 DATA MOUNTED EXTERN 11993 11900 N
2 FRA MOUNTED EXTERN 7993 7900 N
3. ASM_DISKSTRING 参数说明
TheASM_DISKSTRINGinitialization parameter specifies a comma-delimited list of strings that limits the set of disks that an Oracle ASM instance discovers. The discovery strings can include wildcard characters. Only disks that match one of the strings are discovered. The same disk cannot be discovered twice.
The discovery string format depends on the Oracle ASM library and the operating system that are in use. Pattern matching is supported. Refer to your operating system-specific installation guide for information about the default pattern matching.
For example, on a Linux server that does not use ASMLIB, to limit the discovery process to only include disks that are in the/dev/rdsk/mydisksdirectory, set theASM_DISKSTRINGinitialization parameter to:
/dev/rdsk/mydisks/*
The asterisk is required. To limit the discovery process to only include disks that have a name that ends indisk3ordisk4, setASM_DISKSTRINGto:
/dev/rdsk/*disk3,/dev/rdsk/*disk4
The?character, when used as the first character of a path, expands to the Oracle home directory. Depending on the operating system, when you use the?character elsewhere in the path, it is a wildcard for one character.
The default value of theASM_DISKSTRINGparameter is aNULLstring. ANULLvalue causes Oracle ASM to search a default path for all disks in the system to which the Oracle ASM instance has read and write access. The default search path is platform-specific. Refer to your operating system specific installation guide for more information about the default search path.
Oracle ASM cannot use a disk unless all of the Oracle ASM instances in the cluster can discover the disk through one of their own discovery strings. The names do not have to be the same on every node, but all disks must be discoverable by all of the nodes in the cluster. This may require dynamically changing the initialization parameter to enable adding new storage.
---------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
聊天 群:40132017
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
分享到:
相关推荐
ASM 实例中遇到 ORA-4031 官方解决方案
当出现“无法启动ASM实例1”的问题时,这通常意味着ASM实例未能成功启动,可能由于多种原因导致,包括但不限于系统参数错误、集群服务异常、资源管理问题等。下面我们将深入探讨这些可能的问题及其解决方法。 首先...
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-1.el6.x86_64.rpm rpm -ivh ...
asm-util-1.3.4.jar, asm-util-1.3.5.jar, asm-util-1.4.1.jar, asm-util-1.4.3.jar, asm-util-1.5.1.jar, asm-util-1.5.2.jar, asm-util-1.5.3.jar, asm-util-2.0.jar, asm-util-2.1.jar, asm-util-2.2.1-sources....
赠送jar包:asm-all-5.0.2.jar; 赠送原API文档:asm-all-5.0.2-javadoc.jar; 赠送源代码:asm-all-5.0.2-sources.jar; 赠送Maven依赖信息文件:asm-all-5.0.2.pom; 包含翻译后的API文档:asm-all-5.0.2-javadoc-...
### 故障处理:Oracle ORA-01565 "Unable To Open Spfile" 错误 #### 故障背景与概述 在Oracle数据库管理过程中,遇到ORA-01565错误提示是一个较为常见的问题,特别是对于采用RAC(Real Application Clusters)...
asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-...
1. ASM-2.2.3.jar:这是ASM的核心库,提供了对Java字节码的低级别访问和修改能力。它允许开发者生成和分析类和方法的字节码,从而实现诸如动态代理、代码混淆、性能优化等功能。 2. asm-commons-2.2.3.jar:这个...
asm-util-6.0.jar 编写工具测试类中用到,配合asm-6.0.jar使用
REDHAT安装ASM时必须安装的包。一共有三个,分别是 oracleasm-support-2.1.7-1.el5.i386.rpm oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-2.6.18-194.32.1.el5-2.0.5-1.el5.x86_64.rpm
oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.x86_64.rpm
oracleasm-support-2.1.4-1.el5.x86_64.rpm 适用于内核为2.6.18-164.el5环境使用
oracleasm-support-2.1.8-1.el6.x86_64.rpm
oracleasm-support-2.1.8-1.SLE11.x86_64.rpm oracleasm-support-2.1.8-1.SLE11.x86_64.rpm
资源包含asm-all-3.0.jar等jar包,可以解决程序中因asm版本引起的兼容性错误。其他相关的jar如下: asm-all-3.0.jar asm-2.2.3.jar asm.jar asm-attrs.jar asm-commons-2.2.3.jar asm-util-2.2.3.jar
kmod-oracleasm-2.0.8-8.el7.x86_64.rpm oracleasm-centos7安装包
asm-commons-3.3.1.jar
标题“rehl6.8-kmod-oracleasm-2.0.8-13.el6_8.x86_64”所指的是一款专为Red Hat Enterprise Linux 6.8 (RHEL 6.8) 设计的软件包,其中包含了与Oracle ASM (Automatic Storage Management) 相关的组件。Oracle ASM ...
kmod-oracleasm-2.0.8-13.el6_8.x86_64.rpm oracleasmlib-2.0.4-1.el6.x86_64.rpm oracleasm-support-2.1.8-1.el6.x86_64.rpm