zoukankan      html  css  js  c++  java
  • oracle RAC redhat


    RAC比较严格,如果操作系统不纯净,容易失败:

    装备第一台VM:
    chkconfig sendmail off
    chkconfig iptables off
    chkconfig ip6talbes off
    systemctl stop firewall.service
    systemctl disable firewall.service
    vi /etc/sysconf.... 关闭selinux

    ifconfig
    # 有两块网卡
    -----------
    system-config-network 图形化界面配置网络
    ---------------

    vi /etc/hosts

    XXXX网卡1 rac1
    XXXX网卡2 rac1-priv
    XXXX虚拟网卡1网段 rac1-vip


    XXXX网卡1 rac2
    XXXX网卡2 rac2-priv
    XXXX虚拟网卡1网段 rac2-vip

    XXX网卡1网段 scan
    ----------------------------------------
    改主机名:
    1、vi /etc/sysocnfig/network
    2、hostname XXX
    ----------------------------------------

    创建用户和用户组:
    groupadd oinstall
    groupadd dba
    groupadd oper
    groupadd asmadmin
    groupadd asmdba
    groupadd asmoper
    useradd -g oinstall -G dba,asmdba,asmadmin,asmoper grid
    useradd -g oinstall -G dba,oper,asmdba oracle

    passwd oracle
    # 输入密码; Abcd@1234
    passwd grid
    # 输入密码; Abcd@1234
    -------------------------------
    准备相关目录:


    su - oracle
    mkdir /u01
    chown -R oracle:oinstall /u01 ???两个都写
    chown -R grid:oinstall /u01

    su - grid
    mkdir /u01/app/oracle -p
    mkdir /u01/app/grid -p
    ---------------------------------------
    修改系统配置文件
    vi /etc/sysctl.cof
    添加:
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 536870912
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048586
    -------------
    vi /etc/securitu/limits.conf
    添加:
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle hard stack 10240
    grid soft nproc 2047
    grid hard nproc 16384
    grid soft nofile 1024
    grid hard nofile 65536
    grid hard stack 10240


    ---------------
    vi /etc/profile
    添加:
    if [ /$USER = "oracle" ] || [ /$USER = "grid" ]; then
    if [ /$SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    umask 022
    fi

    使配置生效:
    sysctl -p

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

    5、安装依存关系系统包:
    vi /etc/yum.repos.d/myoel.repo

    [dvdinfo]
    name=oel
    baseurl=file://iso/Server
    enable=1
    gpgcheck=0
    ----
    mount -o loop /mnt/hgfs/downlond/EnterXXX /iso
    -----
    yum makecache

    yum install -y binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel


    ------------------------------
    用户环境变量:
    vi /home/oracle/.bash_profile

    export ORACLE_SID=+ASM1
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid
    export PATH=$ORACLE_HOME/bin:$PATH

    让配置生效:
    ..bash_profile
    ------------------------------------
    关掉ntp的服务:
    su - root
    service ntpd stop
    mv /etc/ntp.conf /etc/ntp.conf.bak
    --------------------------------------------------------------
    配置完一台VM,直接复制VM,作为VM2,rac2

    --------------------------------------------------------------
    在windows下,创建一个目录,叫 shard_disks

    --------------------------------------------------------------
    因为我们用的是虚拟机,所以共享磁盘也得用虚拟机配置出来,方法如下:
    打开vmware station:
    创建共享磁盘:

    rac1 ---编辑--添加硬盘(模式选择独立---下一步大小1G,选择立刻分配所有磁盘空间---下一步浏览选择shared_disks,命名为orc1)
    在rac1再创建另外2个磁盘: D:VMshared_disksocr2,D:VMshared_disksocr3

    暂时不要开机,在rac1 VM所在目录,找到vmx后缀的文件,编辑:
    把scsi设备的位置,添加内容:

    disk.locking = "FALSE"
    diskLib.dataCacheMaxSize = "0"
    diskLib.dataCacheMaxReadAheadSize = "0"
    diskLib.dataCacheMinReadAheadSize = "0"
    diskLib.dataCachePageSize = "4096"
    diskLib.maxUnsyncedWrites = "0"

    scsi1.present = "TRUE"
    scsi1.sharedBus = "VIRTUAL"
    scsi1.virtualDev = "lsilogic"

    scsi1:0.present = "TRUE"
    scsi1:0.fileName = "D:VMshared_disksocr1"
    scsi1:0.writeThrough = "TRUE"
    scsi1:0.mode = "independent-persistent"
    scsi1:0.deviceType = "disk"

    scsi1:1.present = "TRUE"
    scsi1:1.fileName = "D:VMshared_disksocr2"
    scsi1:1.writeThrough = "TRUE"
    scsi1:1.mode = "independent-persistent"
    scsi1:1.deviceType = "disk"

    scsi1:2.present = "TRUE"
    scsi1:2.fileName = "D:VMshared_disksocr3"
    scsi1:2.writeThrough = "TRUE"
    scsi1:2.mode = "independent-persistent"
    scsi1:2.deviceType = "disk"


    在rac2的rac.vmx中添加同样的内容。
    然后开机;
    检查rac1和rac2 的IP和主机名
    ----------------------------------------
    在rac2中,
    su - grid
    vi .bash_profile
    修改为:
    export ORACLE_SID=+ASM2

    ..bash_profile
    --------------------------------
    建立两台服务器之间grid用户和oracle用户的ssh等效性认证:
    通讯确认心跳等,建立无密码的通讯

    grid用户的ssh等效性认证:
    rac1和rac2都配置:

    su - grid
    mkdir .ssh # 加. ,表示隐藏目录,正常情况不显示
    chmod 700 .ssh
    cd .ssh
    ssh-keygen -t dsa
    #一直回车
    ssh-keygen -t rsa
    #一直回车,一个rsa,接受的,一个是dsa,发送的

    在任何一个节点上操作,以在rac1上为例:
    cat id_rsa.pub >>authorized_keys
    cat id_dsa.pub >>authorized_keys
    # 把生成的两个密钥文件,加载到指定文件中

    ssh rac2 cat ~/.ssh/id_rsa.pub >>authorized_keys
    # 输入密码
    ssh rac2 cat ~/.ssh/id_dsa.pub >>authorized_keys
    # 同时把rac2的密钥文件也要加载到指定文件

    more authorized_keys # 可以看到所有密钥

    把这个密钥文件复制到rac2的目录中:
    scp authorized_keys rac2:~/.ssh/.

    --------------------------------------
    测试
    ssh rac1 data # 发现可以直接访问,不需要密码
    ssh rac2 data
    ssh rac2-priv data # 两个网卡都试一下
    -------------------------------------------------------
    准备磁盘:
    添加3快磁盘,
    先创建物理分区
    在任何一个节点上,如在rac1上:
    fdisk -l
    # 看到3块磁盘
    fdisk /dev/sdb
    n
    p
    1
    w
    同理:
    fdisk /dev/sdc
    fdisk /dev/sdd

    fdisk -l
    在rac2上,fdisk -l
    # 都可以看到分配好的分区,因为这些分区信息是写在磁盘里的,而不是系统上的,访问这个磁盘,就能看到这个分区信息。

    ----------------
    准备裸设备
    rac1和rac2上配置:

    vi /etc/udev/rules.d/60-raw.rules
    添加:
    ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
    ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
    ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
    KERNEL=="raw[1]", OWNER="grid", GROUP="oinstall", MODE="0660"
    KERNEL=="raw[2]", OWNER="grid", GROUP="oinstall", MODE="0660"
    KERNEL=="raw[3]", OWNER="grid", GROUP="oinstall", MODE="0660"

    然后:
    start_udev
    raw -qa
    # 能看到3个裸设备

    到此基本准备完成
    --------------------------------
    15、安装前的检查:

    su - grid
    在grid解压目录下运行(那个共享目录,如果重新加载,用mount -a,自动加载);
    cd /mnt/hgfs/download/grid
    ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose ----检查两个节点
    # runcluvfy.sh也就是oracle安装文件中,解压出来的一个脚本
    ---如果出现Could not get the type of storage 之类的错误,请检查有没有安装cvuqdisk-1.0.9-1.rpm,该包在目录grid/rpm目录下
    检查是否有错误的地方,仔细核对,直到测试成功

    ----------------------------------------------------
    在rac1
    xhost + # 回到桌面环境
    su - grid
    cd /mnt/hgfs/download/grid
    ./runInstaller # 开始安装


    ----------------------------
    图像化安装oracle:

    第一步,选择第一个 安装cluster

    第二步,对初学,选择typical
    第三步,scan name,填入/etc/hosts中定义的scan name
    添加rac1和rac2
    第四步:要填目录,不过之前环境变量都设置好了
    cluter registory,选Automasic storage managment(ASM)
    设置ASM密码
    第五步,磁盘组,命名OCR,冗余度选normal,勾选所有disk

    下一步,安装,安装完成,会提示执行脚本,再点击OK

    crs_stat -t ,查看群集状态,大部分显示online,

    ------------------------------
    之前的三块磁盘是个RAC用的,
    再准备磁盘,给数据库用

    关闭集群中所有服务:
    在rac1:
    /u01/app/grid/product/11.2.0/grid/bin/crs_stop -all
    没完全停服务,可以多执行几次

    rac1,rac2 关机。

    在rac1上,
    直接添加磁盘,在shared_disks目录下,叫data01,改成scsi2,不让造成拥挤。
    编辑配置文件 rac1.vmx
    修改为:
    scsi2.present = "TRUE"
    scsi2.sharedBus = "VIRTUAL"
    scsi2.virtualDev = "lsilogic"
    scsi2.deviceType = "disk"

    scsi2:0.present = "TRUE"
    scsi2:0.fileName = "D:VMshared_disksdata01"
    scsi2:0.writeThrough = "TRUE"
    scsi2:0.mode = "independent-persistent"
    scsi2:0.deviceType = "disk"

    scsi2:1.present = "TRUE"
    scsi2:1.fileName = "D:VMshared_disksdata02"
    scsi2:1.writeThrough = "TRUE"
    scsi2:1.mode = "independent-persistent"
    scsi2:1.deviceType = "disk"

    scsi2:2.present = "TRUE"
    scsi2:2.fileName = "D:VMshared_disksdata03"
    scsi2:2.writeThrough = "TRUE"
    scsi2:2.mode = "independent-persistent"
    scsi2:2.deviceType = "disk"

    同时编辑rac2的配置文件,rac.vmx
    参考之前的配置,
    创建分区,配置裸设备

    ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
    ACTION=="add", KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N"
    ACTION=="add", KERNEL=="sdg1", RUN+="/bin/raw /dev/raw/raw6 %N"
    KERNEL=="raw[4]", OWNER="grid", GROUP="oinstall", MODE="0660"
    KERNEL=="raw[5]", OWNER="grid", GROUP="oinstall", MODE="0660"
    KERNEL=="raw[6]", OWNER="grid", GROUP="oinstall", MODE="0660"

    开机,
    查看群集状态:
    crs_stat -t
    如果没有起来:
    /u01/app/grid/product/11.2.0/grid/bin/crs_start -all
    --------------------------
    使用ASMCA创建数据库使用的ASM磁盘组
    在rac1上
    xhost +
    su - grid
    asmca
    弹出图像化窗口:
    create
    命名data,冗余normal,勾选所以disk。

    --------------------------
    20、安装oracle数据库软件,现在还没开始安装oracle,之前配置的是rac

    创建目录;
    在rac1和rac2上都执行:
    su - root
    mkdir -p /u02
    chown -R oralce:oinstall /u02
    su - oracle
    mkdir -p /u02/app/oracle

    --------------------------------------
    准备oracle环境变量
    rac1上:
    su - oracle
    vi .bash_profile
    添加:
    export ORACLE_SID=racdb1
    export ORACLE_BASE=/u02/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export PATH=$ORACLE_HOME/bin:$PATH # 把oracle的路径加进入,再递归下PATH

    生效:
    ..bash_profile

    rac2上:
    su - oracle
    vi .bash_profile
    添加:
    export ORACLE_SID=racdb2
    export ORACLE_BASE=/u02/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export PATH=$ORACLE_HOME/bin:$PATH # 把oracle的路径加进入,再递归下PATH

    生效:
    ..bash_profile

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


    在oracle安装文件目录下,
    在rac1上
    xhost +
    su - oracle
    ./runInstaller
    安装过程一样;
    到94%,提示每个节点执行脚本,输入yyyy

    ------------------------
    任意节点上,如在rac1,创建数据库
    su - oracle
    dbca
    弹出图形化界面:
    第一步: 选择 oracle rac database
    第二步,create,之后就一样了。命名racdb,选择节点 rac1,rac2

  • 相关阅读:
    WP开发笔记——页面传参
    WP开发笔记——控件倾斜效果
    WP开发笔记——不同Item显示不同ApplicationBar:适用于Pivot与Panorama
    WP开发笔记——WP APP添加页面跳转动画
    WP开发笔记——去除 HTML 标签
    WP开发笔记——字符串 转 MD5 加密
    WP开发笔记——WP7 SDK使用技巧
    sphinx,coreseek安装
    yii2从零开始一,安装
    array_filter函数
  • 原文地址:https://www.cnblogs.com/lei2017/p/8179122.html
Copyright © 2011-2022 走看看