在centos7上安装oracle是一个比较麻烦的事,在安装前需要做一些服务器的准备工作

我是在虚拟机里测试的所以需要下载centos7的镜像,可以去官网然后找到中国的镜像站用迅雷插件下载速度比较快这里我选择的是64位的,oracle也是64位的

准备一个oracle12c的数据库,因为现在oracle官网改版了不能下载旧版本的了所以我找了好久都没找到,然后在一个网盘里扒拉到了一个12201版本的数据库安装包

服务器配置

  1.首先用服务器的root身份安装依赖包(如果直接是root用户登录的就直接执行下边的,如果不是就打开终端先执行 su - root命令然后输入密码密码在终端里是不显示的)

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
这个操作可以多做几遍没关系确保安装成功了,做完这一步再测试一下看看安装成功了没有
rpm -q binutils compat-libcap1 compat-libstdc++  gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
如果出现包未安装的提示,请用yum install 包名进行安装。
例如 yum install compat-libstdc++*
  
 2.建立用户和组:
groupadd oinstall 
groupadd dba 
useradd -g oinstall -G dba,oper oracle
echo "123456" | passwd --stdin oracle  #oracle用户的登录密码,后续登录要用,记着。

  3.创建安装目录:

 mkdir -p /orcl/app/oracle/product/12.1.0/db_1  #创建目录

 chown -R oracle:oinstall /orcl/app  #分配用户目录权限

 chmod -R 775 /orcl/app #给目录分配权限

上传安装包

这里我用的是winSCP工具上传的

我们把oracle12cLinux版本的安装包上传到

/orcl/app/oracle目录

  4.修改内核参数vim /etc/sysctl.conf,添加:(如果没有vim 就用vi编辑器)

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

改好后,使之生效

sysctl -p

# kernel.shmmax = 4098955264 这个地方因为每个人机器不一样所以填的可能也不一样,到时候看check那一步的时候推荐值是多少再改成多少就行

  5.改文件限制: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

  6.以及vi /etc/pam.d/login,添加:

session required pam_limits.so

  7.修改ulimit:vi /etc/profile,添加:

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384 ulimit -n 65536a
else
ulimit -u 16384 -n 65536
fi
fi

  8.修改环境变量。vi ~oracle/.bash_profile,添加:

ORACLE_BASE=/orcl/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH

  9.如果你的centos有自带的openjdk就卸载掉没有就不用管

yum remove *openjdk*

再安装正常版本的jdk去oracle官网下载Linux版的jdk8

然后到下载的目录执行

rpm -ivh jdk名字.rpm

例如rpm -ivh jdk-8u144-linux-x64.rpm

  10.开放服务器的1521端口

firewall-cmd --zone=public --add-port=1521/tcp --permanent

firewall-cmd --reload

返回success代表成功期间可能会提示输入root密码

做完以上操作之后重启服务器

开始安装oracle12c

  1. 重启完服务器用oracle这个用户登录服务器(我们在服务器配置的第二步里已经创建了一个名为oracle的用户密码为123456)
  2. 进入到安装包目录
cd /orcl/app/oracle
  1. 解压安装包
unzip linuxx64_12201_database.zip
  1. 进入到解压目录
cd /orcl/app/oracle/database
  1. 运行安装命令
./runInstaller

安装过程中可能会碰到的问题

1.swap size问题没有检查交换空间

安装数据库所需要的交换空间

问题

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

dd if=/dev/zero of=/home/swap bs=1024 count=16777216

2.格式化刚才创建的分区

mkswap /home/swap

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

swapon /home/swap

4.为了能够让swap自动挂载,需要修改etc/fstab文件

vim /etc/fstab

# 在文件末尾加上

/home/swap swap swap default 0 0

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

5. 修改/etc/inittab文件

vim /etc/inittab

# 在文件末尾加上

swapon /home/swap

2.kernel.shmmax问题就是在服务器配置的值为他推荐的值

