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

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

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

服务器配置

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

  1. 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
  1. 这个操作可以多做几遍没关系确保安装成功了,做完这一步再测试一下看看安装成功了没有
  1. 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
  1. 如果出现包未安装的提示,请用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编辑器)

  1. fs.aio-max-nr = 1048576
  2. fs.file-max = 6815744
  3. kernel.shmall = 2097152
  4. kernel.shmmax = 4098955264
  5. kernel.shmmni = 4096
  6. kernel.sem = 250 32000 100 128
  7. net.ipv4.ip_local_port_range = 9000 65500
  8. net.core.rmem_default = 262144
  9. net.core.rmem_max = 4194304
  10. net.core.wmem_default = 262144
  11. net.core.wmem_max = 1048576

改好后,使之生效

  1. sysctl -p

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

  5.改文件限制:vi /etc/security/limits.conf,添加:

  1. oracle soft nproc 2047
  2. oracle hard nproc 16384
  3. oracle soft nofile 1024
  4. oracle hard nofile 65536
  5. oracle soft stack 10240

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

  1. session required pam_limits.so

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

  1. if [ $USER = "oracle" ]; then
  2. if [ $SHELL = "/bin/ksh" ]; then
  3. ulimit -p 16384 ulimit -n 65536a
  4. else
  5. ulimit -u 16384 -n 65536
  6. fi
  7. fi

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

  1. ORACLE_BASE=/orcl/app/oracle
  2. ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
  3. ORACLE_SID=orcl
  4. export ORACLE_BASE ORACLE_HOME ORACLE_SID
  5. PATH=$ORACLE_HOME/bin:$PATH

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

  1. 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. 进入到安装包目录
  1. cd /orcl/app/oracle
  1. 解压安装包
  1. unzip linuxx64_12201_database.zip
  1. 进入到解压目录
  1. cd /orcl/app/oracle/database
  1. 运行安装命令
  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 Normal_RSA

    这题本来算是很常规的rsa了,下载附件 发现有个公钥文件,还有一个加密文件,这种题之前有遇到一次,做法和这个类似,上次那个是用rsa的库,直接解的,这次直接用常规的,好像更简单,记录下模板 记事本打开 ...

  2. buu [MRCTF2020]keyboard

    密文: ooo yyy ii w uuu ee uuuu yyy uuuu y w uuu i i rr w i i rr rrr uuuu rrr uuuu t ii uuuu i w u rrr ...

  3. Leetcode No.53 Maximum Subarray(c++实现)

    1. 题目 1.1 英文题目 Given an integer array nums, find the contiguous subarray (containing at least one nu ...

  4. python使用笔记16--操作redis

    操作redis应先引入第三方模块 执行以下命令 pip install redis 1.redis常用方法 1 import redis 2 #decode_responses=True将bytes转 ...

  5. 00JAVA语法基础_四则运算 01

    自动生成30道四则运算的数学题,当前只是简单符合出题,答题和判断的代码,还没做要求,所以现在只是能随机生成三十道100以内的加减法和九九乘法表的乘除法 package Sizeyunsuan; /** ...

  6. Git的使用(六)

    前言 版本管理工具总结: 开发团队项目,对项目的版本进行管理. 使用过的版本管理工具: TFS.SVN与Git. TFS:管理项目,通过visual Studio管理源码,拉取分支,提交代码等.也可以 ...

  7. 爬取房价信息并制作成柱状图XPath,pyecharts

    以长沙楼盘为例,看一下它的房价情况如何url = https://cs.newhouse.fang.com/house/s/b91/ 一.页面 二.分析页面源代码 我们要获得的数据就是名字和价格,先来 ...

  8. Chrome添加 测试设备 手机iPhone x系列手机

    一.F12,点击下图中的Edit,添加设备 二.添加名为iPhone XR的设备,设备配置如下 三.其中User agent string如下 Mozilla/5.0 (iPhone; CPU iPh ...

  9. maven 工程构建 之_____<dependencyManagement>标签

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  10. EF中数据修改时动态更新其他数据

    场景 利用.net core开发时,经常会遇到使用EF(Entity Framework),但是今天在开发过程中发现一个值莫名其妙的自己变了,我怀疑是EF的问题. 主要代码如下: 1 // 最近一条告 ...