1. 引言

  将近一个月没有更新博客了,最近忙着数据库数据迁移工作;自己在服务器上搭建了oracle数据库,一步步走下来遇见很多BUG;现在自己记录下,方便以后有用上的地方;

2. 准备工作

  oracle安装包官网地址:

  http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html

  上传至服务器:

3. 准备工作

  3.1 用root账户登录服务器,创建oracle数据库的系统用户和用户组

[root@HikOS ~]# groupadd oinstall    //创建用户组oinstall
[root@HikOS ~]# groupadd dba //创建用户组dba
[root@HikOS ~]# useradd -g oinstall -G dba oracle //创建用户oracle并加入oinstall和dba用户组
[root@HikOS ~]# passwd oracle //设置oracle用户登录密码
[root@HikOS ~]# id oracle //查看oracle用户信息

  3.2 创建oracle数据库安装目录

[root@HikOS ~]# mkdir -p /data/oracle    //oracle数据库安装目录
[root@HikOS ~]# mkdir -p /data/oraInventory //oracle数据库配置文件目录
[root@HikOS ~]# mkdir -p /data/database //oracle数据库软件包解压目录
[root@HikOS ~]# chown -R oracle:oinstall /data/oracle //设置目录所有者为oinstall用户组的oracle用户
[root@HikOS ~]# chown -R oracle:oinstall /data/oraInventory
[root@HikOS ~]# chown -R oracle:oinstall /data/database

  3.3 修改OS系统标志;

    oracle默认不支持Centos系统安装,修改文件 /etc/redhat-release内容为RedHat-7

  3.4 安装oracle数据库所需软件包,由于软件包过多,不贴了。直接贴软件包下载指令;

yum install binutils-.* compat-libstdc++-* elfutils-libelf-.* elfutils-libelf-devel-* gcc-.* gcc-c++-.* glibc-.* glibc-common-.* glibc-devel-.* glibc-headers-.* ksh-* libaio-.* libaio-devel-.* libgcc-.* libstdc++-.* libstdc++-devel-.* make-.* sysstat-.* unixODBC-.* unixODBC-devel-.* pdksh*     //使用上面指令,检查依赖软件包

  3.5 关闭防火墙和selinux

[root@HikOS ~]# systemctl start firewalld.service     //停止firewall
[root@HikOS ~]# firewall-cmd --zone=public --add-port=/tcp --permanent //开启1521端口
[root@HikOS ~]# firewall-cmd --reload //重启防火墙

  3.6 修改内核参数

[root@HikOS ~]# vim /etc/sysctl.conf    //下文是要添加sysctl.conf内容
net.ipv4.icmp_echo_ignore_broadcasts =
net.ipv4.conf.all.rp_filter =
fs.file-max = #设置最大打开文件数
fs.aio-max-nr =
kernel.shmall = #共享内存的总量,8G内存设置:*4k//
kernel.shmmax = #最大共享内存的段大小
kernel.shmmni = #整个系统共享内存端的最大数
kernel.sem =
net.ipv4.ip_local_port_range = #可使用的IPv4端口范围
net.core.rmem_default =
net.core.rmem_max=
net.core.wmem_default=
net.core.wmem_max=

  3.7 对oracle用户设置限制,提高软件运行性能

[root@HikOS ~]vim /etc/security/limits.conf  //下文是要添加到Limits.conf内容
oracle soft nproc
oracle hard nproc
oracle soft nofile
oracle hard nofile

  3.8 配置用户环境变量

[root@HikOS ~]# vim /home/oracle/.bash_profile  #下文是要追加bash_profile内容部分
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2./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安装时设置的字符集保持一致
[root@HikOS ~]# source /home/oracle/.bash_profile    //使上述配置生效

  3.9 解压安装包

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

4 Oracle安装

  4.1 切换用户,使用刚刚创建的oracle用户登录liunx服务器。采用的是静默安装,修改配置文件

