1.安装前的准备工作

在安装前建议把主机的主机名更改一下,不要使用默认的localhost.localdomain,建议修改成其它的。

更改完成后,现在开始安装前的准备工作

2.创建oracle系统的用户和用户组

[root@centos7 ~]# groupadd oinstall

[root@centos7 ~]# groupadd dba

[root@centos7 ~]# useradd -g oinstall -g dba -m oracle

[root@centos7 ~]# passwd oracle

3.创建oracle数据库的安装目录,并指定目录的所属用户和所属组

[root@centos7 ~]# mkdir -p /data/oracle

mkdir -p /home/oracle/data/oracle

[root@centos7 ~]# mkdir -p /data/oraInventory

[root@centos7 ~]# mkdir -p /data/database

[root@centos7 ~]# chown -R oracle:oinstall /data/oracle/

[root@centos7 ~]# chown -R oracle:oinstall /data/oraInventory/

[root@centos7 ~]# chown -R oracle:oinstall /data/database/

4.修改centos系统标识,这里如果不做修改会报oracle11g不支持在该系统安装的错误,所以在安装数据库之前建议修改系统标识

默认系统标识文件是/etc/redhat-release 可以先查看一下默认标识

[root@centos7 ~]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

现在把系统标识修改成redhat-7修改完成后再次查看标识,已更改

问题一

修改主机名后要修改相应的主机与IP的映射

到/etc/hosts文件下修改:vim /etc/hosts

添加一行映射 192.168.0.200(本机IP) centos7(修改后的主机名

5.安装系统依赖包,这一步也是最容易出错的地方,所以一定要注意。下面列出所需要的安装的依赖包。

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh

libaio-0.3.109-9.el7.i686

libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686

libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686

libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686

libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686

libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686

libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686

libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64

sysstat-10.1.5-1.el7.x86_64

unixODBC-2.2.11.el7.x86_64

unixODBC-2.2.11.el7.i686

unixODBC-devel-2.2.11.el7.x86_64

unixODBC-devel-2.2.11.el7.x86_64

elfutils-libelf-devel

elfutils-libelf-devel-static

问题二

  1. 使用以下命令查看上面这些软件包的版本是否大于等于上面的要求:
  2. [root@localhost ~]# rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
  3. 建议使用yum把这些软件包都更新一遍:
  4. # yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

问题三

安装到后面第28步会遇到配置包问题,在此先在https://centos.pkgs.org/7/centos-x86_64/glibc-devel-2.17-222.el7.i686.rpm.html上下载32位的glibc-devel包,选择则2.17版本(试过2.27版本的无法解决问题)

https://pkgs.org/

6.关闭系统防火墙

先查看默认情况下系统防火墙的状态,发现是开户状态。执行systemctl stop firewalld.service命令关闭防火墙再执行查看状态命令systemctl status firewalld.service发现防火墙已经关闭最后执行systemctl disable firewalld.service命令来禁用防火墙(防止重启后再自动启动防火墙)

7.关闭selinux

找到/etc/selinux/config文件把文件中的SELINUX=enforcing 改为SELINUXdisabled即可

8.修改内核参数

在/etc/sysctl.conf文件的结尾加上以下代码

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

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 = 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

修改完成后执行sysctl -p命令使配置生效

9.修改oracle用户限制

在/etc/security/limits.conf文件末尾另上以下代码

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

10.配置oracle用户的环境变量

在/home/oracle/.bash_profile

文件结尾添加如下代码

export ORACLE_BASE=/data/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_TERM=xterm #xterm窗口模式安装

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量

export LANG=C #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,

添加完成后执行source /home/oracle/.bash_profile 命令使配置生效。

到这里所以的配置工作已经完成,接下来要做的就是安装软件了。

11.进入软件所在目录位置,解压缩,并开始安装

先把解压缩的database目录复制到之前建立的目录下/data/database/database 并修改权限chown -R oracle:oinstall /data/database/database/

以下操作在主机的视图化界面下进行:

然后切换到oracle用户,在database目录下找到runInstaller文件

执行./runInstaller开始安装

13.第二项打勾的地方去掉,点击下一步

14.选择第一项创建和配置数据库

15.选择服务类

16.选择单实例数据库

17.这里选择典型安装,更能清楚的看到详细的安装信息

18.语言默认即可

19.默认企业级即可

20.安装位置

21.默认之前创建的即可,用户组默认dba即可

22.全局数据库名,数据库SID标识符默认即可

23.编码建议选择为utf-8,还有默认实例数据也选择上

24.这两步都默认即可

25.选择使用同一密码,密码复杂度要满足 大小定加数字原则

26,默认即可

27.详细的安装信息

28.开始安装,差不多需要15–20分钟左右,耐心等待。在安装过程中会出现“|”这样的错误 直接点击右键选择关闭即可。

问题四

在安装过程中,进度到68%是会提示报错,详细信息为:Errorin invoking targetinstallof makefile/opt/oracle/product/10.2/ctx/lib/ins_ctx.mk. See/opt/oracle/oraInvertory/logs/installActions2010-09-28_10-27-06AM.logfor details.

从日志中获取的详细信息为:

INFO: gcc -m32 -o ctxhx -L/opt/oracle/product/10.2/ctx//lib32/ -L/opt/oracle/product/10.2/lib32/ -L/opt/oracle/product/10.2/lib32/st
ubs/ /opt/oracle/product/10.2/ctx/lib/ctxhx.o -L/opt/oracle/product/10.2/ctx/lib/ -ldl -lm -lctxhx -Wl,-rpath,/opt/oracle/product/1
0.2/ctx/lib -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore1
0 -lnls10 `cat /opt/oracle/product/10.2/lib/sysliblist`

INFO: /usr/bin/ld: crt1.o: No such file: No such file or directory

INFO: collect2: ld ” />INFO: make: *** [ctxhx] ?? 1

INFO: End output from spawned process.
INFO: ———————————-
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target ‘install’ of makefile ‘/opt/oracle/product/10.2/ctx/lib/ins_ctx.mk’. See ‘/opt/oracle/ora
Inventory/logs/installActions2010-09-28_10-27-06AM.log’ for details.
Exception Severity: 1

查询metalink发现对于glibc-devel需要32位的包,详细信息参考metalink文档ID 786995.1:

[root@YPJG Server]# rpm –all –query –queryformat “%{NAME}-%{VERSION}-%{RELEASE}-(%{ARCH})\n” | grep glibc
glibc-2.5-42-(x86_64)
glibc-2.5-42-(i686)
glibc-common-2.5-42-(x86_64)
glibc-devel-2.5-42-(x86_64)
glibc-headers-2.5-42-(x86_64)
[root@YPJG Server]# rpm -ivh glibc-devel-2.5-42.i386.rpm
warning: glibc-devel-2.5-42.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:glibc-devel ########################################### [100%]

重新安装,ins_ctx.mk不再报错。

需要注意,安装这个包后,要退出安装界面,而不要点CONTINUE,否则在ins_ctx.mk可以编译成功,虽然的包仍然会报错。

Oracle的官方文档并没有强调这个包的位数。

29.安装完成后提示需要执行两个脚本,使用root账户执行两个脚本即可完成安装。