当前位置:  数据库>oracle

创建ASM磁盘组

    来源: 互联网  发布时间:2017-05-22

    本文导语: ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁盘的分区,或者是隶属操作系统的卷管理器的卷。无论采用哪种...

ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁盘的分区,或者是隶属操作系统的卷管理器的卷。无论采用哪种方式,都不能使用任何文件系统格式化,必须是裸设备。

在Linux上,ASM能引用磁盘作为裸设备,或通过使用ASMLib软件。

直接使用裸设备的方法:


1. 在RHEL6以前的可以直接通过rawdevices的管理方法,系统安装后默认已存在/etc/init.d/rawdevices和/etc/sysconfig/rawdevices这两个文件。

# cat /etc/RedHat-release

Red Hat Enterprise Linux Server release 5.8 (Tikanga)

# rpm -qf /etc/init.d/rawdevices /etc/sysconfig/rawdevices

initscripts-8.45.42-1.el5

initscripts-8.45.42-1.el5

# cat /etc/init.d/rawdevices

#!/bin/bash

#

# rawdevices      This shell script assignes rawdevices to block devices

#

# chkconfig: 345 56 44

# description: This scripts assignes raw devices to block devices

#              (such as hard drive partitions). This is for the use

#              of applications such as Oracle. You can set up the

#              raw device to block device mapping by editing

#              the file /etc/sysconfig/rawdevices.

# config: /etc/sysconfig/rawdevices

[ -f /bin/raw ] || exit 0

[ -f /etc/sysconfig/rawdevices ] || exit 0

# Exit if the file just has the default comments.

LC_ALL=C /bin/egrep -q -v "^ *#" /etc/sysconfig/rawdevices 2>/dev/null || exit 0

. /etc/init.d/functions

function assign_raw()

{

  LC_ALL=C egrep -v '^ *#' /etc/sysconfig/rawdevices |

  while read RAW BLOCK; do

    if [ -n "$RAW" -a -n "$BLOCK" ]; then

        rawdirname=${RAW%/*}

        if [ "$rawdirname" = "/dev" -a -d /dev/raw ]; then

          echo $"  Please correct your /etc/sysconfig/rawdevices:"

          echo $"    rawdevices are now located in the directory /dev/raw/ "

          echo $"  If the command 'raw' still refers to /dev/raw as a file."

          echo $"  you'll have to upgrade your util-linux package"

          exit 0

        fi

        if [ "$rawdirname" = "/dev/raw" -a -f /dev/raw ]; then

          echo $"  Please correct your /etc/sysconfig/rawdevices:"

          echo $"    rawdevices are now located in the directory /dev/raw/ "

          echo $"  If the command 'raw' still refers to /dev/raw as a file."

          echo $"  you'll have to upgrade your util-linux package"

          exit 0

        fi

      echo "          $RAW  -->  $BLOCK";

      raw $RAW $BLOCK

    fi

  done

}

# See how we were called.

case "$1" in

  start)

        # Assign devices

        echo $"Assigning devices: "

        assign_raw

#添加以下两行(默认不存在),即默认情况下生成的裸设备为root所有,

#所以必须修改属主,否则oracle用户无法使用裸设备

        sleep 5

        chown -R oracle:oinstall /dev/raw/

        echo $"done"

        ;;

  stop)

        # No action to be taken here

        ;;

  status)

        ID=`id -u`

        if [ $ID -eq 0 ]; then

          raw -qa

        else

          echo $"You need to be root to use this command ! "

        fi

        ;;

  restart|reload)

        $0 start

        ;;

  *)

        echo $"Usage: $0 {start|stop|status|restart}"

        exit 1

esac

exit 0

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


# vi /etc/sysconfig/rawdevices                //映射将要绑定的裸设备

/dev/raw/raw10  /dev/sda10

/dev/raw/raw11  /dev/sda11

/dev/raw/raw12  /dev/sda12

/dev/raw/raw13  /dev/sda13

/dev/raw/raw14  /dev/sda14

# chkconfig rawdevices on

# service rawdevices start

Assigning devices:

          /dev/raw/raw10  -->  /dev/sda10

/dev/raw/raw10: bound to major 8, minor 10

          /dev/raw/raw11  -->  /dev/sda11

/dev/raw/raw11: bound to major 8, minor 11

          /dev/raw/raw12  -->  /dev/sda12

/dev/raw/raw12: bound to major 8, minor 12

          /dev/raw/raw13  -->  /dev/sda13

/dev/raw/raw13: bound to major 8, minor 13

          /dev/raw/raw14  -->  /dev/sda14

/dev/raw/raw14: bound to major 8, minor 14

done

# ls -l /dev/raw/

total 0

crw-rw----. 1 oracle oinstall 162, 10 May 27 08:37 raw10

crw-rw----. 1 oracle oinstall 162, 11 May 27 08:37 raw11

crw-rw----. 1 oracle oinstall 162, 12 May 27 08:37 raw12

crw-rw----. 1 oracle oinstall 162, 13 May 27 08:37 raw13

crw-rw----. 1 oracle oinstall 162, 14 May 27 08:37 raw14

crw-rw----. 1 oracle oinstall 162,  0 May 27 08:19 rawctl

# raw -qa

/dev/raw/raw10: bound to major 8, minor 10

/dev/raw/raw11: bound to major 8, minor 11

/dev/raw/raw12: bound to major 8, minor 12

/dev/raw/raw13: bound to major 8, minor 13

/dev/raw/raw14: bound to major 8, minor 14


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Bitsets 成员 Constructors:创建新bitsets
  • 菜鸟在c盘装了win2000,想在剩下的空间装Red Hat Enterprise Linux 3,在创建linux分区的时候,不知道都创建什么分区??我知道要创建一个
  • C++ Double Ended Queues(双向队列) 成员 Constructors:创建一个新双向队列
  • 一进程源源不断地创建文件,另一进程把这些创建的文件抓取并挪走
  • C++ I/O 成员 open():创建一个输入流
  • 创建用户组创建用户出错
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 进程创建进程组后,然后创建该组中的进程,然后终止。这里的终止....?
  • HTML5 sprite 样式创建工具Stitches介绍
  • linux如何创建一个共享内存 可以mount 可以创建目录之类 跟硬盘分区一样
  • java Servlet实现Session创建存取以及url重写代码示例
  • php循环创建目录示例分享(php创建多级目录)
  • navicat 8 创建数据库与创建用户分配权限图文方法
  • sql server 2008:您对无法重新创建的表进行了更改或者启用了“阻止保存重新创建表的更改”
  • mkdir()是创建文件夹的函数,有没有循环创建多个目录级的函数呢?
  • 各位高手知道在JAVA中如何用一个名称创建一个对象实例,并调用其方法,注意:在编写代码时并不知要创建的对象的类名,也并不知方法名
  • FTP上创建的文件夹的创建日期始终和本机的对不上(无论如何改变日期和时间)(紧急!!!)
  • 急!linux下mysql的创建用户组和创建用户命令不能生效啊????
  • 怎么创建包,我创建包后,怎么找不到呢?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 100求解:如何在UNIX环境下创建一个新的端口号?另:能告之如何在WINDOWS2000环境下创建一个新的端口号就更好了!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,