一、准备工作

1、下载Oracle安装包:linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip ,可以下载到本地,通过ftp服务上传到Linux系统(参考CentOS7 FTP服务器搭建),也可以使用Linux系统的wget命令,下载文件包;

2、创建运行oracle数据库的系统用户和用户组:

  用Root账号登录,运行下面指令,创建所需要用户和用户组,分组原因参考网址

groupadd oinstall              #创建用户组oinstall
groupadd dba              #创建用户组dba
useradd -g oinstall -g dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组
groups oracle                #查询用户组是否授权成功
passwd oracle              #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
id oracle        #查看新建的oracle用户

3、创建oracle数据库安装目录(运行下面指令,创建账号和分配权限)

mkdir -p /data/oracle  #oracle数据库安装目录
mkdir -p /data/oraInventory  #oracle数据库配置文件目录
mkdir -p /data/database  #oracle数据库软件包解压目录
cd /data
ls  #创建完毕检查一下
chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database

4、设置内核版本

echo redhat-7 > /etc/redhat-release

5、安装依赖包

yum install -y binutils compat-gcc* compat-glibc* compat-libcap1 compat-libstd* compat-libstdc++-33 compat-libstdc++-33.i686 compat-libstdc++-33*.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-devel.i686 glibc-devel*.i686 glibc-headers glibc.i686 glibc*.i686 ksh libaio libaio-devel libaio-devel.i686 libaio-devel*.i686 libaio.i686 libaio*.i686 libgcc libgcc.i686 libgcc*.i686 libstdc++ libstdc++-devel libstdc++-devel*.i686 libstdc++.i686 libstdc++*.i686 libXp make numactl sysstat unixODBC unixODBC-devel unixODBC-devel*.i686 unixODBC*.i686

6、关闭防火墙和SELINUX

6.1、配置防火墙,开启FTP服务器需要的端口

CentOS 7.0默认使用的是firewall作为防火墙,关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

6.2、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

7、修改内核参数

vi /etc/sysctl.conf #红色部分是要添加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

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

vi /etc/security/limits.conf  #红色部分要添加到Limits.conf内容

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

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

vi /home/oracle/.bash_profile  #红色部分是要追加bash_profile内容部分

export ORACLE_BASE=/data/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安装时设置的字符集保持一致

配置完成,:wq!保存退出,运行source /home/oracle/.bash_profile时上述配置生效

10、获取安装包文件后解压安装包

  获取安装包文件的方式,可通过ftp服务器,也可通过wget下载到指定目录,解压方式如下

unzip linux.x64_11gR2_database_1of2.zip -d /data/  #解压文件1
unzip linux.x64_11gR2_database_2of2.zip -d /data/ #解压文件2
chown -R oracle:oinstall /data/database/       #分配安装文件授权Oracle

 

二、CentOS 7安装图形界面

之前公司的服务器都是用的CentOS 的系统,需要安装图形界面的时候我会执行以下命令

yum -y groupinstall "X Window System" "Fonts" "Desktop"

这种安装的是应该kde桌面,桌面现在主要有两种,kde和gnome。kde适合客户端,装了很多应用,操作起来像Windows一样,gnome适合服务器端,更精简一些。

但是后来CentOS 7使用这个方法安装的时候不行,所以使用了下面的命令安装

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
startx

执行完之后就安装成功了。

注:若所安装的CentOS为精简服务器版本,没有图像化界面的话,是无法成功安装oracle的,oracle的安装步骤需要在图形化界面下完成。否则命令行会报如下异常:

[root@localhost database]# su oracle ./runInstaller
正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 120 MB。 实际为 9383 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 2047 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色
>>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<< 未通过某些要求检查。必须先满足这些 要求, 然后才能继续安装, 是否继续? (y/n) [n]

三、Oracle安装

1、oracle用户登录系统,使用命令行跳转到data/database目录下,输入./runInstaller 调出安装页面;

2、调出安装页面,点击下一步进行安装,我选择仅数据库服务安装

像window安装Oracle安装一样,此处不再重复介绍。

