1.安装规划

Oracle数据库版本:

Linuxamd64_12102_database 12c

Linux服务器系统:

CentOS Linux release 7.5.1804 (Core) 64bit

Oracle安装用户:

oracle/password

2.Oracle数据库安装包下载

向同事获取,或者从官网下载。

3.将安装包上传到服务器

这里开始使用的都是root用户:

ftp /home/package

4.解压安装包

使用unzip命令解压:

unzip linuxamd64_12102_database_1of2.zip

unzip linuxamd64_12102_database_2of2.zip

解压完成后会生成目录database。

如果找不到命令,请先安装:

yum install unzip

5.检查硬件需求

Oracle是个大型软件,

如果你的硬件不能满足,

肯定会导致安装失败。

5.1.内存要求

查看内存大小:

grep MemTotal /proc/meminfo

需要至少1GB的内存。

查看交换分区大小:

grep SwapTotal /proc/meminfo

内存与交换分区之间的要求:

内存 交换分区的大小
1--2GB RAM大小的1.5倍
2--16GB 等于RAM的大小
>16 GB 16 GB

5.2.硬盘要求

确保/tmp目录要有1GB可用空间:

df -h /tmp

查看你系统可用硬盘空间:

df -h

确定可用硬盘空间满足以下要求:

安装类型 软件文件要求 数据文件要求
企业版 3.95GB 1.7GB
标准版 3.88GB 1.5GB

6.检查软件包依赖

注意这一步是重点了,

包依赖的问题很可能导致安装失败。

使用以下命令查看要求的软件包的版本是否安装:

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

如果都符合要求就没啥问题了,

如果出现有未安装的软件包,

可以单独安装缺失的软件包,

也可以使用yum把软件包都更新一遍。

yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

如果显示compat-libstdc++未安装,

请使用如下命令:

yum install compat-libstdc++*

7.配置内核参数

修改/etc/sysctl.conf文件,

增加以下内核参数:

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

如果安装的Oracle用于企业生产环境,

内核参数对于优化系统性能很重要,

比如配置信号量,I/O,共享内存等参数配置,

请参考官方文档进行详细配置。

不重启系统使配置生效,

请执行如下命令:

/sbin/sysctl -p

8.为Oracle用户添加shell配置

为了提高Oracle软件性能,

需要为Oracle用户增加以下shell配置:

Shell Limit 在limits.conf中的项 硬限制
打开文件描述符的最大数量 nofile 65536
单个用户可用的最大进程数 nproc 16384
进程堆栈段的最大大小 stack 10240

8.1.修改/etc/security/limits.conf文件

增加如下参数:

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

8.2.修改/etc/pam.d/login文件

增加如下参数:

session    required     pam_limits.so

8.3.修改/etc/profile文件

增加如下参数:

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

9.创建Oracle用户与相关用户组

创建oinstall和dba用户组:

groupadd oinstall

groupadd dba

创建oracle用户:

useradd -g oinstall -G dba -s /bin/bash -md /home/oracle oracle

修改oracle密码:

passwd oracle

修改database的属主为oracle:

chown -R oracle:oinstall database/

登录oracle用户,

之后的操作都是使用oarcle用户。

10.创建并配置环境变量

修改 .bash_profile文件,

添加如下环境变量:

export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12c/dbhome_1
export ORACLE_SID=oraclesid
export PATH=$ORACLE_HOME/bin:$PATH

使环境变量生效:

source .bash_profile

如果上面的目录不存在,

可以预先创建好。

使用oracle用户的家目录/home/oracle作为ORACLE_BASE,

安装Oracle是可能弹出提示需要确认,

如果不想看到提示,

可以使用/home/oracle/app之类的。

11.安装数据库

进入到之前解压的database目录,

运行runInstaller脚本开始安装:

./runInstaller

如果安装界面出现乱码,

修改语言为英文再安装:

export LANG=en_US.UTF-8

注意这里安装Oracle要求使用图形化界面,

一定要用oracle用户登录图形界面,

否则运行runInstaller会报错显示错误。

关于如何进入图形化界面,

请参考以下文章:
MobaXterm远程连接Linux图形用户界面
Xstart远程连接Linux图形用户界面
VNC的安装和使用

或者请参考无图形界面安装Oracle的文章:
【CentOS】在Centos7 下无图形界面安装 Oracle11g

0.安装Oracle数据库

