linux CentOS 7.x下安装部署Oracle

1.1 编写目的

指导进行oracle数据库安装

2.1 硬件要求

内存:最小1G,推荐2G

磁盘空间:推荐20G

环境准备

2.2.1 操作系统

# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

 

2.2.2 安装包

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

 

2.3 安装准备

2.3.1 创建oracle数据库相关用户和组

#创建用户组oinstall

[[email protected] ~]# groupadd oinstall

#创建用户组dba

[[email protected] ~]# groupadd dba

#创建oracle用户,并加入到oinstall和dba用户组

[[email protected] ~]# useradd -g oinstall -g dba -m oracle

#设置用户oracle的登陆密码

[[email protected] ~]# passwd oracle

更改用户 oracle 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

2.3.2 创建oracle安装目录

#oracle数据库安装目录

[[email protected] ~]# mkdir -p /data/oracle

#oracle数据库配置文件目录

[[email protected] ~]# mkdir -p /data/oraInventory

#oracle数据库软件包解压目录

[[email protected] ~]# mkdir -p /data/database

#设置目录所有者为oinstall用户组的oracle用户

[[email protected] ~]# cd /data

[[email protected] ~]# chown -R oracle:oinstall *

2.3.3 修改OS系统标识为redhat

[[email protected] ~]# vi /etc/redhat-release

redhat-7

[[email protected] ~]# cat /etc/redhat-release

redhat-7

2.3.4 安装oracle数据库所需要的软件包

[[email protected] ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*

注:需要安装的依赖包名

检查依赖:rpm -qa 包名

安装依赖包:rpm -ivh 包名

 

kernel-headers-3.10.0-123.el7.x86_64

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

numactl-devel-2.0.9-2.el7.x86_64

glibc-headers-2.17-55.el7.x86_64

glibc-common-2.17-55.el7.x86_64

binutils-2.23.52.0.1-16.el7.x86_64

unixODBC-devel-2.3.1-10.el7.x86_64

libaio-0.3.109-12.el7.x86_64

make-3.82-21.el7.x86_64

elfutils-libelf-0.158-3.el7.x86_64

elfutils-libelf-devel-0.158-3.el7.x86_64

sysstat-10.1.5-4.el7.x86_64

glibc-static-2.17-55.el7.x86_64

glibc-devel-2.17-55.el7.x86_64

glibc-2.17-55.el7.x86_64

elfutils-libelf-devel-static-0.158-3.el7.x86_64

libaio-0.3.109-12.el7.i686

gcc-4.8.2-16.el7.x86_64

libgcc-4.8.2-16.el7.i686

libstdc++-static-4.8.2-16.el7.x86_64

libaio-devel-0.3.109-12.el7.x86_64

libstdc++-4.8.2-16.el7.x86_64

libaio-devel-0.3.109-12.el7.i686

unixODBC-2.3.1-10.el7.x86_64

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

compat-libstdc++-33-3.2.3-71.el7.x86_64

libgcc-4.8.2-16.el7.x86_64

libgomp-4.8.2-16.el7.x86_64

2.3.5 关闭防火墙

#查看防火墙状态

[[email protected] ~]# systemctl status firewalld.service

[[email protected] ~]# systemctl stop firewalld.service

#查看防火墙状态

[[email protected] ~]# systemctl status firewalld.service

#禁止使用防火墙

[[email protected] ~]# systemctl disable firewalld.service

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

2.3.6 关闭selinux

[[email protected] ~]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

2.3.7 修改内核参数

[[email protected] ~]# vi /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

#使配置修改内核的参数生效

[[email protected] ~]# sysctl -p

2.3.8 修改用户进程数限制

[[email protected] ~]# vi /etc/security/limits.conf

#添加

oracle soft nproc 65536

oracle hard nproc 65536

oracle soft nofile 65536

oracle hard nofile 65536

2.3.9 重启使配置生效

[[email protected] ~]# reboot

 

2.4 oracle安装

2.4.1 配置用户环境变量

[[email protected] src]# su - oracle

[[email protected] ~]$ vi /home/oracle/.bash_profile

#oracle数据库安装目录

export ORACLE_BASE=/data/oracle

#oracle数据库路径

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

#oracle启动数据库实例名

export ORACLE_SID=esbdb

export ORACLE_UNQNAME=esbdb

#xterm窗口模式安装

export ORACLE_TERM=xterm

#添加系统环境变量

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

#添加系统环境变量

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

#防止安装过程出现乱码

export LANG=C

#字符集配置,与oracle安装字符集保持一致

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

2.4.2 解压安装包

[[email protected] ~]$ cd /usr/local/src

[[email protected] src]$ unzip linux.x64_11gR2_database_1of2.zip -d /data/database/

[[email protected] src]$ unzip linux.x64_11gR2_database_2of2.zip -d /data/database/

[[email protected] database]$ su – root

[[email protected] ~]#  chown -R oracle:oinstall /data/database/database/

[[email protected] ~]# su - oracle

2.4.3 图形界面安装oracle

[[email protected] ~]$ cd /data/database/database/

[[email protected] database]$ ./runInstaller

如果系统没有安装图形界面,则可用调用Xmanager – Broadcast进行安装

[[email protected] database]$ export DISPLAY=192.168.41.102:1.0 #本地IP

linux CentOS 7.x下安装部署Oracle

不接受安全更新

linux CentOS 7.x下安装部署Oracle

选择创建和配置数据库

linux CentOS 7.x下安装部署Oracle

选择服务器类

linux CentOS 7.x下安装部署Oracle

选择单实例安装

linux CentOS 7.x下安装部署Oracle

选择高级安装

linux CentOS 7.x下安装部署Oracle

选择简体中文和英语

linux CentOS 7.x下安装部署Oracle

选择企业版

linux CentOS 7.x下安装部署Oracle

选择安装目录,与环境变量一致

linux CentOS 7.x下安装部署Oracle

填写全局数据库名和数据库实例,尽量保持一致

linux CentOS 7.x下安装部署Oracle

启用内存管理选项去掉

linux CentOS 7.x下安装部署Oracle

选择字符集,这里选择AL32UTF8,与环境变量保持一致

linux CentOS 7.x下安装部署Oracle

安全性选项去掉

linux CentOS 7.x下安装部署Oracle

口令设置

安装过程中如出现一下问题,解决方案:

1、ins_ctx.mk编译错误

错误日志

INFO: /lib64/libstdc++.so.5: undefined reference to `[email protected]_2.14'

INFO: collect2: error: ld returned 1 exit status

INFO: make: *** [ctxhx] Error 1

解决方式

[[email protected] database]$ su – root

[[email protected] ~]# yum -y install glibc-static

修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将

ctxhx: $(CTXHXOBJ)

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

修改为:

ctxhx: $(CTXHXOBJ)

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

点击Retry继续安装。

 

2、Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.'

解决方式:

修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将

$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11

点击Retry继续安装。

 

2.5 启动数据库

#进入sysdba

[[email protected] ~]$ sqlplus "/ as sysdba"

#启动数据库

SQL> startup

ORACLE instance started.

Total System Global Area  572043264 bytes

Fixed Size                2215424 bytes

Variable Size         381682176 bytes

Database Buffers         180355072 bytes

Redo Buffers                  7790592 bytes

Database mounted.

Database opened.

--依次停止oracle

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

 

#启动数据库监听

[[email protected] ~]$ lsnrctl

LSNRCTL> start up

--查看监听

LSNRCTL> status