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
问题二
- 使用以下命令查看上面这些软件包的版本是否大于等于上面的要求:
- [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
- 建议使用yum把这些软件包都更新一遍:
- # 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%是会提示报错,详细信息为:Error in invoking target ‘install’ of makefile‘/opt/oracle/product/10.2/ctx/lib/ins_ctx.mk’. See‘/opt/oracle/oraInvertory/logs/installActions2010-09-28_10-27-06AM.log’ for 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 ?? 1
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的官方文档并没有强调这个包的位数。