zoukankan      html  css  js  c++  java
  • redhat6.5部署oracle 11G R2 (参考配置)

    安装过程中遇到的问题:

    1.创建oracle用户时,最好指定家目录,常规的为/opt/oracle,默认的/home/oracle也是可以的。

    2.在"添加主机名与IP地址对应"一步中,一定要配置对IP,不然安装过程中会出现"Oracle Net Configuration Assisant failed"的错误

    RHEL6.5安装部署Oracle 11g R2数据库

    • 实验环境

        

    虚拟机版本

    VM12 pro

    操作系统

    RedHat-6.5-x86_64

    主机名

    oracledb

    内存

    4G官方建议最低1G

    硬盘

    30G依据自己的实际需求及配置而定

    Oracle数据文件

    linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip

    • 系统调整步骤

    步骤1-修改主机名

    [root@xuegod64 ~]# sed -i "s/HOSTNAME=xuegod64/HOSTNAME=oracledb/" /etc/sysconfig/network

    [root@xuegod64 ~]# hostname oracledb

    [root@xuegod64 ~]# cat /etc/sysconfig/network

    步骤2-添加主机名与IP对应记录

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

    [root@oracledb ~]# more /etc/hosts

    步骤3-安装依赖包

    [root@oracledb ~]# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

    步骤4-创建用户和组

    [root@oracledb ~]# groupadd -g 251 oinstall

    [root@oracledb ~]# groupadd -g 252 dba

    [root@oracledb ~]# useradd -u 256 -g oinstall -G dba -d /opt/oracle -s /bin/bash -m

        [root@oracledb ~]# echo oracle | passwd --stdin oracle

    参数解释:

    -g:指定用户所属的组

    -G:指定用户所属的附加组

    -u:指定用户ID

    -d:指定用户主目录

    -s:指定用户登录shell

    -m:若用户主目录不存在,则自动创建。

    步骤 5     修改内核参数

    [root@oracledb ~]# vim /etc/sysctl.conf

    参数解释:

    kernel.msgmax = 65536 #从一个进程发送到另一个进程的消息的最大长度。进程间的消息传递是在内核的内存中进行,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。缺省设置:8192

    net.ipv4.ip_local_port_range= 9000 65500 #表示应用程序可使用的IPv4端口范围。

    fs.file-max = 6815744 # 该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

    kernel.shmmni = 4096 #该参数是共享内存段的最大数量。shmmni缺省值4096.

    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 # 此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

    kernel.shmall = 10523004

    #kernel.shmall:

        该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)

    kernel.shmmax = 6465333657

    用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。官方建议值:

    32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

    64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。 

    kernel.sem = 250 32000 100 128

    #以kernel.sem = 250 32000 100 128为例:

           250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

           32000是参数semmns的值,表示系统内可允许的信号量最大数目。

           100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

           128是参数semmni的值,表示系统信号量集合总数。

    [root@oracledb ~]# sysctl -p #立即生效

    ########################################################################

    内核参数:

    shmmax:

    共享内存段的最大字节数,建议设大点,甚至可以大过物理内存的字节数。该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。

    shmmin:

    共享内存段的最小尺寸。这个参数的设置一般不会出问题。

    shmmni:

    共享内存段的最大数目。这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是4096 。通常不需要更改。

    shmseg:

    每个进程可分配的最大共享内存段数目

    shmall:

    最大的并发共享内存段数目,比SGA还要大。该参数表示系统一次可以使用的共享内存总量(以页为单位,一个页大小为4KB)。缺省值就是2097152,通常不需要修改。

       

    sem:

    是semaphores的缩写,该参数表示设置的信号量。它包含四个值:semmsl、semmns、semopm、semmni。

    # sysctl -a|grep sem

    kernel.sem = 250        32000   100     128

    semmns:

    信号灯的最大数量,跟ORACLE的PROCESS数有关。SEMMSL * SEMMNI

    semopm:

    系统调用允许的信号量最大个数。至少100;或者等于SEMMSL

    semmni:

    系统信号量set最大个数。最少128

    semmsl:

    每个信号灯集合中最多的信号灯数目。最小250;对于processes参数设置较大的系统建议设置为processes+10。

       

    msgmni:

    指定消息队列标识的最大数目。缺省设置:16

    msgmax:

    从一个进程发送到另一个进程的消息的最大长度。进程间的消息传递是在内核的内存中进行,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。缺省设置:8192

    msgmnb:

    一个消息队列中最大的字节数。缺省设置:16384

       

    optmem_max:每个socket的最大缓存大小

    rmem_default:接收socket的缺省缓存大小(字节)

    rmem_max:接收socket的最大缓存大小(字节)

    wmem_default:发送的socket缺省缓存大小(字节)

    wmem_max:发送的socket最大缓存大小(字节)

       

    p_local_port_range:表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口!

    file-max:表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。如果设置过小,Oracle将无法启动,或运行不正常。

    ########################################################################

    步骤 5 -修改系统资源限制

    [root@oracledb ~]# vim /etc/security/limits.conf

    参数解释:

    oracle   soft  nproc   2047

    oracle   hard  nproc   16384

    oracle   soft  nofile   1024

    oracle   hard  nofile   65536

    [root@oracledb ~]# vim /etc/pam.d/login

    参数解释:

    session required pam_namespace.so

    session required pam_limits.so

    步骤 6 -创建安装目录及设置权限

    [root@oracledb ~]# mkdir -p /opt/oracle/app/

    [root@oracledb ~]# mkdir -p /opt/oracle/oradata

    [root@oracledb ~]# chmod 755 /opt/oracle/app/

    [root@oracledb ~]# chmod 755 /opt/oracle/

    [root@oracledb ~]# chown oracle:oinstall -R /opt/oracle/

    步骤 7-设置oracle环境变量

    su – oracle 切换到oracle用户

    [oracle@oracledb ~]$ vim .bash_profile

    参数解释:

    export ORACLE_BASE=/opt/oracle/app

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

    export PATH=$PATH:$ORACLE_HOME/bin

    export ORACLE_SID=orcl

    [oracle@oracledb ~]$ source ./.bash_profile #立即生效

    步骤 8 -关闭Selinux

    [root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

    [root@oracledb ~]# setenforce 0

    [root@oracledb ~]# getenforce

    步骤9- 关闭防火墙

    [root@oracledb ~]# service iptables stop

    [root@oracledb ~]# chkconfig iptables off

    • 安装Oracle

     安装步骤

     (1)    上传Oracle安装包

     首先linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip上传至Oracle家目录/opt/oracle

       

    (2)    利用Oracle用户登录并解压安装包

    利用oracle用户登录图形界面,解压文件,并执行安装(如果不用oracle用户登录安装,例如从root用户切换到oracle,可能会出现一些异常)

       

    解压

    [root@oracledb~]# unzip /opt/oracle/linux_64_11gR2/linux.x64_11gR2_database_1of2.zip

    [root@oracledb~]# unzip /opt/oracle/linux_64_11gR2/linux.x64_11gR2_database_2of2.zip

    [root@oracledb ~]# mv database/ /opt/oracle/

    [root@oracledb ~]#xhost+

    [root@oracledb ~]#su – oracle

    [oracle@oracledb ~]$ ./database/runInstaller

    开始安装

     安装完成后,会提示执行下面两个脚本

     利用root用户登录,到下面的两个目录下执行脚本即可

    执行脚本

     /opt/oracle/oraInventory/orainstRoot.sh

    /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

    验证

       

  • 相关阅读:
    Kubernetes Dashboard不能用谷歌浏览器登录,只能用火狐浏览器登录的问题。
    kubernetes集群(centos7)
    监控java进程是否正常运行
    电脑上文件的后缀名被隐藏,把一个文本文件改成.bat时,默认打开的还是文本。
    光猫&路由器网络配置
    python3查询Excel中A表在B表没有的数据,并保存到新的Excel,这里用的是“xlrd”和“xlwt”
    linux服务开机启动
    python_字符串,元组,格式化输出
    adb命令
    jenkins发送邮件
  • 原文地址:https://www.cnblogs.com/yeyou/p/5975896.html
Copyright © 2011-2022 走看看