部署oracle rac单实例数据库,需要安装grid和datavase两部分,所以首先创建两个用户oracle和grid,因为不能使用root用户进行安装,在安装之前首先需要修改一些系统参数和安装一些库。

1.创建用户和用户组

  首先是官方推荐的用户和用户组清单:

描述 OS 组名 分配给该组的 OS 用户 Oracle 权限 Oracle 组名
Oracle 清单和软件所有者 oinstall grid、oracle    
Oracle 自动存储管理组 asmadmin grid SYSASM OSASM
ASM 数据库管理员组 asmdba grid、oracle ASM 的 SYSDBA OSDBA for ASM
ASM 操作员组 asmoper grid ASM 的 SYSOPER OSOPER for ASM
数据库管理员 dba oracle SYSDBA OSDBA
数据库操作员 oper oracle SYSOPER OSOPER

  然后是创建用户和用户组语句:

  1. # groupadd -g 1000 oinstall
  2. # groupadd -g 1200 asmadmin
  3. # groupadd -g 1201 asmdba
  4. # groupadd -g 1202 asmoper
  5. # useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid   
  6. # passwd grid
  7.  
  8. # groupadd -g 1300 dba
  9. # groupadd -g 1301 oper
  10. # useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d  /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
  11. # passwd oracle

2.创建 Oracle 基目录路径

  1. # mkdir -p /home/app/grid
  2. # mkdir -p /home/app/11.2.0/grid
  3. # chown -R grid:oinstall /home
  4. # mkdir -p /home/app/oracle
  5. # chown oracle:oinstall /home/app/oracle
  6. # chmod -R 775 /home

3.使用udev部署用于创建asm磁盘组的磁盘

  首先使用fdisk -l 查看所有的磁盘,然后fdisk /dev/sda (假设使用sda作为asm磁盘)进行分区,具体分区操作可百度,总之最后在用fdisk -l查看磁盘信息的时候可以看到/dev/sda  下有一个/dev/sda1

  然后打开/etc/udev/rules.d/文件夹创建一个99-oracle.rules文件,插入以下类似的语句:

  1. KERNEL=="sdb1",OWNER="grid",GROUP="asmadmin",MODE="0777"
  2. KERNEL=="sdd1",OWNER="grid",GROUP="asmadmin",MODE="0777"
  3. KERNEL=="sde1",OWNER="grid",GROUP="asmadmin",MODE="0777"

  这里使用了三个磁盘就写了三行,编写完毕保存退出。

  最后两个语句完成重新载入udev规则和重启udev:

  1. # udevadm control --reload-rules
  2. # start_udev

4.安装所需库:

  我全写成了一个yum安装语句:

  1. yum -y install binutils compat-libcap1 compat-libstdc* gcc gcc-c++* glibc glibc-devel ksh libgcc libstdc libaio libaio-devel make elfutils-libelf-devel sysstat

5.修改系统参数

  修改文件修改添加:

  1. # vim /etc/security/limits.conf
  2. grid soft nproc 2047
  3. grid hard nproc 16384
  4. grid soft nofile 1024
  5. grid hard nofile 65536
  6. oracle soft nproc 2047
  7. oracle hard nproc 16384
  8. oracle soft nofile 1024
  9. oracle hard nofile 65536
  10.  
  11. # vi /etc/pam.d/login
  12. session required pam_limits.so
  13.  
  14. # vi /etc/profile
  15. if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then
  16. if [ \$SHELL = "/bin/ksh" ]; then
  17. ulimit -p 16384
  18. ulimit -n 65536
  19. else
  20. ulimit -u 16384 -n 65536
  21. fi
  22. umask 022
  23. fi
  24.  
  25. # vi /etc/hosts
  26. 127.0.0.1 localhost oracletest
  27. ::1 localhost oracletest
  28.  
  29. # vi /etc/sysctl.conf
  30. kernel.shmmax = 4294967295
  31. kernel.shmall = 2097152
  32. kernel.shmmni = 4096
  33. kernel.sem = 250 32000 100 128
  34. fs.file-max = 6815744
  35. net.ipv4.ip_local_port_range = 9000 65500
  36. net.core.rmem_default=262144
  37. net.core.rmem_max=4194304
  38. net.core.wmem_default=262144
  39. net.core.wmem_max=1048576
  40. fs.aio-max-nr=1048576
  41.  
  42. # sysctl -p
  1. # chmod -R 775 /etc/oracle

