###一、准备工作 #####1、关闭selinux 查看selinux状态: getenforce
或者sestatus -v
临时关闭: setenforce 0
永久关闭: vim /etc/selinux/config
按i进入编辑模式 SELINUX=disabled
编辑完成后按Esc键,输入“:wq”存盘退出
#####2、关闭firewalld 安装iptables 分别执行如下命令: systemctl stop firewalld.service
停止服务 systemctl disable firewalld.service
禁用服务
yum -y install iptables-services
安装rpm软件包 systemctl restart iptables.service
重启服务 systemctl enable iptables.service
#####3、创建用户
groupadd oinstall
创建用户组oinstall groupadd dba
创建用户组dba useradd -g oinstall -G dba -m oracle
创建用户Oracle并指定初始组oinstall和附加组dba passwd oracle
给新用户Oracle设置密码
#####4、创建安装目录,解压文件 这里是安装到根下ora目录,权限755,可以给高点如777 mkdir -p /ora/oracle
unzip -d /ora/ linux.x64_11gR2_database_1of2.zip
unzip -d /ora/ linux.x64_11gR2_database_2of2.zip
chown -R oracle:oinstall /ora
chmod 755 -R /ora
ora下各个目录的作用: database
解压安装程序后自动生成的安装包目录 oracle
oracle数据库安装目录 oraInventory
默认安装日志存放目录(安装后生成)
#####5、安装oracle所需依赖和桌面组件 桌面组件有700多MB
yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools"
#####6、将服务器名写入到hosts文件,可以测试ping sername 是否返回127.0.0.1 echo '127.0.0.1 oracledb localhost localhost.localdomain' >> /etc/hosts
ping -c 3 oracledb
返回结果
PING oracledb (127.0.0.1) 56(84) bytes of data.64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms--- oracledb ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 1999msrtt min/avg/max/mdev = 0.030/0.038/0.043/0.005 ms复制代码
#####7、修改内核(/etc/sysctl.conf),增加或修改以下内容 vim /etc/sysctl.conf
按i进入编辑模式 fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
内核参数需要注意,shmall 和shmmax 的值由服务器内存决定。(不过这个参数设置博主我现在也是一知半解,没完全搞明白,查了半天意思如下:) kernel.shmall : 该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304 符合要求。 kernel.shmmax: 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为16GB物理内存,可取1610241024*1024-1=17179869183。 kernel.shmmni: 该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。 kernel.sem = 250 32000 100 128 的意思是: 250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。 32000是参数semmns的值,表示系统内可允许的信号量最大数目。 100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。 128是参数semmni的值,表示系统信号量集合总数。
以下适用于8G内存左右服务器配置,12G或者16G以上建议调整。经测试4G的服务器也适合,不用做修改。
完成后使用命令 sysctl -p
#####8、修改认证模块 vim /etc/security/limits.conf
按i进入编辑模式
oracle soft nproc 131072oracle hard nproc 131072oracle soft nofile 131072oracle hard nofile 131072oracle soft core unlimitedoracle hard core unlimitedoracle soft memlock 50000000oracle hard memlock 50000000复制代码
编辑完成后按Esc键,输入“:wq”存盘退出
#####9、修改用户登录认证 vim /etc/pam.d/login
按i进入编辑模式
session required /lib64/security/pam_limits.sosession required pam_limits.so复制代码
编辑完成后按Esc键,输入“:wq”存盘退出
注意了,很多博文都是照搬抄袭,都是写的/lib/security/pam_limits.so 一般咱都是64位系统,64位系统需要设置为/lib64/security/pam_limits.so 否则重启服务器后就会出现命令行无法登录,但是通过桌面方式能登录的情况。
#####10、设置环境变量 ######Ⅰ、ORACLE_HOME 设置为安装目录product下默认目录 vim /etc/profile
*按i进入编辑模式*#oracleexport ORACLE_HOME=/ora/oracle/product/11.2.0/db_1export ORACLE_SID=orclif [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi复制代码
编辑完成后按Esc键,输入“:wq”存盘退出
######Ⅱ、修改oracle用户环境变量
vim /home/oracle/.bash_profile
*按i进入编辑模式*export ORACLE_BASE=/ora/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=orclexport ORACLE_TERM=xtermexport PATH=$ORACLE_HOME/bin:/usr/sbin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport NLS_LANG=AMERICAN_AMERICA.ZHS16GBK复制代码
编辑完成后按Esc键,输入“:wq”存盘退出
###二、通过桌面方式安装oracle #####1、使用oracle用户登录桌面,打开终端运行安装程序。 cd /ora/database
./runInstaller
注意:oracle中文语言会出现乱码,所以系统最好设置为en 英文,如果系统安装的时候选择了中文,那么oracle用户登录的时候也要修改用户语言为英文才能正常安装。
#####2、安装过程是都有相应提示的,并且鼠标直接点就完了 ######1):订阅邮件这些就直接跳过不填了。
######2):这里选择忽略更新(没有这个选项则跳过)。
######3):选择仅安装数据库,稍后再配置初始化数据。
######4):选择单实例安装。
######5):语言,选择英文。选中文后面容易出问题。
######6):企业版
######7):这里就出现最开始创建的相应目录信息了,会自动读取。
######8):下一步
######9):选择group 组为之前创建好的oinstall
######10):先决条件检查 安装的过程中可能会出现如下的一些警告信息,如提示semmni为0 的问题,该问题一直没有找到原因,我们在上面修改内核的过程中就已经调整了kernel.sem = 250 32000 100 128 但是检测无法通过(暂时无解) 其他的一些依赖组件提示,其实我们已经大部分安装好了,只是centos7上yum安装的依赖包要比oracle 11g 所需的包更新,版本更高,所以大部分可以直接忽略这些提示(勾选 ignore all)。 但是最好,我们将每一个包通过来重新检查一下,如果有未安装的则通过来搜索安装。另外,这一步还可能出现交换分区不够的情况,可以通过命令来调整,
######11):安装到最后的时候会出现一个提示:需要用root权限执行2个shell脚本,那么我们在之前的root用户终端下运行提示中的对应脚本文件即可。 这里或者更早前或者之后(我的就是后面)的步骤就可能会出现一个很神奇(zhizhang)的问题,对话框可能无法正常弹出,测试在VM虚拟机或者云服务器,如阿里云等都这样,但是用鼠标可以拖开。。。。如果开始拖不开,建议稍等,一般都没问题的