【转自Oracle官方博客】一个ASMCA无法识别磁盘设备的问题

https://blogs.oracle.com/database4cn/%E4%B8%80%E4%B8%AAasmca%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB%E7%A3%81%E7%9B%98%E8%AE%BE%E5%A4%87%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82

 

在linux 环境下,我们一般通过udev或者asmlib来绑定磁盘分区作为ASM的候选存储单元。在使用udev的情况下,一般只要我们可以看到被绑定的磁盘的设备,并且这些设备的属主和权限没有问题,ASM就可以识别并使用这些设备了。 但是也有例外情况:

1. 首先观察到的现象:在ASMCA的“"show eligible" 页面,看不到udev绑定的设备/dev/data2

2. udev的rule,和设备的权限以及属主都没有问题

cat 99-oracle-asmdevices.rules

......
KERNEL=="sda1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="360a980004430753872244b6e4a376f70",NAME="data2",OWNER="grid", GROUP="asmadmin", MODE="0660"

ls -l /dev |grep data
......
brw-rw---- 1 grid asmadmin 8, 1 Nov 1 09:36 data2

3. 通过kfed来读取这个设备,好像也没有问题:

$ kfed read /dev/data2
kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 0 ; 0x001: 0x00
kfbh.type: 0 ; 0x002: KFBTYP_INVALID
kfbh.datfmt: 0 ; 0x003: 0x00
kfbh.block.blk: 0 ; 0x004: blk=0
kfbh.block.obj: 0 ; 0x008: file=0
kfbh.check: 0 ; 0x00c: 0x00000000
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
7FFCA34D0400 00000000 00000000 00000000 00000000 [................]
Repeat 255 times
KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]

那么这是什么鬼???看似权限,属主,盘的读取都没有问题啊。。。

后来经过确认,原来这个分区/dev/sda1是个扩展分区。。。

fdisk -l

......

Disk /dev/sda: 322.2 GB, 322163441664 bytes
255 heads, 63 sectors/track, 39167 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc4ca7a41

Device Boot Start End Blocks Id System
/dev/sda1 1 39167 314608896 5 Extended

总结,Oracle不能直接使用扩展分区作为ASM的首选存储设备,对于一块磁盘,或者把它分区成主分区,或者在扩展分区上创建逻辑分区如果发现磁盘的权限,属主,读写都没有问题的话,ASM还是不识别设备,那就再确认一下这个分区是不是个扩展分区。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于Oracle数据库的安装相对复杂,需要进行一些配置和设置,因此编写一个完整的自动安装脚本比较困难。不过,我可以提供一个基本的安装脚本,供你参考: ```bash #!/bin/bash # 下载Oracle安装包 wget https://download.oracle.com/otn/linux/oracle19c/oracle-database-19c-1.0-1.x86_64.rpm -P /tmp/ # 安装依赖 yum install -y oracle-database-preinstall-19c # 安装Oracle数据库 rpm -ivh /tmp/oracle-database-19c-1.0-1.x86_64.rpm # 配置Oracle数据库 /u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignorePrereqFailure=true # 创建数据库 /u01/app/oracle/product/19.0.0/dbhome_1/bin/dbca -silent -createDatabase -gdbName orcl -sid orcl -sysPassword oracle -systemPassword oracle -emConfiguration NONE -datafileDestination /u01/app/oracle/oradata -characterSet AL32UTF8 -memoryPercentage 40 # 启动Oracle数据库 systemctl start oracle # 设置Oracle开机自启动 systemctl enable oracle ``` 这个脚本使用`wget`命令从Oracle官网下载Oracle数据库安装包,然后使用`yum`命令安装Oracle数据库的依赖包。接着使用`rpm`命令安装Oracle数据库。然后使用Oracle提供的安装程序和响应文件进行Oracle数据库的配置,接着使用`dbca`命令创建数据库。最后启动Oracle数据库并设置开机自启动。 需要注意的是,这个脚本中的一些路径和参数可能需要根据你的实际情况进行修改。另外,Oracle数据库的安装和配置比较复杂,这个脚本只是提供了一个基本的参考,具体的安装和配置还需要根据具体情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值