• RAC以及ASM安装全过程整理


    RAC以及ASM安装全过程整理 --lisx 2009-6-19

    更改主机名

    第一步:
    #hostname oratest
    第二步:
    修改/etc/sysconfig/network中的hostname
    第三步:
    修改/etc/hosts文件

     

    设置hosts文件

    可参考:

    [root@amdocs01 mapper]# cat /etc/hosts

    # Do not remove the following line, or various programs

    # that require network functionality will fail.

    127.0.0.1       localhost.localdomain   localhost

    172.19.201.188 amdocs02

    172.19.201.189 amdocs02-vip

    192.168.10.1    amdocs02-priv

     

    设置IP

    eth0

    172.19.201.188

    255.255.0.0

    172.19.201.6

    eth1

    192.168.10.1

    255.255.255.0

    172.19.201.6

    绑定裸设备

    先在逻辑卷组上分出逻辑卷,全部为裸设备,必须包含:

    逻辑盘: ocrlv ,votelv 是必须的,因为后面安装ASM要用到

           data01,data02,data03,data04,data05,softlv,oralv可选

    1、裸设备定义:
    一块没有分区的硬盘,称为原始设备(RAWDEVICE)
    或者是一个分区,但是没有用EXT3,OCFS等文件系统格式化,称为原始分区(RAWPARTITION)
    以上两者都是裸设备 

    2、裸设备的绑定
    有文件系统的分区是采用mount的方式挂载到某一个挂载点的(目录)
    而裸设备不能mount,只能绑定到/dev/raw/下的某一个设备名
    比如/dev/raw/raw1

    3、裸设备的绑定方法
    有两种方法,这里介绍一种,还有一种修改/etc/rc.local文件增加,见后面,我采用的是修改/etc/rc.local文件
    先介绍第一种方法:
    修改/etc/sysconfig/rawdevices,添加以下内容,
    这里sdd1和sdd2是原始分区名或者原始设备(硬盘)名,
    raw1和raw2是/dev目录下的原始设备名,编号从raw1到raw8191,也就是最多可以绑定255个裸设备
    /dev/raw/raw1/dev/sdd1
    /dev/raw/raw2/dev/sdd2

    然后修改裸设备的属主和访问权限
    chown oracle:dba /dev/raw/raw1
    chown oracle:dba /dev/raw/raw2
    chmod 660 /dev/raw/raw1
    chmod 660 /dev/raw/raw2

    最后使得裸设备生效,并且在机器启动的时候就自动加载

    执行/etc/init.d/rawdevices restart使裸设备生效

    执行/sbin/chkconfig rawdevices on保证机器启动的时候裸设备能够加载,这一步很重要

    裸设备的绑定方法第二种方法,修改/etc/rc.local文件的方法

    [root@amdocs01 ~]# 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

    raw /dev/raw/raw1 /dev/mapper/vg00-ocrlv

    raw /dev/raw/raw2 /dev/mapper/vg00-votelv

    raw /dev/raw/raw3 /dev/mapper/vg00-data01

    raw /dev/raw/raw4 /dev/mapper/vg00-data02

    raw /dev/raw/raw5 /dev/mapper/vg00-data03

    raw /dev/raw/raw6 /dev/mapper/vg00-data04

    chmod 775 /dev/raw/raw1

    chmod 775 /dev/raw/raw2

    chmod 775 /dev/raw/raw3

    chmod 775 /dev/raw/raw4

    chmod 775 /dev/raw/raw5

    chmod 775 /dev/raw/raw6

    chown oracle:dba /dev/raw/raw1

    chown oracle:dba /dev/raw/raw2

    chown oracle:dba /dev/raw/raw3

    chown oracle:dba /dev/raw/raw4

    chown oracle:dba /dev/raw/raw5

    chown oracle:dba /dev/raw/raw6

    chown oracle:dba /dev/raw/raw7

    modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180


    4、裸设备的读写
    不能用cp等命令操作,写入内容用dd命令,可以参阅相关资料

    5、清空裸设备
    相当于格式化啦bs是快的大小,blocksize
    count是快的数量,这两者相乘大于裸设备的容量即可
    ddif=/dev/zeroof=/dev/raw/raw1bs=8192count=12800
    ddif=/dev/zeroof=/dev/raw/raw2bs=8192count=12800
    -------
    另外,注意:
    rhel4使用udev来管理设备
    手动修改/dev/raw/raw1不能永久生效
    要想使得权限持久生效
    需要修改文件/etc/udev/permissions.d/50-udev.permissions的第113行
    raw/*:root:disk:0660
    改成
    raw/*:oracle:dba:0660
    重启机器
    如果/dev/下没有/raw/目录,可以自己手工建立。

    配置Oracle ASMLib
    1、安装Oracle ASMLib
    需要的安装包
    asmlib
    asm-support
    asm-kernel
    asm-smp-kernel(
    多process版本)
    下载地址:

    http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html
    安装3个软件包:
    # rpm -Uvh oracleasm-support-2.1.3-1.el4.x86_64.rpm

    # rpm -Uvh oracleasm-2.6.9-78.ELsmp-2.0.5-1.el4.x86_64.rpm
    # rpm -Uvh oracleasmlib-2.0.4-1.el4.x86_64.rpm


    2
    、配置ASMLib
    # /etc/init.d/oracleasm configure
    Default user to own the driver interface [oracle]: oracle
    Default group to own the driver interface [oinstall]: oinstall
    Start Oracle ASM library driver on boot (y/n) [y]: y
    Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
    Writing Oracle ASM library driver configuration: [  OK  ]
    Loading module [i]"[/i]oracleasm[i]"[/i]: [  OK  ]
    Mounting ASMlib driver filesystem: [  OK  ]
    Scanning system for ASM disks: [  OK  ]
    以上操作将加载oracleasm.o驱动,并且mount上ASM文件系统,同时我们可以通过以下命令来手工的卸载和加载ASMLib
    #/etc/init.d/oracleasm disable   //出错检查/var/log/messages文件,确认需要更新的内核版本
    #/etc/init.d/oracleasm enable

    添加init文件使系统启动时自动加载ASMLib
    $su -
    #cd /etc/rc3.d
    #ln -s ../init.d/oracleasm S99oracleasm
    #ln -s ../init.d/oracleasm K01oracleasm
    注意:如果系统启动是自动进入图形界面,也就是系统的init level是5,那么上面生成链接的命令应该在/etc/rc5.d目录中操作,重新启动系统,确认ASMLib已经可以自动加载
    #lsmod |grep oracleasm
    #dmesg |grep oracleasm


    3
    、创建ASM磁盘(说明:createdisk 是针对分区,不是针对磁盘,即:先应将磁盘分区),也可意在后面安装ASM实例的时候创建,我是在后面DBCA配置ASM的是创建的。
    #/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
    #/etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
    ...
    ...      
    #/etc/init.d/oracleasm listdisks   //列出ASM磁盘
    VOL1
    VOL2
    VOL3
    VOL4
    如果要删除ASM磁盘通过以下命令
    #/etc/init.d/oracleasm deletedisk VOL4
    注意:
        如果是在RAC环境中的某一个节点中添加了ASM磁盘,那么需要在其他的节点上运行scandisk来获取这种变化
    #/etc/init.d/oracleasm scandisks
    OK,现在已经完成了创建ASM实例的物理基础,下面开始安装数据库

    安装集群软件

    安装10201_clusterware_linux_x86_64.cpio

    首先要用root用户执行脚本/software/clusterware/rootpre/rootpre.sh

    Specify cluster configuration的时候报错:

    The specified nodes are not clusterable.

    解决方案:

    使用 SSH 建立用户等效性,在安装过程中能进行软件的复制,不提示输入口令,也就是直接认可所有节点,他们之间能相互通信。所以必须在所有节点上按照以下步骤进行设置
    rac1-> mkdir ~/.ssh
    rac1-> chmod 700 ~/.ssh
    rac1-> ssh-keygen -t rsa
    rac1-> ssh-keygen -t dsa

    [oracle@amdocs02 .ssh]$ cat id_rsa.pub >> ~/.ssh/authorized_keys

    设置完成然后测试通信:
    ssh amdocs02 date

    ssh amdos02-priv date

    后面需要输入ocr和vote的地址:

    /dev/raw/raw1

    /dev/raw/raw2

    安装集群软件的最后,检查报错:节点amdocs02不存在,打电话请教高手解决(多谢):

    用root执行/app/oracle/product/10.2/bin/vipca,修改正确的ip,输入amdocs02-vip后按TAB键,会自动带出虚拟IP地址,注意子网掩码是否正确,可能也需要修改。

    安装数据库软件

    设置内核参数,则只需在以 root 用户身份登录后执行下命令。

    vi /etc/sysctl.conf

     
    kernel.shmall = 2097152
    kernel.shmmax = 536870912
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 65536
    net.ipv4.ip_local_port_range = 1024 65000
    net.ipv4.tcp_wmem = 262144 262144 262144
    net.ipv4.tcp_rmem = 4194304 4194304 4194304
    net.core.rmem_default = 1048576
    net.core.rmem_max = 1048576
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144
     
    /sbin/sysctl -p 
    使之生效
     

    oracle 用户设置 Shell 限制

    cat >> /etc/security/limits.conf <<EOF

    oracle soft   nofile 65536

    oracle hard   nofile 65536

    oracle soft   nproc 16384

    oracle hard   nproc 16384

    EOF

    cat >> /etc/pam.d/login <<EOF
    session    required     /lib/security/pam_limits.so
    EOF
     

    oracle 用户的环境变量

    要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:

    ORACLE_BASE
    ORACLE_HOME
    ORACLE_SID
    PATH

    可参考:

    export ORACLE_BASE=/app/oracle
    export ORACLE_CRS_HOME=/app/oracle/product/10.2/crs
    export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
    export PATH=$ORACLE_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
    export ORACLE_OWNER=oracle
    export ORACLE_SID=test2
    export LD_LIBRARY_PATH=/app/oracle/product/10.2/lib:$LD_LIBRARY_PATH

    创建ASM实例&建库

    配置ASM实例的是遇到错误:ORA-27504:IPC error creating OSD context

    后来找到原因:因为有一根网线没有插好,导致的。

    正常的解决思路是运行oifcfg,检查配置接口

    [root@amdocs02 bin]# pwd

    /app/oracle/product/10.2/bin

    [root@amdocs02 bin]# ./oifcfg getif

    eth0 172.19.0.0 global public

    eth1 192.168.10.0 global cluster_interconnect


    以 oracle 身份登录并启动 DBCA:
    $ dbca
      1).欢迎
         单击 Next。  
      2).操作  
        选择 Create a Database。  
      3).数据库模板  
         选择 General Purpose。  
      4).数据库标识
         输入全局数据库名称。  
      5).管理选项  
         选择 Configure the Database with Enterprise Manager。
         选择 Use Database Control for Database Management。  
      6).数据库证书  
         选择 Use Same Password for All Accounts。
         输入口令并确认。  
      7).存储选项  
         选择 Automatic Storage Management (ASM)。  
      8).创建 ASM 实例
         输入 ASM 实例的口令并确认。  
      9).弹出一个窗口,提示 DBCA 将立即创建并启动 ASM 实例。  
         单击 OK。  
      10).创建 ASM 实例时弹出一个带齿轮箱窗口。  
      11).ASM 磁盘组  
          由于这是新 ASM 实例且您尚未创建任何 ASM 实例,因此该窗口未显示可用磁盘组。
          单击 Create New。  
      12).创建磁盘组  
          磁盘组名称
          输入磁盘组名称,如 DATA1。  
              冗余
                  - High 镜像数据两次。
                  - Normal 镜像数据一次。
                  - External 不镜像 ASM 中的数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。  
       选择成员磁盘
    - 您必须手动指示 ASM 到什么地方查找 ASMLib 磁盘,因此,单击 Change Disk Discovery Path
    - 弹出一个窗口,提示输入磁盘发现路径。如下所示将磁盘发现路径更改为“ORCL:*”。
    - 单击 OK 继续。  

       
    您将返回到 Select Member Disks 窗口。您的所有 ASMLib 磁盘现在应显示在此窗口中。
    单击该行开头的框,选择加入磁盘组的磁盘。完成后单击 OK。  

    如果是逻辑卷上的裸设备,只要单击创建,就可以很容易的找到,选中即可。

       
    13).ASM 磁盘组
    您将返回到 ASM Disk Groups 窗口。此时,出现在上一步中创建的磁盘组。  
    单击该行开头的框选择此磁盘组。(在此实例中使用单个磁盘组。)  
    单击 Next。
    14).数据库文件位置
    选择 Use Oracle-Managed Files。
    确保已将 Database Area 设置为您创建的磁盘组。它包含一个前导加号 — 例如,+DATA1。
    15).恢复配置
    选择 Specify Flash Recovery Area。
    - 快速恢复区 — 输入要用于快速恢复的 ASM 磁盘组。
    - 快速恢复区大小 — 接受默认值 2048。
    如果要使用归档日志模式,则选中 Enable Archiving。对于评估数据库,可以不选该项。
    16).数据库内容
       选择 Sample Schemas。
       我们不使用定制脚本,因此单击 Next。
    17).初始化参数
       接受默认值,然后单击 Next。
    18).数据库存储
       接受默认值,然后单击 Next。
    19).创建选项
       选择 Create Database(默认值)并单击 Finish。
    20).确认
       检查完数据库详细信息后单击 OK。
    21).DBCA 显示一个操作列表和一个进度条。根据硬件的不同,数据库创建可能需要几分钟到几小时的时间。
    22).当数据库创建完成时,将显示一个显示摘要窗口。记下 Enterprise Manager URL,然后单击 Exit。
    注意:安装好asm后,数据库实例会在原来的实例名后面增加数字1,2,3等等

    如果要sqlplus顺利登陆的话,需要修改.bash_profile或者重设ORACLE_SID


    ASM database简单管理
     
    启动:
     srvctl start database -d test2

     查看

    crs_stat -t

    李世侠,网名caibird2005 , initdba , 战神

    MySQL DBA经验6年;

    Oracle DBA经验10年;

    精通MySQL HA架构,复制,备份,恢复,SQL优化;

    熟悉SHELL编程、Python编程、SQL&PL/SQL编程;

    MySQL OCP课程讲师;

    ORACLE官方认证OCM证书;

    BLOG: http://www.cnblogs.com/caibird2005 

              http://www.initdba.cn 

    Wechat: caibird2005 

    TEL :+86-186-5881-5300 +86-180-7290-8651 

  • 相关阅读:
    mysql dbrd脑裂问题
    iOS 跳转至AppStore评分页面
    UIButton的titleLabe setAttributeSting 首次不起作用
    IOS ScrollView放大缩小点击位置并居中
    UIScrollView 性能优化
    iOS UIButton单双击处理响应不同的方法
    正则表达式过滤手机号
    iOS8通讯录之联系人增删查,多号码增删操作
    CoreData 添加新字段
    一张图教你搞定Mac App Store 应用安装包存储路径
  • 原文地址:https://www.cnblogs.com/caibird2005/p/1509346.html
Copyright © 2020-2023  润新知