安装依赖包
在16的环境下,通过本身自带的源,获取如下依赖
http://blog.csdn.net/whbing1471/article/details/52087130(不按照这个改变源)
sudo apt-get install bzip2 sudo apt-get install elfutils sudo apt-get install automake sudo apt-get install autotools-dev sudo apt-get install binutils sudo apt-get install expat sudo apt-get install gawk sudo apt-get install gcc sudo apt-get install gcc-multilib sudo apt-get install g++-multilib sudo apt-get install ia32-libs sudo apt-get install ksh sudo apt-get install less sudo apt-get install lesstif2 sudo apt-get install lesstif2-dev sudo apt-get install lib32z1 sudo apt-get install libaio1 sudo apt-get install libaio-dev sudo apt-get install libc6-dev sudo apt-get install libc6-dev-i386 sudo apt-get install libc6-i386 sudo apt-get install libelf-dev sudo apt-get install libltdl-dev sudo apt-get install libmotif4 sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386 sudo apt-get install libpth-dev sudo apt-get install libpthread-stubs0 sudo apt-get install libpthread-stubs0-dev sudo apt-get install libstdc++5 sudo apt-get install lsb-cxx sudo apt-get install make sudo apt-get install openssh-server sudo apt-get install pdksh sudo apt-get install rlwrap sudo apt-get install rpm sudo apt-get install sysstat sudo apt-get install unixodbc sudo apt-get install unixodbc-dev sudo apt-get install unzip sudo apt-get install x11-utils sudo apt-get install zlibc
发现有一些包安装不了
解决无法安装ia32-libs的问题(以及以上很多安装包无法安装的32位之类的问题)
http://www.infocool.net/kb/Other/201701/270619.html
检查系统变量
添加oracle用户的内核限制
添加对当前用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据(XXX为你当前用户名)
检查/etc/pam.d/login 和 /etc/pam.d/su,增加以下行
没有以下行就自己加上: (有了就不用增加了)
session required pam_limits.so
欺骗oracle,让它以为是redhat
之后
echo “Red Hat Linux release 4″ > /etc/redhat-release
如果不行就直接
vim /etc/redhat-release
添加用户和组
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G oinstall,dba,oper oracle
passwd oracle
问题一:添加完成之后,su - oracle (一定要是这样su,这样相当于重新登录,并且更换shell),结果只有
说明oracle的shell有问题
有两个途径解决:
1、用root用户登录,直接vim /etc/passwd,改成如下/bin/bash
2.用root用户登录,执行以下
为了以防万一
vim /etc/profile,然后添加以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/bash" ]; then
ulimit -p 16384 #此处有问题,见下
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
问题二:ulimit -p 16384 会报错误如下
-bash: ulimit: pipe size: cannot modify limit: Invalid argument
说明ulimit -p 16384这句话有问题,在网上找了一圈说是格式问题,但不是,自己检查了一下root用户和oracle用户下的ulimit状态,用ulimit -a命令检查
root的
oracle的
-p即pipesize是一样的,考虑是不是应该写8而不是16384,避免不必要的麻烦,直接在/etc/profile里把ulimit -p 16384这句话删掉,就好了。
在/etc/profile里设置环境变量
umask 022
TMP=/tmp;
export TMP
TMPDIR=$TMP;
export TMPDIR
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$PATH:${ORACLE_HOME}/bin/;
关于执行bash和profile的问题,参考以下
https://my.oschina.net/xinxingegeya/blog/213971
如果路径有~,代表这个配置文件的执行是依赖于当前用户的,所以如果是想设置一个对于所有用户都通用的变量,就在/etc/profile里面设置,包括jdk的环境