Linux安装Oracle11g数据库教程

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

扫描二维码关注公众号,回复: 17394381 查看本文章

[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%是会提示报错,详细信息为: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的官方文档并没有强调这个包的位数。

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

猜你喜欢

转载自blog.csdn.net/weixin_41443565/article/details/132269366