ITPub博客

首页 > Linux操作系统 > Linux操作系统 > redhat下安装asm数据库

redhat下安装asm数据库

原创 Linux操作系统 作者:zui019 时间:2011-07-27 16:33:42 0 删除 编辑
红帽5.4 企业版下 创建asm数据库
1、操作系统:redhat 5
      数据库   :oracle  11G  R1
2、查看系统内核,安装asm需要根据系统内核,安装相应的rpm包
       [root@localhost ~]# uname -r
        2.6.18-8.el5
3、下载并安装rpm包
 下载地址:http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html
下载相关的rpm包:
 
  • oracleasm-support-2.1.7-1.el5.ia64.rpm
  • oracleasmlib-2.0.4-1.el5.ia64.rpm
  • oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm
  • 前两个rpm是通用的,最后一个分内核下载;

    4、  在进行此步骤前请先确认/etc/sysconfig/selinux 文件中的SELINUX=disable

          否则在接下在的配置后会报Initializing the Oracle ASMLib driver: [FAILED]错误。

    设置系统启动自动挂载asm磁盘
       /etc/init.d/oracleasm configure

    输入这条命令后,会让你输入用户和组名,

    数据库通常都安装在oracle用户oinstall组下,这里我们只要输入oracle和oinstall即可:

    5、创建asm磁盘

       dd if=/dev/zero f=/home/asmdg/sdb1 bs=1M count=5000
        dd if=/dev/zero f=/home/asmdg/sdb2 bs=1M count=5000
        dd if=/dev/zero f=/data/asmdg/sdb3 bs=1M count=5000
        dd if=/dev/zero f=/data/asmdg/sdb4 bs=1M count=5000

    将dd得到的文件虚拟成循环设备:
    /sbin/losetup /dev/loop1 /home/asmdg/sdb1
    /sbin/losetup /dev/loop2 /home/asmdg/sdb2
    /sbin/losetup /dev/loop3 /data/asmdg/sdb3
    /sbin/losetup /dev/loop4 /data/asmdg/sdb4

    创建asm磁盘
    /etc/init.d/oracleasm createdisk V1 /dev/loop1
    /etc/init.d/oracleasm createdisk V2 /dev/loop2
    /etc/init.d/oracleasm createdisk V3 /dev/loop3
    /etc/init.d/oracleasm createdisk V4 /dev/loop4

    以上步骤三个步骤千万不能出错,如果出错,及时重建,否则会影响后面的asm磁盘挂载

    6、添加oracleasm磁盘
    cd $ORACLE_HOME/bin
        ./localconfig add

    7、磁盘创建至此,已经结束,接下来 就可以使用dbca来创建管理asm磁盘并创建数据库,

    注意:此时创建的asm磁盘,在系统重启后将会消失,因此,我们需要修改系统文件配置,使其在重启时自动挂载并创建

    修改/etc/rc.local 文件,把刚才创建asm的语句都放在上面就可以了:

    [root@localhost ~]# cat /etc/rc.local
    #!/bin/sh
    #
    # This script. will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style. init stuff.

    touch /var/lock/subsys/local

    /sbin/losetup /dev/loop1 /home/sdb1

    /sbin/losetup /dev/loop1 /home/sdb2

    /etc/init.d/oracleasm createdisk V1 /dev/loop1
    /etc/init.d/oracleasm createdisk V2 /dev/loop2

    保存退出后,重启一下机器,查看磁盘是否正常挂载。

    8、第七步的时候,如果我们不方面启动图形界面,我们也可以通过手工用命令创建

    (以下内容 

     配置+asm参数文件---init+ASM.ora--

    INSTANCE_TYPE=ASM     
    DB_UNIQUE_NAME=+ASM
    LARGE_POOL_SIZE=12M    
    ASM_DISKSTRING='/dev/oracleasm/disks/V1','/dev/oracleasm/disks/V2'
    _ASM_ALLOW_ONLY_RAW_DISKS=FALSE

    注意:在配置好参数文件,  startup  nomount  时,可能出现
    ORA-00845: MEMORY_TARGET not supported on this system  错误,这个问题是由于设置SGA的大小超过了操作系统/dev/shm的大小:
    修改/etc/fstab表,添加
    ------------tmpfs /dev/shm tmpfs defaults,size=10240M 0 0----------------
    这个值的大小可以自己根据实际情况调节,系统为内存的一半,我们可以适当的放大;
    然后执行:umount /dev/shm
    mount /dev/shm
    df -k /dev/shm
     执行完这些操作后,再次startup  问题解决。
     -----
    启动+ASM实例到 nomount状态后,创建逻辑卷组
    有一个asm组时执行create diskgroup grouptest external redundancy disk '/dev/oracleasm/disks/VOL1';
    多个asm组  执行create diskgroup DGROUP1 normal redundancy disk '/dev/oracleasm/disks/V1','/dev/oracleasm/disks/V2';
                   create diskgroup DGROUP2 normal redundancy disk '/dev/oracleasm/disks/V3','/dev/oracleasm/disks/V4';
                   create diskgroup DGROUP3 normal redundancy disk '/dev/oracleasm/disks/V5','/dev/oracleasm/disks/V6','/dev/oracleasm/disks/V7';
                 Diskgroup created.
    创建成功后,查看逻辑卷 挂载状态。

    select path,mount_status from v$asm_disk;

    9、关闭+ASM实例,在参数文件上添加参数,添加后,下次磁盘组讲自动挂载
     ASM_DISKGROUPS='DGROUP1','DGROUP2'

    10、启动+ASM实例,测试是否可以一次性到mount。
      create spfile from pfile;

    startup

    11、创建asm磁盘相关命令:

    手工挂载asm磁盘
       alter diskgroup dgroup1 mount;
       alter diskgroup dgroup2 mount;

    查看css状态
      crsctl check cssd

    删除diskgroup

    drop diskgroup DATA including contents;
     - 对于多结点的diskgroup, 只能有在一个asm实例上挂载之后才能被dorp, 其他结点必须dismount。

    为diskgroup增加disk
     
    SQL> alter diskgroup DATA add disk '/dev/oracleasm/VOL5' name
     
    VOL5,'/dev/oracleasm/VOL6' name VOL6;


     从diskgroup删除disk
     
    SQL> alter diskgroup DATA drop disk VOL5;
     
     

     

     

     

     

     

     

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25623297/viewspace-703265/,如需转载,请注明出处,否则将追究法律责任。

    请登录后发表评论 登录
    全部评论

    注册时间:2011-04-01

    • 博文量
      16
    • 访问量
      28889