在oracle11g中,配置asm实例会用到raw(裸设备)或者asmlib或者直接使用磁盘分区(这个特性也是11g的特性)。由于oracle11g中,已经将asm和数据库完全脱离,这句话的意思就是以前在10g的时候,asm实例是在安装oracle软件之后,才配置实例(借助dbca),而在oracle11g中,asm实例已经由grid单独安装来配置了,也是11g中的第一大特性。

Linux 5下的操作:

1) 使用raw设备

在创建3个分区sda8,sda9,sda10之后,start_udev(具体如何在linux5下创建raw,在此不介绍),从而有了3个raw,即/dev/raw/raw1  /dev/raw/raw2  /dev/raw/raw3

2) 使用asmlib

在创建了3个分区之后,可以使用如下命令,创建3个asmdisk:

#/etc/init.d/oracleasm createdisk asmdisk01 /dev/sda8

#/etc/init.d/oracleasm createdisk asmdisk02 /dev/sda9

#/etc/init.d/oracleasm createdisk asmdisk03 /dev/sda10

查看asmdisk:

#/etc/init.d/oracleasm listdisks

ASMDISK01

ASMDISK02

ASMDISK03

3) 直接使用磁盘分区,由于这个比较简单,只需要安装grid时,测试一下即可。

如上,现在已经建好了两种方式下的asm可用disk,现在安装grid的过程中,可能由于磁盘组的问题,最终导致没有安装成功,但crs已经没有问题了,如下:

[grid@yanfa2 dbs]$ crs_stat -t -v

Name          Type          R/RA  F/FT  Target   State    Host

----------------------------------------------------------------------

ora....ER.lsnr ora....er.type 0/5   0/    ONLINE   ONLINE   yanfa2

ora.cssd      ora.cssd.type 0/5   0/5   ONLINE   ONLINE   yanfa2

ora.diskmon   ora....on.type 0/10  0/5   ONLINE   ONLINE   yanfa2

但asm实例确不能启动,错误信息如下:

SQL> startup

ORA-00099: warning: no parameter file specified for ASM instance

ASM instance started

Total System Global Area 283930624 bytes

Fixed Size                 2212656 bytes

Variable Size            256552144 bytes

ASM Cache                 25165824 bytes

ORA-15110: no diskgroups mounted

此时有两个问题,第一个就是没有asm实例启动需要的参数文件,目前使用的默认值,还有第二个问题就是没有diskgroup,用asmcmd也可以查看到,目前实例是没有diskgroup的。

解决办法就是用创建diskgroup,可以用asmca,打开页面之后,能看到6块disk,其中3块是/dev/raw/raw*格式的,另3块是ORCL:ASMDISK0*格式的,如果此时选择ORCL:这样的disk,那么此diskgroup是不会创建成功的,换成用/dev/raw/raw*的,create asm时就可以成功了。然后在实例起来之后,也可以用命令创建另一个diskgroup,如下:

CREATE DISKGROUP fra EXTERNAL REDUNDANCY DISK 'ORCL:ASMDISK03';

CREATE DISKGROUP fra EXTERNAL REDUNDANCY DISK 'ORCL:ASMDISK03'

*

ERROR at line 1:

ORA-15018: diskgroup cannot be created

ORA-15072: command requires at least 1 failure groups, discovered only 0

此时,再查看以下信息:

SQL> create diskgroup fra external redundancy disk '/dev/raw/raw3';

Diskgroup created.

SQL> select PATH, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, STATE from V$ASM_DISK;

PATH

--------------------------------------------------------------------------------

MOUNT_S HEADER_STATU MODE_ST STATE

------- ------------ ------- --------

ORCL:ASMDISK03

CLOSED UNKNOWN     ONLINE NORMAL

ORCL:ASMDISK01

CLOSED UNKNOWN     ONLINE NORMAL

ORCL:ASMDISK02

CLOSED UNKNOWN     ONLINE NORMAL

PATH

--------------------------------------------------------------------------------

MOUNT_S HEADER_STATU MODE_ST STATE

------- ------------ ------- --------

/dev/raw/raw2

