Oracle 19c 之 RPM 包安装初体验(一)

谁说我不能喝 提交于 2021-02-12 03:50:24

作者 | JiekeXu

来源 | JiekeXu之路(ID: JiekeXu_IT)

转载请联系授权 | (微信ID:xxq1426321293)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天分享下  Oracle 19c 之 RPM 包安装初体验。 本文首发于微信公众号【JiekeXu之路】,欢迎点击上方蓝字关注我吧!

Oracle 自18c 开始,便已经提供Linux 环境单机的 rpm 安装方式,不过仅支持单实例安装,不支持集群,也只有企业版,其他版本的没有发布,不过有2.5 G 大小。



昨天在墨天轮数说里,看到恩墨盖总发的 Oracle 数据库的产品支持生命周期又有更新了。大概是说Oracle 19c 的支持期继续延展了,这样相当于有七年的支持时间,可以获得技术支持和补丁支持,是目前最值得安装的版本。12c、18c、20c 这些都是过渡版本,生命周期比较短暂。Oracle 20c 原计划今年 6 月发布但也尚未浮出水面,估计因为疫情的影响,Oracle 20c 今年极有可能不做正式发布了,随着 OOW 大会的临近,Oracle 21c 的信息即将会展示出来,敬请期待吧。



原文 Release Schedule of Current Database Releases (Doc ID 742060.1) 于 2020.6.16 日更新了,有账号的伙伴可以去查看。



安装检查过程


下面根据官方文档一起看看安装过程和检查步骤

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/index.html

 

首先操作系统版本要求 Oracle Linux7.4、RedHat 7.5 或者 SUSE Linux Enterprise Server12 SP3以上版本,我这里的版本是 RedHat 7.4 勉强可以凑合安装,Linux 6 已经不在支持范围内了。



检查磁盘空间,Linux 企业版需要至少 7.2 G 的空间



更多环境检查步骤请查看上文官方文档链接即可,下面来看看软件下载。


软件下载


在 Oracle 官网上便可以轻松下载如下软件包,你只需要注册一个账号即可,如果你没有账号,不知道怎么下载,没关系,我这里下载好了,公众号[ID:JiekeXu_IT]后台回复【19cRPM包下载】即可获得。

https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html


 

如果你的系统是Oracle Linux 平台,直接

yum -y installoracle-database-preinstall-19c

如果不是OracleLinux 平台,首先要下载对应平台的RPM,我这里用的是RedHat7.4,下载链接地址 https://oss.oracle.com/ol7/SRPMS-updates/  搜索 -19c 即可找到,下载最新的即可。也可使用如下地址 https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html



使用最新的即可,当然你也可以选择下载这里的 Oracle Linux 操作系统,注册Oracle 账号即可从如下网址下载软件。

https://edelivery.oracle.com/osdc/faces/SoftwareDelivery


检查基础环境配置



然后将软件包一起上传至服务器 /soft 目录。


[root@localhost soft]# lltotal 524244-rw-r--r-- 1 root root 271761408 Jun 1722:18 oracle-database-ee-19c-1.0-1.x86_64.rpm-rw-r--r-- 1 root root     19552 Jun 17 22:10oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm[root@localhost soft]#[root@localhost soft]# rpm -ivhoracle-database-preinstall-19c-1.0-2.el7.x86_64.rpmwarning:oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm: Header V3 RSA/SHA256Signature, key ID ec551f03: NOKEYerror: Failed dependencies:       bc is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       bind-utils is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       compat-libcap1 is needed byoracle-database-preinstall-19c-1.0-2.el7.x86_64       libaio-devel is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       libstdc++-devel is needed byoracle-database-preinstall-19c-1.0-2.el7.x86_64       nfs-utils is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       psmisc is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       smartmontools is needed byoracle-database-preinstall-19c-1.0-2.el7.x86_64       unzip is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       xorg-x11-utils is needed by oracle-database-preinstall-19c-1.0-2.el7.x86_64       xorg-x11-xauth is needed byoracle-database-preinstall-19c-1.0-2.el7.x86_64[root@localhost soft]#


 

如上使用 rpm 安装时需要很多依赖包,所以这里改用 yum 安装方式,首先配置 yum 源,我这里使用本地 yum 源的方式,将光盘传至本地 /media 目录下,新建配置 /etc/yum.repos.d/test.repo 文件如下,具体配置步骤就不用说了,前面有一篇文章专门介绍了可以点此查看[Linux 挂载光盘镜像配置本地 yum 源安装软件],大家可随意选择合适自己的安装方式即可。



