CentOS 7下安装部署Oracle11g图文教程

一、 安装环境:

Linux系统:

CentOS 7 64

Oracle:  

Oracle11gR2 64

 

二、系统要求:

系统要求

说明

内存

必须高于1G的物理内存

交换空间

一般为内存的2倍,例如1G的内存可以设置swap3G大小

硬盘

5G以上

三、系统核心参数配置:

在Root用户下执行以下步骤:

3.1 安装前验证

内存最小1G,推荐2G或者更高。

# grep MemTotal /proc/meminfo

CentOS 7下安装部署Oracle11g图文教程

# free

CentOS 7下安装部署Oracle11g图文教程

内存为1-2g,swap是内存的1.5倍左右。

# grep SwapTotal /proc/meminfo

CentOS 7下安装部署Oracle11g图文教程

验证相关包是否安装。

# rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel

CentOS 7下安装部署Oracle11g图文教程

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers glibc-static ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat kernel-headers pdksh libgomp libstdc++-static numactl-devel unixODBC unixODBC-devel

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

3.2 创建组和用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba -m oracle

echo oracle | passwd --stdin oracle

CentOS 7下安装部署Oracle11g图文教程

3.3 创建数据库软件目录和数据文件存放目录

目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oradata

mkdir /home/oracle/app/oracle/product

CentOS 7下安装部署Oracle11g图文教程

更改目录属主为Oracle用户所有,输入命令:

chown -R oracle:oinstall /home/oracle/app

CentOS 7下安装部署Oracle11g图文教程

 

3.4 关闭并禁用防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

CentOS 7下安装部署Oracle11g图文教程

3.5 关闭selinux

vi /etc/selinux/config

SELINUX=disabled

CentOS 7下安装部署Oracle11g图文教程

3.6 配置内核参数

配置要求,配置大于系统数据需要配置更改,否则不需要配置:

vi /etc/sysctl.conf

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

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

CentOS 7下安装部署Oracle11g图文教程

使配置生效

/sbin/sysctl -p

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

3.7 对oracle用户设置限制,提高软件运行性能

vi /etc/security/limits.conf 修改

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

CentOS 7下安装部署Oracle11g图文教程

 

3.8 配置oracle用户的环境变量

首先,切换到新创建的oracle用户下,

输入:su – oracle  ,然后直接在输入 : vi .bash_profile

按i编辑 .bash_profile,进入编辑模式,增加以下内容:

umask 022

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

CentOS 7下安装部署Oracle11g图文教程

source /home/oracle/.bash_profile

 

3.9 编辑profile文件

vi  /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

CentOS 7下安装部署Oracle11g图文教程

3.8 修改hosts文件

vi /etc/hosts

10.10.11.124 localhost

CentOS 7下安装部署Oracle11g图文教程

3.9 修改login文件,

输入命令:vi  /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

session required /lib/security/pam_limits.so

session required pam_limits.so

CentOS 7下安装部署Oracle11g图文教程

 

四、安装oracle

接下来的步骤都在主机上进行。

4.1 上传并解压安装包

上传使用tftp工具上传到/opt目录(没有要求一定要放这个目录哈,个人习惯)

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

 

4.2 修改cvu_prereq.xml

文件路径:/opt/database/stage/cvu

修改之前先备份一下,养成好习惯哈

cp cvu_prereq.xml cvu_prereq.xml.bak

使用perl命令,将文件中的i386字段修改为i686

perl -p -i -e "s/i386/i686/g" cvu_prereq.xml

CentOS 7下安装部署Oracle11g图文教程

 

4.3 开始安装数据库

安装之前建议重启一下主机

路径:/opt/database

#为了避免安装过程出现乱码,输入命令:

export.UTF-8

./runInstaller

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

 

Y CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

 

 

4.4 出现图示问题解决方法

/lib64/libstdc++.so[email protected]_2.4找不到。

问题:glibc是2.17的库,连接找的是2.14的库。

解决办法:改成静态链接。

查看 /usr/lib64/libc.a是否存在。

修改oracle安装目录下:$ORACLE_HOME/ctx/lib/ins_ctx.m

CentOS 7下安装部署Oracle11g图文教程

文件路径:/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib

修改文件内容:

ctxhx: $(CTXHXOBJ)

        $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

改为:

ctxhx: $(CTXHXOBJ)

        -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a

然后点击retry通过。

CentOS 7下安装部署Oracle11g图文教程

 

 

4.5 出现下列问题解决方法

问题:undefinied reference symbol’B_DestroyKeyObject’,查看日志,实际就是没有找到nnz11这个库。
解决办法:
修改$ORACLE_HOME/sysman/lib/ins_emagent

$(MK_EMAGENT_NMECTL)


修改为:

$(MK_EMAGENT_NMECTL) -lnnz11


然后点击retry通过。

 

CentOS 7下安装部署Oracle11g图文教程

文件路径:/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib

CentOS 7下安装部署Oracle11g图文教程

4.6 按图示运行两个脚本

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

 

 

 

 

 

 

五、数据库建库

还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

输入统一密码(也可以分别设置其密码)

CentOS 7下安装部署Oracle11g图文教程

数据库存放位置,我这里采用默认

CentOS 7下安装部署Oracle11g图文教程

不指定快速恢复和归档

CentOS 7下安装部署Oracle11g图文教程

去掉不常用的模块

CentOS 7下安装部署Oracle11g图文教程

内存分配及指定字符集

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

经过漫长的等待,当看到此界面,说明oracle建库完成

CentOS 7下安装部署Oracle11g图文教程

可以用sqlplus来检验下,新开启一个命令窗口,输入sqlplus,然后输入用户名和密码,可以测试下,这里就不做过多的介绍了。

六、配置监听及本地网络服务

在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。

CentOS 7下安装部署Oracle11g图文教程

创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

 

CentOS 7下安装部署Oracle11g图文教程 CentOS 7下安装部署Oracle11g图文教程 CentOS 7下安装部署Oracle11g图文教程 CentOS 7下安装部署Oracle11g图文教程 CentOS 7下安装部署Oracle11g图文教程 CentOS 7下安装部署Oracle11g图文教程

配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

CentOS 7下安装部署Oracle11g图文教程CentOS 7下安装部署Oracle11g图文教程CentOS 7下安装部署Oracle11g图文教程CentOS 7下安装部署Oracle11g图文教程输入oracle服务器的ip地址

CentOS 7下安装部署Oracle11g图文教程

选中测试

CentOS 7下安装部署Oracle11g图文教程 CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

为你所设置的本地网络服务名起个名字

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

CentOS 7下安装部署Oracle11g图文教程

七、测试

查看oracle服务是否启动

# lsof -i:1521 

CentOS 7下安装部署Oracle11g图文教程

这样oracle服务器安装配置基本就完成了。

监听:lsnrctl status

CentOS 7下安装部署Oracle11g图文教程

查看实例信息:

首先登陆数据:

#su – oracle

#sqlplus / as sysdba

#select * from v$instance;

CentOS 7下安装部署Oracle11g图文教程