执行上面的脚本后,

会进行基本的检查,

输入y选择继续:

[oracle@ai-14 database]$ ./runInstaller
Starting Oracle Universal Installer... Checking Temp space: must be greater than 500 MB. Actual 912268 MB Passed
Checking swap space: must be greater than 150 MB. Actual 32763 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<< Some requirement checks failed. You must fulfill these requirements before continuing with the installation, Continue? (y/n) [n] y >>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-09-19_02-55-17PM. Please wait ...[oracle@ai-14 database]$ You can find the log of this install session at:
/home/oracle/oraInventory/logs/installActions2019-09-19_02-55-17PM.log

弹出安装Oracle的图形化界面:

从这里开始我们重新计数,

为了和Oracle安装的步骤一致。

1.配置安全更新(Configure Security Updates)

这是用来配置更新以及技术支持的,

Email不用填,

把复选框的勾去掉:

点击Next下一步。

2. 安装选项(Installation Option)

配置安装选项,

三个选项分别为:

  1. 创建并配置一个新数据库,适用于新安装数据库的用户;
  2. 只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的;
  3. 升级已有数据库,适用于将老数据库升级成新数据库的用户。

    这里选择第1项:

    点击Next下一步。

3.系统类型(System Class)

配置安装的系统类型,

分为桌面版和服务器版,

桌面版是最小化配置,

这里选择服务器版:

点击Next下一步。

4.网格安装选项(Grid Installation Options)

分布式网格配置,

可以配置单实例或者分布式服务,

这里选择单实例数据库安装:

点击Next下一步。

5.安装类型(Intall Type)

选择安装类型,

典型安装基本不需要配置,

这里选择高级安装:

点击Next下一步。

6.产品语言(Product Languages)

选择产品语言,

这里选择英文和简体中文。

点击Next下一步。

7.数据库版本(Database Edition)

选择数据库版本,

这里选择企业版,

需要6.4G硬盘空间:

点击Next下一步。

8.安装位置(Installation Location)

选择安装位置,

和前面环境变量的配置保持一致:

点击Next下一步。

9.建立清单(Create Inventory)

Inventory Directory目录用于记录Oracle的清单信息的,

清单信息中包括Oracle的安装路径等信息。

选择Oracle家目录的一个目录即可:

点击Next下一步。

10.配置类型(Configuration Type)

用于配置创建数据库的类型:

  1. 通用/事务处理:专为一般用途或交互较多的应用程序而设计。
  2. 数据仓库:对数据存储应用程序进行优化。

    这里选择通用/事务处理:

    点击Next下一步。

11.数据库标识符(Database Identifiers)

配置数据库名和服务ID

注意记住数据库名,

使用数据库时会用到:

点击Next下一步。

12.配置选项(Configuration Options)

配置选项有三个选项卡,

主要修改内存和字符集。

12.1.内存(Memory)

勾选打开自动内存管理:

12.2.字符集(Character sets)

选择从字符集列表中选择字符集,

将字符集设置成UTF-8:

点击Next下一步。

13.数据存储(Database Storage)

用于配置数据存储文件的位置,

这里存储在/home/oracle/oradata目录:

点击Next下一步。

14.管理选项(Management Options)

Oracle 12c支持Oracle企业云控制管理,

可以注册自己的Oracle到上面统一管理,

这里不需要配置跳过即可:

点击Next下一步。

15.恢复选项(Recovery Options)

用于配置数据备份,

这里不需要打开备份:

点击Next下一步。

如果实际的企业生产环境,

肯定是要做备份的,

请参考相关的文章配置。

16.用户密码(Schema Password)

配置相关用户的密码,

这里所有的用户使用相同的密码,

如果密码太简单可能会报错,

需要大小写数字都包含,

注意记住密码后面会用到。

点击Next下一步。

17.操作系统用户组(Operating System Groups)

用于配置数据库用户组的,

只要前面创建了相关用户组,

这一步可以直接使用默认的:

点击Next下一步。

18.先决条件检查(Prerequisite Checks)

安装程序会检测交换分区大小,

内核参数以及依赖包等:

上面报错提示系统参数shmmax不符合预期,

可以点击上面的Fix&Check Again,

弹出修复脚本对话框:

按照提示登录root用户,

执行指定脚本/tmp/CVU_12.1.0.2.0_oracle/runfixup.sh:

[root@ai-14 database]# /tmp/CVU_12.1.0.2.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.