CentOS7 安装Oracle12c数据库的更多相关文章

  1. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

  2. CentOS7安装redis数据库及php-redis扩展

    redis 首先把redis安装到服务器中 1.wget http://download.redis.io/redis-stable.tar.gz 下载redis源码 2. tar xvzf redi ...

  3. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

  4. vmware虚拟机CentOS7安装oracle数据库

    想用linux虚拟机装一个oracle,中间遇到的坑太多了,最后总算是安装好了,一定要写个全面的教程出来. 话不多说 通用编辑命令: vi test.txt   #进入编辑模式 编辑完成后按ESC退出 ...

  5. 阿里云 centos7 安装mysql数据库

    环境:阿里云ECS服务器,系统为centos7.2 删除原来的数据库: centos7中默认安装了数据库MariaDB,如果直接安装MySQL的话,会直接覆盖掉这个数据库,当然也可以手动删除一下: [ ...

  6. CentOS7 安装Oracle19c数据库RPM包安装

    我前两天发了安装oracle12c的方法,但是我虽然在虚拟机试验成功了,正式服务器安装的时候发现还是不行,安装页面卡空白,也没有解决办法,所以我就放弃了界面安装找命令行安装的办法,找了一些之后发现都比 ...

  7. Centos7 安装mysql数据库

    第一步:下载数据库文件 # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 看到下载成功 第二步: # r ...

  8. CentOS7安装Oracle11g数据库

    1.关闭防火墙systemctl stop firewalled servicesystemctl disable firewalled service 2.关闭selinuxvim /etc/sel ...

  9. Centos7安装Oracle12c

    环境: CentOS7@VMware12,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB Oracle12C企业版64位 过程纪要: root身份安装依赖包: compat-libstdc+ ...

随机推荐

  1. WPF教程十五:数据模板的使用(重发)

    数据模板 数据模板是一段如何显示绑定在VM对象的XAML代码.数据模板可以包含任意元素的组合,基于Binding来显示不同的信息. 在实际的开发中数据模板的应用场景很多,同样一个控件可以根据不同的绑定 ...

  2. OpenResty简介

    OpenResty(也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过揉和众多设计良好的 ...

  3. bat自动创建快捷方式并更换图标

    1 :: 此脚本主要的作用创建1.自动创建快捷方式:2.自动更换快捷方式图标 2 @echo off 3 >nul 2>&1 "%SYSTEMROOT%\system32 ...

  4. [刘阳Java]_Spring AOP入门_第7讲

    AOP技术个人认为是能够完善(改善)面向对象编程OOP.为什么这么说,我们得先从AOP的概念说起,然后通过一段简单的例子加以佐证.这样子大家就可以慢慢地了解AOP 1. AOP概念 AOP为Aspec ...

  5. docker容器技术基础之联合文件系统OverlayFS

    我们在上篇介绍了容器技术中资源隔离与限制docker容器技术基础之linux cgroup.namespace 这篇小作文我们要尝试学习容器的另外一个重要技术之联合文件系统之OverlayFS,在介绍 ...

  6. python+API接口测试框架设计(unittest)

    1.测试框架简介 整个接口测试框架的设计图如下: basepage:存放的是公共的方法 common:存放的是自定义工具 data:存放的是公共动态数据,如BB.xls/ Id.md log:存放的是 ...

  7. How to Install KDE on Ubuntu 16.04

    sudo add-apt-repository ppa:kubuntu-ppa/backportssudo apt-get updatesudo apt-get dist-upgradesudo ap ...

  8. SpringCloud学习之【NACOS实现服务的注册与发现】

    根据nacos官方的介绍,Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. 具有服务发现和服务健康监 ...

  9. Django报错:'Specifying a namespace in include() without providing an app_name '

    环境:win10(64)+pycharm2018.3+python3.7 在网页项目中使用include()方法 项目目录中同时存在app/urls.py和proj/urls.py 在proj/url ...

  10. 深入刨析tomcat 之---第8篇 how tomcat works 第11章 11.9应用程序,自定义Filter,及注册

    writed by 张艳涛, 标签:全网独一份, 自定义一个Filter 起因:在学习深入刨析tomcat的学习中,第11章,说了调用过滤链的原理,但没有给出实例来,自己经过分析,给出来了一个Filt ...