6.解压安装包,database和grid都是./runInstall 运行安装界面,这里面的每一步我就不截图一点点来了,百度有很多的。

  下面是一些我遇到的问题,以及我的解决方法(仅参考)

  • 安装完grid之后可以不急着安装database,现在$GRID_HOME/bin/目录下运行asmca再增加其他asm磁盘组,这个也是图形化界面。
  • 安装database的时候可以选择只安装数据库软件,不安装数据库实例,等到数据库软件安装好了之后,在$ORACLE_HOME/bin/下运行dbca建数据库实例,选择asm磁盘作为数据存放路径。
  • grid和databse安装过程中会检测库是否安装完全,如果运行完成我之前的yum语句可忽略这次检测的异常。(仅参考)
  • grid卸载后重新安装时ASM磁盘识别不到了 :http://www.cnblogs.com/-abm/p/9240127.htm
    安装了一次磁盘已经有asm信息写入,需要擦除才能重新被识别到(of="需要擦除的磁盘")

  1. dd if=/dev/zero of=/dev/sdb1 bs=1M count=10
  • grid 安装过程中如果找不到udev部署的磁盘可能是因为权限的问题,可以参考一下我对这几个磁盘的所有者和所有组(仅参考)
  1. brwxrwxrwx. 1 grid asmadmin 8, 17 Oct 20 10:23 /dev/sdb1
  2. brwxrwxrwx. 1 grid asmadmin 8, 49 Oct 20 10:23 /dev/sdd1
  3. brwxrwxrwx. 1 grid asmadmin 8, 65 Oct 20 10:23 /dev/sde1
  • grid 安装过程中如果 root.sh执行 错误可以执行这句解决
  1. .$GRID_HOME/crs/install/roothas.pl -deconfig -force -verbose
  • grid 安装过程中如果 root.sh执行到一半停顿不动了,然后报错,可以在停顿的时候再另外的界面执行这个(11.2.0.1有这个bug,11.2.0.3我暂时没遇到过):
  1. # /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
  • dbca创建数据库时,找不到asm磁盘,可能是oracle用户没有权限,给oracle加上asm配置时的用户组就行 将oracle用户加到asmadmin用户组中 将grid用户加到dba用户组中

  • 机器重启后,如果数据库没有启动使用下面的语句可启动(参考https://blog.csdn.net/haiross/article/details/16861849)

  1. #./crsctl start has

7.设置开机自启

  • 1.在$GRID_HOME的bin目录下运行:
  1. #./crsctl modify resource "ora.cssd" -attr "AUTO_START=1"
  2. #./crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"
  3. #./crsctl enable has
  • 2.在/etc/init.d/ohasd 中添加(11.2.0.1有这个bug,11.2.0.3我暂时没遇到过)
  1. enable*)
  2. $LOGERR "Oracle HA daemon is enabled for autostart."
  3. /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1 &
  4. /home/grid/app/grid/product/11.2.0/grid/bin/crsctl start has &
  5. sleep 600
  6. ps -ef|grep dd|grep hasd|awk '{print $2}'|xargs kill -9
  7. ;;

  以上就是我遇到过的问题,,,配置系统参数那块是真的一点不能少或者错,不然后面安装必报错,看日志也不一定能定位问题,asm磁盘的那个部分其实可以使用openfiler添加网络磁盘,网络磁盘的扩容很简单不会因为机器放不下硬盘而扩容失败,这一块主要就是找一台专门的机器安装openfiler,然后oracle这块使用iscsi连接上openfiler,然后同样的分区,然后使用udev,编写规则,不一样的是这里的udev规则需要先获取使用磁盘id编写而不是磁盘的名字,因为openfiler挂载来的磁盘会发生漂移,没准机器重启之后原本挂载在sda的磁盘就变成sdb了所以使用磁盘id。