第一步:preinstall 包安装


[root@localhost soft]# yum installoracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm -yLoaded plugins: product-id,search-disabled-repos, subscription-managerThis system is not registered with anentitlement server. You can use subscription-manager to register.Examiningoracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm:oracle-database-preinstall-19c-1.0-2.el7.x86_64Marking oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpmto be installedResolving Dependencies………………(省略安装信息)…………Installed: oracle-database-preinstall-19c.x86_64 0:1.0-2.el7                                                                                                              
Dependency Installed: bc.x86_64 0:1.06.95-13.el7 bind-libs.x86_64 32:9.9.4-50.el7 bind-utils.x86_64 32:9.9.4-50.el7 compat-libcap1.x86_64 0:1.10-7.el7 gssproxy.x86_64 0:0.7.0-4.el7 keyutils.x86_64 0:1.5.8-3.el7 libXinerama.x86_64 0:1.1.3-2.1.el7 libXmu.x86_64 0:1.1.2-2.el7 libXrandr.x86_64 0:1.5.1-2.el7 libXt.x86_64 0:1.1.5-3.el7 libXv.x86_64 0:1.0.11-1.el7 libXxf86dga.x86_64 0:1.1.4-2.1.el7 libXxf86misc.x86_64 0:1.0.3-7.1.el7 libaio-devel.x86_64 0:0.3.109-13.el7 libbasicobjects.x86_64 0:0.1.1-27.el7 libcollection.x86_64 0:0.6.2-27.el7 libdmx.x86_64 0:1.1.3-3.el7 libevent.x86_64 0:2.0.21-4.el7 libini_config.x86_64 0:1.3.0-27.el7 libnfsidmap.x86_64 0:0.25-17.el7 libpath_utils.x86_64 0:0.2.1-27.el7 libref_array.x86_64 0:0.1.5-27.el7 libstdc++-devel.x86_64 0:4.8.5-16.el7 libtirpc.x86_64 0:0.2.4-0.10.el7 libverto-libevent.x86_64 0:0.2.5-4.el7 mailx.x86_64 0:12.5-16.el7 nfs-utils.x86_64 1:1.3.0-0.48.el7 psmisc.x86_64 0:22.20-15.el7 quota.x86_64 1:4.01-14.el7 quota-nls.noarch 1:4.01-14.el7 rpcbind.x86_64 0:0.2.0-42.el7 smartmontools.x86_64 1:6.2-8.el7 tcp_wrappers.x86_64 0:7.6-77.el7 unzip.x86_64 0:6.0-16.el7 xorg-x11-utils.x86_640:7.5-22.el7 xorg-x11-xauth.x86_641:1.0.9-1.el7
Complete!



安装 19c 数据库软件


然后直接使用 yum 命令安装 19c 数据库软件

 

第二步:database 软件安装

[root@localhost soft]# yum installoracle-database-ee-19c-1.0-1.x86_64.rpmLoaded plugins: product-id, search-disabled-repos,subscription-managerThis system is not registered with anentitlement server. You can use subscription-manager to register.Examiningoracle-database-ee-19c-1.0-1.x86_64.rpm: oracle-database-ee-19c-1.0-1.x86_64Marking oracle-database-ee-19c-1.0-1.x86_64.rpmto be installedResolving Dependencies--> Running transaction check---> Packageoracle-database-ee-19c.x86_64 0:1.0-1 will be installed--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================================================== Package Arch Version Repository Size==================================================================================================================================================================Installing: oracle-database-ee-19c x86_64 1.0-1 /oracle-database-ee-19c-1.0-1.x86_64 6.9 G
Transaction Summary==================================================================================================================================================================Install 1 Package
Totalsize: 6.9 GInstalledsize: 6.9 GIs this ok [y/d/N]: yDownloading packages:Running transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : oracle-database-ee-19c-1.0-1.x86_64 1/1[INFO] Executing post installationscripts...[INFO] Oracle home installed successfully andready to be configured.To configure a sample Oracle Database youcan execute the following service configuration script as root:/etc/init.d/oracledb_ORCLCDB-19c configure Verifying :oracle-database-ee-19c-1.0-1.x86_64 1/1
Installed: oracle-database-ee-19c.x86_64 0:1.0-1
Complete!


 

