在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

代码栖星客
• 阅读 4736

前言

因为是在个人虚拟机上安装,可以连接公网,并且通过vmware实际上用的就是你的光盘镜像,所以本地yum源可以不用配置,直接用yum进行安装依赖即可。

操作系统安装

一、下载安装VMware,准备CentOS7镜像ISO
这个不多说了,网上自行下载,破解版也很多,选一个即可。
注意有的版本的vmware如果你选择了从ISO里安装,那么会触发最小安装,这样就没办法开启图形化界面了,所以安装的时候,选择建立空白磁盘,如下图:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程
二、安装时选择开启图形化界面
给一个连接,讲的比较全了:

https://blog.csdn.net/weixin_...

只不过他图形化界面选择的时候图片错了,正确的选择如下图:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程
三、磁盘分区
磁盘分区格外重要,这篇文档第一次的时候就因为分区分太小了,导致重装了一遍操作系统。。
这里主要还是体现出你对服务器的用途规划,根据你的需求来分区。
我打算在这个机器上装一个单实例的Oracle,并且开归档。
后续可能还会在这个机器上集成zabbix。
所以我这里给根目录分了20个G,/opt分了25个G
单独在/opt下,再分 /opt/ora_data用来保存数据文件,/opt_ora_archive用来保存归档日志。
安装完后df -h结果如下:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

操作系统配置

一、检查依赖
切换root用户,执行以下命令:

yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*

执行成功后,再次输入,返回结果如下:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程
二、关闭防火墙
执行命令:
systemctl stop firewalld.service  #关闭防火墙
systemctl disable firewalld.service  #禁止使用防火墙(重启也是禁止的)

三、修改OS系统标识
oracle默认不支持CentOS系统安装Oracle Database 11g Release 2的OS要求参考: https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1106
执行命令:
vi /etc/redhat-release # 把里面的内容替换成redhat-7,保存退出。

四、关闭seLinux(重启生效)
图片中红框位置改成disabled
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

五、修改内核参数
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 #共享内存的总量,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

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

之后执行sysctl -p使配置信息生效

六、创建运行oracle数据库的系统用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle
passwd oracle
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

七、创建oracle数据库安装目录
mkdir -p /opt/oracle #oracle数据库安装目录
mkdir -p /opt/oraInventory #oracle数据库配置文件目录
mkdir -p /opt/database #oracle数据库软件包解压目录
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

chown -R oracle:oinstall /opt/oracle #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

八、对oracle用户设置限制,提高软件运行性能
vi /etc/security/limits.conf
复制这些进去,如红框所示:

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

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程
九、配置用户的环境变量
vi /home/oracle/.bash_profile
复制这些进去,根据你自己的目录修改,如红框所示:

export ORACLE_BASE=/opt/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客户端字符集,必须与Oracle安装时设置的字符集保持一致

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

使上述配置立即生效:
source /home/oracle/.bash_profile

数据库软件安装

准备工作

一、安装vsftpd服务
我建立虚拟机的时候这个服务没有装,用yum装一下,不然传不了安装包
yum install vsftpd
service vsftpd start # 启动vsftpd服务
之后在/etc/vsftpd下的user_listftpusers文件里把root用户注释,就可以用ftp工具用root用户登陆了。

之后root执行如下命令(允许ftp上传并生成文件):

setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool httpd_enable_ftp_server 1
setsebool tftp_anon_write 1

执行 service vsftpd restart重新启动vsftp服务

二、上传Oracle安装包
上传如下文件到 /usr/local/src文件夹下,也可以随便放一个地方,不过目录要记住,后面的命令跟这有关。

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

三、解压安装包
执行命令:(/opt/database是之前创建好的oracle数据库软件包解压目录)

unzip p13390677_112040_Linux-x86-64_1of7.zip -d /opt/database/
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /opt/database/

之后执行chown -R oracle:oinstall /opt/database/database/ 进行授权

四、图形化Oracle安装
su - oracle
cd /opt/database/database/

./runInstaller
出现一个常见错误:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程
这里因为我们是用lijian用户登陆系统的,只不过是suoracle,我们进行注销,用oracle用户登陆再试一下
可以看到成功了,并且我们之前设置的oracle环境变量也已经生效,没有出现中文乱码。
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

数据库软件安装的12个步骤

第一步:
去掉勾,直接点击next进入下一步
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第二步:
选择跳过更新。
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第三步:
我们这里选择只安装数据库软件,不建立默认的库
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第四步:
我们选择单实例安装,因为我建立这个库是为了测试用,单点就够了,不需要RAC
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第五步:
这里是设置产品语言,不是字符集,切记!
我们选英语和中文最直观的区别就是后续输入sqlplus的时候返回的语言是什么,和字符集无关。
我们就选英语。
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第六步:
默认安装企业版
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第七步:
确定数据软件的安装路径,这里是自动读取环境变量里配的值
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第八步:
确定orainventory的路径,也是自动读取了环境变量
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第九步:
理论上要创建Database Operation(OSOPER)Group:oper ,因为我是测试用的,直接用了DBA,在生产环境里还是要建立上oper
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第十步:
安装检查,这里我们前面都装了依赖包,装系统的时候内存也给了3g,只有这一个pdksh的异常,pdksh很老了,有ksh就可以了,点击上面的ignore all直接跳过。
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

