• CentOS7安装Oracle数据库的全流程


    一、准备工作

    1、下载Oracle的安装介质
    Oracle 11g R2 Linux版本有两个压缩文件包,都需下载安装才会完整。
    linux.x64_11gR2_database_1of2.zip
    linux.x64_11gR2_database_2of2.zip
    下载地址:网盘分享
    链接:https://pan.baidu.com/s/1Y9hwNvlm5JIDMNLa0P_csQ
    提取码:mhms
    链接:https://pan.baidu.com/s/1QXQHy_FYRh2KmbpfQpXMng
    提取码:gae2
    2、检查设置服务器内核安装环境
    (1)检查操作系统补丁包
    (1)以root用户登录系统。
    (2)使用uname -r命令查看kernel版本
    (3)在root账号下执行如下脚本命令

    for dep_rpm in elfutils-devel unixODBC* unixODBC.i686 unixODBC-devel.i686 binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 vim epel-release lrzsz unzip xorg*;do yum install $dep_rpm -y;done
    
    • 1

    (2)修改内核参数
    (1)通过修改文件/etc/sysctl.conf,增加要修改的内核参数值

    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    kernel.shmall = 524288
    kernel.shmmax = 2147483647
    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
    net.ipv4.tcp_wmem = 262144 262144 262144
    net.ipv4.tcp_rmem = 4194304 4194304 4194304
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    查看linux服务器的位数:getconf LONG_BIT
    内核参数的详解:
    (1)kernel.shmmax
    32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。若物理内存大于4GB,也取4GB-1byte。
    64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12_1024_1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。
    (2)kernel.shmall
    查看系统默认的值-----------getconf PAGESIZE
    默认是4096(字节 4K
    一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求。
    (2)运行命令进行参数修改。

    /sbin/sysctl -p
    
    • 1

    (3)检查参数是否生效

    # /sbin/sysctl -a | grep sem
    # /sbin/sysctl -a | grep shm
    # /sbin/sysctl -a | grep file-max
    # /sbin/sysctl -a | grep aio-max-nr
    # /sbin/sysctl -a | grep net.ipv4.ip_local
    # /sbin/sysctl -a | grep rmem
    # /sbin/sysctl -a | grep wmem
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、设置oracle用户的shell限制
    (1)以root用户登录。
    步骤 2 修改文件/etc/security/limits.conf,追加以下内容(如果不存在)。

    oracle  soft    nproc   2047
    oracle  hard    nproc   16384
    oracle   soft    nofile  1024
    oracle   hard    nofile  65536
    
    • 1
    • 2
    • 3
    • 4

    (2)修改文件/etc/pam.d/login,追加以下内容。

    session  required   pam_limits.so
    
    • 1

    (3)修改文件/etc/pam.d/su,追加以下内容。

    session required pam_limits.so
    
    • 1

    (4)修改文件/etc/profile,追加以下内容。

    if [ $USER = "oracle" ]; then 
       if [ $SHELL = "/bin/ksh" ]; then 
           ulimit -u 16384 
           ulimit -n 65536 
       else 
           ulimit -u 16384 -n 65536 
       fi 
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4、检查SWAP空间大小
    (1)以root用户登录。
    (2)检查物理内存大小。

    # grep MemTotal /proc/meminfo
    
    • 1

    1881276 KB【物理内存过于小?】
    (3)检查SWAP空间大小。

    # grep SwapTotal /proc/meminfo
    
    • 1

    4063228 KB
    SWAP空间大小建议值如图所示。
    在这里插入图片描述
    5、创建用户和组
    (1)以root用户登录。
    (2)创建dba组,先检查dba组是否存在和/或组id是否一致。

    #grep dba /ect/group
    
    • 1

    无输出则表示dba组不存在。如果dba组已存在,但组id不一样,则使用以下命令删除dba组。

    # /usr/sbin/groupdel dba
    
    • 1

    创建dba组。

    #/usr/sbin/groupadd -g 200 dba
    
    • 1

    (3)创建oinstall组。
    先检查oinstall组是否存在和/或组id是否一致。

    #grep oinstall /etc/group
    
    • 1

    无输出则表示oinstall组不存在。如果oinstall组已存在,但组id不一致,则使用以下命令删除oinstall组。

    #/usr/sbin/groupdel oinstall
    
    • 1

    创建oinstall组。

    #/usr/sbin/groupadd -g 201 oinstall
    
    • 1

    (4)创建oracle用户。
    检查oracle用户是否存在和/或用户id是否一致。

    #grep oracle /etc/passwd
    
    • 1

    无输出则表示Oracle用户不存在。如果Oracle用户已存在,但用户id不一致,则使用以下命令删除Oracle用户。

    # /usr/sbin/userdel -rf oracle
    
    • 1

    创建oracle用户。

    #/usr/sbin/useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle 
    
    • 1

    修改oracle用户密码。

  • 相关阅读:
    Linux学习第19天:Linux并发与竞争实例: 没有规矩不成方圆
    设计模式之美——解耦
    学习java的第三十三天。。。(XML解析)
    一文搞懂APT攻击
    DolphinScheduler 进阶(工作流传参)
    k8spod详解其二
    Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
    计算机毕业设计(附源码)python足球爱好者服务平台
    漫谈:C语言 值传递 函数参数 指针
    【笔试强训选择题】Day40.习题(错题)解析
  • 原文地址:https://blog.csdn.net/drhrht/article/details/126801675