[oracle@HikOS ~]# vim /data/database/database/response/db_install.rsp    // 修改配置文件如下,安装上述解压时,解压路径就是这样
    oracle.install.option=INSTALL_DB_SWONLY

  ORACLE_HOSTNAME=CentOS //使用hostname查看自己的系统版本,然后替换

  UNIX_GROUP_NAME=oinstall

  INVENTORY_LOCATION=/data/oracle/oraInventory

  SELECTED_LANGUAGES=en,zh_CN

  ORACLE_HOME=/data/oracle/product/11.2./db_1

  ORACLE_BASE=/data/oracle/

  oracle.install.db.InstallEdition=EE

  oracle.install.db.DBA_GROUP=dba

  oracle.install.db.OPER_GROUP=oinstall

  DECLINE_SECURITY_UPDATES=true

  4.2 执行安装过程

[oracle@HikOS ~]# cd /data/database/database
[oracle@HikOS database]# ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /data/database/database/response/db_install.rsp

  4.3 安装过程错误QA(大部分因为db_install.rsp配置有问题)

    问题:[FATAL] [INS-32037] The operating system group specified for central inventory (oraInventory) ownership is invalid.

    解决:UNIX_GROUP_NAME=oinstall
       INVENTORY_LOCATION=/data/oracle/oraInventory

    ###############

    问题:[FATAL] [INS-35071] Global database name cannot be left blank.

    解决:ORACLE_HOSTNAME=oracle1

    ###############

    问题:[FATAL] [INS-35071] Global database name cannot be left blank.

    解决:oracle.install.db.config.starterdb.globalDBName=oracle.sunyard

    ###############

    问题:[FATAL] [INS-35175] No value given for the allocated memory of the database

    解决:oracle.install.db.config.starterdb.memoryLimit=512

    ###############

    问题:[FATAL] [INS-30004] The ADMIN password entered is invalid.

    解决:密码不能带@

    ##############

    问题:[INS-32033]Central Inventory location is not vritable

    解决:chown -R oracle:oinstall /data/oracle

         chown -R oracle:oinstall /data/oraInventory

         chown -R oracle:oinstall /data/database

         chown -R oracle:oinstall /data/database/database/

    ##############

    问题:[FATAL] [INS-35341] User is not a member of the following chosen OS groups

    解决:oracle.install.db.DBA_GROUP=dba
       oracle.install.db.OPER_GROUP=oinstall

    ##############

    问题:[SEVERE] - Email Address Not Specified"

    解决:DECLINE_SECURITY_UPDATES=true

  4.4 安装完成后提示如下界面

  

  4.5 切换成root用户,安装上图显示的提示执行命令

[root@HikOS ~]# sh /data/oraInventory/orainstRoot.sh
[root@HikOS ~]# sh /data/oracle/product/11.2./db_1/root.sh

  4.6 切换成oracle用户,配置监听

[oracle@HikOS ~]# cd /data/database/database/response
[oracle@HikOS response]# $ORACLE_HOME/bin/netca /silent /responsefile /data/database/database/response/netca.rsp

  4.7 查看1521端口监听是否配置成功

[oracle@HikOS ~]# netstat -tnulp | grep 

  4.8 创建数据库,修改配置文件

[oracle@HikOS ~]# vim /data/database/database/response/dbca.rsp
# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0" # Description : Type of operation
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
# Description : Global database name of the database
# 全局数据库的名字=SID+主机域名 # 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.test"
# Description : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl"
# Description : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"
# Description : Password for SYS user
# SYS管理员密码
SYSPASSWORD = ""
# Description : Password for SYSTEM user
# SYSTEM管理员密码
SYSTEMPASSWORD = "" # Description : Password for SYSMAN user
# SYSMAN管理员密码
SYSMANPASSWORD = ""
# Description : Password for DBSNMP user
# DBSNMP管理员密码
DBSNMPPASSWORD = ""
# Description : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata # Description : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area # Description : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK" # Description : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*%
TOTALMEMORY = ""
[oracle@HikOS ~]# dbca -silent -responseFile /data/database/database/response/dbca.rsp  

显示如上界面后,表示创建成功

  4.9 创建数据库用户

)sqlplus / as sysdba  //管理员登录
)创建用户
  语法:CREATE USER 用户名 IDENTIFIED BY 密码;
   CREATE USER username IDENTIFIED BY password;
)将刚创建的用户解锁/锁住
  语法:ALTER USER 用户名 ACCOUNT UNLOCK/LOCK
  用户解锁
    alter user username account unlock;
  用户锁住
    alter user username account lock;
)授予新登陆的用户创建权限:
  语法:CRANT CREATE SESSION TO 用户名
   grant create session to username;
) 授予新创建的用户数据库管理员权限
  语法:CRANT DBA TO 用户名;
   grant dba to username;
) 切换到新创建的用户登陆
  语法:CONNECT 用户名/密码
    connect username/password;
) 删除用户
  语法:DROP USER 用户名
    drop user uaernam