[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-19c configure

如上信息,执行完脚本 Oracle home 配置安装完成,发现 oracle 用户也创建成功了, 然后便使用 /etc/init.d/oracledb_ORCLCDB-19c 文件可以配置一个模板数据库。那么我们看一下这个文件内容都有啥?



首先看到提示 RedHat or SuSE 需要配置 /etc/sysconfig/oracledb_ORCLCDB-19c,继续看一下这个文件内容呢?

 

[root@localhost opt]# more/etc/sysconfig/oracledb_ORCLCDB-19c.conf#This is a configuration file to setup theOracle Database.#It is used when running'/etc/init.d/oracledb_ORCLCDB configure'.#Please use this file to modify the defaultlistener port and the#Oracle data location.
# LISTENER_PORT: Database listenerLISTENER_PORT=1521
# ORACLE_DATA_LOCATION: Database oradatalocationORACLE_DATA_LOCATION=/opt/oracle/oradata
# EM_EXPRESS_PORT: Oracle EM ExpresslistenerEM_EXPRESS_PORT=5500

 

可以看到这个文件就是配置监听端口、EM 端口号以及数据文件位置,默认为 /opt/oracle/oradata可按照自己机器实际情况修改,我这里将其修改为 /u01/app/oracle/oradata,然后建立目录赋权,如果上图中的实例名、数据库名均不需要改动的话,直接按照提示使用root 运行以下命令

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

配置实例即可,约 10 分钟左右即可完成。

 

[root@localhost soft]# mkdir -p /u01/app/oracle/oradata[root@localhost soft]# chown -Roracle:oinstall /u01/app/oracle/oradata[root@localhost soft]# chmod -R 775 /u01/app/oracle/oradata

 

 

我这里在折腾一下修改数据库名和实例名试试,简单的将其 CDB 名修改为 JiekeCDB, PDB 名字修改为 JiekePDB,其他不做改变,如下所示:

 

[root@localhost soft]# cp /etc/init.d/oracledb_ORCLCDB-19cdb_ORCLCDB-19c_bak[root@localhost init.d]# ll oracle*-rwx------ 1 root root  1281 Mar 12 02:22oracle-database-preinstall-19c-firstboot-rwxr-xr-x 1 root root 10017 Apr 18  2019 oracledb_ORCLCDB-19c-rwxr-xr-x 1 root root 10017 Jun 18 00:43oracledb_ORCLCDB-19c_bak[root@localhostinit.d]# mv /etc/init.d/oracledb_ORCLCDB-19c /etc/init.d/oracledb_JiekeCDB-19c[root@localhostinit.d]# vi /etc/init.d/oracledb_JiekeCDB-19c



配置数据库

 

注意:这里修改了 SID 导致找不到 /etc/sysconfig/下的配置文件,那么需要修改或配置对应的文件名 oracledb_JiekeCDB-19c.conf。然后配置数据库,查看这个脚本文件 oracledb_JiekeCDB-19c 中间部分,其实就是静默创建实例,需要耐心等待10 分钟左右。

 


[root@localhost init.d]#/etc/init.d/oracledb_JiekeCDB-19c configureThe Oracle Database is not configured.Unable to read the configuration file'/etc/sysconfig/oracledb_JiekeCDB-19c.conf'[root@localhost init.d]#[root@localhost init.d]# cp /etc/sysconfig/oracledb_ORCLCDB-19c.conf /etc/sysconfig/oracledb_JiekeCDB-19c.conf [root@localhost init.d]#/etc/init.d/oracledb_JiekeCDB-19c configureConfiguring Oracle Database JiekeCDB.Prepare for db operation8% completeCopying database files31% completeCreating and starting Oracle instance32% complete36% complete40% complete43% complete46% completeCompleting Database Creation51% complete54% completeCreating Pluggable Databases58% complete77% completeExecuting Post Configuration Actions100% completeDatabase creation complete. For detailscheck the logfiles at: /opt/oracle/cfgtoollogs/dbca/JiekeCDB.Database Information:Global Database Name:JiekeCDBSystem Identifier(SID):JiekeCDBLook at the log file"/opt/oracle/cfgtoollogs/dbca/JiekeCDB/JiekeCDB.log" for furtherdetails. Database configuration completedsuccessfully. The passwords were auto generated, you must change them byconnecting to the database using 'sqlplus / as sysdba' as the oracle user.



使用 oracle 用户登陆数据库,需要简单配置环境变量!

 

export ORACLE_BASE=/u01/app/oracle/oradataexportORACLE_HOME=/opt/oracle/product/19c/dbhome_1export ORACLE_SID=JiekeCDBexportPATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

 

连接和简单应用


[oracle@localhost ~]$ source .bashrc[oracle@localhost ~]$ echo $ORACLE_SIDJiekeCDB[oracle@localhost ~]$ echo $ORACLE_HOME/opt/oracle/product/19c/dbhome_1[oracle@localhost ~]$ echo $ORACLE_BASE/u01/app/oracle/oradata[oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Productionon Thu Jun 18 14:58:53 2020Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle.  All rights reserved.  Connected to:Oracle Database 19c Enterprise EditionRelease 19.0.0.0.0 - ProductionVersion 19.3.0.0.0 SQL>SQL> select inst_id,INSTANCE_NAME,statusfrom gv$instance;   INST_ID INSTANCE_NAME    STATUS---------- ---------------- ------------        1 JiekeCDB         OPENSQL> show pdbs    CON_ID CON_NAME                      OPEN MODE  RESTRICTED---------- ---------------------------------------- ----------        2 PDB$SEED                      READ ONLY  NO        3 JIEKEPDB                      READ WRITE NOSQL> show con_id CON_ID------------------------------1SQL>SQL> alter session setcontainer=JIEKEPDB;   --切换到PDB Session altered. SQL> show pdbs    CON_ID CON_NAME                      OPEN MODE  RESTRICTED---------- ---------------------------------------- ----------        3 JIEKEPDB                      READ WRITE NOSQL> sho con_id CON_ID------------------------------3


  

配置 glogin 文件以及 TNS 修改 sys/system密码直接连接到 PDB。

 

SYS@JiekeCDB>SYS@JiekeCDB> alter user sys identifiedby oracle; User altered. SYS@JiekeCDB> alter user systemidentified by oracle; User altered. SYS@JiekeCDB> quit[oracle@localhost JIEKECDB]$ sqlplussys/oracle@JIEKEPDB as sysdba SQL*Plus: Release 19.0.0.0.0 - Productionon Thu Jun 18 21:25:49 2020Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle.  All rights reserved. Connected to:Oracle Database 19c Enterprise EditionRelease 19.0.0.0.0 - ProductionVersion 19.3.0.0.0SYS@JIEKEPDB> show pdbs    CON_ID CON_NAME                      OPEN MODE  RESTRICTED---------- ---------------------------------------- ----------        3 JIEKEPDB                      READ WRITE NOSYS@JIEKEPDB> select name from v$datafile; NAME------------------------------------------------------------------------------------------------------------------------/u01/app/oracle/oradata/JIEKECDB/JiekePDB/system01.dbf/u01/app/oracle/oradata/JIEKECDB/JiekePDB/sysaux01.dbf/u01/app/oracle/oradata/JIEKECDB/JiekePDB/undotbs01.dbf/u01/app/oracle/oradata/JIEKECDB/JiekePDB/users01.dbf SYS@JIEKEPDB>

 

其他应用及配置可参考以前一篇 12c 相关的文章[Oracle 12CR2 安装配置与基础学习],这里就不多说了,怎么样?RPM 包安装还是很方便吧,不用图形化、配置监听等,简单多了,和19c 倡导自治数据库不谋而和,基本上实现了一键安装.


参考链接

https://www.eygle.com/archives/2018/10/oracle_18c_orclcdb_install.html

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/operating-system-checklist-for-oracle-database-installation-on-linux.html#GUID-E5C0A90E-7750-45D9-A8BC-C7319ED934F0


好了,先告一段落吧,写作不易,此文如果对你有帮助,请支持点“在看”与转发,您的支持便是我不断写作的最大的动力,让我们一起努力做更好的自己!




三万字打造 91 道 MySQL 面试题【建议收藏】

Oracle 软件包及补丁包免费下载及简单说明

Oracle ASM 磁盘组基础知识整理(收藏版)

Oracle 12C 最新补丁下载与安装操作指北

关于 Oracle ACFS 相关知识的简单学习

Oracle 12CR2 安装配置与基础学习

Windows 环境下安装 Oracle 19C


点亮在看,你最好看!

本文分享自微信公众号 - JiekeXu之路(JiekeXu_IT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!