Centos7 安装与部署单实例oracle数据库

Oracle Install and deploy for  Centos 7(Oracle的安装与部署在Centos7)

一、 环境准备
安装包:
1.VMware-workstation-full-11.1.0-2496824.exe
2.CentOS-7-x86_64-DVD-1511.iso
3.linux.x64_11gR2_database_1of2.zip
  linux.x64_11gR2_database_2of2.zip
注: 第一次安装没有进行任何操作之前最好创建快照,后期搞死了
 可以回归到改快照
二、安装oracle前准备
1、创建运行oracle数据库的系统用户和用户组
[root@localhost ~]# groupadd -g 200 oinstall   -- 创建一个oinstall用户组 ID200
[root@localhost ~]# groupadd -g 201 dba   -- 创建一个DBA用户组 ID201
[root@localhost ~]# useradd -u 200 -g oinstall -G dba oracle  --添加一个用户ID200-g主组-G 附加组 
用户 oracle
[root@localhost ~]# passwd oracle  设密码 密码oracle

理论上单例按照需要3种用户组,实际只建两个oinstall和dba,后面再安装oracle数据库的时候把OSOPER组也设置是dba组。

a.oracle 清单组(一般为oinstall):
 OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。
在一个 Linux 系统上首次安装 Oracle 软件时,OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的
名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。
b.数据库管理员(OSDBA,一般为 dba):
 OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键
的数据库管理任务,如创建数据库、启动和关闭实例。该组的默认名称为dba。SYSDBA 系统权限甚至在数据库未打开时
也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。不要混淆 SYSDBA 系统权限与数据库角色 DBA。
DBA 角色不包括 SYSDBA 或 SYSOPER 系统权限。
c.数据库操作员组(OSOPER,一般为 oper):
 OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员
拥有一组有限的数据库管理权限,如管理和运行备份。该组的默认名称为oper。SYSOPER 系统权限甚至在数据库未打开
时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安
装 Oracle 数据库软件。 

2.创建oracle数据库安装目录


[root@localhost ~]# mkdir -p /u01/app/oracle/product/11.2.0/db_1    #数据库安装目录
[root@localhost ~]# mkdir -p /u01/app/oracle/oraInventory   #oracle数据库配置文件目录
[root@localhost ~]# mkdir -p /u01/database   #oracle 数据库软件包解压目录
[root@localhost u01]# chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
[root@localhost u01]# chmod -R 775 /u01/app/oracle/oraInventory/
[root@localhost u01]# chmod -R 775 /u01/database
[root@localhost u01]# chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
[root@localhost u01]# chown -R oracle:oinstall /u01/app/oracle/oraInventory/
[root@localhost u01]# chown -R oracle:oinstall /u01/database/

3、修改OS系统标识


 oracle默认不支持CentOS系统安装,Oracle Database 11g Release 2 的 OS要求参考: 

https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1106

 我安装是64位数据库,On Linux x86-64:

 另外,CentOS7.0.1511 基于 RHEL7.2  参考:http://www.linuxidc.com/Linux/2015-12/126283.htm

 修改文件 /etc/

[root@localhost ~]# cat /proc/version 
Linux version 3.10.0-327.el7.x86_64 ([email protected]) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@localhost ~]# vi /etc/redhat-release 
[root@localhost ~]# cat /etc/redhat-release 
redhat-7
4.安装oracle数据库所需要的软件包

Oracle Database Package Requirements for Linux x86-64 如下:(参考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG)


Oracle Linux 7 and Red Hat Enterprise Linux 7
The following packages (or later versions) must be installed:
binutils-2.23.52.0.1-12.el7.x86_64 
compat-libcap1-1.10-3.el7.x86_64 
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.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 
一个一个安装 yum install binutils

5、关闭防火墙   

CentOS 7.2默认使用的是firewall作为防火墙

[root@localhost ~]# systemctl status firewalld.service   查看防火墙
[root@localhost ~]# systemctl stop firewalld.service    关闭防火墙
[root@localhost ~]# systemctl disable  firewalld.service  禁止使用防火墙

6、关闭selinux 
[root@localhost ~]# vi /etc/selinux/config 
[root@localhost ~]# cat /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  # 此处修改为disabled 默认为SELINUX=enforcing
# 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 

为啥要关闭selinux?因为selinux太高深,非专业人士搞不懂~~

7、修改内核参数
[root@localhost ~]# vi /etc/sysctl.conf 
[root@localhost ~]# cat /etc/sysctl.conf 
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
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 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

使配置参数生效

[root@localhost ~]# sysctl -p



8.oracle用户设置限制,提高软件运行性能(红色为添加部分)

[root@localhost ~]# vi /etc/security/limits.conf


oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    nofile  1024
oracle  hard    nofile  65536
oracle  soft    stack   10240


9.配置用户的环境变量(红色部分为添加代码)

[root@localhost ~]# vim /home/oracle/.bash_profile

[root@localhost ~]# cat /home/oracle/.bash_profile


su - oracle
vi .bash_profile
export EDITOR=vi   --SQLPULS 
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle   --根目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 --家目录
export LD_LIBRARY_PATH=$ORACLE_HOME/lib  --
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin  --配置命令路径
export LANG=C
export ORACLE_TERM=xterm

使上述配置立即生效:


[root@localhost ~]# source /home/oracle/.bash_profile
10 、 解压安装包

[oracle@localhost /]$ cd /usr/local/src 

[oracle@localhost src]$ unzip linux.x64_11gR2_database_1of1.zip  -d /u01/database/
[oracle@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip  -d /u01/database/
[root@localhost src]# chown -R oracle:oinstall /u01/database/database/

三 、oracle 安装
运行安装程序是如果报错 
No protocol specified
Exception in thread "main" java.lang.NoClassDefFoundError
[root@localhost database]# xhost +

Exception in thread "main" java.lang.NoClassDefFoundError

 1 .系统中设置了DISPLAY环境变量

                      执行:

                               unset DISPLAY

                       然后再执行runInstaller.sh,执行成功

                   2.重新启动系统。以oracle的身份登录系统,然后执行./runInstaller

提示框不显示的时候
./runInstaller -jreLoc  /usr/lib/jvm/jre-1.8.0 




swap空间不足解决 :(要求2.67G 实际2G)

[root@localhost oracle]# free -m  #查看当前虚拟内存
              total        used        free      shared  buff/cache   available
Mem:           1824        1369          93          10         361         250
Swap:          2048          20        2028
[root@localhost oracle]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000  #将当前swap空间由2048M 增加到 3048M 新增一个2014的swap文件
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 29.4051 s, 35.7 MB/s
[root@localhost oracle]# mkswap /home/swap
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=5e3d39d7-285e-4c74-b321-1e2b3ffabf83
[root@localhost oracle]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1824        1275          95          10         454         342
Swap:          2048         141        1907
[root@localhost oracle]# swapon /home/swap  #增加并启用虚拟内容
swapon: /home/swap: insecure permissions 0644, 0600 suggested.
[root@localhost oracle]# free -m  #再次查看
              total        used        free      shared  buff/cache   available
Mem:           1824        1275          94          10         454         342
Swap:          3048         141        2907 


你可能感兴趣的:(Centos7 安装与部署单实例oracle数据库)