自 Oracle 18c 开始,Oracle开始支持 Linux 上的   Oracle 数据库 RPM   安装方式,虽然刚刚发布还有一些限制,但是这无疑开始改变,目前的限制包括: 

  • 仅支持单实例安装,不支持集群;

  • 仅支持企业版,专业版要到 19c 支持;

  • 支持 Server 端和   Instant Client 的 RPM 安装;


虽然这个安装 RPM 包容量高达 3.3 GB,我还是体验了一下,把这个简化的过程和大家分享一下。

RPM 安装包可以在 OTN 下载:

Oracle Database 18c (18.3) for Linux x86-64 (RPM) 

Download   oracle-database-ee-18c-1.0-1.x86_64.rpm   (3,586,257,564)


使用RMP方式,安装Oracle数据库,使得一切都变得简单。整个安装过程仅仅需要两个 rpm 包,分别是:

oracle-database-  preinstall  -18c-1.0-1.el7.x86_64.rpm

oracle-database-  ee  -18c-1.0-1.x86_64.rpm


安装又分为两个分支:  全自动   和   半自动  。

如果你使用的是 OEL (Oracle Linux)并且注册了 ULN 帐号( Unbreakable Linux Network ),那么使用 root 用户安装就是一个命令:

yum -y install oracle-database-ee-18c


我们接下来看看手工方式,同样需要  以 root 身份  登录。

第一步骤,安装 preinstall 包:

OEL 可以使用 yum 一步安装:

#    yum -y install oracle-database-preinstall-18c

其他版本平台手工达人,可以下载安装:

#    curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

#    yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm


第二个步骤,进入下载目录,安装数据库软件:

#    yum -y localinstall oracle-database-ee-18c-1.0-1.x86_64.rpm


然后等上几分钟,就结束了。数据库软件就安装完毕。最后会提示你,通过配置来创建一个数据库,仍然是一个命令:

/etc/init.d/oracledb_ORCLCDB-18c configure


这个命令以静默方式创建一个多租户数据库。如果一切顺利,That's All。如果以前有一些同学、初学者,被安装数据库搞得晕头转向,那么现在,一切都过去了,  你和数据库之间的距离只有一条命令之遥  。





还是看看我的测试过程,当然操作系统是前提,我找了一个虚拟机,因为之前安装过数据库,所以一些基本的 Package 应当是健全的,如果你的 Linux 有问题,还是需要看看安装手册的基础需求。


我的系统信息如下:

[root@sdb0 opt]# cat /etc/redhat-release 

CentOS release 6.8 (Final)

[root@sdb0 opt]# uname -a

Linux sdb0    2.6.32-642.6.2.el6.x86_64    #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


如果缺少 preinstall 包会提示依赖错误:

[root@sdb0 u01]#    rpm -ivh oracle-database-ee-18c-1.0-1.x86_64.rpm 

error: Failed dependencies:

oracle-database-preinstall-18c    is needed by oracle-database-ee-18c-1.0-1.x86_64

[root@sdb0 u01]#    curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

 

[root@sdb0 u01]#    yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

Installed: oracle-database-preinstall-18c.x86_64 0:1.0-1.el7                                                                                 

Complete!


安装的缺省目录在 /opt ,要确保有超过 7 G 的空间,否则安装会失败:

[root@sdb0 u01]#    yum -y localinstall oracle-database-ee-18c-1.0-1.x86_64.rpm


Total size: 7.8 G

Installed size: 7.8 G

Downloading Packages:

Running rpm_check_debug

Running Transaction Test


Transaction Check Error:

  installing package oracle-database-ee-18c-1.0-1.x86_64 needs 6804MB on the / filesystem


Error Summary

-------------

Disk Requirements:

  At least 6804MB more space needed on the / filesystem.


安装目录 /opt ,  要确保将权限授予 oracle 用户  (所以,用户和用户组应该是预先自己建立的):

[root@sdb0 opt]#    chown oracle:oinstall /opt


然后执行安装,一条命令下去,根据存储性能大约10分钟以内完成软件解压部署:

[root@sdb0 opt]#    yum -y localinstall oracle-database-ee-18c-1.0-1.x86_64.rpm

Loaded plugins: fastestmirror, refresh-packagekit, security

Setting up Local Package Process

Examining oracle-database-ee-18c-1.0-1.x86_64.rpm: oracle-database-ee-18c-1.0-1.x86_64

。。。

Install       1 Package(s)


Total size: 7.8 G

Installed size: 7.8 G

Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Warning: RPMDB altered outside of yum.

  Installing : oracle-database-ee-18c-1.0-1.x86_64                          1/1 

[INFO] Executing post installation scripts...

[INFO] Oracle home installed successfully and ready to be configured.

To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-18c configure

  Verifying  : oracle-database-ee-18c-1.0-1.x86_64                          1/1 


Installed:

  oracle-database-ee-18c.x86_64 0:1.0-1                                         


Complete   !


注意,以上只是完成了软件的安装部署,接下来如果要创建数据库,还需要用 root 身份执行一个脚本进行配置:

To configure a sample Oracle Database you can execute the following service configuration script as root:    /etc/init.d/oracledb_ORCLCDB-18c configure


注意,当我们执行 

/etc/init.d/oracledb_ORCLCDB-18c configure

命令时,后台实际上就自动进行了一个静默的数据库创建,我把这段命令拿出来了,但是你可以不用关注:

/bin/su -s /bin/bash oracle -c /opt/oracle/product/18c/dbhome_1/bin/   dbca -silent -createDatabase    -gdbName ORCLCDB -templateName General_Purpose.dbc -characterSet AL32UTF8 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName ORCLPDB1 -createListener LISTENER:1521 -datafileDestination /opt/oracle/oradata -sid ORCLCDB -autoGeneratePasswords -emConfiguration DBEXPRESS -emExpressPort 5500


数据库创建的执行过程如下:

【18c】Oracle 18.3 RPM安装_Oracle 18.3 RPM

创建完成之后,在 Oracle 用户,适当的配置环境变量,登入数据库,看,我们第一个RPM方式部署的多租户,18.3 版本的数据库已经就绪。

【18c】Oracle 18.3 RPM安装_Oracle 18.3 RPM_02

在我的环境中,全程非常流畅,我不得不说,虽然RPM很巨大,但这真的是一个有益的改变。