Oracle 21C 使用rpm安装

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 使用Oracle的rpm安装包安装oracle21C

     在数据库软件的安装中,Oracle数据库的安装是比较复杂的,尤其是在linux和unix操作系统上安装oracle数据库,涉及到很多步骤,交互式安装要配置xmanager连接,静默安装需要熟悉Oracle的原理、安装配置的步骤及响应文件,稍有不慎就会出错。

      在oracle安装的过程中,最容易发生的错误就是安装过程中图形界面弹不出来,还有一个最容易忽视的地方就是hostname为默认设置,配置在ip loopback端口上,导致dbca和netca运行过程中报错导致安装终止,这个问题在交互式图形安装和静默安装下都存在。

      因此, 在安装Oracle数据库时,尤其时第一次安装时,一定要仔细阅读oracle公司的相应操作系统安装文档,就是有安装经验的也要十分小心,否则,无意中搞错了容易忽视的细节,就会安装失败。

     现在,这种情况得到了改善,oracle公司提供了rpm安装包,在很大程度上简化了数据库的安装,降低了数据库的安装门槛,避免了对xmanager图形管理系统的依赖。本文以oracle 21c的安装为例,在centos 8上使用rpm进行数据库的安装。

     oracle提供了两个rpm包,

     oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

     oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm

     使用这两个包,可以很容易完成数据库安装,这两个包都可以从oracle官网下载,下载是要注意操作系统的架构、版本。

1 安装预安装包

   安装Oracle数据库的需要安装的第一个包时preinstall包,可以运行rpm命令直接安装。

[root@iZ2ze0t8khaprrpfvmevjiZ ~]# rpm -ivh oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

     warning: oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY

     error: Failed dependencies:

             compat-openssl10 is needed by oracle-database-preinstall-21c-1.0-1.el8.x86_64

             ksh is needed by oracle-database-preinstall-21c-1.0-1.el8.x86_64

             libnsl is needed by oracle-database-preinstall-21c-1.0-1.el8.x86_64

             nfs-utils is needed by oracle-database-preinstall-21c-1.0-1.el8.x86_64

             xorg-x11-utils is needed by oracle-database-preinstall-21c-1.0-1.el8.x86_64

             xorg-x11-xauth is needed by oracle-database-preinstall-21c-1.0-1.el8.x86_64

      这里报错的原因是这个preinstall包依赖的包没有安装,造成依赖检查失败,解决的办法也简单,把它需要的安装包安装一下就可以了。我这里用的服务器是阿里云的ECS,安装操作系统时已经配置好了yam源,直接用yam软件安装上面提示的包。

[root@iZ2ze0t8khaprrpfvmevjiZ ~]# yum install compat-openssl10

     Installed:

       compat-openssl10-1:1.0.2o-3.el8.x86_64

     Complete!

[root@iZ2ze0t8khaprrpfvmevjiZ ~]# yum install compat-openssl10  ksh libnsl nfs-utils xorg-x11-utils xorg-x11-xauth

     Installed:

       gssproxy-0.8.0-19.el8.x86_64         keyutils-1.5.10-9.el8.x86_64            ksh-20120801-254.el8.x86_64

       libICE-1.0.9-15.el8.x86_64           libSM-1.2.3-1.el8.x86_64                libX11-xcb-1.6.8-5.el8.x86_64

       libXcomposite-0.4.4-14.el8.x86_64    libXi-1.7.10-1.el8.x86_64               libXinerama-1.1.4-1.el8.x86_64

       libXmu-1.1.3-1.el8.x86_64            libXrandr-1.5.2-1.el8.x86_64            libXt-1.1.5-12.el8.x86_64

       libXtst-1.2.3-7.el8.x86_64           libXv-1.0.11-7.el8.x86_64               libXxf86dga-1.1.5-1.el8.x86_64

       libXxf86misc-1.0.4-1.el8.x86_64      libXxf86vm-1.1.4-9.el8.x86_64           libdmx-1.1.4-3.el8.x86_64

       libnsl-2.28-164.el8.x86_64           libverto-libevent-0.3.0-5.el8.x86_64    nfs-utils-1:2.3.3-46.el8.x86_64

       rpcbind-1.2.5-8.el8.x86_64           xorg-x11-utils-7.5-28.el8.x86_64        xorg-x11-xauth-1:1.0.9-12.el8.x86_64

     Complete!

      从命令的输出可以看到,上面提示的缺失的包已经安装成功。解决了依赖问题后,重新安装上面的preinstall包。

[root@iZ2ze0t8khaprrpfvmevjiZ ~]# rpm -ivh oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

     warning: oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY

     Verifying...                          ################################# [100%]

     Preparing...                          ################################# [100%]

     Updating / installing...

        1:oracle-database-preinstall-21c-1.################################# [100%]

      preinstall包安装成功。

2 安装oracle21C企业版

      包名字里面ee的意思是企业版。

    [root@iZ2ze0t8khaprrpfvmevjiZ ~]# rpm -ivh oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm

        warning: oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY

        Verifying...                          ################################# [100%]

        Preparing...                          ################################# [100%]

        Updating / installing...

           1:oracle-database-ee-21c-1.0-1     ################################# [100%]

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

    根据上面的信息,在oracle包安装完成后,还运行了post installation 脚本,脚本运行完后,提示安装成功,可以配置数据库了。

3 配置数据库

     根据上面的安装提示,运行 /etc/init.d/oracledb_ORCLCDB-21c configure命令可以创建一个示例数据库,这个命令以root的身份运行。

