说明

本试验基于刚安装好的Centos7系统

一、准备工作

1.1为了能远程操作,先检查一下安装好的系统有没有ip

执行ip addr 如果没有,则sudo vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

修改前

centos7编译安装数据库_centos7编译安装数据库


修改后

centos7编译安装数据库_数据库_02


然后执行sudo systemctl restart network即可,再执行ip addr查看

1.2安装vim(看个人喜好)

sudo yum install vim

1.3安装wget

sudo yum -y install wget

1.4换源
(1)备份

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(2)下载新的CentOS-Base.repo/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(3)生成缓存

yum makecache

1.5安装JAVA的JDK
(1)先安装一个本地上传的好工具:

sudo yum -y install lrzsz

(2)先在/opt下创建一些目录

sudo mkdir -p /opt/modules

我个人喜欢在那个目录下安装自定义软件
(3)执行rz来上传jdk压缩包
(4)安装一下压缩和解压的东西

sudo yum -y install zip unzip tar

(5)解压jdk压缩包到/opt/modules下

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/modules

(6)把JAVA的jdk添加到PATH变量中

sudo vim /etc/profile

centos7编译安装数据库_oracle_03


(7)source /etc/profile (8)检查:java -version

centos7编译安装数据库_数据库_04

1.6关闭防火墙等
(1)关闭selinux
查看selinux状态:getenforce 或者sestatus -v 临时关闭:setenforce 0 永久关闭:vim /etc/selinux/config 设置SELINUX=disabled (2)关闭firewalld 安装iptables

systemctl stop firewalld.service
systemctl disable firewalld.service

yum -y install iptables-services
systemctl restart iptables.service
systemctl enable iptables.service

二、为Oracle创建用户和组等

2.1添加用户组(组id最好在500以后)

groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper

2.2检查用户是否存在

id oracle

如果存在则给该用户分组:

usermod -g oinstall -G dba oracle

如果不存则添加用户并且分组:

useradd -g oinstall -G dba oracle

2.3设置密码

passwd oracle

三、修改内核参数

3.1修改/etc/sysctl.conf
(1)vim /etc/sysctl.conf (2)在末尾添加一下内容

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

(3)执行sysctl -p

3.2修改/etc/security/limits.conf文件
(1)sudo vim /etc/security/limits.conf (2)在文件末尾添加

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

四、创建Oracle11gR2安装目录

centos7编译安装数据库_oracle_05

五、修改oracle用户环境变量

(1)su oracle (2)vim ~/.bash_profile (3)在末尾添加

export TMP=/tmp
export ORACLE_HOSTNAME=localhost.localdomain
export ORACLE_UNQNAME=ORA11G
export ORACLE_BASE=/opt/modules/oracleProduct
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=ORA11G
#xterm窗口模式安装
export ORACLE_TERM=xterm 
#防止安装过程出现乱码
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
umask 022

(3)执行source .bash_profile

六、从windows端把Oracle数据库的安装包拷贝到centos7中

(1)我是使用scp复制的(也可以用前面那个rz命令),我复制到/opt/modules/oracleProduct/app/oracleDB/11gR2

centos7编译安装数据库_centos7编译安装数据库_06

(2)解压

cd /opt/modules/oracleProduct/app/oracleDB/11gR2
sudo unzip linux.x64_11gR2_database_1of2.zip
sudo unzip linux.x64_11gR2_database_2of2.zip

七、安装依赖库

(1)yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel (2)yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools" (3)yum install libXp.i686 libXp-devel.i686 libXt.i686 libXt-devel.i686 libXtst.i686 libXtst-devel.i686 make.x86_64 gcc.x86_64 libaio.x86_64 glibc-devel.i686 libgcc.i686 glibc-devel.x86_64 compat-libstdc++-33 -y (4)yum install glibc* gcc* make* compat-db* libstdc* libXp* libXtst* compat-libstdc++* -y (5)重启一下centos7机器(我不重启直接安装的话会报DISPLAY方面的错)
(6)在windows系统端安装XManager(为了在后续用图形化界面安装Oracle数据库)

八、开始安装Oracle数据库

(1)重启机器之后,chown oracle:oinstall -R /opt/modules (2)cd /opt/modules/oracleProduct/app/oracleDB/11gR2/database

(3)su oracle

(4)./runInstaller

(5)

centos7编译安装数据库_centos7编译安装数据库_07


至此,安装界面出现了,可以按照自己的喜欢进行next,参考:https://blog.z0ukun.com/?p=93

注意:在进行到此处时,要跟第五点中的.bash_profile中的路径配置一致

centos7编译安装数据库_vim_08


参考:(6)弹出这个框,去开个新终端来执行这两个脚本

centos7编译安装数据库_oracle_09


(7)

centos7编译安装数据库_oracle_10


安装完成

九、后续配置

9.1创建数据库

which dbca
dbca

centos7编译安装数据库_vim_11


上图选择Single instance database

centos7编译安装数据库_数据库_12


centos7编译安装数据库_数据库_13


单节点只需填写database name和SID,无需选择节点,安装RAC时需全部选中

centos7编译安装数据库_vim_14


下图建议不要选择配置EM,太耗费资源

centos7编译安装数据库_vim_15

设定管理账号统一密码

centos7编译安装数据库_centos7编译安装数据库_16


centos7编译安装数据库_centos7编译安装数据库_17


centos7编译安装数据库_数据库_18


centos7编译安装数据库_centos7编译安装数据库_19


根据CPU个数设定最大进程连接数,1000

centos7编译安装数据库_vim_20


centos7编译安装数据库_centos7编译安装数据库_21


centos7编译安装数据库_centos7编译安装数据库_22


centos7编译安装数据库_centos7编译安装数据库_23


centos7编译安装数据库_centos7编译安装数据库_24


centos7编译安装数据库_vim_25


centos7编译安装数据库_vim_26


点击Exit完成

centos7编译安装数据库_vim_27


检查数据库进程:

ps -fu oracle |grep ora

9.2配置监听服务

使用oracle用户,执行netca 命令进入可视化监听配置界面,一路下一步完成

centos7编译安装数据库_oracle_28


默认监听名称

centos7编译安装数据库_vim_29


centos7编译安装数据库_数据库_30


监听端口,默认1521

centos7编译安装数据库_centos7编译安装数据库_31


centos7编译安装数据库_vim_32

十、启动数据库

参考:

默认数据库建立后就启动了,如果服务器重新启动,那就要手工去启动它了,命令如下:(SID可在 $ORACLE_BASE/admin目录查看)

source ~/.bash_profile

启动监听:lsnrctl start

centos7编译安装数据库_oracle_33


登录SQLplus,命令:sqlplus /nolog。,以sysdba 登录数据库,命令:conn / as sysdba。启动数据库,命令:startup,如下图所示:

centos7编译安装数据库_vim_34

export ORACLE_SID=orcl //设置要启动的数据库SID,区分大小写

echo $ORACLE_SID
sqlplus /nolog
sql> connect /as sysdba

sql>startup //`shutdown immediate`停止数据库

关闭监听命令:lsnrctl stop

PS

安装数据库中途会出现的两个弹窗错误:

centos7编译安装数据库_centos7编译安装数据库_35


centos7编译安装数据库_centos7编译安装数据库_36