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
(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
查看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
(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
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
(2)修改文件/etc/pam.d/login,追加以下内容。
session required pam_limits.so
(3)修改文件/etc/pam.d/su,追加以下内容。
session required pam_limits.so
(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
4、检查SWAP空间大小
(1)以root用户登录。
(2)检查物理内存大小。
# grep MemTotal /proc/meminfo
1881276 KB【物理内存过于小?】
(3)检查SWAP空间大小。
# grep SwapTotal /proc/meminfo
4063228 KB
SWAP空间大小建议值如图所示。
5、创建用户和组
(1)以root用户登录。
(2)创建dba组,先检查dba组是否存在和/或组id是否一致。
#grep dba /ect/group
无输出则表示dba组不存在。如果dba组已存在,但组id不一样,则使用以下命令删除dba组。
# /usr/sbin/groupdel dba
创建dba组。
#/usr/sbin/groupadd -g 200 dba
(3)创建oinstall组。
先检查oinstall组是否存在和/或组id是否一致。
#grep oinstall /etc/group
无输出则表示oinstall组不存在。如果oinstall组已存在,但组id不一致,则使用以下命令删除oinstall组。
#/usr/sbin/groupdel oinstall
创建oinstall组。
#/usr/sbin/groupadd -g 201 oinstall
(4)创建oracle用户。
检查oracle用户是否存在和/或用户id是否一致。
#grep oracle /etc/passwd
无输出则表示Oracle用户不存在。如果Oracle用户已存在,但用户id不一致,则使用以下命令删除Oracle用户。
# /usr/sbin/userdel -rf oracle
创建oracle用户。
#/usr/sbin/useradd -u 300 -g oinsta