这里有一个常见的错误,就是点击next后,会在屏幕中间出现一条竖线,导致整个流程没法往下走,如图所示:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

网上说,这个可以传一个jdk,然后再runInstaller后面加参数启动就可以解决。

我这里有个简单方法,直接按方向键<-(左),然后回车。(实际上就是模拟选择按钮,这里因为有一个包我们忽略了,oracle会问你是不是确认忽略,用键盘选到yes回车就可以了,虽然看不见,但是键盘还能读~)

第十一步:
确认信息,无误点击安装:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第十二步:
进入安装界面:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

安装过程中,会出现3次竖线的问题,前两次直接敲回车,意思就是让他继续,对应的就是continue按钮。到95%的时候还会有条竖线,这个需要注意一下,这是让你用root用户去执行2个脚本

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

我们直接点回车,提示安装完成
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

之后,我们分别用root进入到/opt/oraInventory/opt/oracle/product/11.2.0/db_1目录下执行这两个脚本就可以了。

数据库监听安装的5个步骤

oracle用户下,命令行输入netca,如图
第一步:
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第二步:
选择添加一个监听。
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第三步:
给监听起一个名字,我们用默认的即可
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第四步:
选择监听用哪些协议,我们用默认的TCP协议
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第五步:
选择监听开放的端口,我们用默认的1521端口即可
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

之后退出,执行lsnrctl start来启动监听

这里有一个错误,如图
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

这个错误,多数是因为主机的名字和配置文件里不一致造成的,执行如下命令:

vi /etc/sysconfig/network (添加HOSTNAME=oraclevm
vi /etc/hosts (把oraclevm添加到第一行末尾,前面有个空格)
hostname oraclevm

重启监听,这次启动成功
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

数据库实例安装的11个步骤

oracle用户执行dbca,进入图形化界面
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第一步:
选择创建一个数据库
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第二步:
选择创建模板,默认第一个
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第三步:
创建全局名称和SID,我们起名orcl
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第四步:
开启EM,默认即可
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第五步:
我们选择下面的,设置一个密码,将上面的用户统一用这个密码
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第六步:
这里可以对数据文件做操作,我们选的是我们建立系统的时候划出来的/opt/ora_data作为数据文件保存路径。
如果你想用ASM管理数据文件,在上面的下拉框里选ASM就可以了。
执行chown -R oracle:oinstall /opt/ora_data/ 进行授权
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第七步:
设置闪回恢复区及是否开启归档,我们这里选择之前设好的磁盘目录,这个目录我们划分了10G,先给个5G。
执行chown -R oracle:oinstall /opt/ora_archive/ 进行授权
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第八步:
默认即可
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第九步:
这里可以设置oracle的内存大小,连接数,字符集等等,重点说下字符集,按照图里设置中文不会乱码
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

这里注意一下,实际上走完本文流程,你会发现这样的情况:plsql中文不乱,但是通过虚拟机sqlplus登进去发现是乱码,然后通过crt登陆虚拟机查询,又不乱了。这是因为安装Centos的时候就算选择了中文安装,新用户(比如oracle用户)还是用的别的语言,要想服务端+plsql+crt都不乱码,需要设置成AMERICAN_AMERICA.AL32UTF8;所以涉及到实际生产场景:比如要搭建测试库,备份库等等,在选择字符集的时候需要跟源库进行查询确认,确保新库字符集跟源库字符集、源库linux字符集、新库Linux字符集保持一致,这样程序运行,导入备份、用工具进行查询数据显示的时候会避免很多问题。

第十步:
这里设置一下redo log的大小,我改成3组,1组1g了
这里要注意每组的后面单位一定要是M Bytes
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

第十一步:
点击finish就可以创建数据库实例了
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

弹出来创建数据库的一些参数信息,可以查看一下。
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

开始安装
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

安装完毕的提示,告诉了我们em登陆的地址
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

安装后验证

oracle用户下,通过sqlplus / as sysdba登陆
执行一个SQL查询语句,正常返回结果。

select * from dual;

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

登陆EM管理界面
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

建立一个给lijian用户,并进行授权:

create user lijian identified by lijian;
grant dba to lijian;  ---DBA
grant create session to lijian;  ---登陆权限,这个权限是能让这个用户能被其他程序调用,比如plsql
grant unlimited tablespace to lijian; ---使用表空间的权限
grant create table,create view,create trigger, create sequence,create procedure,create type to lijian; ---创建表,视图,触发器,序列,存储过程,type的权限。

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

查看是否开启归档模式

可以看到,数据库开启了归档模式
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

查看归档日志路径及大小

归档日志的路径和大小,也是我们之前设定好的
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

登陆RMAN,查看配置信息

在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

在本机用plsql访问虚拟机上的oracle

配置本机客户端上的tnsname.ora文件
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

通过PLSQL登陆oracle
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

测试查询
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

新建一张表,插入中文字符,查询看是否乱码
在个人虚拟机(CentOS7)上安装Oracle 11gR2服务端(单实例)的过程

至此,我们整个配置、安装、验证的过程就结束了。
点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
4年前
CentOS配置本地Yum源、阿里云Yum源、163Yum源、并配置Yum源的优先级
一、用Centos镜像搭建本地Yum源由于安装centos后的默认Yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的Yum源替换成aliyun的Yum源或者163等国内的Yum源(下文介绍如何配置)。 但是以上的方法都是需要网络的,当没有网络的时候就无法使用了,所以还有一
Stella981 Stella981
4年前
CentOS 7 yum nginx MySQL PHP 简易环境搭建
用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间。我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份一下原来的源镜像文件,以免出错后可以恢复:\root@192~\mv/etc/yum.repos.d/CentOSBase.repo/et
Stella981 Stella981
4年前
Docker安装Onlyoffice并更新中文字体的办法
必要条件:操作系统如果选择centos必须选择7以上(旧版本的docker拷贝文件命令有bug)1、安装docker(yum安装即可,yum版本要在1.8以上),并启动docker服务2、在docker下下载onlyoffice镜像,用的是pull命令dockerpullonlyoffice/documentserver3
Stella981 Stella981
4年前
CentOS7配置网卡上网、安装wget、配置163yum源
2019/09/12,CentOS7,VMware摘要:CentOS7安装完成(最小化安装)后,不能联网(已选择桥接网络),需要修改配置文件及配置yum源修改配置文件  进入网卡配置目录cd/etc/sysconfig/networkscripts  使用 ls 命令查看网卡配置文件,如下图,其中
Stella981 Stella981
4年前
Hadoop完全分布式(集群)安装教程【图文并茂】
一.所需软件虚拟机:Vmware10.0.2.46408,通过百度可自行进行下载,也可通过http://pan.baidu.com/s/1eQtgi1k进行下载Linux镜像:Centos,可通过下载ios进行安装系统,也可通过http://pan.baidu.com/s/1eQgoXQ6进行下载(该资源为我已经安装好之
Stella981 Stella981
4年前
Linux学习笔记
之前安装树莓派之后,需要大量的使用linux命令,在慕课网上寻找的教程看看。1、安装学习环境是用的VMbox,安装的CentOS6.8和Ubuntu16.04,安装时虚拟机硬盘10G,/boot分配200M,swap分配2048M,/目录分配其余剩余的空间。Ubuntu的镜像文件小,安装过程中需要联网下载资料,可以选择国内镜像,CentOS安装盘
Stella981 Stella981
4年前
Linux虚拟机安装及常用命令
文章目录一、Linux的安装1、vm的安装2、在vm上安装linux操作系统2、镜像下载地址3、创建虚拟机4、设置虚拟机名称、以及存放路径5、选择镜像路径、设置网络连接模式6、开启虚拟机,进入安装linux7、Lnux基本设置8、安装完成进入命令行
Wesley13 Wesley13
4年前
VMware的linux虚拟机实现和windows的文件共享
使用的centos7和windows10,在虚拟机centos7中是root身份。由于是第一次用没有界面的linux,可谓是困难重重……一打开VMware,然后选中你的虚拟机,我的是centos7。然后点击工具栏”虚拟机“,然后选择”安装VMwaretools“选项。!(https://images2018.cnblogs.com/
胖大海 胖大海
3年前
Linux rpm软件包管理
如何获取rpm包?yum工具、互联网、光盘镜像(通过本地光盘挂载获取本地的rpm包)安装软件rpmivh包名.rpmi安装installv显示过程viewh显示%rpm进阶用法查询是否安装rpmq 包名查询包的信息rpmqi包名查询安装位置rpmql包名查看配置文件rpmqc包名查看帮助文档的位置rp
布袋罗汉 布袋罗汉
2年前
快速简单制作macOS Ventura系统ISO格式镜像
ISO格式的镜像其实没有什么制作难度,下面教大家怎么快速简单制作ISO格式的镜像,教程使用到的都是Mac官方的命令。制作好的ISO格式镜像可以用于虚拟机安装或者制作到U盘或者直接在Mac里面打开安装升级。准备系统镜像首先下载好macOS镜像,可以从本站下载