CACHED MEMBER      ONLINE NORMAL

/dev/raw/raw1

CACHED MEMBER      ONLINE NORMAL

/dev/raw/raw3

CACHED MEMBER      ONLINE NORMAL

6 rows selected.

可以看出,一旦使用/dev/raw/raw*的disk是可以创建成功的,再来看下ORCL:ASMDISK0*的header_status的状态为UNKNOWN。根据metalink上的一篇文章【ID 396015.1】,如下:

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.4 - Release: to 10.2

Information in this document applies to any platform.

Symptoms

When a diskgroup with external redundancy needs to be created on a NetApps with iSCSI following errors might occur:

CREATE DISKGROUP KNVB EXTERNAL

REDUNDANCY DISK 'ORCL:DISK1';

CREATE DISKGROUP KNVB EXTERNAL REDUNDANCY DISK 'ORCL:DISK1'

*

ERROR at line 1:

ORA-15018: diskgroup cannot be created

ORA-15072: command requires at least 1 failure groups, discovered only 0

Error message from bdump alert log file

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

...

Wed Oct 18 15:45:46 2006

ORA-15186: ASMLIB error function = [asm_open], error = [1], mesg = [Operation not permitted]

Wed Oct 18 15:45:46 2006

ORA-15186: ASMLIB error function = [asm_open], error = [1], mesg = [Operation not permitted]

The disk HEADER_STATUS from V$ASM_DISK is UNKNOWN instead of CANDIDATE or PROVISIONED

Cause

Oracleasm is able to create and stamp the ASM disk, because the soft link from the mapper,

but the ASM instance cannot see the disks (HEADER_STATUS is UKNOWN instead of PROVISONED) as the soft links were mounted in /etc/fstab as /data/...

If NetApp is used, then the /etc/fstab file should be checked.

The disks stammped by oracleasm should not be present in this file.

If EMC based storage but use the normal Linux multipath driver is used, then the following map settings should be set in /etc/sysconfig/oracleasm

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning

ORACLEASM_SCANORDER="multipath sd"

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan ORACLEASM_SCANEXCLUDE="sd"

Solution

1. If the customer is using NetApp check the /etc/fstab file for any mount points including the NetApp disks

E.g: umount /data/....

Connect to the ASM instance

conn / as sysdba

select PATH, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, STATE from V$ASM_DISK;

You should see the HEADER_STATUS as PROVISIONED instead of UNKNOWN.

Now you can create the diskgroup with external redundancy

Eg:CREATE DISKGROUP KNVB EXTERNAL REDUNDANCY DISK 'ORCL:DISK1';

2. If EMC based storage but use the normal Linux multipath driver is used, then please make the following changes in the /etc/sysconfig/oracleasm file.

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning

ORACLEASM_SCANORDER="multipath sd"

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan ORACLEASM_SCANEXCLUDE="sd"

Note that the asm_diskstring should be set to "ORCL:*"

以上信息为文章内容,根据提示,可以将/etc/sysconfig/oracleasm修改下,并且我在asm的$ORACLE_HOME/dbs下创建了一个参数文件init+ASM.ora,内容只有

*.asm_diskgroups = ‘DATA

*.asm_diskstring = ‘ORCL:*’

经过如上修改,在restart oracleasm之后,asm终于正常了。

SQL> ALTER DISkgroup fra mount;

Diskgroup altered.

SQL> select PATH, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, STATE from V$ASM_DISK;

PATH

--------------------------------------------------------------------------------

MOUNT_S HEADER_STATU MODE_ST STATE

------- ------------ ------- --------

ORCL:ASMDISK01

CACHED MEMBER      ONLINE NORMAL

ORCL:ASMDISK02

CACHED MEMBER      ONLINE NORMAL

ORCL:ASMDISK03

CACHED MEMBER      ONLINE NORMAL

