• Oracle 12c RAC


    前提环境(ip,内核参数,环境变量,存储等等。。。)已准备好。

    (一)   安装grid

    1.   Grid用户登录上传并解压

    上传linuxx64_12201_grid_home.zip至/u01/app/product/12.2/crs

    解压压缩包

    $unzip linuxx64_12201_grid_home.zip

    以root用户登录

    安装cvuqdisk

    # cd /u01/app/product/12.2/crs/cv/rpm/

    # rpm -ivh cvuqdisk-1.0.10-1.rpm (所有节点都要安装)

    第二台服务器安装cvuqdisk

    将第一台服务器解压出来的cvuqdisk-1.0.10-1.rpm传至第二台服务器的grid根目录下

     

    # rpm -ivh cvuqdisk-1.0.10-1.rpm

    2.   配置互信

    qgzf1:

    以root登录

    #cd  /u01/app/product/12.2/crs/deinstall

    # sh sshUserSetup.sh -user grid -hosts "qgzf1 qgzf2" -advanced -exverify -confirm -noPromptPassphrase

    根据提示输入4次密码  grid

    切换grid用户执行以下命令(两台服务器都需要执行)

    # ssh-agent bash --login -i

    # ssh-add ~/.ssh/id_rsa

     

    ntzf1

    以root登录

    #cd  /u01/app/product/12.2/crs/deinstall

    # sh sshUserSetup.sh -user grid -hosts "ntzf1 ntzf2" -advanced -exverify -confirm -noPromptPassphrase

    根据提示输入4次密码  grid

    切换grid用户执行以下命令(两台服务器都需要执行)

    # ssh-agent bash --login -i

    # ssh-add ~/.ssh/id_rsa

     

    3.   开始安装grid

    打开终端

    #export LANG=en不输入此命令,则为中文界面

    #cd $ORACLE_HOME

    # ./gridSetup.sh

    如图所示,下一步

     

    下一步

     

    输入scan-name,下一步

    根据实际进行修改:scan name和SCAN port

    单击add,根据实际填写

    public hostname输入qgzf2

    virtual hostname输入qgzf2-vip

     单击2

    ssh 连接 输入 grid口令,点击测试

     单击3

    测试通过,单击4下一步

     

    单击下一步

     

    单击下一步

     

    选择YES,单击下一步

     

     

     如图diskgroup name输入ocr,选择外部,单击change discovery path选择多路径磁盘组路径 /dev/mapper/* 找到磁盘   下一步 (根据实际路径选择)

     如图diskgroup name输入MGMT,选择normal,单击change discovery path选择多路径磁盘组路径 /dev/mapper/* 找到磁盘   下一步

     

    选择如图所示,密码输入

     

    单击下一步

    单击下一步

      

     

     

      如果上述列表有swap空间大小错误则执行以下命令(大小需按实际情况确定)

    如:创建8个G的内存空间

    Root用户执行

    #dd if=/dev/zero of=/root/swapfile bs=1G count=8    //(8G)

    #mkswap /root/swapfile

    #swapon /root/swapfile

     如果有失败可以选fixable为yes的可以单击Fix & Check Again

    根据提示执行sh脚本即可

     

    如果ping scan IP能ping通可以忽略

    确定后点击跳过 下一步

     

     

    4.   创建磁盘组

    Grid用户登录

    #asmca

     

     右键选中未启动的实例启动

     

    点击创建 输入磁盘名data,全选磁盘,确定

     查看状态(grid用户)

    #crsctl stat res -t

     

    (二)   安装oracle

     

    以oracle用户登录 上传安装包linuxx64_12201_database到/u01/app/oracle目录下解压

    $unzip linuxx64_12201_database.zip

    1.   oracle配置互信

     以root登录

    #cd  /u01/app/oracle/database/sshsetup

    # sh sshUserSetup.sh -user oracle -hosts "ntzf1 ntzf2" -advanced -exverify -confirm -noPromptPassphrase

    根据提示输入4次密码  oracle

    切换oracle用户执行以下命令(两台服务器都需要执行)

    $ ssh-agent bash --login -i

    $ssh-add ~/.ssh/id_rsa

     

    oracle用户输入:

    vncserver :3

    登录vncserver

    2.   安装oracle基础软件

    oracle用户:

    $cd /u01/app/oracle/database/

    $./runInstaller

     

     

     

    如图提示下列失败点可忽略

     

    #sh /u01/app/oracle/product/12.2/db/root.sh

     

     

    3.   创建数据库实例

    # dbca

    归档,闪回后续开启

     

     

     

     如上图asm完整性检查失败则跳转到  创建磁盘组

    查看是否有实例未启动,手动启动后重新检查

     

     

    4.   创建表空间,及目录

    Grid用户

    #asmcmd 

    #ls                  (查看磁盘组)

    #cd +DATA            (进入,data)

    #ls                 (查看文件夹)

    #mkdir  tablespace   (创建表空间目录)

    #ls                 (确认)

    #quit               (退出)

    (三)   打补丁

    1.   补丁安装(漏扫打补丁)

    l  每一个节点都要执行

    l  更新OPatch

    l  # cd  /u01/app/product/12.2/crs/

    l  # mv OPatch OPatch_old     //备份OPatch

    l  上传p6880880_122010_Linux-x86-64.zip包至/u01/app/product/12.2/crs/目录解压

    l  # unzip p6880880_122010_Linux-x86-64.zip

    l  # chown grid:oinstall OPatch -R      //修改为grid权限

    l   

    l  # cd /u01/app/oracle/product/12.2/db/

    l  # mv OPatch OPatch_old

    l  # cp /u01/app/product/12.2/crs/OPatch /u01/app/oracle/product/12.2/db/ -frp

    l  # chown oracle:oinstall OPatch -R

    l  Root用户登录

    以下步骤rac1和rac2都要操作

    将补丁包p27010711_122010_Linux-x86-64.zip上传至/tmp目录下解压

     

    #unzip p27010711_122010_Linux-x86-64.zip

    第一步打GI(27100009补丁包)补丁(grid)和 (oracle)

    #chown grid:oinstall 27010711 -R   (修改grid权限)

    #srvctl status listener   (oralce用户关闭监听)单节点执行

    #srvctl stop listener

    #srvctl stop database -d orcl(oracle用户)关闭数据库

    #srvctl status database -d orcl -f -v 

    查看数据库实例,如有开启则sqlplus进去关闭

    #关闭crs (root)(双节点执行)

    #cd  /u01/app/product/12.2/crs/bin

    #./crsctl stop crs

    #/u01/app/product/12.2/crs/crs/install/rootcrs.sh  -prepatch -nonrolling

    #su – grid      切换grid用户

    #/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/26839277      (输入y)

    #依次打/tmp/27010711/27100009/目录下的补丁

    #/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27105253

    #/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27128906

    #/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27144050

    #/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27335416

    #su – oracle  切换oracle用户

    #/u01/app/oracle/product/12.2/db/OPatch/opatch apply -oh /u01/app/oracle/product/12.2/db/ -local /tmp/27010711/27100009/27335416/

    #/u01/app/oracle/product/12.2/db/OPatch/opatch apply -oh /u01/app/oracle/product/12.2/db/ -local /tmp/27010711/27100009/27105253/

    第二步打OJVM补丁包(27001739补丁包)(oracle)

    #/u01/app/oracle/product/12.2/db/OPatch/opatch apply -oh /u01/app/oracle/product/12.2/db/ -local /tmp/27010711/27001739/

    #如上双节点都执行完之后双节点执行如下

    #/u01/app/product/12.2/crs/crs/install/rootcrs.sh -postpatch -nonrolling(root用户,如果报错则重复执行一次)

    以下只在一个节点操作

    # ./crsctl start cluster -all  启动集群服务

     

    #sqlplus /as sysdba

    #startup

    #alter system set cluster_database=false scope=spfile

    #quit

    #$ORACLE_HOME/bin/srvctl stop database -d orcl

     

     

    #sqlplus /as sysdba

    #startup  upgrade

    #quit

    #cd  /u01/app/oracle/product/12.2/db/OPatch

    #./datapatch -verbose

     

    #sqlplus / as sysdba

    #shutdown

    #startup

    #quit

    #sqlplus / as sysdba

    #alter system set cluster_database=true scope=spfile

    # shutdown

    #quit

    #$ORACLE_HOME/bin/srvctl start database -d orcl

     

     

    查询是否有实效对象

    #sqlplus / as sysdba

    #select count(*) from dba_objects where status <> 'VALID';

     

    如果不为0则执行

     

    完成之后再查询是否为0

      

    (五)   常用命令

    Grid  or  oracle用户

    #srvctl stop database -d orcl   停止数据库实例

    #srvctl status database -d orcl -f -v  查看数据库实例

    #srvctl start database -d orcl  启动数据库实例

    #srvctl status asm -a 查看asm状态

    #crsctl stat res -t   grid,查看集群状态AA

     

    Root用户

    #cd /u01/app/product/12.2/crs/bin

    #./crsctl stop cluster -all  停止集群服务

    #./crsctl start cluster -all 启动集群服务

     

    查看已打补丁

    /u01/app/oracle/product/12.2/db/OPatch/opatch lsinv

  • 相关阅读:
    操作系统 Lab1 pmm
    ShardingJDBC分库分表
    SpringBoot实现人脸识别功能
    电商系统之订单系统
    Spring Boot进阶教程注解大全
    Java后台管理框架的开源项目
    数据库的优化包括哪些方面
    一致性hash和普通hash和hash槽
    ShardingJDBC 简介
    SpringBoot 项目模板摆脱步步搭建
  • 原文地址:https://www.cnblogs.com/doufy/p/10730042.html
Copyright © 2020-2023  润新知