zoukankan      html  css  js  c++  java
  • centos7下安装oracle11gR2


    https://www.2cto.com/database/201704/622237_2.html

    1、关闭防火墙
    systemctl stop firewalled service
    systemctl disable firewalled service

    2、关闭selinux
    vim /etc/selinux/config
    selinux=encourceing改为disabled

    3、创建运行oracle数据库的用户组和系统用户
    #groupadd oinstall //创建用户组oinstall
    #groupadd dba //创建用户组dba
    #useradd -g oinstall -g dba -m oracle //创建用户oracle,并加入到oinstall和dba用户组
    #passwd oracle //设置用户oracle的登录密码
    #id oracle //查看新建的用户oracle

    4、创建数据库安装目录并授权
    #mkdir -p /data/oracle //安装目录
    #mkdir -p /data/oraInventory //配置文件目录
    #mkdir -p /data/database // 解压目录

    #chown -R oracle:oinstall /data/oracle
    #chown -R oracle:oinstall /data/oraInventory
    #chown -R oracle:oinstall /data/database

    5、修改OS系统标识
    注:CentOS系统默认不支持oracle数据库安装,需要修改系统标识为redhat-7
    #cat /proc/version //查看Linux系统版本
    #cat /etc/redhat-realease //查看CentOS系统版本
    CentOS Linux release 7.2.1511(Core)
    #vi /etc/redhat-realease
    redhat-7

    6、修改内核参数
    #vi /etc/sysctl.conf
    #System default……
    #To override……
    #
    #For more……
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.conf.all.rp_filter = 1
    fs.file-max = 6815744 #设置最大打开文件数
    fs.aio-max-nr = 1048576
    kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
    kernel.shmmax = 2147483648 #最大共享内存的段大小
    kernel.shmmni = 4096 #整个系统共享内存端的最大数
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
    net.core.rmem_default = 262144
    net.core.rmem_max= 4194304
    net.core.wmem_default= 262144
    net.core.wmem_max= 1048576

    使配置参数生效:
    #sysctl -p

    7、对oracle用户设置限制,提高软件运行性能
    [root@localhost /]# vi /etc/security/limits.conf

    #@student - maxlogins 4
    oracle soft nproc 2047 //最大进程数
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536

    # End of file

    8、配置用户的环境变量
    切换到oracle用户下:
    $vim .bash_profile

    export ORACLE_BASE=/data/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export ORACLE_TERM=xterm
    export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export LANG=C
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
    AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须 与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出 中文乱码问题

    注释掉原来的#PATH和#export PATH
    使上述配置立即生效:#source /home/oracle/.bash_profile

    10、增加主机名
    注:若不执行此步,则配置监听时会出错,系统无法识别监听。
    Linux查看计算机名 $hostname
    #vi /etc/sysconfig/network
    # Created by anaconda
    hostname=lgswork //增加hostname
    # vi /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 lgswork
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    # hostname lgswork  //执行

    11、安装oracle数据库所需的软件包
    #yum install gcc* gcc-* gcc-c++-* glibc-devle-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel*
    libaio-devel* sysstat* unixODBC-* pdksh-* make ksh binutils -y
    字符集设置
    vi /home/oracle/.bash_profile #追加配置文件
    export LANG=C #防止安装过程出现乱码
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
    export LANG=zh_CN.UTF-8
    12、解压缩
    将3个压缩文件放到/data下
    $cd /data
    $unzip oracle_11.2.0.4_Linux-64_1of7.zip -d /data/database
    $unzip oracle_11.2.0.4_Linux-64_2of7.zip -d /data/database

    13、安装
    $cd /data/database
    $./runInstaller
    (1)Prerequisite Checks
    ①swap空间不足解决 :(要求2.67G 实际2G)
    # free -m  //查看当前虚拟内存
    # dd if=/dev/zero of=/home/swap bs=1024 count=1024000 //将当前swap 空间由2048M增加到3048M新增一个2014的swap文件
    # swapon /home/swap //增加并启用虚拟内容
    # free -m  //再次查看
    ②package检测失败
    因为现有的包的版本比检测要高,最后忽略即可。也可下载相应的package后:
    #rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm(需cd到包所在目录)
    ③安装过程是一个漫长的过程,中间有几次卡住,没有出现任何画面,屏幕中间有 条小线,尝试多次,发现光标在该线上,右键点击Closed,也可esc或enter。
    (2)Install Product
    ①execute root scripts(根脚本执行)-failed
    切换到root用户:
    #/data/oraInventory/orainstRoot.sh
    #/data/oracle/product/11.2.0/db_1/root.sh
    执行完这连个脚本后再点击try便可执行成功。

    [Oracle@localhost ~]$ netca //配置监听
    [Oracle@localhost ~]$ lsnrctl status //查看监听状态
    [Oracle@localhost ~]$ dbca //创建数据库实例orcl

    https://www.cnblogs.com/kerrycode/archive/2013/09/13/3319958.html


    4.4 修改系统内核参数

    在修改系统内核参数前,你可以用命令先查看一下当前各类系统参数的值,亦或直接查看配置文件/etc/sysctl.conf

    [root@getoraclelnx01 ~]# getconf PAGESIZE

    4096

    [root@getoraclelnx01 ~]# sysctl -a | grep sem

    kernel.sem = 250 32000 32 128

    [root@getoraclelnx01 ~]# sysctl -a | grep shm

    kernel.shmmax = 68719476736

    kernel.shmall = 4294967296

    kernel.shmmni = 4096

    vm.hugetlb_shm_group = 0

    [root@getoraclelnx01 ~]# sysctl -a | grep file-max

    fs.file-max = 2414060

    [root@getoraclelnx01 ~]# sysctl -a | grep ip_local_port_range

    net.ipv4.ip_local_port_range = 32768 61000

    [root@getoraclelnx01 ~]#
    kernel.shmmax

    关于内核参数kernel.shmmax,oracle 建议,kernel.shmmax的值不能少于物理内存的一半,而且要大于Oracle中sga-max-size的值,否则会造成oracle性能下降

    一般32bit操作系统,直接设置为系统支持的最大内存即可,64bit操作系统设置大于sga-max-size的值即可

    如:当前内存为2G 则kernel.shmmax = 2*1024*1024=2097152

    当前内存为8G则 kernel.shmmax = 7*1024*1024=7340032

    Kernel.shmall

    Shmall指系统一次可以使用的共享内存段的最大数量,以页为单位。Oracle默认设置为 kernel.shmall = 2097152

    即最大8G(2097152*4/1024/1024),(在调整SGA时需要注意,SGA大小设置不可超过该值),根据系统内存大小和使用的不同可以参考如下:设置的一般规律

    kernel.shmall = 8G/4k=8388608k/4k=2097152 ---内存8G

    kernel.shmall = 16G/4k=16777216k/4k=4194304 ---内存16G

    kernel.shmall = 32G/4k=33554432k/4k=8388608 ---内存32G

    (RedHat linux系统中页大小为4096即4K,实际环境以getconf PAGE_SIZE结果为准)

    kernel.shmmni

    shmmni 指系统共享内存段的最大数量

    oracle设置默认值为4096,一般是足够用了,不需要调整

    文件句柄数的相关内核参数设置

    fs.file-max

    fs.file-max指系统能够打开最大的文件句柄数

    oracle建议设置为65536,一般不用修改

    信号的相关内核参数设置

    kernel.sem

    kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数

    semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10

    semmni 指整个系统的信号集的最大数量

    semmns 指整个系统的信号总数,也就是semmni*semmsl的结果

    semopm 指每个semop系统调用可以执行的信号操作的最大数量

    oracle默认设置

    semmsl=250

    semmns=3200

    semopm=100

    semmni=128

    即kernel.sem= 250 3200 100 128

    例:在oracle ora.init文件参数中设置PROCESSES参数为5000

    则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280

    另外semopm建议设置等于semmsl值即5010

    那么kernel.sem=5010 641280 5010 128

    网络相关的内核参数设置

    net.core.rmem_default

    net.core.rmem_default 指网络套接字的默认接收缓冲区的大小,oracle建议设置为265K即262144

    net.core.rmem_max

    net.core.rmem_max 指网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

    oracle11g建议设置为4M 即4194304

    net.core.wmem_default

    net.core.wmem_default指网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144

    net.core.wmem_max

    net.core.wmem_max 指网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

    oracle11g建议设置为1M即1048576

    net.ipv4.ip_local_port_range

    net.ipv4.ip_local_port_range ,指本地的允许打开随机端口范围

    oracle10g前建议端口范围为1024 65000,oracle11g建议端口范围为:
    65500 并忽略oracle安装程序任何关于这个参数的警告

    Asynchronous I/O相关的内核参数设置

    fs.aio-max-nr

    fs.aio-max-nr 指系统允许的最大的异步IO请求大小

    oracle默认设置为1M即1048576,一般不用更改

  • 相关阅读:
    NSRunLoop的利用
    快速排序算法
    WebViewJavascriptBridge的暂时理解
    非常喜欢的一期《晓松奇谈》
    字符串正则替换replace第二个参数是函数的问题
    Model模型和Module模块的区别
    jQuery的extend方法的深层拷贝
    正则表达式学习记录
    select2初始化默认值
    增进编程语言学习速度的小技巧
  • 原文地址:https://www.cnblogs.com/zhanzhan/p/9419026.html
Copyright © 2011-2022 走看看