首页 > 数据库 > Oracle > Oracle——Linux的安装
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/ ,如需转载,请注明出处,否则将追究法律责任。