脚本执行成功后,

点击OK完成修复,

然后点击Next下一步。

其实只要前面步骤完成了,

有些错误可以直接忽略。

19.概要(Summary)

这里汇总了前面所有配置信息,

确认配置没有问题即可:

点击Install安装。

20.安装产品(Install Product)

开始真正的安装Oracle数据库,

根据服务器性能,安装比较慢,

其中有几步安装需要按照提示操作。

20.1.开始安装

20.2.安装进度和状态

20.3.执行配置脚本

按照提示登录root用户,

an顺序执行指定的两个脚本,

1./home/oracle/oraInventory/orainstRoot.sh

2./home/oracle/product/12c/dbhome_1/root.sh

[root@ai-14 database]# /home/oracle/oraInventory/orainstRoot.sh
Changing permissions of /home/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world. Changing groupname of /home/oracle/oraInventory to oinstall.
The execution of the script is complete.
[root@ai-14 database]# /home/oracle/product/12c/dbhome_1/root.sh
Performing root user operation. The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /home/oracle/product/12c/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ... Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

脚本执行成功后,

点击OK完成。

20.4.继续等待安装

20.5.数据库配置助手

这里自动安装,等待进度完成:

完成后不要急着点OK,

点击PasswordManagement:

20.6.密码管理

设置SYS和SYSTEM用户的密码:

点击OK返回。

21.完成(Finish)

Oracle数据库安装成功:

22.查看数据库监听

重新登录Oracle用户,

使用lsnrctl status查看数据库状态,

可以看到数据库已经启动:

