共计 5755 个字符,预计需要花费 15 分钟才能阅读完成。
一:安装前的检查准备工作
-
1,Oracle 需要一些 32 位的库,具体依赖的 32 位库文件如下:
glibc-devel-2.12-1.7NFS.i686.rpm
libXp-1.0.0-15.1NFS.i686.rpm
libX11-1.3-2NFS.i686.rpm
libXau-1.0.5-1NFS.i686.rpm
libXext-1.1-3NFS.i686.rpm
libxcb-1.5-1NFS.i686.rpm
libuuid-2.17.2-6NFS.i686.rpm –force
libXt-1.0.7-1NFS.i686.rpm
libICE-1.0.6-1NFS.i686.rpm
libSM-1.1.0-7.1NFS.i686.rpm
libXtst-1.0.99.2-3NFS.i686.rpm
libXi-1.3-3NFS.i686.rpm
readline-6.0-3NFS.i686.rpm
readline-devel-6.0-3NFS.i686.rpm
ncurses-libs-5.7-3.20090208NFS.i686.rpm
ncurses-devel-5.7-3.20090208NFS.i686.rpm
libaio-0.3.107-10NFS.i686.rpm
libaio-devel-0.3.107-10NFS.i686.rpm
libtool-ltdl-2.2.6-15.5NFS.i686.rpm
unixODBC-2.2.14-11NFS.i686.rpm
unixODBC-devel-2.2.14-11NFS.i686.rpm
compat-libstdc++-33-3.2.3-69NFS.i686.rpm -
2,修改内核参数
[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,链接二进制库文件的错误
在安装到 68% 时提示错误如下(网上找的图自己忘记截图了):
在网上查找解决办法大部分都是说缺少 glibc-devel.i386 包导致的,但是我把能添加的 32 位 64 位包都实验了还是不行。可能 log 中具体的错误原因不一样吧。我的 log 错误如下:
后注意到日志有以下错误:
INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14’
INFO: collect2: error: ld returned 1 exit status
INFO: make: * [ctxhx] Error 1
网上说是 glibc 的版本 2.17 过高所致(高于 2.14)。
解决办法:安装 glibc-static-2.17-55.el7.x86_64.rpm 下载见 http://www.linuxidc.com/Linux/2015-01/112247.htm
该软件包包含一个静态链接库:/usr/lib64/libc.a
修改 /u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将 ctxhx: $(CTXHXOBJ)
$(INSO_LINK) /usr/lib64/libc.a
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ)
点击 Retry 继续安装。
接着又提示”Error in invoking target‘agent nmhs’of makefile‘/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.’,如下图:
解决方法:在 makefile 中添加链接 libnnz11 库的参数
修改 /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL) 修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击 Retry 继续安装。安装成功!
- 3,EM 停止与启动:
EM 停止:oracle@localhost zhs]emctlstopdbconsoleEM启 动:[oracle@localhostzhs] emctl start dbconsole
https://192.168.1.5:1158/em 登陆 EM
- 4,Oracle10gR2 汉语安装或启动 EM 时汉语显示方块字解决方法
方法一:在 jre/lib/fonts 中建立字体连接
#ll /usr/bin/Java
lrwxrwxrwx. 1 root root 22 2 月 27 10::41 /usr/bin/java->/etc/alternatives/java
#ll /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 2 月 27 10::41 /etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
目录 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/ 下的 java 是真正安装 openjdk 的 java
如果 GUI 显示汉字为方块字,则在 java 的安装目录下创建字体文件夹和字体连接
#cd /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib
#mkdir -p fonts/fallback
#cd ./fonts/fallback
#ln -s /usr/share/fonts/wqy-zenhie/wqy-zenhei.ttc ./
把系统自带的文泉驿正黑字体的文件连接创建在此,重新启动界面安装程序,则能正常显示汉字。
(如果系统中安装了 JDK,JDK 中包含了 JRE,就在…./JDK/JRE/lib/fonts,建立目录 fallback,在…./JDK/JRE/lib/fonts/fallback/ 中建立连接)
方法二:使用网上下载字体 zysong.ttf(此字体不是系统提供的,如果方法一不行,可用次方法)
#cd /usr/share/fonts
#mkdir -p ./zh_CN/TrueType
#cd ./zh_CN/TrueType
#cp ……../zysong.ttf ./
- 5,Oracle11gR2 卸载
rm -rf ORACLE H OMErm−rf ORACLE_BASE
rm -rf /etc/oraInst.loc
rm -rf /etc/oratab
rm -rf /etc/oracle
rm -rf /etc/inittab.cssd
rm -rf /usr/local/bin/coraenv
rm -rf /usr/local/bin/dbhome
rm -rf /usr/local/bin/oraenv
rm -rf /opt/oracle
rm -rf /tmp/ora*
rm -rf /u01/app/*
删除 oracle 用户和组
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139070.htm