5. 总结

  oracle安装弄了我快一天的时间,因为公司的yum源没有图形化包,图形化安装浪费了太多时间,还是静默安装好。记下来方便下次遍历。

liunx下Oracle安装的更多相关文章

  1. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  2. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  3. [INS-30131] 执行安装程序验证所需的初始设置失败问题解决,windows下oracle安装步骤

    [INS-30131] 执行安装程序验证所需的初始设置失败问题解决,windows下oracle安装步骤 配置: 系统:windows10 数据库:Oracle Database 12c 第 1 版 ...

  4. Linux环境下Oracle安装参数设置

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...

  5. Windows下Oracle安装图解----oracle-win-64-11g 详细安装步骤

    一. Oracle 下载 官方下地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htm ...

  6. win10 下Oracle安装

    在win10 64bit下安装oracle 11的时候,有些问题不注意,安装的时候才遇到就gg了.下面将介绍win10下安装oracle 11的步骤以及安装过程中遇到的一些问题及解决方案. 安装过程中 ...

  7. 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】

    数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...

  8. Ubuntu16.04 Liunx下同时安装Anaconda2与Anaconda3

    先根据Ubuntu预装的python2.7来安装Anaconda2,然后将Anaconda3作为其环境安装在envs文件夹下. 重要提示:有一些软件需要py2.7的环境,比如XX-Net, 最好是先安 ...

  9. ubuntu16下 Oracle安装完毕,测试是否安装成功的步骤

    1.查看oracle的环境变量,在终端输入命令 echo $ORACLE_BASE echo $ORACLE_HOME echo $PATH 看输出是不是安装时设置的路径 2.开启监听器 lsnrct ...

随机推荐

  1. VUE的生命周期——钩子函数

  2. 第09组 Alpha事后诸葛亮

    组长博客链接 组长博客 参考邹欣老师的问题模板进行总结思考 设想和目标(2分) 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题 我们软件初期旨在解决 ...

  3. MySQL性能优化 分区

    简述 分区是指根据一定的规则,数据库将表分解为多个更小的,更容易管理的部分,就访问数据库而言,逻辑上只有一张表或一个索引,但实际上这张表可能又多个物理分区共同构成,每一个分区都是一个独立的对象,可以独 ...

  4. 一大波 Facebook Libra 技术文章来袭

    由于 Libra 具有真正的稳定的可编程货币的特性, Libra 或许可以带来又一波平台红利. 上周我们(深入浅出区块链技术社区)发起了 Libra 技术文档的翻译计划,到这周文档已经翻译了一半.欢迎 ...

  5. GC(一)内存管理与垃圾回收

    参考文章: 内存分配.GC原理与垃圾收集器:http://www.importnew.com/23035.html g1垃圾回收器:http://blog.jobbole.com/109170/ cm ...

  6. 【java/oralce/sql】往一张仅有id,名称,创建时间三个字段的表中插入百万数据需要多久?1分26秒

    代码下载:https://files.cnblogs.com/files/xiandedanteng/fastfilltable20191222.rar 表testtb18的结构如下: CREATE ...

  7. AndroidStudio 3.5格式化xml文件出现自动改变xml元素位置问题

    问题描述格式化xml时,出现自动改变了xml元素位置问题.左侧是原始的,右侧是格式化后的. 坑娘啊,这样界面就完全变了啊. 解决方案在设置里,Appearance& Behavior > ...

  8. ocketMQ概念模型

    ocketMQ概念模型 https://blog.csdn.net/binzhaomobile/article/details/73332463 HTTPS://blog.CSDN.net/bin找M ...

  9. ThinkPHP中文字段问题

    转自: https://www.baidu.com/link?url=Ohc9epgQgkNYLwnHqP-jZ9RfIQWW50-iz8-ZMIPLdtCIJHnUpYwQnDLmXzi7Fa110 ...

  10. java面试题实战二

    1.spring 是如何创建bean的? 在IoC容器中,bean的获取主要通过BeanFactory和ApplicationContext获取,这里ApplicationContext实际上是继承自 ...