安装完成之后,通过netca打开监听配置页面,通过执行dbca命令,启动oracle实例安装界面,一个Oracle服务可以对应多个实例,一个Oracle数据库对应多个表空间和用户名,每个用户名又可管理表空间。

  安装完成实例之后,使用sqlPlus命令链接数据库的时候,提示 could not open parameter file "/data/Oracle/product/11.2/db_1/dbs/initorcl.ora",这个时候需要将刚刚安装的Oracle实例配置文件($ORACLE_BASE/admin /数据库名称/pfile目录下的init.ora.012009233838形式的文件)拷贝到/data/Oracle/product/11.2/db_1/dbs目录下

[oracle@localhost pfile]$ pwd
/data/oracle/admin/MLUCDB/pfile
[oracle@localhost pfile]$ cp init.ora.962016224738 /data/Oracle/product/11.2/db_1/dbs/initorcl.ora
#使用sqlplus命令登录Oracle,重启服务器
sqlplus /nolog
conn / as sysdba;
#再输入startup,回车.这步是启动oracle服务。
startup

重启服务器之后,打开Oracle,提示 ORA-01034: ORACLE not available ORA-27101

  原因在于未启动服务,操作的方式是:

  1、启动oracle监听:cmd命令行窗口下,输入lsnrctl start,回车即启动监听;

  2、采用sqlplus /nolog 登录Oracle服务,连接服务conn /as sysdba,然后startup启动服务

 

四、扩展RedHat下Oracle的安装

  1、RedHat系统版本尽量使用Desk版本,便于Oracle的界面安装,Oracle安装文件传输到RedHat服务器,可以通过SecureCrt远程客户端完成数据的传输。

  2、记得配置用户换机下的安装编码,否则oracle安装会出现乱码:

vi /home/oracle/.bash_profile  #追加配置文件
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

五、安装中的问题

1、swap安装不通过

This is a prerequisite condition to test whether sufficient total swap space is available on the system. (more details)
Expected Value
: 15.64GB (1.6403472E7KB)  16400000
Actual Value
: 4.87GB (5111800.0KB)

问题原因是没有swap空间不足导致,需要扩大交换空间

解决:

1、使用dd命令创建一个swap分区

2、#dd if=/dev/zero of=/home/swap bs=1024 count=16400000

3、格式化刚才创建的分区

4、# mkswap /home/swap

5、再使用swapon命令把这个文件分区变成swap分区

6、#swapon /home/swap