[oracle@ai-14 bin]$ lsnrctl status

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 19-SEP-2019 16:16:43

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ai-14)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 19-SEP-2019 15:57:09
Uptime 0 days 0 hr. 19 min. 48 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/product/12c/dbhome_1/network/admin/listener.ora
Listener Log File /home/oracle/diag/tnslsnr/ai-14/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ai-14)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ai-14)(PORT=5500))(Security=(my_wallet_directory=/home/oracle/admin/oracle/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "oracle" has 1 instance(s).
Instance "oraclesid", status READY, has 1 handler(s) for this service...
Service "oraclesidXDB" has 1 instance(s).
Instance "oraclesid", status READY, has 1 handler(s) for this service...
The command completed successfully

23.登录数据库

使用sqlplus命令,

输入system用户名和密码,

成功登录,

并且能够进行操作:

[oracle@ai-14 ~]$ sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 19 16:17:56 2019

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: system
Enter password:
Last Successful login time: Thu Sep 19 2019 16:15:38 +08:00 Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> select TNAME,TABTYPE from tab;
select TNAME,TABTYPE from tab
*
ERROR at line 1:
ORA-00904: "TNAME???TABTYPE": invalid identifier SQL> select TNAME from tab; TNAME
--------------------------------------------------------------------------------
LOGMNR_SESSION_EVOLVE$
LOGMNR_GLOBAL$
LOGMNR_GT_TAB_INCLUDE$
LOGMNR_GT_USER_INCLUDE$
LOGMNR_GT_XID_INCLUDE$
LOGMNR_PDB_INFO$
LOGMNR_DID$
LOGMNR_UID$
LOGMNRGGC_GTLO
LOGMNRGGC_GTCS
LOGMNRC_DBNAME_UID_MAP

24.数据库信息汇总

名称 实际值
主机名 ai-14
IP 10.21.13.14
服务端口 1521
服务名 oracle
服务ID oraclesid
SYSDBA sys,system

建议安装完数据库后,

记录一个类似的汇总信息,

以后使用数据库都要用到,

记录下来防止时间长了忘记。

25.远程连接数据库

需要先关闭Linux的防火墙和selinux。

否则远程连接数据库会失败。

25.1.关闭CentOS 7的防火墙和selinux

使用root执行如下命令:

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
[root@ai-14 ~]# systemctl stop firewalld
[root@ai-14 ~]# systemctl disable firewalld
[root@ai-14 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1) 9月 17 17:01:41 ai-14 systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 17 17:01:43 ai-14 systemd[1]: Started firewalld - dynamic firewall daemon.
9月 20 14:49:51 ai-14 systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 20 14:49:52 ai-14 systemd[1]: Stopped firewalld - dynamic firewall daemon.

25.2.远程连接

这里使用DBeaver工具连接Oracle数据库,

Oracle连接配置:

点击测试连接(T)..,

测试连接成功:

26.参考文章

Linux上安装Oracle的辛酸史
【CentOS】在Centos7 下无图形界面安装 Oracle11g

Oracle数据库安装Version12c的更多相关文章

  1. Oracle 11g 发行版2的安装,PLSQL_Developer安装 , Oracle数据库安装失败,完全卸载,常用的命令

    Oracle 11g 发行版2的安装 PLSQL_Developer安装 Oracle数据库安装失败,完全卸载oracle11g 常用的命令 Oracle 11g 发行版2的安装 1. 下载 下载地址 ...

  2. Oracle数据库安装图文操作步骤1

    Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符.   官 ...

  3. oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章

    转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...

  4. 2.Oracle数据库安装教程

    一.准备安装 基本都是按部就班. 使用的OS版本:OEL4 安装程序路径: /mnt/Oracle11g_linux_x86_64/database 创建用户 使用的.bash_profile 修改的 ...

  5. Linux下进行Oracle数据库安装

    一般来说我们Windows下进行安装Oracle都很简单,但Linux下却要输入很多命令,以下的安装步骤是本人经过多次安装Linux下的Oracle经验,希望能帮到大家 一.在Linux服务器上创建o ...

  6. Oracle数据库安装图文操作步骤

    一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符.   官方下地址: http://www.o ...

  7. 0001 Oracle数据库安装

    从这个月初开始学习Oracle,因为完全是零起步,就从Oracle的下载安装开始一点一点学起,今天把系统重新做了,就再安装了一遍Oracle11gR2,把安装过程记录一下: 一.安装Oracle数据库 ...

  8. oracle数据库安装

    1.oracle10g下载完成后,选择“setup.exe”启动安装. 2.oracle主目录位置就是oracle准备安装的位置,称为"Oracle_Home".Oracle安装的 ...

  9. Oracle 数据库安装

    下载 www.oracle.com ->Downloads -> Oracle Database 安装: 解压到同一文件夹下 仅安装数据库软件 单实例数据库安装 企业版 oracle基目录 ...

随机推荐

  1. springboot-使用AOP日志拦截实现

    一 前言 借助spring的AOP功能,我们可以将AOP应用至全局异常处理,全局请求拦截等,本篇文章的核心功能就是使用AOP实现日志记录,比如哪些用户进行了哪些操作,对于一个成功的项目这是必须记录的, ...

  2. Linux学习 - 文件系统属性chattr权限

    change file attributes on 啊linux file system 1 功能 可以防止误操作 2 chattr命令格式 chattr [+-=] [选项] 文件或目录名 + 增加 ...

  3. implicit declaration of function 'NSFileTypeForHFSTypeCode' is invalid in c99

    问题:implicit declaration of function 'NSFileTypeForHFSTypeCode' is invalid in c99 解决办法: 在出现该问题的函数前后加上 ...

  4. maven打包插件详解

    maven-jar-plugin插件的使用及详解 该插件的xml配置及详解如下: <plugin> <groupId>org.apache.maven.plugins</ ...

  5. 测试工具_http_load

    目录 一.简介 二.例子 三.参数 一.简介 http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机 ...

  6. 分布式调用链跟踪工具Jaeger?两分钟极速体验

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. IDEA中安装SVN

     下载svn和汉化安装包:   (下面安装过程中,运行这两个安装包需要管理员权限:使用管理员权限运行cmd,在cmd中运行这两个安装包)   1.安装SVN 安装SVN时这里要选择[will be i ...

  8. CF919B Perfect Number 题解

    Content 给定一个数字 \(k\),求出第 \(k\) 小的各数位和为 \(10\) 的数. 数据范围:\(1\leqslant k\leqslant 10000\). Solution 这题为 ...

  9. C++ 智能指针(shared_ptr/weak_ptr)原理分析

    其主要的类关系如下所示(省略相关的类模板参数): 图1 从上面的类图可以清楚的看出shared_ptr内部含有一个指向被管理对象(managed object)T的指针以及一个__shared_cou ...

  10. TURN协议(RFC5766详解)

    如果一台主机处于NAT后面,那么在一定条件下两台主机无法之间进行通讯.在这种条件下,那么使用中继服务提供通讯是有必要的. 这个规范定义了一个名为TURN(使用中继穿越NAT)的协议,它允许一台主机使用 ...