ITPub博客

首页 > 数据库 > Oracle > Oracle——Linux的安装

Oracle——Linux的安装

原创 Oracle 作者:like052629 时间:2014-12-15 10:01:05 0 删除 编辑

1、安装oracle依赖包

yum -y install  gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel

2、关闭Selinux

[root@CentOS-Oracle ~]# 

# cd /etc/selinux/config

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  

[root@CentOS-Oracle ~]# setenforce 0

3、创建用户、组、目录

--创建组

groupadd -g 200 oinstall

groupadd -g 201 dba

--创建用户

useradd -u 1000 -g oinstall -G dba oracle

passwd oracle

--创建目录

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oradata

mkdir /home/oracle/app/oracle/product

--更改目录属主为oracle用户所有

chown -R oracle:oinstall /home/oracle/app

--切换至oracle用户,配置环境变量 vi .bash_profile,增加如下内容:

umask 022

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export LANG=en_US.UTF-8

--注意修改LANG

执行 source .bash_profile立即生效。

4、修改内核参数

/*

Shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值

kernel.shmmax  该参数定义了共享内存段的最大尺寸

shmmax设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能 会导致需要创建多个共享内存段,这样可能导致系统性能的下降

当然Oralce 的建议是希望一个大的共享内存段能容纳整个SGA,其值应 >=sag_max_size初始化参数的大小,还要不小于物理内存的一半,这样在任何时候 都不会有甚至轻微的性能下降的隐患

*/

/*

kernel.shmmni 这个内核参数用于设置系统范围内共享内存段的最大数量 (注意这 个参数不是shmmin,是shmmni, shmmin 表示内存段最小大小 ) 。shmmni 缺省值 4096 ,此值也是在系统中可以启动的Oracle实例的最大数量,通常不需要更改

*/

/*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)。

其值应不小于shmmax/page_size.缺省值就是2097152,如果服务器上运行的所有实 例的SGA总和不超过8GB(通常系统可分配的共享内存的和最大值为8GB),通常不需要 修改.

*/

--kernel.sem  表示设置的信号量

--fs.file-max 表示一个进程可以打开的文件句柄的最大数量

--net.ipv4.ip_local_port_range 专用服务器模式下与用户进程通信时分配给用户的 --端口区间

--net.core.rmem_default 默认接收缓冲区大小

--net.core.rmem_max 接收缓冲区最大值

--net.core.wmem_default 默认的发送缓冲区大小

--net.core.wmem_max=262144 发送缓冲区最大值

vi /etc/sysctl.conf

net.ipv4.ip_local_port_range= 9000 65500 

fs.file-max = 6815744 

kernel.shmall = kernel.shmmax/4

--kernel.shmmax = 68719476736

kernel.shmmni = 4096 

kernel.sem = 250 32000 100 128 

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

保存退出后,执行sysctl -p立即生效

5、修改系统资源限制

vi /etc/security/limits.conf末尾添加

oracle  soft  nproc  2047 

oracle  hard  nproc  16384 

oracle  soft  nofile  1024 

oracle  hard  nofile  65536

vi /etc/pam.d/login

session    required     pam_namespace.so  #下面添加一条pam_limits.so 

session    required     pam_limits.so

vi /etc/profile

if [ $USER = "oracle" ] ; then

      if [ $SHELL = "/bin/ksh" ];then

          ulimit -p 16384 

          ulimit -n 65536 

      else

          ulimit -u 16384 -n 65536 

      fi

fi

6、安装程序

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28258625/viewspace-1367938/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 安装pdksh包
请登录后发表评论 登录
全部评论

注册时间:2014-11-18

  • 博文量
    120
  • 访问量
    551552