在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. XCTF logmein

    一.查壳 发现是64位的Linux文件(ELF可以看出是linux的文件) 二.拖入ida64,静态分析 注意这里两个坑: 1.strcpy是复制字符串的意思,前面定义的v8数组只有8个,但是后面的字 ...

  2. XCTF easyGo

    拖入ida,发现符号表需要还原一下,载入一个还原符号表的脚本. go这个语言就有点恶心,字符串后面没有反斜杆零,ida识别出来,字符串就会挤在一堆,就很难看,看了某位师傅的wp,觉得这方法不错,就记录 ...

  3. linux驱动之LED驱动

    通过之前的学习,了解到linux驱动编写的流程是:先通过注册函数注册我们编写的入口函数,然后在入口函数中获取设备号->注册字符设备->自动创建设备节点->获取设备树信息,最后通过销毁 ...

  4. C语言:const详解

    希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定.例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小.为了满足这一要求,可以使用const关键字对变量加以限定:const in ...

  5. flutter实战demo,仿luckin coffee。

    flutter_luckin_coffee flutter luckin coffee application(仿瑞幸咖啡) 目录 前言 安卓扫码体验 flutter版本信息 安装 相关插件 维护者 ...

  6. C语言变量为何先定义后使用

    C语言中,对变量的使用,首先要先定义.说明其数据类型.原因可能如下: 1不同类型的变量,其编码表示方式可能不同. 2不同类型的变量,其占有的空间大小不同.不事先说明无法在内存中开辟空间.

  7. 让Angular自定义组件支持form表单验证

    Angular提供了一套非常强大的表单验证库(vue和react都需要第三方库的支持),可以非常方便简单实现web应用程序中的表单验证功能.但是如何让我们自定义的组件也支持验证呢? 我遇到一个需求是封 ...

  8. Python基础之实现界面和代码分离

    第一步:用QT Designer画一个TreeWidget,存为treeview4.ui,这个处理前面TreeWidget那一节讲过,这里不细讲 treeview4.py # -*- coding: ...

  9. Python 接口之request ,headers格式不对

    复制heardes格式,模拟请求报错 原因:粗心,headers带了空格

  10. vue 跨域 springCloud @CrossOrigin注解

    vue 跨域  springCloud @CrossOrigin注解 一丶什么是跨域 跨域问题来源于浏览器的同源策略,浏览器为了提高网站的安全性,在发送ajax请求时,只有在当前页面地址与请求地址的协 ...