redhat 7安装oracle 11gr2
第一章 前期工作:
1.安装redhat 7系统
2.下载oracle 11gr2安装文件----点击下载(这里的是oracle官方的)----点击下载(这里的是我自己的服务器的)
3.下载额外软件版本包----点击下载(这里的几个均许单独安装,安装好以后,仍然会有几个版本告知未找到,这里就可以忽略了而且不会在报错了)
4.将文件上传到redhat 7系统里:
(1)建议在系统里装一个FTP,可以安装 lftp,方便文件传输
(2)因为oracle的默认安装是在/home/oracle下的,所以建议家目录不要小于30G
(3)库的位置是可以独立出来的,所以建议自己设置一个目录作为库的位置,如果你对iscsi或其他存储比较熟悉,可以采用此类作为库的所在(以后会写些iscsi等的redhat应用)
(4)安装过程中会有最少一处的ins_*.mk报错,需要手动调整(安装过程第7步),也可以提前写好脚本,等弹窗出来执行然后重试即可继续执行安装
5.unzip oracle11gr2 文件(这里最好是把文件复制到/home/oracle/下,因为unzip 需要你指定加压的路径,为了省事儿,复制过来就不用指定路径直接解压当前目录即可)
第二章 安装过程
1.系统安装需要的软件以及环境,为了省事儿,这里采用的安装的较多
yum -y install libXp*
yum -y install gcc*
yum -y install glibc*
yum -y install compat*
yum -y install binutils*
yum -y install elfutils.glibc*
yum -y install ksh*
yum -y install libaio*
yum -y install libgcc*
yum -y install make*
yum -y install numactl-devel*
yum -y install sysstat*
yum -y install elfutils*
yum -y install unixODBC*
2.设置并生效内核参数
echo 'fs.aio-max-nr = 1048576 '>>/etc/sysctl.conf
echo 'fs.file-max = 6815744 '>>/etc/sysctl.conf
echo 'kernel.shmall = 2097152 '>>/etc/sysctl.conf
echo 'kernel.shmmax = 980742144 '>>/etc/sysctl.conf
echo 'kernel.shmmni = 4096 '>>/etc/sysctl.conf
echo 'kernel.sem = 250 32000 100 128 '>>/etc/sysctl.conf
echo 'net.ipv4.ip_local_port_range = 9000 65500 '>>/etc/sysctl.conf
echo 'net.core.rmem_default = 262144 '>>/etc/sysctl.conf
echo 'net.core.rmem_max = 4194304 '>>/etc/sysctl.conf
echo 'net.core.wmem_default = 262144 '>>/etc/sysctl.conf
echo 'net.core.wmem_max = 1048586 '>>/etc/sysctl.conf
/sbin/sysctl -p
3.设置内存用量
echo 'oracle soft nproc 2047' >> /etc/security/limits.conf
echo 'oracle hard nproc 16384' >> /etc/security/limits.conf
echo 'oracle soft nofile 1024' >> /etc/security/limits.conf
echo 'oracle hard nofile 65536' >> /etc/security/limits.conf
echo 'oracle soft stack 10240' >> /etc/security/limits.conf
4.建oracle需要的用户和群并设置密码
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
5.切换用户
su - oracle
6. cd 空格 回到用户oracle桌面并编辑顶层目录下文件:.bash_profile
DISPLAY=:0.0
TMP=/tmp;
TMPDIR=$TMP;
ORACLE_BASE=/home/oracle/app/oracle;
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
ORACLE_SID=sales;
ORACLE_TERM=xterm;
PATH=/usr/sbin:$PATH;
PATH=$ORACLE_HOME/bin:$PATH;
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
7.这一步的操作是要在报错弹窗说ins_emagent.mk这个文件有错时来用的一行命令,当然想直接输命令得再开一个窗口并登录root
sed -i 's/^\s*\$(MK_EMAGENT_NMECTL)\s*$/\1 -lnnz11/g' ins_emagent.mk
(这里的命令是意思是使用sed -i 把当前路径下的ins_emagent.mk文件里面的 MK_EMAGENT_NMECTL 找到并面其后面添加 -lnnz11)
8.安装完毕时会一个要求执行两个.sh脚本的弹窗, su root使用root账户运行即可。
9.致此安装结束。
第三章 问题与排解
1.出现好几处ins_*.mk的报错----因为有rpm包没有安装,安装好重试即可,不用退出
2.安装完报错,说未完成安装----这个比较麻烦,有过两次,是因为安装的配置不符合系统实际,内存超出设定,防火墙挡了东西,甚至selinux启用等都会致误,建议是内存看好量,关了防火墙安装,selinux也先关掉
3.报网络或主机名报错----这里是因为我没有设置hostname里面的主机名,需要把本机IP:主机名写到里面去,但测试机可以罢了,如果是多机群的,那建议设置一下
4.重启后oracle命令行无法使用----得先看环境变量,如果环境变量跑了,那说明环境变量是临时变量,没有写进变量里去