[root@iZ2ze0t8khaprrpfvmevjiZ ~]# /etc/init.d/oracledb_ORCLCDB-21c configure

        Configuring Oracle Database ORCLCDB.

        Prepare for db operation

        8% complete

        Copying database files

        31% complete

        Creating and starting Oracle instance

        32% complete

        36% complete

        40% complete

        43% complete

        46% complete

        Completing Database Creation

        51% complete

        安装过程中,在这个点停了很长时间,一度以为安装服务器死机了,查看ECS控制台,监控显示的结果如下:

屏幕截图(1119).png

     CPU的利用率并不高,云盘读写的100多兆,云盘的iops倒不是很高,从上面这个图来看,这个云盘读写100多兆显示为一条直线,长时间没有什么变化,重新打开一个终端会话,连接至这台ECS,用iostat查看,读流量和写流量并不是一直不变,而是一直都有变化,方才确认这台服务器没有死机。看来,ECS的监控还是有问题的,它的采样周期较长,短期的变化看不出来,如果只依据ECS的监控结果来判断,会得到错误的结论,看来,判断系统是否故障时,还需要使用多个工具,多种技术手段,综合多方面的信息审慎的进行判断,才不会得出错误的结论。

        54% complete

        Creating Pluggable Databases

        58% complete

        77% complete

        Executing Post Configuration Actions

        100% complete

        Database creation complete. For details check the logfiles at:

         /opt/oracle/cfgtoollogs/dbca/ORCLCDB.

        Database Information:

        Global Database Name:ORCLCDB

        System Identifier(SID):ORCLCDB

        Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.

        Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user.

      数据库配置成功完成,密码自动产生,需要登录数据库设置成自己想要的密码,命令也输出了数据库信息:

      全局数据库名称和实例标识符都是ORCLCDB。

4 登录数据库

   登录配置好的数据库,需要切换到oracle用户下,登录前需要设置几个环境变量

     export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1

export ORACLE_SID=ORCLCDB

export CHARSET=AL32UTF8

export PATH=$PATH:$ORACLE_HOME/bin

  可以手动运行上面的命令,也可以将上面的命令加到oracle用户家目录的.bash_profile文件中,这样每次登录用户会自动设置这几个环境变量。

运行sqlplus命令就可以登录到数据库。

[oracle@iZ2ze0t8khaprrpfvmevjiZ ~]$sqlplus / as sysdba

oracle 21C 不再支持非可插拔数据库,只支持可插拔容器数据库,配置数据库时自动创建了一个容器数据库和一个可插拔数据库。使用上面sqlplus命令登录的是容器数据库,使用下面命令切换到可插拔数据库。  

 SQL> alter session set container=ORCLPDB1;

       Session altered.

也可以切换会容器数据库,容器数据库的名字为cdb$root

 SQL> alter session set container=cdb$root;

       Session altered.

用show命令可以查看当前的容器名

SQL> show con_name;

       CON_NAME

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

       CDB$ROOT

配置完的数据库第一次启动时可插拔的数据库是打开的,处于open状态,如果重启了数据库实例,只有容器数据库是打开的,可插拔数据库则处于mount状态,使用下面命令可以打开可插拔数据库。

SQL> alter pluggable database open;

     Pluggable database altered.

如果要直接登录可插拔数据库,oracle已经为我们创建了一个服务,oracle的监听器也对创建的服务进行监听。假设我们在可插拔数据库orclpdb1 上已经创建了名为test,密码为test123的用户,使用下面命令可以直接登录到可插拔数据库orclpdb1,后面的操作就和非可插拔数据库没什么区别了。

 [oracle@iZ2ze0t8khaprrpfvmevjiZ ~]$ sqlplus test/test123@iZ2ze0t8khaprrpfvmevjiZ/orclpdb1

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL Oracle 关系型数据库
Win10下安装Oracle 18c
Win10下安装Oracle 18c
|
1月前
|
Oracle 关系型数据库 数据库
如何利用 Docker 安装 Oracle 数据库
【2月更文挑战第14天】
94 0
|
4月前
|
Oracle 关系型数据库 数据库
docker下安装oracle11g(一次安装成功)
docker下安装oracle11g(一次安装成功)
92 0
|
1月前
|
存储 Oracle 关系型数据库
手把手教你安装Oracle——以oracle 11g为例
手把手教你安装Oracle——以oracle 11g为例
手把手教你安装Oracle——以oracle 11g为例
|
2月前
|
Oracle 关系型数据库 数据安全/隐私保护
Docker安装oracle11g
Docker安装oracle11g步骤
|
2月前
|
Oracle 关系型数据库
oracle rac 手工安装补丁,不适用auto
oracle rac 手工安装补丁,不适用auto
25 3
|
3月前
|
Oracle 关系型数据库 Linux
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
63 1
|
4月前
|
SQL Oracle 关系型数据库
docker 方式安装ORACLE 11g
docker 方式安装ORACLE 11g
199 4
|
4月前
|
SQL Oracle 网络协议
小白也能学会的《Oracle数据库的安装与基本配置》
小白也能学会的《Oracle数据库的安装与基本配置》
59 1
|
4月前
|
Oracle 关系型数据库 MySQL
php7.2安装OCI8扩展支持oracle数据库
做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到oracle数据库中的这张中间表去查询的。 PHP连接oracle数据库。需要用到OCI8的扩展。说来惭愧,工作这么多年,还没有正经的使用过oracle数据库。 mysql数据库的语法跟oracle数据库的语法是不一样的,别跟我似的上来就用mysql的语法来操作oracle数据库……有点丢人了…… 今天我们大概记录一下OCI8扩展的安装过程。
57 0