前言

其实博主之前是在oracle linux 7.2上尝试安装oracle 11.2.0.1的,挣扎近一天,坑太多,然后转向oracle 11.2.0.4,发现坑也不少,用了两天时间,一个个解决,最终完美在linux7.2上用上了11.2.0.4,记录以下近十个坑。

系统安装及相关配置

1.linux系统安装跳过
2.网络配置
如果发现网络不通,可进行如下操作

ifconfig -a   #查看当前的网卡
cd  /etc/sysconfig/network-scripts/
ls -al
#找到对应的配置文件,如eno16777736
vi ifcfg-eno16777736
#修改里面的如下一项
ONBOOT = yes
#重启
reboot

安装文件上传与解压

可以借助winscp上传安装文件的压缩包,附上博主收藏的11.2.0.4百度云链接:
https://pan.baidu.com/s/1iniFWUq2qzRlx3QmOL5Bbw
提取码:a02i

利用winscp把1of7和2of7两个压缩包上传至/opt文件夹下即可,其余五个和此次数据库安装没直接关联用途。

上传完毕利用unzip解压:

unzip p13390677_112040_Linux-x86-64_1of7.zip 
unzip p13390677_112040_Linux-x86-64_2of7.zip 
#执行完毕后会看到/opt目录下多了一个database目录

安装前准备

修改hosts文件

vi /etc/hosts
#在文件末尾追加 ip 主机名
#主机名可以通过vi /etc/hostname 得到

修改操作系统核心参数等

进行如下多步操作

#修改/etc/security/limits.conf文件
vi /etc/security/limits.conf
#追加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

#修改/etc/pam.d/login 文件
vi /etc/pam.d/login
#追加如下内容
session required /lib/security/pam_limits.so
session required pam_limits.so

#修改linux内核参数
vi /etc/sysctl.conf 
#追加如下内容
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

#使用sysctl -p激活修改
sysctl -p

#编辑 /etc/profile
vi /etc/profile
#输入如下内容
if [ $USER = "oracle" ]; then
 
    if [ $SHELL = "/bin/ksh" ]; then
 
        ulimit -p 16384
 
        ulimit -n 65536
 
    else
     
        ulimit -u 16384 -n 65536
 
    fi
 
fi 
           

创建用户组等

groupadd dba
groupadd oinstall
useradd -g oinstall -G dba -m oracle

#可通过passwd oracle修改密码

创建数据库软件目录和数据文件存放目录

#创建安装目录
mkdir -p /home/app/oracle/product/11.2.0/db_1
#数据文件存放目录
mkdir -p /home/app/oracle/oradata
#数据恢复目录
mkdir -p /home/app/oracle/recovery_area
#数据库创建及使用过程中的日志目录
mkdir -p /home/app/oracle/oraInventory

#修改安装目录权限
chown -R oracle:oinstall /home/app/oracle
chmod 775 /home/app/oracle
.....后面省略重复操作

设置环境变量

#切换为oracle用户
su oracle
cd ~
vi .bash_profile
#追加如下内容
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
export ORACLE_SID=orcl  #根据具体的填写
#如果设置NLS_LANG,容易产生导入sql或dmp出错,因为其他环境下的不是utf8
export NLS_LANG="Simplified Chinese_china".ZHS16GBK


source .bash_profile #使设置生效

开始安装

切换回/opt/database目录下,运行./runInstaller

大坑之显示器DISPLAY变量设置的问题

如果报类似于 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量 这样的提示,请进行如下设置:

#切换回root
su
xdpyinfo |grep "name of display"
#记录下name of display:xxxx的xxxx部分(很重要)
#继续执行
xhost +
#切换回oracle用户
su oracle
#设置临时环境变量
export DISPLAY=xxxx
#然后执行
xdpyinfo
#没有报错则表示成功,继续进行安装操作
./runInstaller

大坑之中文方格乱码的问题

如果进入安装界面突然又发现中文都是方格乱码,请进行如下操作:

yum install cjkuni-uming-fonts

mkdir -p /usr/share/fonts/zh_CN/TrueType

cp /usr/share/fonts/cjkuni-uming/uming.ttc /usr/share/fonts/zh_CN/TrueType/zysong.ttf

接着进行执行./runInstaller,下面的略过,注意目录的选择和用户及用户组的选择,和之前创建的对应好即可,

大坑之安装界面出现黑色竖线点击没反应的问题

其实这是安装会话提示框,至于为啥显示不出来,是因为你没有提供jre的路径,可以执行如下安装命令:

./runInstaller -jreLoc 你的jre路径

执行了以后很开心,会话框可以正常显示,然后一步一步进行,一定要注意目录选择是否和之前创建的匹配。。。

大坑之swap空间不足的问题

在检查阶段,可能会遇到swap不足的问题,进行如下操作,临时增加

dd if=/dev/zero of=/home/swap bs=1024 count=4096000 #count可以根据你的需要改,1024000代表1G左右空间
mkswap /home/swap 
swapon /home/swap 

点击重新检查,发现这一坑以及填平。

小坑之kernel.shmmax设置的偏小

这个比较好解决,只要修改/etc/sysctl.conf,把里面的kernel.shmmax改成大于需要的值即可,但是需要记得执行sysctl -p使修改生效,然后重新检查,很开心,又解决一个坑。

小坑之依赖包安装

这一步很容易解决,安装就是,大坑在后面。

大坑之pdksh和已有的包冲突的问题

卸载原有的包?不行!
强行安装?不行!
用我提供的这个吧。
pdksh-5.2.14-37.el5_8.1.x86_64.rpm

巨大坑之 Error in invoking target 'agent nmhs' of makefile 'xxxxx'

你安装的过程,在链接二进制文件时,突然弹窗报错 Error in invoking target 'agent nmhs' of makefile 'xxxxx',这个时候其实你会觉得有弹窗提示真幸福(笔者之前一直忽略黑竖线的问题,并没有任何提示,只是卡死在86%,然后必须去翻日志查看,然后还要面临删文件,重启电脑的问题),所以说,采坑不可怕,可怕的是填坑的顺序。。。进行如下操作:

#另启一个bash输入
sed 's/$(MK_EMAGENT_NMECTL)$/\$(MK_EMAGENT_NMECTL) -lnnz11/g' -i xxxxx #这个根据安装报错提示来看

#回到安装界面,点击重试,下面的就会很顺利了?

安装完毕

netca配置一小坑

如果启动netca时报"/bin/netca: 行 181: 11009 已放弃 (吐核)$JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*"类似的错误,进行如下操作:

hostname 新的主机名(随便设置)
vim /etc/hosts
#追加 您的ip 刚刚新主机名

oracle使用时startup报错

报错内容:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/home/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'

这个时候请回到环境变量设置的步骤,看看ORACLE_SID是否和你安装oracle时填入的SID是否一致,两者必须一致,如果不一致请修改环境变量,如果记不得了,可以进行如下操作:

#切换至oracle_home
cd $ORACLE_HOME
cd dbs
ls
找到一个类似于spfileXXXX.ora的文件,其名称中的XXXX部分就是你安装oracle时设置的SID的值,请把环境变量ORACLE_SID修改为XXXX即可
然后重启oracle服务即可解决

以上就是博主遇到的坑.