Redhat7.4安装oracle11.2.0.4版本数据库遇见的问题_oracle

一、描述

需要在redhat7.4版本上面安装11g版本oracle数据库

遇见问题:

1、裸盘处理

ASM能识别的裸盘的容量不能大于2048G,对于一个LUN大于2048G的,需要使用LVM进行切割。

  ①计算需要划分的数量以及大小

  fdisk -l  查看一个磁盘的大小,例如我这边是11520.6GB

  每个LVM的大小:

    11520.6*1000*1000*1000/(1024*1024*1024)=10729.3

    10729/6=1788.2G(这里得出大小约等于1788.2,可以稍微小一点点,防止最后一块空间不够,这里选取1788G大小)

  ②创建pv、vg、lv   (这里以sdb举例)

    pvcreate  /dev/sdb

    vgcreate -s 256m vg1  /dev/sdb

    lvcreate -n lv1 -L 1788g vg1

    lvcreate -n lv1 -L 1788g vg2

    .....

  ③创建RAW裸设备

  raw /dev/raw/raw11 /dev/vg1/lv1

  raw /dev/raw/raw12 /dev/vg1/lv2

  .....

  ④给裸设备设置权限

  chown -R grid:oinstall /dev/raw/raw11

  chomod -R 660   /dev/raw/raw11

  .....

2、grid安装报错问题

  (1)vnc连接之后无显示,蓝屏

  

  解决方法:

    检查是否安装了图形界面。检查出并未安装GUI图形化界面。

    配置一个redhat7.4的yum源,执行下面命令安装:

    #yum groupinstall "Server with GUI"

     安装成功之后可以正常显示

  

  (2)执行./runInstaller 之后报错DISPLAP  not set 

    

    解决方法:

      查看vnc链接的是哪个连接号(如我的是1),并设置:

      #export DISPLAY=localhost:1

      # xhost+     显示access control disabled, clients can connect from any host表示成功

      然后再次执行./runInstaller可正常弹出弹窗

  (3)在进行安装流程时,弹窗无法点击:

    

     解决方法:原因是jre的兼容问题,指定jre打开

      ./runInstaller  -jreLoc  /etc/alternatives/jre_1.8.0 

      这样打开能正常显示

  (4)安装前环境检查swap交换分区需要大于16G的警告

    解决方法:扩展swap分区

     #free -g   查看目前swap分区大小,计算需要添加的分区大小

    创建16G大小的交换分区:

    dd if=/dev/zero of=/home/swap bs=1024M count=16  #创建16Gswap空间

    /sbin/swapon /home/swap  #指定分区类型为swap

    /sbin/swapon /home/swap  #使分区有效

    /etc/fstab加入自动挂载:

    /home/swap  swap  swap defaults 0 0 

  

  (5) 执行root.sh报错ohasd failed to start:

    

   报错原因是

    redhat7中默认已经使用systemctl来启动服务,而11g中还是使用的init来启动服务,所以要新建ohas.service

    在RHEL 7中ohasd需要被设置为一个服务,在运行脚本root.sh之前。

    步骤如下:

    ①. 以root用户创建服务文件

      #touch /usr/lib/systemd/system/ohas.service

      #chmod 777 /usr/lib/systemd/system/ohas.service

    ②. 将以下内容添加到新创建的ohas.service文件中

      # cat /usr/lib/systemd/system/ohas.service
      [Unit]
      Description=Oracle High Availability Services
      After=syslog.target

      [Service]
      ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
      Restart=always

      [Install]
      WantedBy=multi-user.target

    ③. 以root用户运行下面的命令

      systemctl daemon-reload
      systemctl enable ohas.service
      systemctl start ohas.service
    ④. 查看运行状态

      # systemctl status ohas.service

      显示active就是正常

   (6)删除上次root.sh注册的信息报错:

    

      解决方法:系统执行安装 yum install perl-Env

    (7)生成ASM报错ins-20802,ora-15018和ora-15020

      

      

     解决方法:原因应该是裸盘重复,重新检查裸盘是否有多的

      #ll /dev/raw/raw*

       我的服务器在检查的时候看见多出不是我创建的raw设备,所以我将除了rawctl的多出的raw删除,创建需要的raw,检查正常之后重新安装之后正常生成ASM。

  

 3、安装数据库实例dbca报错ora-27102

  

  解决方法:设置环境/etc/sysctl.conf的kernel.shmall和kernel.shmmax参数大小

    按实际机器的内存大小进行计算得出结果:

  shmall 是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。
    修改 /etc/sysctl.conf
    kernel.shmmax=15461882265
    kernel.shmall=3774873
 
    执行生效 # sysctl -p

  

  

  

原文地址:https://www.cnblogs.com/chenxiaozan/p/13304877.html