CentOS7 安装Oracle 11g R2完整手册及问题解决方法

一:安装前的检查准备工作

[root@localhost ~]# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

[root@localhost ~]# sysctl -p
其中:
kernel.shmall —————————————————\
kernel.shmmax —————————————————– > 共享内存段有关参数
kernel.shmmni ————————————————–/
kernel.sem ——————————————————》信号量有关的参数
fs.file-max ——————————————————-》可以同时打开的文件的最大数量
net.ipv4.ip_local_port_range——————————-》网络有关的参数

3,增加操作系统用户的nofile、nproc参数

nofile:操作系统用户可以同时打开的最大文件数
nproc:单个用户同时可以打开的进程数

[root@localhost ~]# vi /etc/security/limits.conf
# /etc/security/limits.conf

* soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536

4,添加pam模块,添加最后一行

[root@localhost ~]# vi /etc/pam.d/login
#%PAM-1.0
auth required pam_securetty.so
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
# pam_selinux.so close should be the first session rule
session required pam_stack.so service=system-auth
# pam_selinux.so open should be the last session rule
session required pam_limits.so

5,在hosts 添加最下面一行 (根据自己的IP进行修改)

[root@localhost db_1]# vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.7.24 oracle

6, 创建用户 ,用户组

[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g oinstall -G dba oracle
[root@localhost ~]# passwd oracle

7,设置oracle用户的环境变量

[root@localhost ~]# su - oracle
[oracle@localhost~] $ vim .bash_profile

# .bash_profile
export PATH
unset USERNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME= $ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11g
export PATH=$PATH:$HOME/BIN:$ORACLE_HOME/bin
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

Vim /etc/profile
export LD_BIND_NOW=1

8,建立需要目录、设置权限

[root@localhost ~]# cd /
[root@localhost /]# mkdir -p /u01/app/oracle
拷贝oracle10g安装目到/u01下
[root@localhost/]#cp –rf …/database /u01
[root@localhost /]# chown -R oracle:oinstall /u01
[root@localhost /]# ll /u01/
total 8
drwxr-xr-x 3 oracle oinstall 4096 Feb 9 13:21 app

9,软件安装

1 执行/u01/database目录下的
[oracle@localhost database]$ ./runInstaller 开始安装。

如果安装界面汉字显示方块字,可以参考附录关于解决方块字的方法或直接使用英文安装:
[oracle@localhost database]$ LANG=en_US.UTF-8 ./runInstaller

附录:

1,安装oracle11g release 2时遇到的多库问题

现象:在检测依赖的时候失败,都是需要32位库的问题,但是为已经把编译为 i686的32位库安装后还是依赖失败。如下图:

这里写图片描述


解决方法:重新编译32位RPM包为 i386架构的装上就可以检测到了。在上图中的详细信息中,依赖需要的RPM包,也确实提示了i386架构。
如何在64位机器上编译32位RPM包?因为系统是64位的,默认安装的gcc/g++都是用来编译64位代码的,对于那些使用32位库的程序来说,用此gcc/g++编译会出问题。我遇到的就是缺少gun/stab.h 32位文件。遇到这样的问题,只能手动安装32位的库文件。
Rpm -ivh glibc-devel.i686 glibc.i686
编译命令,用target 参数指定要编译成的CPU架构,如下:
rpmbuild -ba rpmbuild/SPECS/libaio.spec –target i386
这种情况下,编译一些小的程序可以成功,但是在编译gcc compat-gcc这些大的程序时,可能依赖的太多,还没有成功编译。如果不行的话,就只能安装一个32位的系统来进行单独的文件了。

2,链接二进制库文件的错误

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cae56023492ac3aea628dd7d9c79b30c.html