精华内容
下载资源
问答
  • centos7安装oracle
    2020-04-28 11:36:12

    1 准备centos7的环境

    本文是再vmware虚拟机上部署centos7,数据库为oracle12。在实际环境中,我们一般都是用xshell等工具去连接centos7服务器的,没有图形界面,我们需要采用“静默安装”的方式去安装数据库,下面是我经过这段时间总结的经验,后文附有百度云资源链接(oracle12,Vmware,cenots7)

    2 上传oracle数据库

    上传文件,我这里使用的是ssh工具,

    3 安装过程

    • 1 关闭centos7的防火墙

    systemctl stop firewalld.service --关闭防火墙
    systemctl disable firewalld.service – 禁止防火墙开机启动
    systemctl status firewalld.service – 查看防火墙状态
    在这里插入图片描述

    • 2 创建用户组

    创建用户组oinstall和dba
    在这里插入图片描述
    在这里插入图片描述

    创建oracle用户
    在这里插入图片描述
    设置oracle用户密码
    在这里插入图片描述
    用户创建完成,检查创建用户的信息
    在这里插入图片描述

    • 3 安装必要的依赖包

    条件:Linux系统必须提供的互联网的环境
    使用yum方式安装,具体的有哪些包需要安装,去网上找找呗。

    • 4 修改系统文件(root用户)
      (1) selinux
      指令:vim /etc/selinux/config
      目的:修改参数“SELINUX”的值,修改为disabled
      在这里插入图片描述
      (2) sysctl.conf;(vim /etc/sysctl.conf)在配置文件后面天下绿框中的参数,修改配置文件后执行指令(sysctl -p)使文件生效
      在这里插入图片描述
      (3) limits.conf;(vim /etc/securitylimits.conf)在文件后面添加绿框中的参数
      在这里插入图片描述

    (4) login;(vim /etc/pam.d/login)
    在这里插入图片描述
    (5) profile;(vim /etc/profile)配置修改完成后需要执行指令(source /etc/profile)才能生效
    在这里插入图片描述

    • 5 配置oracle用户
      (1)创建目录
      (2)配置oracle用户的环境变量
      (3)上传数据库压缩包
      (4)复制相应的模板
      (5)设置权限

    6 静默安装配置
    (1)配置db_install.rsp
    (2)执行文件db_install.rsp
    (3)执行命令
    (4)修改oracle用户的环境变量
    (5)配置监听
    (6)静默建库配置文件修改
    (7)执行静默建库
    (8)数据库安装成功

    处理创建用户需要c##前缀的问题:
    alter session set “_ORACLE_SCRIPT”=true;

    创建表空间:
    –select name from v$datafile;
    –建立表空间(一般建N个存数据的表空间和一个索引空间):
    create tablespace KEYOU
    datafile ‘/usr/local/products/oradata/orcl/user/keyou.dbf’ size 1M
    autoextend on --自动增长
    next 10M --自动以10MB为单位增长

    资源连接:
    oracle 12c百度云链接:
    链接:https://pan.baidu.com/s/11y5UHi3GCIuJ8Rh5W_ahZw
    提取码:pzk8

    更多相关内容
  • 包含了安装过程中无法在系统中直接下载但需要的依赖包,compat-libstdc++-33-3.2.3-61.i386.rpm libaio-0.3.105-2.i386.rpm libaio-devel-0.3.105-2.i386.rpm libgcc-3.4.6-3.1.i386.rpm libstdc++-3.4.6-11.i386....
  • centos7安装oracle11g操作步骤+依赖包,实测好用! centos7+oracle11g所需要的所有rpm包,全部都在文档附件里。
  • centos7安装oracle19c安装依赖
  • Linux CentOS7安装Oracle11g安装方法指导成功安装,亲测可行。
  • centos7安装oracle 11gR2缺失的lib包,包含 libaio,compat-libstdc++-33-3.2.3-72.el7.x86_64 libreadline7-7.0-lp151.9.33.x86_64 pdksh-5.2.14-1.i386,unixODBC-2.3.4-7.fc27.x86_64,compat-libstdc++-33-3.2.3-...
  • 想用linux虚拟机装一个oracle,中间遇到的坑太多了,最后总算是安装好了,一定要写个全面的教程出来。 话不多说 通用编辑命令: vi test.txt #进入编辑...2.卸载CentOS7自带jdk1.8,安装自己的jdk并设置环境变量 rpm -q
  • CentOS7安装Oracle 11gR2 图文详解 CentOS7安装Oracle 11gR2 图文详解
  • SV_centos7安装oracle11G R2 rac,目前只分享前80页,有觉得写的比较好的,可以直接联系我。
  • CentOS Linux 环境, 以图形界面和纯字符界面2种方式,安装最新的 Oracle 18.3C 数据库
  • 此包为CentOS7环境安装oracle rac 所需的依赖包pdksh,包含两个rpm文件,亲测可用。
  • CentOS-7-x86_64-DVD linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 本教程是在VMware下安装的,注意设置内存的时候,不要设置动态内存。 安装Oracle前准备 创建运行oracle数据库的系统...
  • CentOS7离线安装oracle 11g_r2所有离线依赖包,并附详细安装说明,安装详细说明和依赖包,轻松在CentOS7安装oracle
  • centos7安装oracle12c

    2019-03-01 14:05:02
    该文档为我实际操作的安装记录,介绍了centos7配置oracle12c的方法,以及netca和dbca的步骤,并一并讲述了oracle12cEM的一些知识点。
  • 介绍了在centos7.x系统下安装oracle11gR2的详细步骤和方法(图文并茂),以及使用到的工具。
  • CentOS7@VMware:registered: Workstation 15 Pro,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB 二、软件准备 linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip SecureCRT 三、虚拟机的...
  • centos7安装oracle需要的依赖,适用于最小安装的centos。这些依赖应该是全了。 使用方式: 解压缩后,使用root用户上传文件到/usr/oracle 执行 chmod 777 * -R 为所有文件增加执行权。 进入package目录 rpm -Uvh --...
  • 超详细的centos7安装oracle19c RAC

    千次阅读 2021-09-13 19:43:52
    oracle vm virtualbox centos7 安装oracle 19c RAC 来公司已经一个多星期了,因为之前在学校学的是开发,所以运维对于我来说上手比较难,上来就是安装oracle19c,刚听到安装数据库时,感觉很开心,因为之前安装一个...

    oracle vm virtualbox centos7 安装oracle 19c RAC

    来公司几个星期了,因为之前在学校学的是开发,所以运维对于我来说上手比较难,在安装oracle19c时,与之前安装数据库完全不是一个概念,之前安装一个软件步骤特别简单,然而现在每一步都涉及到很多知识,在此过程中遇到了各种各样的错误,N次百度,N次请求导师帮助,下面是我在本次安装的步骤及遇到的错误。 希望能让大家在安装过程中少犯错误。

    一、环境准备

    网上都有下载链接,很简单。

    1. oracle vm virtualbox
    2. centos7镜像下载 阿里云免费镜像下载地址https://developer.aliyun.com/
    3. 创建两台虚拟机节点 注意:在安装节点的时候把GUI图像化选上,后面就不需要安装了。
    4. 配置3个网卡:仅主机host-only网络 内部网络 网络转换地址nat
    5. xshell 终端模拟软件/putty 自由选择

    二、检查安装环境

    1、检查centos7版本信息

    在安装完oracle vm virtualbox 并且创建节点以后,我们进入centos7 core 查看环境是否搭建好。

    [root@rac19c1 ~]#  cat /etc/centos-release
    CentOS Linux release 7.9.2009 (Core)
    

    2、配置静态ip

    因为后面我们需要使用到xshell,所以我们可以先配置静态ip,后面的操作在xshell上完成会比较方便。

    1.更改ifcfg-enp0s3名为ifcfg-eth0

    [root@rac19c1 ~]#cd /etc/sysconfig/network-scripts/
    
    [root@rac19c1 ~]# mv   ifcfg-enp0s3 ifcfg-eth0
    

    注意: 尽量修改为ifcfg-eth0,规范规范规范。

    2.开始配置静态Ip

    用vim或者vi 打开eth0的文件 修改内容如下

    vim /etc/sysconfig/network-scripts/
        
    BOOTPROTO=static #启用静态IP地址
    
    IPADDR=192.168.197.138 #设置IP地址
    
    NETMASK=255.255.255.0 #设置子网掩码
    
    ONBOOT="yes" #设置网卡自启动
    

    在这里插入图片描述

    3、禁用自动命名网卡

    编辑/etc/default/grub

    在变量GRUB_CMDLINE_LINUX后面加入“net.ifnames=0 biosdevname=0 ”来实现的。参数间以空格来间隔

    在这里插入图片描述

    4、重启

    重启之前运行命令grub2-mkconfig -o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。

    5、终端xshell连接虚拟机节点 一(上面配置的静态ip)

    打开xshell 通过ssh + 你配置的Ip连接。

    三、配置网卡信息

    1、配置网卡一(host-only网卡)的静态ip

    修改一下信息。

    在这里插入图片描述

    2、配置网卡二心跳Ip

    心跳ip的配置是我的网卡2(内部网络)上配置的

    [root@rac19c1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
    

    在这里插入图片描述

    注意1:心跳ip一定要在安装grid之前配置完成,可以Ping 连接上,不然会出错。

    如图:

    在这里插入图片描述

    注意2:配置完两个节点的public IP 和心跳ip以后 ,需要能够在节点一 通过ssh +节点二的ip 输入密码后切换到节点二(节点二也一样)

    如 :

    ssh rac19c2
    

    3、配置hosts文件

    [root@rac19c1 ~]# vim  /etc/hosts
    

    进入配置文件以后,需要配置public IP 、 private IP 、vip 、 scan IP 两个节点都需要配置。

    #public
    192.168.56.103 rac19c1
    192.168.56.105 rac19c2
    #vip
    192.168.56.106 rac19c1-vip
    192.168.56.107 rac19c2-vip
    #private ip 
    10.0.3.10  rac19c1-prv
    10.0.3.11  rac19c2-prv
    #scan ip 
    192.168.56.100  scan
    

    4、配置主机名

    通过 hostnamectl set-hostname 新名字

    5、禁用Transparent HugePages(oracle官方要求)

    Transparent HugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变。

    因为Transparent HugePages是在运行时动态分配内存的,所以会带来在运行时内存分配延误。所以ORACLE是建议不使用Transparent HugePages功能的,如果需要大页内存管理功能来加强性能,建议使用标准的大页内存管理。

    root@rac19c1 network-scripts# cat /sys/kernel/mm/transparent_hugepage/defrag
    
    [always] madvise never
    
    root@rac19c1 network-scripts# cat /sys/kernel/mm/transparent_hugepage/enabled
    
    [always] madvise never
    
    这个状态就说明都是启用的。
    
     
    

    编辑rc.local文件:

    root@rac19c1 ~# *vi /etc/rc.d/rc.local*
    

    增加下列内容:

    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
    
     echo never > /sys/kernel/mm/transparent_hugepage/enabled
    
     fi
    
    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
    
     echo never > /sys/kernel/mm/transparent_hugepage/defrag
    
     fi
    

    修改权限

    root@rac19c1 rc.d# chmod 775 rc.local
    

    四、服务器的基本配置

    4.1、检查物理内存

    尽量大一些用于Oracle Grid Infrastructure安装的至少8 GB RAM。

    [root@rac19c1 ~]# grep MemTotal /proc/meminfo
    MemTotal: 6109652 kB

    4.2、检查swap空间

    在4G到16G之间,可以oracle vm virtualbox 创建节点的时候把swap空间分配了。

    [root@rac19c1 ~]# grep SwapTotal /proc/meminfo
    SwapTotal:      12582908 kB
    

    也可以通过命令的方式创建swap空间

    1.查看swap空间的大小

    free -m

    在这里插入图片描述

    2.创建swap文件,并生效
    dd if=/dev/zero of=/swapfile bs=2M count=2048
    bs × count=你需要扩大的空间
    /dev/zero of  路径
    
    3.设置交换分区文件
    mkswap /swapfile
    
    4.启用交换分区文件
    swapon /swapfile
    

    注意:这个命令可能会提示*swapon: /swapfile: insecure permissions 0644, 0600 suggested.”*意思是建议把swap设置成644或600权限。

    5.在 /etc/fstab中添加如下一行,使之永久生效
    /swapfile swap swap defaults 0 0
    
    6.修改swapiness 参数

    在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
    查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
    可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:

    echo 10 >/proc/sys/vm/swappiness
    

    若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:

    vm.swappiness=10
    
    
    关闭SWAP

    当系统出现内存不足的时候,一致开启SWAP可能会因频繁换页操作,导致IO性能下降,如果要关闭SWAP,可以采用如下方法

    1、free -m 查询SWAP分区设置

    2、使用命令swapoff关闭SWAP,比如:

    swapoff /mnt/swap
    

    3、修改 /etc/fstab 文件,删除或注释相关配置,取消 SWAP 的自动挂载:

    4、 通过 free -m 确认 SWAP 已经关闭。

    5、 swappiness 参数调整:
    可以使用下述方法临时修改此参数,这里配置为 0%:
    echo 0 >/proc/sys/vm/swappiness
    若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf文件,并增加以下内容:
    vm.swappiness=0

    4.3、检查临时磁盘空间(/tmp)大小

    临时空间/tmp 可以在创建节点的时候进行分配 建议60G左右

    df -h /tmp

    [root@rac19c1 ~]# df -h /tmp
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   60G   21G   40G  35% /
    

    4.4、检查共享内存段(/dev/shm/)

    共享内存段:在配置节点的时候对/boot 进行空间分配 建议2G

    df -h /dev/shm/

    [root@rac19c1 ~]# df -h /dev/shm/
    Filesystem      Size  Used Avail Use% Mounted on
    tmpfs           2.0G  897M  1.2G  44% /dev/shm
    

    如果需要永久修改/dev/shm的值,需要修改/etc/fstab

    tmpfs /dev/shm tmpfs defaults,size=2G 0 0
    
    [root@raca /]# mount -o remount /dev/shm
    

    4.5、关闭防火墙

    禁用开机自启防火墙

    [root@rac19c1 /]# systemctl disable firewalld
    
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    
    [root@raca /]# systemctl is-enabled firewalld
    
    Disabled
    

    停止防火墙

    [root@rac19c1 /]# systemctl stop firewalld
    
    [root@rac19c1 /]# systemctl status firewalld
    
    ● firewalld.service - firewalld - dynamic firewall daemon
    
      Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
    
      Active: inactive (dead)
    
       Docs: man:firewalld(1)
    
     
    
    926 17:14:59 raca systemd[1]: Starting firewalld - dynamic firewall daemon...
    
    926 17:14:59 raca systemd[1]: Started firewalld - dynamic firewall daemon.
    
    926 17:55:32 raca systemd[1]: Stopping firewalld - dynamic firewall daemon...
    
    926 17:55:35 raca systemd[1]: Stopped firewalld - dynamic firewall daemon.
    

    4.6、关闭selinux

    在后面创建ASM共享磁盘的时候也需要关闭selinux 所以现在关闭。

    1.编辑 /etc/selinux/config 文件把SELINUX=enforcing改成disabled

    2.或者直接使用命令

    [root@rac19c1 ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
    
    查看当前selinux状态
    
    [root@rac19c1 ~]# getenforce
    
    Enforcing
    

    4.7 配置网络yum 或者网络yum(可不做,centos有默认官方源)

    4.7.1、挂载本地yum

    1、创建iso挂载路径

    [root@rac19c1 ~]# mkdir /mnt/cdrom
    

    2、挂载iso

    [root@rac19c1 ~]# mount  /root/ CentOS-7-x86_64-DVD-2009.iso  /mnt/cdrom
    

    3、创建server.repo

    [root@rac19c1 cdrom]# cd /etc/yum.repos.d/ 
    
    [root@rac19c1 yum.repos.d]# vi server.repo
    
    [server]
    
    name=Red Hat Enterprise Linux
    
    baseurl=file:///mnt/cdrom
    
    enabled=1
    
    gpgcheck=0
    
    4.7.2、挂载网络yum
    vi /etc/yum.repos.d/CentOS-Base.repo
    
    修改为以下内容 
    
    [base]
    
    name= yum repo
    
    baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
    
    enabled=1
    
    gpgcheck=0
    

    注意: 清理yum 可以使用yum clean命令。

    注意:上传本地文件到虚拟机中有几种方法

    第一种:rz 命令

    1.安装rz和sz

    yum install -y lrzsz
    

    2.使用rz进行文件上传

    敲入rz命令就会出现上传的窗口选择需要上传的文件即可
    在这里插入图片描述

    3.下载命令sz

    sz + 文件名

    第二种

    直接在xshell 软件找到新建文件传输进行上传 相比来说第二种要快一些。

    在这里插入图片描述

    第三种

    在虚拟机上创建共享文件夹即可共享本地文件夹
    在这里插入图片描述

    在这里插入图片描述

    4.8、临时解决中文乱码

    如果安装中文,由于oracle安装向导无法识别中文字体,终端临时设置语言环境变量

    export LANG=en_US
    
    export LC_ALL=en_US
    

    4.9、安装图形化桌面

    安装X窗口系统

    [root@rac19c1 ~]# yum groupinstall "X Window System"
    

    检查一下我们已经安装的软件以及可以安装的软件

    [root@rac19c1 ~]# yum grouplist
    

    安装图形界面软件 GNOME

    [root@rac19c1 ~]# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
    

    如果想要使系统启动即为图形化窗口,需要执行下面的命令

    [root@rac19c1 ~]# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
    

    重启

    注意: 建议在用oracle vm virtualbox 安装节点的时候选择GUI安装,因为一般不会出现错误。

    五、配置ASM共享磁盘

    1.打开虚拟机, 找到虚拟介质管理

    在这里插入图片描述

    2.创建新的vdi

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfKSNRH7-1631533424434)(C:\Users\zhengmingyu3\AppData\Roaming\Typora\typora-user-images\image-20210913160945137.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yStZSGb4-1631533424435)(C:\Users\zhengmingyu3\AppData\Roaming\Typora\typora-user-images\image-20210913161014855.png)]

    3.选择固定大小,点击下一步。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZEU8cmrH-1631533424437)(C:\Users\zhengmingyu3\AppData\Roaming\Typora\typora-user-images\image-20210913161200771.png)]

    4.选择保存到的文件夹及空间选择

    在这里插入图片描述

    5.点击创建 , 然后把类型改为可共享

    在这里插入图片描述

    6.分别加入到节点一和节点二

    在这里插入图片描述

    7.下载安装oracleasm-support驱动包

    下载连接:https://www.oracle.com/linux/downloads/linux-asmlib-rhel7-downloads.html

    8.为RAC分配共享磁盘

    打开节点一或者节点二虚拟机都可以,用xshell工具连接虚拟机,如下图sda1-sda3为安装操作系统时所建立的分区。sdb-sdf为虚拟机创建的共享磁盘组

    我的这个是已经配置好的,所以多出了/sdb1 /sdc1 sdd1 /sde1 /sdf1

    [root@rac19c1 ~]#  ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1  /dev/sde  /dev/sde1  /dev/sdf  /dev/sdf1
    

    9.创建主分区

    为所创建的每一个共享磁盘组创建一个主分区。(每一磁盘都应该遵照如下命令操作)

    [root@rac19c1-priv ~]# fdisk  /dev/sdb
    
    Device contains neither a valid DOS partition table,nor Sun,SGI or OSF disk label Building a new DOS label.Change will remain in memory only,util you decide to write them...
    
    Command (m for help):n
    
    Command action
    
      e  extended
    
      p  primary partition(1-4)
    
      p
    
    Partition number(1-4):1
    
    First cylinder (1-1305,default 1):
    
    …
    
    Last cylinder or +size or +sizeM or +sizeK(1-1305,default 1305):Command(m for help):p
    
    …
    
    Command (m for help):w
    
    The partition table has been altered!
    
    …
    
    Syncing disks.
    

    10.再次查看就磁盘分区

    [root@rac19c1 ~]#  ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1  /dev/sde  /dev/sde1  /dev/sdf  /dev/sdf1
    

    11.配置oracleasm

    [root@rac19c1~]# oracleasm configure -i
    
    Configuring the Oracle ASM library driver.
    
     
    
    This will configure the on-boot properties of the Oracle ASM library
    
    driver.  The following questions will determine whether the driver is
    
    loaded on boot and what permissions it will have.  The current values
    
    will be shown in brackets ('[]').  Hitting <ENTER> without typing an
    
    answer will keep that current value.  Ctrl-C will abort.
    
     
    
    Default user to own the driver interface [grid]: grid    //本名字跟后面安装grid的名字一样,否则会执行不了roo.sh脚本。
    
    Default group to own the driver interface [dba]: dba
    
    Start Oracle ASM library driver on boot (y/n) [y]: y
    
    Scan for Oracle ASM disks on boot (y/n) [y]:
    
    Writing Oracle ASM library driver configuration: done
    

    12.初始化oracleasm

    [root@rac19c1 ~]# /usr/sbin/oracleasm init
    
    Loading module “oracleasm”:oracleasm
    
    Mounting ASMlib driver filesystem:/dev/oracleasm
    

    13.标记共享磁盘

    [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskb /dev/sdb1
    
    Writing disk header: done
    
    Instantiating disk: done
    
    [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskc /dev/sdc1
    
    Writing disk header: done
    
    Instantiating disk: done
    
    [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskd /dev/sdd1
    
    Writing disk header: done
    
    Instantiating disk: done
    
    [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diske /dev/sde1
    
    Writing disk header: done
    
    Instantiating disk: done
    
    [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskf /dev/sde1
    
    Writing disk header: done
    
    Instantiating disk: done
    
    

    14.刷新ASM磁盘配置

    [root@rac119c1 ~]# /usr/sbin/oracleasm scandisks
    
    Reloading disk partitions: done
    
    Cleaning any stale ASM disks...
    
    Scanning system for ASM disks...
    

    15.查看共享磁盘

    [root@rac19c1 ~]#  /usr/sbin/oracleasm listdisks
    DISKB
    DISKC
    DISKD
    DISKE
    DISKF
    

    16.重启,并且将磁盘加入到节点二。

    17.查看已挂载的磁盘

    fdisk - l| grep dev
    在这里插入图片描述

    18.修改共享存储udev规则

    在节点1和节点2,固定设备名称并且赋予grid属性,执行如下命令,用来生成udev规则

    1 取得DM_UUID

    for i in b c d e
    
    do
    
    echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\",ENV{ID_SERIAL}==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd$i`\",SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" 
    
    done
    

    得出以下信息

    KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c455267414f436e6e2d76384d312d316b7558",SYMLINK+="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c4552657957564f782d624d55642d48354474",SYMLINK+="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c4552594e4677496c2d413156592d6d6c5536",SYMLINK+="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c4552485a617444642d446536762d4141304e",SYMLINK+="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
    

    执行

    [root@rac19c1 ~]# /usr/bin/udevadm control --reload
    
    [root@rac19c1 ~]# /usr/bin/udevadm trigger --type=devices --action=change
    
    [root@rac19c1 ~]# ls -l /dev/asm*
    

    在这里插入图片描述

    六、装Oracle依赖包

    1. rpm-qa |greb bc
    2. yum install compat-libcap1 bc  binutils  compat-libcap1 compat-libstdc++-33 elfutils-libelf  elfutils-libelf-devel  fontconfig-devel  glibc  glibc-devel  ksh  libaio libaio-devel libX11
     libXau libXi libXtst libXrender libXrender-devel libgcc  libstdc++  libstdc++-devel  libxcb  make  smartmontools  sysstat net-  tools  nfs-utils openssh
    

    在安装的时候有可能这两个包 gcc-c+±4.8.5-44.el7.x86_64.rpm libstdc+±devel-4.8.5-44.el7.x86_64.rpm安装不上,需要到网上下载。自己安装。

    七、创建GRID和oracle安装目录及环境变量

    1、添加GRID和oracle的组

    /usr/sbin/groupadd -g 1001 oinstall
    
    /usr/sbin/groupadd -g 1002 dba
    
    /usr/sbin/groupadd -g 1003 oper
    
    /usr/sbin/groupadd -g 1004 asmdba
    
    /usr/sbin/groupadd -g 1005 asmoper
    
    /usr/sbin/groupadd -g 1006 backupdba
    
    /usr/sbin/groupadd -g 1007 dgdba
    
    /usr/sbin/groupadd -g 1008 kmdba
    
    /usr/sbin/groupadd -g 1009 racdba
    
    /usr/sbin/groupadd –g 1010 asmadmin
    
    添加GRID和oracle的用户
    
    useradd -u 1001 -g oinstall -G asmdba,dba,oper,backupdba,dgdba,kmdba,racdba -d /home/oracle oracle
    
    useradd -u 1002 -g oinstall -G dba,asmdba,asmadmin,racdba,asmoper -d /home/grid grid
    
    修改密码
    
    将oracle用户密码修改为oracle,将grid用户密码修改为grid
    
    [root@rac1 ~] echo "oracle" | passwd --stdin oracle
    
    [root@rac1 ~] echo "oracle" | passwd --stdin grid
    
    
    

    2、创建GRID和oracle安装路径

    mkdir -p /u01/app/19.0.0/grid
    
    mkdir -p /u01/app/oraInventory
    
    chown -R grid:oinstall /u01/app/oraInventory
    
    chmod -R 775 /u01/app/oraInventory
    
     mkdir -p /u01/app/grid
    
    mkdir -p /u01/app/oracle
    
    chown -R grid:oinstall /u01
    
    chown oracle:oinstall /u01/app/oracle
    
    chmod -R 775 /u01/
    
    [root@rac19C1 home]# mkdir -p /u01/app/oracle/product/19.0.0/db_1
    
    [root@rac19C1 home]# chown oracle:oinstall /u01/app/oracle/product/19.0.0/db_1
    

    3、创建GRID和oracle的环境变量

    节点1 grid

    [oracle@rac19c1:/home/oracle]$su - grid
    Password: 
    Last login: Mon Sep 13 15:41:05 CST 2021
    Last failed login: Mon Sep 13 15:46:54 CST 2021 on pts/1
    There was 1 failed login attempt since the last successful login.
    [grid@rac19c1:/home/grid]$vi  ~/.bash_profile
    

    添加下面内容

    PS1="[`whoami`@`hostname`:"'$PWD]$'
    export PS1
    umask 022
    export TMP=/tmp
    export LANG=en_US
    export TMPDIR=$TMP
    ORACLE_SID=+ASM1; export ORACLE_SID
    ORACLE_TERM=xterm; export ORACLE_TERM
    ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
    ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
    NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
    PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    THREADS_FLAG=native; export THREADS_FLAG
    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
    

    节点2 grid

    [oracle@rac19c2:/home/oracle]$su - grid
    Password: 
    Last login: Mon Sep 13 17:24:45 CST 2021
    Last failed login: Mon Sep 13 17:25:44 CST 2021 on pts/0
    There was 1 failed login attempt since the last successful login.
    [grid@rac19c2:/home/grid]$ vi  ~/.bash_profile
    

    添加下面内容

    PS1="[`whoami`@`hostname`:"'$PWD]$'
    
    export PS1
    
    umask 022
    
    export TMP=/tmp
    
    export LANG=en_US
    
    export TMPDIR=$TMP
    
    ORACLE_SID=+ASM2; export ORACLE_SID
    
    ORACLE_TERM=xterm; export ORACLE_TERM
    
    ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
    
    ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
    
    NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
    
    PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
    
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    
    THREADS_FLAG=native; export THREADS_FLAG
    
    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
    

    节点1 oracle

    [root@rac19c1 ~]# su - oracle
    Last login: Mon Sep 13 10:52:07 CST 2021
    [oracle@rac19c1:/home/oracle]$vi ~/.bash_profile
    

    添加下面内容

    PS1="[`whoami`@`hostname`:"'$PWD]$'
    export PS1
    export TMP=/tmp
    export LANG=en_US
    export TMPDIR=$TMP
    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_HOME
    ORACLE_SID=orcl1; export ORACLE_SID
    ORACLE_TERM=xterm; export ORACLE_TERM
    NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
    PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/db_1/bin:$ORACLE_HOME/bin; export PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    THREADS_FLAG=native; export THREADS_FLAG
    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
    
    

    节点2 oracle

    [root@rac19c2 ~]# su - oracle
    Last login: Mon Sep 13 01:49:50 CST 2021 on pts/0
    [oracle@rac19c2:/home/oracle]$vi ~/.bash_profile
    

    添加下面内容

    PS1="[`whoami`@`hostname`:"'$PWD]$'
    export PS1
    export TMP=/tmp
    export LANG=en_US
    export TMPDIR=$TMP
    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_HOME
    ORACLE_SID=orcl2; export ORACLE_SID
    ORACLE_TERM=xterm; export ORACLE_TERM
    NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
    PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/db_1/bin:$ORACLE_HOME/bin; export PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    THREADS_FLAG=native; export THREADS_FLAG
    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 
    

    修改root环境变量

    加入grid用户$ORACLE_HOME

    [root@rac19c1 ~]# vi ~/.bash_profile
    
     PATH=$PATH:/u01/app/19.0.0/grid/bin:$HOME/bin
    

    在这里插入图片描述

    4、修改sysctl.conf参数

    解释:/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。也就是说/proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系。

    [grid@rac19c1:/home/grid]$su - root
    Password: 
    Last login: Mon Sep 13 15:39:20 CST 2021 on pts/1
    Last failed login: Mon Sep 13 15:51:20 CST 2021 on pts/1
    There was 1 failed login attempt since the last successful login.
    [root@rac19c1 ~]# vi /etc/sysctl.conf
    
    添加以下参数
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744         #这个参数表示进程可以同时打开的最大句柄数,这个参数直接限制最大并发连接数。
    kernel.shmmax = 15461882265
    kernel.shmall = 3774873
    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     #rmem_max:这个参数表示内核套接字接收缓存区默认的最大大小。
    net.core.wmem_default = 262144  #wmem_default:这个参数表示内核套接字发送缓存区默认的大小。
    net.core.wmem_max = 1048586     #wmem_max:这个参数表示内核套接字发送缓存区默认的最大大小。
      
    

    5、修改20-nproc.conf

    解释:查看修改Linux最大进程数和最大文件数的方法

    修改/etc/security/limits.d/20-nproc.conf
    [root@rac19c1 ~]vi /etc/security/limits.d/20-nproc.conf
    # Change this
    #注释这行*          soft    nproc    1024
    # To this增加下面一行
    * - nproc 16384
    

    6、修改limits.conf

    解释:limits.conf用于实现对用户资源进行限制,如进程数/文件数等等。

    文件存放在目录:/etc/security/limits.conf

    [root@rac19c1 ~]vi /etc/security/limits.conf
    #ORACLE SETTING
    grid  soft  nproc 16384
    grid  hard  nproc 16384
    grid  soft  nofile 1024
    grid  hard  nofile 65536
    grid  soft  stack 10240
    grid  hard  stack 32768
    oracle soft nproc 16384
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack  10240
    oracle hard stack  32768
    oracle hard memlock 3145728
    oracle soft memlock 3145728
    

    7、修改/etc/pam.d/login文件

    解释:etc目录下包括pam.d目录,在pam.d目录下还有个login子目录。etc指的系统配置文件目录,pam.d指的是验证登陆配置,login是登陆配置文件。

    简单说就是linux操作系统的登陆配置文件。

    [root@rac19c1 ~]vi /etc/pam.d/login
    
    #ORACLE SETTING
    
    session   required   pam_limits.so
    

    8、停止avahi-daemon服务

    解释:avahi-daemon是一种Linux操作系统上运行在客户机上实施查找基于网络的Zeroconf service的服务守护进程。 该服务可以为Zeroconf网络实现DNS服务发现及DNS组播规范。 用户程序通过Linux D-Bus信息传递接收发现到网络服务和资源的通知。 该守护进程配合缓存用户程序的答复,以帮助减少因答复而产生的网络流量。

    两个节点分别操作

    查看进程 ps –ef |grep avahi-daemon

    停止服务 systemct stop avahi-daemon

    systemctl disable avahi-daemon.socket

    systemctl disable avahi-daemon.service

    9、添加NOZEROCONF=yes参数

    解释: Zero Configuration Network (ZEROCONF)。ZEROCONF又被叫做 IPv4 Link-Local (IPv4LL)和 Automatic Private IP Addressing (APIPA)。它是一个动态配置协议,系统可以通过它来连接到网络。 那有没有办法禁用ZEROCONF呢?

    可以通过在 “/etc/sysconfig/network” 文件中增加一行“NOZEROCONF=yes”来达到这个目的。
    其实,给 NOZEROCONF 赋任意值都是同样的效果,从上面的代码就可以看出,它只检测 NOZEROCONF 是否为空。
    当然,修改完 “/etc/sysconfig/network” 之后,必须重启网络才能生效:/etc/init.d/network restart

    [root@rac19c1]# vi /etc/sysconfig/network
    
    NOZEROCONF=yes
    

    八、安装GRID

    1、上传集群软件包

    在节点1上传grid, oracle安装包

    cd /home/gg
    在这里插入图片描述
    解压搭配grid 配置环境变量时指定的路径

    unzip  LINUX.X64_193000_db_home.zip -d /u01/app/19.0.0/grid/ 
    

    2、互信配置

    注意: 在进行互信配置的时候不能在root用户下进行配置,因为在root用户下配置始终是需要输入密码的。

    grid 用户配置

    [grid@rac19c1 scripts]# /home/gg/oui/prov/resources/scripts/sshUserSetup.sh -user grid -hosts "rac19c1 rac19c2" -advanced –noPromptPassphrase
    

    oracle 用户配置

    [oracle@rac19c1 scripts]# /home/gg/oui/prov/resources/scripts/sshUserSetup.sh -user oracle -hosts "rac19c1 rac19c2" -advanced –noPromptPassphrase
    

    3、执行脚本gridSetup.sh

    进入到/u01/app/19.0.0/grid/执行脚本 ./gridSetup.sh
    在这里插入图片描述
    注意:第一次执行一般会出现两个错误,一个是需要我们在grid 用户下执行脚本,第二个是需要我们配置图形显示 环境变量设置 。

    如:export DISPLAY=10.54.18.202:0.0 查看电脑的ip地址 加上:0.0

    如果解压的时候是在root用户上进行解压的话,可以通过命令chown -R grid:oinstall /u01/app/19.0.0/grid/ 更改权限。
    在这里插入图片描述
    4、开始安装grid

    1.创建新的集群
    在这里插入图片描述
    在这里插入图片描述

    2.配置集群名称以及scan名称

    注意:scan name必须和 /etc/hosts里面scan的名字一样,cluster name 可以默认不改

    在这里插入图片描述

    4.配置节点互信

    配置节点互信的时候,要保证心跳ip能互相ping得通,否则后期安装很容易出现异常。

    除了默认节点一的pubic 和vip 的名字外 需要把节点一的也添加上去。

    在这里插入图片描述
    在这里插入图片描述

    注意:

    常见错误:

    点击test /setup 不成功

    解决方法:

    按住ctrl 选中两个节点测试或者 /setup ,或者是因为密码输入不正确,输入正确密码即可。

    5.公网私网段选择

    在这里插入图片描述

    6、选择asm存储

    在这里插入图片描述

    7、选择配置GIMR

    在这里插入图片描述

    8、选择asm磁盘组

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ual0e83V-1631601978811)(C:\Users\zhengmingyu3\AppData\Roaming\Typora\typora-user-images\image-20210914105147751.png)]

    9、创建sys和asm密码在这里插入图片描述

    10、默认

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    11、确认gird base目录

    一定要和grid的配置文件里面的路径相同

    在这里插入图片描述

    12、保持默认

    在这里插入图片描述

    13、这里可以自动执行root脚本,不自动执行,不选。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aGLIacVJ-1631601978816)(C:\Users\zhengmingyu3\AppData\Roaming\Typora\typora-user-images\image-20210914105743594.png)]

    14、检测到没有gcc-c++,装下,其他不管。选择ignore all

    在这里插入图片描述

    15、安装前摘要

    在这里插入图片描述

    16、执行脚本

    当提示框弹出来的时候,我们先在节点一上使用root用户执行脚本,执行完成执行节点二的脚本。

    执行过程中,会遇到各种各样的问题,1。ASM磁盘的名字不对 2.和节点二的互信不同

    解决: 重新配置ASM将宿主名字改为grid,即可完成;重新配置心跳IP

    在这里插入图片描述

    执行脚本如下;

    [root@raca home]# /u01/app/oraInventory/orainstRoot.sh
    Changing permissions of /u01/app/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    
    Changing groupname of /u01/app/oraInventory to oinstall.
    The execution of the script is complete.
    [root@raca home]# /u01/app/19.0.0/grid/root.sh
    Performing root user operation.
    
    The following environment variables are set as:
        ORACLE_OWNER= grid
        ORACLE_HOME=  /u01/app/19.0.0/grid
    
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...
    
    
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root script.
    Now product-specific root actions will be performed.
    Relinking oracle with rac_on option
    
    Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_params
    The log of current session can be found at:
      /u01/app/grid/crsdata/raca/crsconfig/rootcrs_raca_2020-10-01_05-20-45AM.log
    2020/10/01 05:20:56 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
    2020/10/01 05:20:57 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
    
    
    2020/10/01 05:20:57 CLSRSC-363: User ignored prerequisites during installation
    2020/10/01 05:20:57 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
    2020/10/01 05:20:59 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
    2020/10/01 05:21:00 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
    2020/10/01 05:21:00 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
    2020/10/01 05:21:00 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
    2020/10/01 05:21:29 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
    2020/10/01 05:21:35 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
    2020/10/01 05:21:37 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
    2020/10/01 05:21:46 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
    2020/10/01 05:21:46 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
    2020/10/01 05:21:51 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
    2020/10/01 05:21:51 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
    2020/10/01 05:22:14 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
    2020/10/01 05:22:19 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
    2020/10/01 05:22:24 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
    2020/10/01 05:22:28 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
    
    已成功创建并启动 ASM[DBT-30001] 已成功创建磁盘组。有关详细信息, 请查看 /u01/app/grid/cfgtoollogs/asmca/asmca-201001上午052301.log。
    
    2020/10/01 05:24:15 CLSRSC-482: Running command: '/u01/app/19.0.0/grid/bin/ocrconfig -upgrade grid oinstall'
    CRS-4256: Updating the profile
    
    Successful addition of voting disk c48689c860fd4fa2bfe4fcfcbdae0c38.
    Successful addition of voting disk bbdd94ae3dd14f26bf0d1abfa2767f1d.
    Successful addition of voting disk 5a17bd17e9dd4f73bf0e78f7fb28d71c.
    Successfully replaced voting disk group with +crs_gimr.
    CRS-4256: Updating the profile
    CRS-4266: Voting file(s) successfully replaced
    ##  STATE    File Universal Id                File Name Disk group
    --  -----    -----------------                --------- ---------
     1. ONLINE   c48689c860fd4fa2bfe4fcfcbdae0c38 (/dev/asm-diskb) [CRS_GIMR]
     2. ONLINE   bbdd94ae3dd14f26bf0d1abfa2767f1d (/dev/asm-diskc) [CRS_GIMR]
     3. ONLINE   5a17bd17e9dd4f73bf0e78f7fb28d71c (/dev/asm-diskd) [CRS_GIMR]
    Located 3 voting disk(s).
    2020/10/01 05:25:47 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
    2020/10/01 05:27:18 CLSRSC-343: Successfully started Oracle Clusterware stack
    2020/10/01 05:27:18 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
    2020/10/01 05:28:50 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
    2020/10/01 05:29:22 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
    
    

    17、安装完成

    在这里插入图片描述

    九、安装数据库软件

    1、找到数据库安装包,解压

    在这里插入图片描述
    解压到

    unzip   LINUX.X64_193000_db_home.zip  -d /u01/app/oracle/product/19.0.0/db_1
    

    解压完成,进入

    cd  /u01/app/oracle/product/19.0.0/db_1
    

    目录执行 ./runInstaller

    注意:第一次执行一般会出现两个错误,一个是需要我们在grid 用户下执行脚本,第二个是需要我们配置图形显示 环境变量设置 。

    如:export DISPLAY=10.54.18.202:0.0 查看电脑的ip地址 加上:0.0

    如果解压的时候是在root用户上进行解压的话,

    可以通过命令

    chown -R grid:oinstall /u01/app/oracle/product/19.0.0/db_1 更改权限。
    

    2、选择software only

    在这里插入图片描述

    3、选择RAC

    在这里插入图片描述

    4、ssh互信验证

    在这里插入图片描述

    5、保持默认

    在这里插入图片描述

    6、保持默认

    在这里插入图片描述

    7、保持默认

    在这里插入图片描述

    8、不选

    在这里插入图片描述

    9、检查忽略

    在这里插入图片描述

    10、安装

    在这里插入图片描述

    在这里插入图片描述

    11、root下执行脚本

    这里根据提示来进行具体是哪一个节点来执行脚本。

    在这里插入图片描述

    12、database安装完成

    在这里插入图片描述

    十、DBCA创建实例

    1、asm创建+data

    执行之前同上一样,需要配置图像化界面变量,以及赋予权限。

    [grid@rac19c1:/home/grid]$ asmca
    

    在这里插入图片描述

    2、点击Create

    ​ 点击Create ,找到ASM共享磁盘的路径,完成创建。

    在这里插入图片描述
    在这里插入图片描述

    十一、图形化安装实例

    [oracle@rac19c1 db_1]$ dbca
    
    
    

    创建数据库

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    这里的名字必须跟oracle vim ~/.bash_profile 一样
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    配置写内存:尽量选择默认的 不要自己去调整。调整可能会使后面的安装不成功。
    在这里插入图片描述
    集群验证
    在这里插入图片描述

    配置数据库密码

    在这里插入图片描述
    进入自定义配置,选择默认,不选,下一步。

    在这里插入图片描述
    校验时也是之前的dns和scan ip错误,可以忽略,进行下一步安装在这里插入图片描述
    在这里插入图片描述
    安装数据库需要一般20多分钟,我的用了半小时。跟据自己的电脑性能有关系
    在这里插入图片描述
    在这里插入图片描述

    [grid@rac19c1:/u01/app/19.0.0/grid/bin]$crsctl stat res -t
    

    查看数据库是否创建成功
    在这里插入图片描述
    Dbca删库
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    所有的安装已经完成。现在可以通过sqlplus /as sysdba
    查看数据库的版本。

    展开全文
  • 2021年CentOS7安装Oracle11g全记录

    千次阅读 2021-02-02 11:19:49
    文章目录环境信息下载相关准备工作图形化CentOS7本机图形化操作远程图形化操作ssh远程CentOS安装 X Window System安装 GNOME Desktop安装配置VNC 在linux安装oracle在实际运维工作中还是经常能用到的。正好最近重装...


    在linux安装oracle在实际运维工作中还是经常能用到的。正好最近重装系统,顺便记录一下安装oracle的全过程。

    这篇文章是一个探索过程,看起来可能有些乱。我特意整理了一下,欢迎观看。
    《2021年强迫证福音CentOS7零警告安装Oracle11g》
    https://blog.csdn.net/lxyoucan/article/details/113547596

    环境信息

    不同的环境可能会有小小的差异,都是大同小异的。防止有影响,下面给出我用的版本信息。

    项目版本
    操作系统CentOS Linux 7 (Core) x86_64
    oraclelinux.x64_11gR2

    我是在macOS Big Sur11.1中使用VMware Fusion 12.1.0安装的CentOS7虚拟机。
    虚拟机配置如下:
    在这里插入图片描述

    下载相关

    CentOS7下载地址:
    http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/

    在这里插入图片描述
    实际工作中很多时候系统不用我们下载了,客户提供。
    如果你也用虚拟机安装的,出现上不了网的问题可以看这里:
    《CentOS7 mini (CentOS-7-x86_64-Minimal-2003.iso )虚拟机安装后无法上网的解决办法》

    Oracle下载地址:
    强烈建议下载 11.2.0.4版本的,oracle版本是官网下载的11.2.0.1有点小坑在里面,我是后来遇到坑换成的 11.2.0.4版本。11.2.0.4普通用户官网下载不到的,网上找找吧。

    CentOS7安装11.2.0.1遇到的坑:

    1. 操作系统内核参数semmni 明明设置正确,先决条件检查以然会提示参数不正确
    2. 一些程序包,已经安装过了,先决条件检查以然会提示没有安装
    3. 安装到 68%会报错:makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’的目标’install’时出错

    出现这个也可以理解,毕竟这个版本已经年代久远,所依赖的程序包都升级了多个版本了。
    坑 1,2直接忽略可以解决,3网上也有解决办法。本文下方也有相关链接。这些坑总让人有点不舒服。
    好在 11.2.0.4版本中已经没有这些坑了。

    准备工作

    在windows下安装oracle还是很简单的,在linux安装oracle就要略微麻烦一些。为了跟客户现场环境比较接近,我在电脑上远程这台CentOS7来实现数据库的安装。

    创建用户

    oracle安装文件不允许使用root用户直接启动,需要为oracle配置一个专门的用户来管理oracle的安装与运维。
    在这里插入图片描述
    root执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。

    #创建database用户组
    groupadd database
    #创建oracle用户并放入database组中
    useradd oracle -g database
    #设置oracle密码
    passwd oracle 
    

    我设置的是database@2021

    图形化CentOS7

    虽然oracle是可以通过命令行的形式安装的,新手第一次安装还是推荐使用图形化的安装,毕竟简单明了。

    搭建VNC服务

    如果你已经可以直接图形操作,此步可忽略。
    我这里使用VNC的方式,VNC不是本文重点。只是用于安装oracle用,本文中我尽量简化操作,跟着我敲命令就行了。图形界面我选的是openbox,因为体积小巧安装oracle完全够用。
    如果想详细学习搭建VNC服务,可以看我另一篇文章:
    《Centos7安装和配置VNC服务器 - openbox篇》

    安装必备软件并配置

    root执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。

    #图形界面必备`X Window System`
    yum -y groupinstall "X Window System"
    #安装epel源
    yum -y install epel-release
    #安装VNC+图形需要的软件
    yum -y install tigervnc-server openbox xfce4-terminal tint2 cjkuni-ukai-fonts network-manager-applet
    

    编辑openbox配置文件/etc/xdg/openbox/autostart
    因为觉得vi修改麻烦,所以写个脚本,直接整段复制到终端执行就好了。

    #自动修改/etc/xdg/openbox/autostart配置文件
    echo 'if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then' > /etc/xdg/openbox/autostart
    echo '       eval `dbus-launch --sh-syntax --exit-with-session`' >> /etc/xdg/openbox/autostart
    echo 'fi' >> /etc/xdg/openbox/autostart
    echo 'tint2 &' >> /etc/xdg/openbox/autostart
    echo 'nm-applet  &' >> /etc/xdg/openbox/autostart
    echo 'xfce4-terminal &' >> /etc/xdg/openbox/autostart
    echo ' ' >> /etc/xdg/openbox/autostart
    

    在这里插入图片描述

    防火墙放行VNC端口

    我这里VNC端口是 5901,–add-port=端口号
    su root使用root用户执行以下命令:

    # 防火墙放行VNC端口
    firewall-cmd --add-port=5901/tcp
    firewall-cmd --add-port=5901/tcp --permanent
    

    VNC

    切换到oracle用户

    su oracle
    

    开启一个VNC服务

    vncserver :1 -geometry 1024x768
    
    参数解释
    :1数字1很重要,它觉得了最终的TCP端口号(5901)。算法:5900+1= 5901 ,也就是说如果设置为:2那么TCP就是5902
    -geometry 1024x768指定远程桌面的分辨率,根据自己喜好来就行,默认是1024x768,注意中间的x别写错了

    第一次执行命令,根据提示输入密码就行了。
    我这里设置的密码是 vnc@2021
    在这里插入图片描述
    配置VNC默认启动openbox

    #配置VNC默认启动openbox
    echo "openbox-session &" > ~/.vnc/xstartup
    

    修改完配置要重启vnc服务

    vncserver -kill :1
    vncserver :1 -geometry 1024x768
    

    恭喜,到这一步VNC服务就搭建完成了。

    连接VNC远程

    使用你的VNC客户端连接就行了,会的就略过吧。
    我用的是:VNC Viewer点击下载。
    在这里插入图片描述
    然后输入上面设置的连接密码就可以了。我这里设置的密码是 vnc@2021

    如果你连接的时候发现,没有界面,是黑屏的只有一个鼠标,那么可以重启一下VNC服务试试。
    切换到oracle用户su oracle
    命令:

    vncserver -kill :1
    vncserver :1 -geometry 1024x768
    
    

    安装oracle

    安装中文字体解决中文乱码问题

    最简单的粗暴的方法,临时使用英文环境。

    LANG=en_US
    

    中文是世界上最美的文字,必须中文,很简单增加所需字体就行了。操作如下:
    下载字体:
    https://download.csdn.net/download/lxyoucan/14968070
    root执行以下命令:
    新建文件夹

    mkdir -p /usr/share/fonts/zh_CN/TrueType
    

    zysong.ttf上传到/usr/share/fonts/zh_CN/TrueType目录

    chmod 75 /usr/share/fonts/zh_CN/TrueType/zysong.ttf
    

    这样安装oracle就不会中文乱码了。

    解压安装包

    上传安装包到 CentOS7服务器。我上传到 /home/oracle/目录了。

    如果没有unzip,安装unzip用于文件解压root执行以下面

    yum install unzip
    

    oracle用户登录vnc,执行下面命令,解压安装包

    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip 
    

    解压出 database
    在这里插入图片描述

    cd database
    

    运行安装程序

    ./runInstaller
    

    看到类似下面的安装界面,说明你已经成功一半了。
    在这里插入图片描述
    现在有图形界面,有中文了。安装方法基本与windows 下面类似了。放心一路“下一步(N)>”吧,没什么大问题。

    我就不一一截图了,截图多反而看着累。我把我觉得重要的说一下。
    安装类型:
    在这里插入图片描述
    密码设置,这个主要是数据的超级管理员密码,比如常用的sys用户。
    在这里插入图片描述

    设置密码Database123

    修复先决条件检查

    在这里插入图片描述
    点击“修补并再次检查(F)”按钮就可以修补大半。具体方法按弹框中的说明执行即可。
    在这里插入图片描述
    我执行结果如下:

    [root@localhost ~]# /tmp/CVU_11.2.0.1.0_oracle/runfixup.sh 
    Response file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.response
    Enable file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.enable
    Log file location: /tmp/CVU_11.2.0.1.0_oracle/orarun.log
    Setting Kernel Parameters...
    /tmp/CVU_11.2.0.1.0_oracle/orarun.sh: 第 244 行:[: 18446744073692774399: 期待整数表达式
    The value for shmmax in response file is not greater than value of shmmax for current session. Hence not changing it.
    /tmp/CVU_11.2.0.1.0_oracle/orarun.sh: 第 335 行:[: 18446744073692774399: 期待整数表达式
    The value for shmall in response file is not greater than value of shmall for current session. Hence not changing it.
    The value for semmni in response file is not greater than value of semmni for current session. Hence not changing it.
    kernel.sem = 250 32000 100 128
    fs.file-max = 6815744
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.wmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_max = 1048576
    fs.aio-max-nr = 1048576
    uid=1001(oracle) gid=1001(database)=1001(database)
    

    就这样就可以轻松干掉大部分的检查了。
    在这里插入图片描述
    下面我们来一一解决它即可。

    Swap分区设置(若检查中无此项,可忽略)

    如果Swap空间不符合要求,oracle 安装文件检查发现swap 空间不足。
    大小一般设置为一般为内存的1.5倍。

    (root权限)查询当时Swap分区设置情况。

    swapon -s
    

    在这里插入图片描述
    或者使用free工具来查看内存和Swap情况。

    free -m
    

    结果如下单位(MB):

    [root@localhost ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           1475         439         171          13         865         877
    Swap:          2047           0        2047
    

    创建Swap文件
    接下来我们将在文件系统上创建swap文件。我们要在根目录/下创建一个名叫swapfile的文件,当然你也可以选择你喜欢的文件名。该文件分配的空间将等于我们需要的swap空间。
    一般 内存的 1.5倍以上就好了。也可以根据安装程序的提示来。
    在这里插入图片描述
    root执行以下命令,创建swap分区,
    在这里插入图片描述

    #创建swap文件 bs=2300的设置的值一般为内存的1.5倍以上 
    dd if=/dev/zero of=/var/swap bs=2500 count=1000000
    #需要更改swap文件的权限,确保只有root才可读
    chmod 600 /var/swap
    #告知系统将该文件用于swap
    mkswap /var/swap
    #开始使用该swap
    swapon /var/swap
    #使Swap文件永久生效,/etc/fstab加入配置
    echo "/var/swap   swap    swap    sw  0   0" >> /etc/fstab
    

    如果上面创建后发现,大小创建错误了。如何重置呢?

    swapoff -a
    rm /var/swap
    上面命令就可以删除了,然后重新创建合适的swap文件就行了。

    继续修复,再次点击“修补并再次检查(F)”按钮,与上面一次操作相同,发现又能自动修复2条了。
    为什么有2条,第二次执行修改脚本才可以,我也是无意中发现的。

    在这里插入图片描述
    现在还剩一个操作系统内核参数semmni 这个问题怎么解决呢?

    sysctl -p
    

    在这里插入图片描述
    网上搜索了一下,也有网友遇到这个问题的。
    比如:这个https://bbs.csdn.net/topics/392059643?page=2

    其中有个网友这么说的。
    在这里插入图片描述
    那我们就暂时忽略吧。
    看了很多文章,这个地方可能是安装程序的BUG吧,只要自身设置正确就行了。不用管这个提示了。

    补充:实测 11.2.0.4版本不会出现这个问题。

    解决程序包依赖问题

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

    在这里插入图片描述
    在这里插入图片描述
    上面安装完成发现程序包中还是有几条警告。我查了一下,还是提示缺少的包,实际上我们已经安装过了,只是我们安装的版本比要求的版本高。毕竟Oracle 11g是好多年前的产品了,我现在用的CentOS7是最新版本。只要要求的包我们已经安装成功了,右上角点击☐全部忽略。这样我们就能继续安装了。
    一路下一步吧。
    在这里插入图片描述
    补充:实测 11.2.0.4版本不会出现这个问题。

    68%报错

    补充:实测 11.2.0.4版本不会出现这个问题。
    安装到 68%报错如下:
    makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’的目标’install’时出错。
    在这里插入图片描述
    查看日志,错误如下:
    在这里插入图片描述
    如果你安装的版本遇到这个问题,解决办法请参考:《Error in invoking target ‘install’ of makefile ‘…/dbhome_1/ctx/lib/ins_ctx.mk’ …》
    https://blog.csdn.net/xch_yang/article/details/104389154

    后来网上找了一下还有一个更优雅的解决办法:
    在oracle网站查到说是版本对应问题
    https://community.oracle.com/thread/3635853
    由于是centos 7.3,oracle版本是官网下载的11.2.0.1,这里提示说需要换到11.2.0.3 or higher
    最后上传11.2.0.4版本。我决定试试。

    然后我按前面的步骤在来了一遍,基本一样我就不重新截图了,果然不报这个错了。下面的截图都是11.2.0.4版本的。

    进度70% ins_emagent.mk错误弹框

    它来了,它来了,我等待好久了。

    在这里插入图片描述
    编辑:
    /home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
    约176行,可以搜索$(MK_EMAGENT_NMECTL) 关键字快速找到。
    在这里插入图片描述
    修改后如下:

    #===========================
    #  emdctl
    #===========================
    
    $(SYSMANBIN)emdctl:
    	$(MK_EMAGENT_NMECTL) -lnnz11
    
    #===========================
    #  nmocat
    #===========================
    

    修改完成后,点击重试(R)
    在这里插入图片描述
    [INS-20802]Oracle Database Configuration Assistant 失败。
    安装过程中如果遇到这个错误,可能是因为你的网络不通,或者有问题导致的。我wifi连手机热点就出现这个问题了,我连接有线网络这个问题自动就好了(网络正常后,点击“重试(R)”)。

    在这里插入图片描述
    是个警告暂时忽略,实践证明这个警告没有影响,数据库正常使用。我猜测有可能是因为我先安装11.2.0.1删除不彻底导致的。
    在这里插入图片描述
    安装完成后,root权限执行一下以上两个脚本。
    这样就安装完成了。

    防火墙放行1521

    默认端口是1521

    # 防火墙放行1521oracle端口
    firewall-cmd --add-port=1521/tcp
    firewall-cmd --add-port=1521/tcp --permanent
    

    配置环境变量

    su oracle
    

    切换到oracle用户操作。
    编辑配置文件

    vi ~/.bash_profile
    

    文件末尾加入以下内容,ORACLE_HOME中换成你实际安装的路径

    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1/
    export ORACLE_SID=orcl
    export PATH=$PATH:$ORACLE_HOME/bin
    

    使用配置文件立即生效。

    source ~/.bash_profile
    

    日常运维

    启动oracle

    su oracle
    sqlplus /nolog
    SQL> connect /as sysdba
    SQL> startup
    

    sys用户登录

    [oracle@localhost ~]$ sqlplus /nolog
    
    SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 2 02:59:38 2021
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    SQL> connect as sysdba
    Enter user-name: sys
    Enter password: 
    Connected.
    SQL> select 1 from dual;
    
    	 1
    ----------
    	 1
    
    SQL> 
    
    

    没有问题,说明oracle本地连接oracle成功。

    启动监听

    lsnrctl start
    

    PLSQL连接测试

    使用其他机器连接我们刚安装好的oracle进行连接测试。
    修改配置文件C:\app\itkey\product\11.2.0\client_1\network\admin\tnsnames.ora(路径根据实际情况来)

    CentOS7ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.184.5)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    

    在这里插入图片描述

    总结

    CentOS7安装Oracle 11g不难,遇到问题都能百度解决。就是对比windows下安装有些麻烦。安装中遇到的小问题大多因为oracle 11g年岁己高导致的。我猜测在新版的系统中安装新版的Oracle 可能会更简单。甚至可能像windows中那样简单吧!或者使用 Oracle 自己的linux系统安装起来会不会更容易呢?等我以后有空了,可以测试一下。

    参考文档

    《在CentOS 7上添加Swap交换空间》
    https://blog.csdn.net/zstack_org/article/details/53258588

    《Error in invoking target ‘install’ of makefile ‘…/dbhome_1/ctx/lib/ins_ctx.mk’ …》
    https://blog.csdn.net/xch_yang/article/details/104389154

    《记一次oracle安装错误:INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14’》
    https://www.cnblogs.com/yhq1314/p/10830300.html

    《Linux/Centos 安装oracle报错“调用makefile '/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk的目标” 解决》
    https://blog.csdn.net/weixin_41078837/article/details/80585287

    展开全文
  • 前段时间在centOS7系统下安装oracle11g,期间遇到了各种各样奇葩的问题,自己找了很多参考资料,然后一点点摸索,最后把错误都排除,顺利安装,使用也暂时没出现过问题,过程实在很虐。于是自己整理了一下前辈们的...
  • centos 7.4 安装 oracle 11.2.0.4 最佳实践,作者原创 环境 操作系统:Centos 7.4 CentOS-7-x86_64-DVD-1708.iso Oracle软件:oracle 11.2.0.4 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86...
  • centos7安装oracle11g所需(i3x86)夹包,具体有: unixODBC-devel-2.2.11-1.i386.rpm unixODBC-2.2.11-1.i386.rpm pdksh-5.2.14-948.1.2.i586.rpm libstdc++-3.4.6-11.i386.rpm libgcc-3.4.6-3.i386.rpm libaio-...
  • Linux CentOS 7安装Oracle11g超完美教程

    千次阅读 2021-11-17 17:59:59
    文章目录Oracle部署1 基本环境介绍2 检测是否安装Oracle3 卸载Oracle3.1 重新做一次虚拟机3.2 卸载Oracle4 安装准备4.1 建立oracle用户和用户组4.2 为Oracle安装创建相关目录4.3 优化OS内核参数4.4 限制oracle...

    Oracle部署

    1 基本环境介绍

    • Linux我们默认使用CentOS 7 x64

    • 所以为了对应操作系统我们使用64位的Oracle 11g数据库

    • Oracle11g需要准备至少:2核CPU、2G内存、8GB的硬盘空间

      • 查看cpu详细信息

        lscbu
        
      • 查看内存详细信息

        free -h
        
      • 查看存储盘详细信息

        lsblk
        
    • 确保服务器能访问外

      • 可以ping www.baidu.com进行测试

    2 检测是否安装了Oracle

    • 查看是否有 oracle 的进程

      ps -ef | grep ora
      
    • 检查是否有oracle用户

      # 一般安装oracle的时候默认会建一个oracle用户
      id oracle
      

    3 卸载Oracle

    3.1 重新做一次虚拟机

    因为Oracle的卸载极其麻烦,从效率上讲甚至不如直接重新安装虚拟机

    3.2 卸载Oracle

    4 安装准备

    Oracle的安装需要图形化界面,所以身为命令形式的Linux操作系统就需要安装图形化界面:VNC

    为了安全起见,不建议使用root做为vnc用户,所以,安装oracle时要建立单独的用户去安装oracle相关

    4.1 建立oracle用户和用户组

    # 在Linux中创建名为oinstall的用户组
    groupadd oinstall
    # 创建dba用户组
    groupadd dba
    # 创建oper用户组
    groupadd oper
    # 为dba和oper用户组创建oracle用户
      # -g 主用户组
      # -G 附加组
    useradd -g oinstall -G dba,oper oracle
    # 将oracle用户的密码设置为oracle
    echo "oracle"|passwd oracle --stdin
    

    4.2 为Oracle的安装创建相关目录

    # 建文件夹
    mkdir -p /u01/app/oracle/product/11.2.0/db_1
    # 改变属主和属组
    chown -R oracle:oinstall /u01/app
    # 为文件夹授权
    chmod -R 775 /u01/app
    

    4.3 优化OS内核参数

    vim /etc/sysctl.conf
    # 添加如下内容
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    # kernel.shmmax 参数设置为物理内存的一半
    kernel.shmmax = 1200000000
    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 = 1048576
    # 因为刚自定义配置了shmmax、shmmni、shmall,所以注释掉原有自带的shmmax、shmall这些属性
    
    • 保存并退出后,需要使使参数生效

      sysctl -p
      

    4.4 限制oracle用户的shell权限

    为了优化性能,需要添加oracle用户的限制参数

    vim /etc/security/limits.conf 
    # 在文件末尾添加下面四行
    # 设置进程数软限制
    oracle soft nproc 2047
    # 设置进程数硬限制
    oracle hard nproc 16384
    # 设置文件数软限制
    oracle soft nofile 1024
    # 设置文件数硬限制
    oracle hard nofile 65536
    # 进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证
    vim /etc/pam.d/login # 在文件最后添加下面一行
    session required /lib64/security/pam_limits.so
    # 一般都是64位系统,64位系统需要设置为/lib64/security/pam_limits.so 否则重启服务器后就会出现命令行无法登录,但是通过桌面方式能登录的情况
    session required pam_limits.so
    
    • 使参数生效

      source /etc/profile
      

    4.5 为Oracle用户添加Oracle环境变量

    su - oracle
    vim .bash_profile
    # 添加如下内容
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    PATH=$PATH:$ORACLE_HOME/bin
    ORACLE_SID=orcl
    NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
    
    if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
            ulimit -n 65536
        else
            ulimit -u 16384 -n 65536
        fi
    fi
    
    • 退出后需要刷新环境变量
    source .bash_profile
    或
    source /home/oracle/.bash_profile
    

    4.6 配置hostname(本机IP映射)

    安装oracle时,一定要保证主机名出现在/etc/hosts中

    vim /etc/hosts
    # 添加如下内容
    127.0.0.1   localhost
    192.168.222.30	mydb
    
    • 测试hostname

      ping -c 3 mydb
      
    • /etc/sysconfig/network中的hostname要与/etc/hosts中的一致

    vim /etc/sysconfig/network
    # 添加如下内容
    NETWORKING=yes
    HOSTNAME=mydb
    # 服务器IP
    GATEWAY=192.168.222.30
    NTPSERVERARGS=iburst
    

    4.7 安装VNC&Oracle相关依赖

    4.7.1 配置yum源

    cd /etc
    mv yum.repos.d yum.repos.d.bak
    mkdir yum.repos.d
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # 清理缓存
    yum clean all
    # 建缓存
    yum makecache
    #安装epel源
    yum -y install epel-release
    

    4.7.2 安装依赖

    #图形界面必备`X Window System`
    yum -y groupinstall "X Window System"
    #安装VNC+图形、oracle需要的依赖(软件)
    yum -y install \
    binutils \
    compat-libcap1  \
    compat-libstdc++-33 \
    compat-libstdc++-33*.i686 \
    elfutils-libelf-devel \
    gcc \
    gcc-c++ \
    glibc*.i686 \
    glibc \
    glibc-devel \
    glibc-devel*.i686 \
    ksh \
    libgcc*.i686 \
    libgcc \
    libstdc++ \
    libstdc++*.i686 \
    libstdc++-devel \
    libstdc++-devel*.i686 \
    libaio \
    libaio*.i686 \
    libaio-devel \
    libaio-devel*.i686 \
    make \
    sysstat \
    unixODBC \
    unixODBC*.i686 \
    unixODBC-devel \
    unixODBC-devel*.i686 \
    libXp
    

    4.7.3 检查依赖是否安装完成

    rpm -q \
    binutils \
    compat-libstdc++-33 \
    elfutils-libelf \
    elfutils-libelf-devel \
    expat \
    gcc \
    gcc-c++ \
    glibc \
    glibc-common \
    glibc-devel \
    glibc-headers \
    libaio \
    libaio-devel \
    libgcc \
    libstdc++ \
    libstdc++-devel \
    make \
    pdksh \
    sysstat \
    unixODBC \
    unixODBC-devel | grep "not installed"
    

    4.7.4 如果安装失败的依赖进行单独安装

    • 方法一:通过yum安装

      yum -y install pdksh(安装失败的package)
      
    • 方法二:wget命令直接下载pdkshrpm包,下载到至/tmp/

      wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
      # 安装pdksh
      rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
      

    4.7.5 安装语言包

    服务器&VNC&Oracle安装包语言要统一,这里我使用的是中文安装包,为避免中文乱码,需要安装中文语言包(如果你都是英文可以忽略此步骤)

    —————上传方法—————

    # 1.切换至oracle安装目录
    cd /u01/
    # 2.将文件上传至服务器
    rz/sz
    # 或
    shell工具拖拉拽
    # 或
    # ---------------------------------------------------------------
    scp -r /Users/nan/Desktop/Oracle  root@10.10.1.104:/opt/test/
      # 解析
      scp    -r           dir              username@host:dir
      命令   递归       要拷贝的文件路径   目的主机用户名@目的主机ip:目的路径
    # ---------------------------------------------------------------
    # 3.安装中文字体包
    yum –y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm
    

    4.8 开放端口/关闭防火墙

    4.8.1 开放端口

    防火墙放行VNC端口5901和Oracle默认端口1521

    • 编辑iptables, 开放1521端口:

      sudo vi /etc/sysconfig/iptables
      -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT 
      
    • 重启防火墙

      sudo service iptables restart
      
    • 保存配置,以便linux重启后依然有效

      sudo service iptables save 
      
    • 查看防火墙规则:

      sudo iptables -L –n
      

    4.8.2 关闭防火墙

    service iptables stop
    chkconfig iptables off
    vim /etc/sysconfig/selinux
    SELINUX=enforcing改成SELINUX=disabled
    

    4.9 上传Oracle安装文件

    • 切换用户并切换目录

      xhost +
      su - oracle
      cd /u01/sw
      
    • 上传Linux-x86-64_1of7.zipLinux-x86-64_2of7.zip文件至/u01/sw目录上传方法

    • 解压缩安装文件

      unzip linux.x64_11gR2_database_1of2.zip
      unzip linux.x64_11gR2_database_2of2.zip
      
    • 完成后切换root用户,复制授权

      su - root
      mkdir /home/oracle/etc/
      cp /db/database/response/* /home/oracle/etc/
      chmod 777 /home/oracle/etc/*.rsp
      
    • 登录oracle用户

      su – oracle
      vi /home/oracle/etc/db_install.rsp
      # 信息如下:
      oracle.install.option=INSTALL_DB_SWONLY
      UNIX_GROUP_NAME=oinstall
      INVENTORY_LOCATION=/db/app/oracle/oraInventory
      SELECTED_LANGUAGES=en,zh_CN
      ORACLE_HOSTNAME=oracle
      ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
      ORACLE_BASE=/db/app/oracle
      oracle.install.db.InstallEdition=EE
      oracle.install.db.isCustomInstall=true
      oracle.install.db.DBA_GROUP=dba
      oracle.install.db.OPER_GROUP=oinstall
      oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
      oracle.install.db.config.starterdb.globalDBName=orcl
      oracle.install.db.config.starterdb.SID=orcl
      oracle.install.db.config.starterdb.memoryLimit=512
      oracle.install.db.config.starterdb.password.ALL=oracle
      DECLINE_SECURITY_UPDATES=true
      

    4.10 安装

    • 执行Oracle安装文件

      su - oracle
      
      ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
      
    • 安装期间可以使用tail命令监看oracle的安装日志

      cd /db/app/oracle/oraInventory/logs/
      tail -f installActions2021-11-10_10-38-29AM.log
      

      img

    • 安装完成,提示Successfully Setup Software

      img

    • 使用root用户执行脚本

      su - root
      /db/app/oracle/product/11.2.0/db_1/root.sh
      

    4.10.1 增加或修改oracle的环境变量

    su  - oracle
    
    vi ~/.bash_profile
    
    export ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/local/bin
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
    export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
    export ORACLE_OWNER=oracle
    export SPFILE_PATH=$ORACLE_HOME/dbs
    export ORA_NLS10=$ORACLE_HOME/nls/data
    
    • 使配置生效

      source ~/.bash_profile
      

    4.10.2 配置监听程序

    • 配置监听

      # 确保在oracle目录的bin下
      pwd
      /db/app/oracle/product/11.2.0/db_1/bin
      ./netca /silent /responseFile /home/oracle/etc/netca.rsp
      
    • 启动监听

      # 确保在oracle目录的bin下
      pwd
      /db/app/oracle/product/11.2.0/db_1/bin
      # 启动监听
      lsnrctl start
      # 查看监听状态
      lsnrctl start
       
      LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2019 00:13:21
       
      Copyright (c) 1991, 2009, Oracle.  All rights reserved.
       
      Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
      STATUS of the LISTENER
      ------------------------
      Alias                     LISTENER
      Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
      Start Date                25-MAY-2019 00:05:55
      Uptime                    0 days 0 hr. 7 min. 32 sec
      Trace Level               off
      Security                  ON: Local OS Authentication
      SNMP                      OFF
      Listener Parameter File   /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
      Listener Log File         /db/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
      Listening Endpoints Summary...
        (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1522)))
      The listener supports no services
      The command completed successfully
      

      img

    • 监听状态

      lsnrctl start
      # 显示如下
      LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2019 00:13:21
      Copyright (c) 1991, 2009, Oracle.  All rights reserved.
      Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
      

    5 创建数据库

    • 编辑应答文件

      vi /etc/dbca.rsp
      GDBNAME="orcl.oracle" 
      SID="orcl"
      SYSPASSWORD = "oracle" 
      SYSTEMPASSWORD = "oracle" 
      CHARACTERSET="AL32UTF8" 
      NATIONALCHARACTERSET="UTF8"
      # 执行:
      $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp
      
    • 建库

      pwd
      /db/app/oracle/product/11.2.0/db_1/bin
      
      dbca -silent -responseFile etc/dbca.rsp
      # 至此完成数据库实例的创建
      
    • 设置Oracle开机启动

      vim /etc/oratab
      # 把“N”改成“Y”
      orcl:/db/app/oracle/product/11.2.0/db_1:Y 
      

    5.1 删除实例

    [oracle@oracle bin]$ vi /etc/oratab
    orcl:/db/app/oracle/product/11.2.0/db_1:Y  # //把“N”改成“Y”
    # 保存退出
    [oracle@oracle bin]$ pwd
    /db/app/oracle/product/11.2.0/db_1/bin
    # 通过dbstart 启动此实例,监听器
    ## ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
    ## Usage: ./dbstart ORACLE_HOME
    [oracle@oracle bin]$ ./dbstart $ORACLE_HOME;
    # oracle的进程关闭,监听器也停止;
    [oracle@oracle bin]$ ./dbshut $ORACLE_HOME;
    # 启动监听
    [oracle@oracle bin]$ ./lsnrctl start;
    # 查看监听
    [oracle@oracle bin]$ ./lsnrctl status
    

    5.2 登陆Oracle

    [oracle@oracle bin]$ pwd
    /db/app/oracle/product/11.2.0/db_1/bin
    [oracle@oracle bin]$ ./sqlplus /nolog
    # 进入系统管理用户
    SQL> conn / as sysdba
    Connected to an idle instance.
    # 启动oracle实例
    SQL> startup;
    

    1、使用oracle用户登录桌面,打开终端运行安装程序

    [root@oracledb ~] cd /ora/database
    [root@oracledb ~] ./runInstaller

    1)订阅邮件跳过

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    2)选择忽略更新(或者让选择桌面版还是服务器版,如果有选择服务器版)

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    3)这里选择仅安装数据库,稍后再配置初始化数据。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    4):选择单实例安装。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    5):语言,linux服务器上就别想什么中文这些了,就默认英文完事。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    6):默认

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    7):这里就出现最开始创建的相应目录信息了,会自动读取。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    8):下一步

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    9):选择group 组为之前创建好的oinstall

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    10):安装的过程中可能会出现如下的一些警告信息,如提示semmni为0 的问题,该问题一直没有找到原因,我们在上面修改内核的过程中就已经调整了kernel.sem = 250 32000 100 128 但是检测无法通过(暂时无解)、其他的一些依赖组件提示,其实我们已经安装好了,只是centos7上yum安装的依赖包要比oracle 11g 所需的包更新,版本更高,所以可以直接忽略这些提示(勾选 ignore all)。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    3、安装到最后的时候会出现一个提示:需要用root权限执行2个shell脚本,那么我们在之前的root用户终端下运行提示中的对应脚本文件即可。
      这里或者更早前的步骤就可能会出现一个很神奇(zhizhang)的问题,对话框可能无法正常弹出,测试在VM虚拟机或者云服务器,如阿里云等都这样,但是用鼠标可以拖开。是的,你没有看错,直接拖出对话框。这个问题不知道原因,有知道的朋友请留言告知,万分感谢。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    还有可能出现一个压根儿就不能拖得对话框(阿里云上反复测试,就是会出现)最后没辙了,本地跑虚拟机一步步的模拟安装,发现是一个警告提示,一般按4次tab键即可切换到下一步选项回车即可。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    4、安装完成后还需要创建数据库,还是同样在Oracle用户桌面环境下,重新打开一个终端,输入 dbca 命令即可弹出相应的数据库创建向导。

    CentOS7安装Oracle11G完整版图文教程一(基础安装)

    如果提示没有这个命令,那么请详细检查一下上述的依赖包是否正确安装,另外创建过程中如果出现提示oracle not available 检查是否已添加主机名到hosts文件中。

    展开全文
  • Centos7安装oracle11gR2步骤

    千次阅读 2021-11-19 15:45:08
    使用XManager图形化界面xstart方式,远程安装oracle11gR2(centos7
  • CentOS7安装Oracle11g超简单[视频]

    千次阅读 2021-01-29 14:24:15
    《2021年CentOS7安装Oracle11g这一篇就够了》 https://blog.csdn.net/lxyoucan/article/details/113177763 创建用户 root执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。 #创建database用户组 ...
  • centos7 安装oracle jdk

    2021-12-13 16:49:27
    centos7 默认自带的是openjdk1.8 ,我们如果需要安装oracle jdk 可以参考本文来进行 删除系统自带的版本 # 查询已安装的java rpm -qa|grep java # 删除已安装的java rpm -e --nodeps java-1.8.0-openjdk rpm -...
  • CentOs6.2下个人完整的安装客户端详细步骤,亲测可用。
  • centos7离线安装oracle12c

    2018-07-27 09:45:12
    linux下离线安装oracle12c的详细安装过程文档,包括可能遇到问题的解决方案,oracle的所有可能需要的依赖包
  • centos7离线安装oracle11g所需要的rpm包...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,908
精华内容 33,163
关键字:

centos7安装oracle

友情链接: riva_hw.rar