7、(关闭SWAP分区的命令为:#swapoff /home/swap)

8、再用free -m 查看已经扩容的了swap分区。

9、为了能够让swap自动挂载,需要修改etc/fstab文件,用vi /etc/fstab

10、在文件末尾加上 /home/swap swap swap default 0 0

11、这样就算重启系统,swap分区也不用手动挂载了

12、但是我感觉好像我重启了系统 swap就没有了,然后我又百度了一下,要执行下面一段命令  #echo   "swapon  /home/swap" >> /etc/inittab

13、然后在看 vi 看下 /etc/inittab

14、最后一行是swapon  /home/swap,这样就万事大吉了。

六、参考博客

centos安装oracle 11g 完全图解 http://www.cnblogs.com/zhwl/p/3719302.html

CentOS7安装Oracle 11gR2图文详解 http://www.linuxidc.com/Linux/2016-04/130559p3.htm

RedHat.Enterprise.Linux_v6.3系统中安装 Oracle_11gR2教程  http://www.cnblogs.com/swq6413/p/Oracle11gR2_Installation_On_RHEL6.html

部分转载自:http://www.cnblogs.com/xibei666/p/5935219.html

CentOS 7 之安装 Oracle 11gR2的更多相关文章

  1. Centos 6下安装Oracle 11gR2

    一.安装环境 CentOS release 6.7 (Final) Oracle Database 11g Release 2 二.安装前准备 #修改主机名 修改/etc/sysconfig/netw ...

  2. CentOS 7.5 安装Oracle 11gR2 86%报错:Error in invoking target 'agent nmhs' of makefile

    解决方案: 不要关闭安装过程,另外打开终端窗口,将ins_emagent.mk文件中的 (MK_EMAGENT_NMECTL)更改为$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装 ...

  3. CentOS 7安装Oracle 11gR2以及设置自启动(2)

    6.创建表空间和用户授权 (1).连接数据库 $ sqlplus / as sysdba (2).创建数据库表空间 语法: create tablespace 表空间名 datafile ‘物理地址( ...

  4. CentOS 7安装Oracle 11gR2以及设置自启动(1)

    一.环境准备 1.正确无误的CentOS 7系统环境 虚拟机要求: 内存至少2G 处理器至少2个 根分区要大于20G(安装oracle很占空间,空闲空间要足够) 2.正确的JDK环境 CentOS 7 ...

  5. CentOS静默安装Oracle 11gR2(x64)

    环境 OS: CentOS 7.4; hosts: L134; IP: 192.168.1.134 DB: linux.x64_11gR2_database 安装依赖包 yum install -y ...

  6. CentOS安装Oracle 11gR2(x64)

    本文主要步骤是参考:https://www.linuxidc.com/Linux/2014-02/97374.htm 后来自己加入了一些安装过程中遇到的问题和解决方法.使用图形界面安装Oracle已经 ...

  7. CentOS 7 安装Oracle 11gR2

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  8. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  9. RHEL 无图形界面安装oracle 11gr2

    RHEL7.3  无图形界面安装oracle 11gr2  使用纯命令安装方式.提供RHEL全量系统镜像.   1.oracle官方下载地址:https://www.oracle.com/techne ...

随机推荐

  1. NOIP2017逛公园(park)解题报告

    park作为今年noipday1最后一道题还是相比前面几道题还是有点难度的 首先你可以思考一下,第一天dp不见了,再看一下这题,有向图,看起来就比较像一个dp,考虑dp方程,首先肯定有一维是到哪个节点 ...

  2. C语言常用修饰符

    前言 这两天在梳理自己C语言的知识,发现写了这么久的代码,居然所有的知识点都在自己的脑袋里.这可不好,万一老了呢.... 接下来的几天里,会以文字的形式,将这些知识整理出来,分享给大家. 想要看看英文 ...

  3. 【ZJOI2015】诸神眷顾的幻想乡 解题报告

    [ZJOI2015]诸神眷顾的幻想乡 Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热 ...

  4. java开发爬虫Deno

    java开发爬虫Deno 身为一个程序员不会两三手爬虫怎么能在行业里立足啊,这是开发中自己写的一个java爬虫的Demo,供大家参考. java爬虫的开发依赖于jsoup.jar 直接上代码 publ ...

  5. 金融量化分析【day110】:Pandas-DataFrame读取与写入

    一.DataFrame DataFrame是一个表格型的数据结构,含有一组有序的列 DataFrame可以被看作是有Series组成的字典并且工用一个索引 1.创建方式 pd.DataFrame({' ...

  6. DataGridView更新数据到数据库

    WinFrom程序绑定了一个DataGridView控件,我需要添加一个button按钮来更改状态,还需要把更新之后的状态更新到数据库,如下图所示的这样: 首先先来拖控件,把界面做出来,自己拖一个Da ...

  7. Git与GitHub学习笔记(二)提交的一些笔记

    1.合并分支的使用一定要切换到master分支上去合并:git merge company2.切换分支的时候一定要提交干净本地分支的代码,才可以切换分支,否则提示错误信息: 3.这时候我们做的就是提交 ...

  8. chrome 隐藏技能之 base64 图片转换

    有时候我们要转换图片为base64,或者将base64转回图片,可能都需要找一些在线工具或者软件类型的工具才行.当然 chrome 也算是软件,但是好在做前端的都有 chrome.好了,来看下简单的例 ...

  9. JavaScript继承详解(五)

    在本章中,我们将分析John Resig关于JavaScript继承的一个实现 - Simple JavaScript Inheritance. John Resig作为jQuery的创始人而声名在外 ...

  10. nodejs图片总结

    今天终于把朴灵老师写的<深入浅出Node.js>给学习完了, 这本书不是一本简单的Node入门书籍,它没有停留在Node介绍或者框架.库的使用层面上,而是从不同的视角来揭示Node自己内在 ...