设为首页 收藏本站
查看: 1167|回复: 0

[经验分享] oracle 升级时遇到关于asm的问题

[复制链接]

尚未签到

发表于 2018-9-23 14:31:13 | 显示全部楼层 |阅读模式
  软件环境:
  系统:rhel-server-5.4-x86_64
  数据库:oracle10201
  asm环境:
  oracleasm-2.6.18-164.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
  本来是想安装好数据库就建库,在进行升级实验。没想到进行了数据软件升级后,进行数据字典升级时,问题出现了,asm实例起不了:
  [oracle@peng ~]$ export ORACLE_SID=+ASM
  [oracle@peng ~]$ sqlplus / as sysdba

  SQL*Plus:>  Copyright (c) 1982, 2005, Oracle.  All rights reserved.

  Connected to an>  SQL> startup
  ASM instance started
  Total System Global Area  130023424 bytes

  Fixed>
  Variable>  ASM Cache                  25165824 bytes

  ORA-15032: not all>  ORA-15063: ASM discovered an insufficient number of disks for diskgroup "PENG"
  到系统上查看,列出已有的Oracle ASMLib disks:
  [root@peng ~]# /etc/init.d/oracleasm listdisks
  没有输出。
  但是查看Oracle ASMlib所包含的磁盘时,却有相关信息:
  [root@peng ~]# /etc/init.d/oracleasm querydisk /dev/VolGroup00/LogVol02
  Device "/dev/VolGroup00/LogVol02" is marked an ASM disk with the label "VOL1"
  [root@peng ~]# /etc/init.d/oracleasm querydisk /dev/VolGroup00/LogVol03
  Device "/dev/VolGroup00/LogVol03" is marked an ASM disk with the label "VOL2"
  试着进行Oracle ASMlib磁盘扫描:
  [root@peng ~]# /etc/init.d/oracleasm scandisks
  Scanning the system for Oracle ASMLib disks:               [  OK  ]
  [root@peng ~]# /etc/init.d/oracleasm listdisks
  扫描显示ok,但是再次查看仍然没有结果。
  继续查找原因:
  [root@peng ~]# mount
  /dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
  proc on /proc type proc (rw)
  sysfs on /sys type sysfs (rw)
  devpts on /dev/pts type devpts (rw,gid=5,mode=620)
  /dev/sda1 on /boot type ext3 (rw)
  tmpfs on /dev/shm type tmpfs (rw)
  none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
  none on /proc/fs/vmblock/mountPoint type vmblock (rw)
  sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
  oracleasmfs on /dev/oracleasm type oracleasmfs (rw)
  发现asm磁盘挂载/dev/oracleasm下。
  [root@peng oracleasm]# ls
  disks  iid
  [root@peng oracleasm]# ls disks/
  [root@peng oracleasm]# ls iid/
  0000000000000001
  果然disks下没有文件,正常是有相应的设备文件的。
  查看报错日志发现:
  [root@peng ~]# tail -19 /var/log/oracleasm
  Reloading disk partitions: done
  Cleaning any stale ASM disks...
  Scanning system for ASM disks...
  oracleasm-read-label: Unable to open device "/dev/dm-0": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-0": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-0": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-0": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-1": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-1": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-1": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-1": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-2": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-2": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-2": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-2": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-3": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-3": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-3": No such file or directory
  oracleasm-read-label: Unable to open device "/dev/dm-3": No such file or directory
  [root@peng ~]# ls /dev/dm-*
  ls: /dev/dm-*: 没有那个文件或目录
  果然,没有结果的原因是因为在扫描系统的asm磁盘是不能读取/dev/dm-0,/dev/dm-1,/dev/dm-2,/dev/dm-3设备
  没有,可不可以自己通过udev定义规则来生成一个呢?而一些设备信息会放在/sys/block/目录下,进入该目录下发现,所缺的设备都已经存在:
  [root@peng ~]# cd /sys/block/
  [root@peng block]# ls
  dm-0  dm-2  fd0  md0   ram1   ram11  ram13  ram15  ram3  ram5  ram7  ram9
  dm-1  dm-3  hdc  ram0  ram10  ram12  ram14  ram2   ram4  ram6  ram8  sda
  此时才明白,原来在第一次创建asm磁盘时,这些设备文件都已经创建,只是没在系统中进行注册,所以再次启动asm时,系统不能正常的识别的这些设备而已。
  既然这样,就手动将这些设备收编了吧。
  [root@peng ~]# udevinfo -a -p /sys/block/dm-0
  Udevinfo starts with the device specified by the devpath and then
  walks up the chain of parent devices. It prints for every device
  found, all possible attributes in the udev rules key format.
  A rule to match, can be composed by the attributes of the device
  and the attributes from one single parent device.
  looking at device '/block/dm-0':
  KERNEL=="dm-0"
  SUBSYSTEM=="block"
  SYSFS{stat}=="   21819        0   922402  1690960    13024        0   104192  1251320        0   168972  2942280"
  SYSFS{size}=="20971520"
  SYSFS{removable}=="0"
  SYSFS{range}=="1"
  SYSFS{dev}=="253:0"
  依次将dm-1,dm-2,dm-3的信息打印出来,并写入/etc/udev/rule.d/90-dm.rules
  文件中。
  [root@peng rules.d]# cat 90-dm.rules
  KERNEL=="dm-0",SUBSYSTEM=="block",SYSFS{size}=="20971520", SYSFS{dev}=="253:0"
  KERNEL=="dm-1",SUBSYSTEM=="block",SYSFS{size}=="4128768",SYSFS{dev}=="253:1"
  KERNEL=="dm-2",SUBSYSTEM=="block",SYSFS{size}=="16842752",SYSFS{dev}=="253:2"
  KERNEL=="dm-3",SUBSYSTEM=="block",SYSFS{size}=="16842752",SYSFS{dev}=="253:3"
  [root@peng rules.d]# start_udev
  启动 udev:                                                [确定]
  将规则文件中得信息和相应的设备进行匹配。
  [root@peng ~]# ls /dev/dm-*
  /dev/dm-0  /dev/dm-1  /dev/dm-2  /dev/dm-3
  查看设备文件已经生成。
  [root@peng ~]# /etc/init.d/oracleasm scandisks
  Scanning the system for Oracle ASMLib disks:               [  OK  ]
  再次进行设备扫描。然后列出设备。
  [root@peng ~]# /etc/init.d/oracleasm listdisks
  VOL1
  VOL2
  [root@peng ~]# tail -7 /var/log/oracleasm
  Reloading disk partitions: done
  Cleaning any stale ASM disks...
  Scanning system for ASM disks...
  Disk "VOL1" does not exist or is not instantiated
  Instantiating disk "VOL1"
  Disk "VOL2" does not exist or is not instantiated
  Instantiating disk "VOL2"
  查看日志,一切正常。
  [root@peng ~]# ls /dev/oracleasm/disks/
  VOL1  VOL2
  /dev/oracleasm/disks下的设备文件显示正常。
  再次启动asm实例:
  [oracle@peng ~]$ export ORACLE_SID=+ASM
  [oracle@peng ~]$ sqlplus / as sysdba

  SQL*Plus:>  Copyright (c) 1982, 2005, Oracle.  All rights reserved.

  Connected to an>  SQL> startup
  ASM instance started
  Total System Global Area  130023424 bytes

  Fixed>
  Variable>  ASM Cache                  25165824 bytes
  ASM diskgroups mounted
  问题解决,可以进行继续升级了。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600339-1-1.html 上篇帖子: Oracle 10g dataguard 配置 下篇帖子: oracle 序列与同义词
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表