CentOS7安装Oracle数据库的全流程

一、准备工作

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

你可能感兴趣的:(面试,阿里巴巴,android,前端,后端)