centos部署oracle rac单实例11.2.0.3数据库(使用asm磁盘)的更多相关文章

  1. Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0

    Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0 系统环境: 操作系统:RedHat EL6(64位) Oracle:    Oracle 11gR2 ...

  2. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  3. Oracle 19c单实例部署

    目录 Oracle 19c单实例部署: 1.配置yum: 2.安装rpm包: 3.设置hostname: 4.配置hostname解析: 5.配置时钟同步服务(ntp): 6.检查及配置内核参数: 7 ...

  4. Oracle DataBase单实例使用ASM案例(1)--ASM基本概念

    版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle DataBase单实例使用ASM案例(1)--ASM基本概念 系统环境: 操作系统:RH EL5-64 Oracle 软件: Ora ...

  5. oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate

    oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate --继昨天的测试,这一篇实施单实例双向复制(完全重新搭建) --环境不变 db1,db2( ...

  6. Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load

    Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load 2018-06-07 00:514730原创GoldenGate 作者: leo 本文链接:https://w ...

  7. Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化

    Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化 2018-06-07 13:455170原创GoldenGate 作者: leo 本文链接:https://www.cndba ...

  8. Oracle 11g 单实例到单实例OGG同步实施文档-EXPDP初始化

    Oracle 11g 单实例到单实例OGG同步实施文档-EXPDP初始化 2018-06-07 00:446470原创GoldenGate 作者: leo 本文链接:https://www.cndba ...

  9. Oracle 11g 单实例静默安装实战记录(linux)

    oracle 11g 单实例静默安装 AUTHOR:Oracle_Ran 环境规划: OS Version : Red Hat Enterprise Linux Server release 6.7 ...

随机推荐

  1. 1、Java简介

    Java SE: 最基础的部分,java的标准版本: Java EE: 企业版,(JSP.EJB.服务) Java ME:移动设备.游戏.通信 JVM: java virtual machine    ...

  2. 对象属性 Object.getOwnPropertyNames() Object.keys for...in

    1.Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组. Object.getOwn ...

  3. jira设置问题关闭之后不能继续编辑和添加备注

    设置工作流中的Closed步骤的工作流属性值,增加两个: jira.permission.comment.user:(空) jira.issue.editable:false Closed这个步骤之后 ...

  4. 详叙BeanWrapper和PropertyDescriptor

    每篇一句 千古以来要饭的没有要早饭的,知道为什么吗? 相关阅读 [小家Spring]聊聊Spring中的数据转换:Converter.ConversionService.TypeConverter.P ...

  5. SpringBoot快速入门01--环境搭建

    SpringBoot快速入门--环境搭建 1.创建web工程 1.1 创建新的工程. 1.2  选择maven工程,点击下一步. 1.3 填写groupid(maven的项目名称)和artifacti ...

  6. 和朱晔一起复习Java并发(五):并发容器和同步器

    本节我们先会来复习一下java.util.concurrent下面的一些并发容器,然后再会来简单看一下各种同步器. ConcurrentHashMap和ConcurrentSkipListMap的性能 ...

  7. micropython TPYBoard v201 简易的web服务器的实现过程

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 前言 TPYBoard v201开发板上搭载了以太网 ...

  8. 个人永久性免费-Excel催化剂插件功能修复与更新汇总篇之九

    第11波-快速批量插入图片并保护纵横比不变 原文链接:https://www.jianshu.com/p/9a3d9aa7ba7e 修复了插入图片有纵向的图片时,插入后还是显示横向的情况. 第83波- ...

  9. 通过自研数据库画像工具支持“去O”评估

    “去O”,是近些年来一直很火的一个话题,随之也产生了各种疑惑,包括现有数据库评估.技术选型等.去O是项系统工程,需要做好充分的评估.本文通过自研工具,生成数据库画像,为去O评估提供一手数据,希望给大家 ...

  10. MapRedue详细工作流程

    MapRedue详细工作流程 简述 (1)客户端submit之前获取待处理的数据信息,根据参数配置,形成一个任务分配的规划. (2)提交切片信息到YARN(split.xml,job.split,wc ...