oracle11g-asm实例中asmlib和raw的使用问题相关推荐

  1. oracle asm中candidate,【Oracle ASM】关于asm实例与db实例中的磁盘状态_详细分析过程...

    现象描述ITPUB个人空间O Q9g.B,c/j操作系统: Enterprise Linux 5.5ITPUB个人空间z7f$Lu#\"f V :oracle 10.2.0.4 RAC+AS ...

  2. asm实例和oracle,关于ASM实例的相关概念

    N多ASM文档七拼八凑组成了这一篇介绍 ----------------------------------------------------- 先来张架构图 文档一 1.ASM的作用 automa ...

  3. [转]Oracle DB 管理ASM实例

    • 描述使用ASM 的好处 • 管理ASM 实例 • 创建和删除ASM 磁盘组 • 扩展ASM 磁盘组 • 通过使用各种实用程序检索ASM 元数据 Automatic Storage Manageme ...

  4. mysql 命令as 使用_【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as...

    使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 参考原文: How to Copy asm files between remote ASM instances usi ...

  5. Oracle DB 管理ASM实例

    • 描述使用ASM 的好处 • 管理ASM 实例 • 创建和删除ASM 磁盘组 • 扩展ASM 磁盘组 • 通过使用各种实用程序检索ASM 元数据 Automatic Storage Manageme ...

  6. linux中asm数据库卸载教程,删除Linux非rac环境下的ASM实例

    转自:http://18904.com/archives/917.html 环境说明: 操作系统:CentOS 5 x86 数据库:Oracle 10.2.0.1 非RAC环境 ASM实例名:+ASM ...

  7. RAC 中 ASM 实例名 与 节点的对应关系

    这个问题之前也遇到过一次, 这次安装RAC的时候,又遇到了,所以研究一下.  先描述下这个现象. RAC 有两个节点: rac1 和 rac2. 正常情况下的操作步骤: (1)在rac1 安装clus ...

  8. 【ASM学习】普通数据库向ASM实例的迁移(二)

    --接着rman的做 在rman恢复时,数据库是mount状态的,这里需要将数据打开!ORCL>conn system/yang[@]orcl as sysdba 已连接. ORCL>al ...

  9. curl可以访问但httpclient不能访问_exta进程不能访问+ASM实例的解决方法

    exta进程需要直接访问+ASM实例来获取PROD4实例的redo文件,因此exta进程必须能够登陆+ASM实例,并且可以找到redo文件的路径并能够正常访问.另外exta进程不仅仅要读取redo文件 ...

最新文章

  1. php redis 二进制,php-redis扩展
  2. 2018.10.26 NOIP模拟 瓶子 (dp/贪心)
  3. java策略模式 if else_Java如何利用策略模式替代if/else语句
  4. 数据库-多表查询-笛卡尔积
  5. Hive的使用之hwi
  6. hdu-acm steps Max sum
  7. 回归模型分类(自回归AR模型、向量自回归VAR模型等)
  8. 树梅派输入法黑块问题
  9. numpy获得ndarray的byte数 内存中的大小
  10. win10浏览器闪退_Edge浏览器闪退怎么解决 Edge浏览器闪退修复方法大全
  11. 计算机算样本标准偏差,计算器中的总体标准差和样本标准差有什么区别
  12. 如何避免服务器被恶意网络攻击
  13. matlab编程求卫星轨道长度,基于Matlab R2011b的卫星轨道计算
  14. 国内外常用学术网站(访问不了“谷歌学术”的,试一试有惊喜哦)
  15. 黑马培训学编程python
  16. Android之ListView展示多类型的条目
  17. C++ 入门导引(这是一篇由GPT4写的文章)
  18. C语言自学路之计算平方(输入验证)
  19. SVM——(三)对偶性和KKT条件(Lagrange duality and KKT condition)
  20. 2022年度总结 - 明月醉窗台

热门文章

  1. js里的null 与undefined
  2. tf.contrib.slim arg_scope
  3. dedecms后台左侧菜单空白不显示怎么处理
  4. Solr Zookeeper ACL权限配置
  5. C#去除字符串的最后一个字符
  6. poj_2349 Kruskal 最小生成树
  7. 浏览器输入url后发生了什么?
  8. C#操作数据库,DataSet,DataGridView,更新数据库 [一] - ADO.NET入门之中
  9. Android编译笔记二
  10. Dockerfile实战