暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19c中获取当前数据库的版本

godba 2021-02-10
2449
上边蓝字关注我们

查看版本是运维基本要素,本文用不同方式演示查看版本得方法,仅供dba们参考。

1、sqlplus命令行方式

sqlplus 命令行工具能以最直接的方式获取数据库版本信息

    [oracle@db19do01 ~]$ sqlplus  as sysdba

    SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 10 20:10:35 2021

    Version 19.3.0.0.0

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

    Connected to:

    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

    Version 19.3.0.0.0

    2、查询v$version视图

    这个视图提供了数据库的标志,并根据数据库版本提供了一些关于核心数据库组件的附加信息,可以在数据库处于NOMOUNT状态时使用。从18c开始,添加了列BANNER_FULL,并包含多行字符串,其中还包括发布更新版本号。

      SQL> select BANNER from v$version;

      BANNER
      -------------------------------------------------------------------------------
      Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

      SQL> SELECT banner_full FROM v$version;
      BANNER_FULL
      -------------------------------------------------------------------------------
      Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

      Version 19.3.0.0.0

      SQL> SELECT version, version_legacy, version_full FROM v$instance;

      VERSION              VERSION_LEGACY    VERSION_FULL
      -------------------- ----------------- --------------------
      19.0.0.0.0 19.0.0.0.0 19.3.0.0.0

      SQL> SELECT banner_full FROM v$version;

      BANNER_FULL
      --------------------------------------------------------------------------------
      Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

      Version 19.3.0.0.0

      2、查询PRODUCT_COMPONENT_VERSION

      从18c开始,VERSION_FULL显示包含已安装版本更新的版本。

        SELECT version, version_full FROM product_component_version;
        SQL> col version for a20
        SQL> col version_full for a20
        SQL> SELECT version, version_full FROM product_component_version;
        VERSION VERSION_FULL
        -------------------- --------------------
        19.0.0.0.0           19.3.0.0.0

        3、查询v$instance视图

          SQL> SELECT version, version_legacy, version_full FROM v$instance;

          VERSION              VERSION_LEGACY    VERSION_FULL
          -------------------- ----------------- --------------------
          19.0.0.0.0                 19.0.0.0.0        19.3.0.0.0

          nomount状态下:

          SQL> SELECT version, version_legacy, version_full FROM v$instance;

          VERSION              VERSION_LEGACY    VERSION_FULL
          -------------------- ----------------- --------------------
          19.0.0.0.0 19.0.0.0.0 19.3.0.0.0

          4、查询dba_registry和cba_registry

            SQL> SELECT version, version_full FROM dba_registry

            WHERE comp_id = 'CATALOG';

            VERSION              VERSION_FULL
            -------------------- --------------------
            19.0.0.0.0           19.3.0.0.0

            SQL> SELECT version, version_full,CON_ID FROM cdb_registry

              2  WHERE comp_id = 'CATALOG';
            VERSION              VERSION_FULL             CON_ID
            -------------------- -------------------- ----------
            19.0.0.0.0           19.3.0.0.0                    1
            19.0.0.0.0 19.3.0.0.0 3

            SQL> show pdbs

                CON_ID CON_NAME                       OPEN MODE  RESTRICTED
            ---------- ------------------------------ ---------- ----------
                     2 PDB$SEED                       READ ONLY  NO
                     3 XFPDB                          READ WRITE NO

            5、通过调用PL/SQL 方法

            5.1 DBMS_DB_VERSION

            这个包没有过程或函数,但是提供了获取版本和发布号的常量。常量只能在PL/SQL块中使用。用这个包是不可能得到补丁集或发布更新版本号。

              SQL> SET SERVEROUTPUT ON

              SQL> EXEC DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION || '.' || DBMS_DB_VERSION.RELEASE);

               19.0

              5.2 DBMS_UTILITY

              在PL/SQL块过程中,DB_VERSION可以用于提取当前数据库版本和当前设置的兼容版本。

                SQL> SET SERVEROUTPUT ON

                SQL> DECLARE

                v_version VARCHAR2(50);

                v_compatibility VARCHAR2(50);

                BEGIN

                DBMS_UTILITY.DB_VERSION (

                version => v_version,

                compatibility => v_compatibility

                );



                DBMS_OUTPUT.PUT_LINE('Version: ' || v_version);

                DBMS_OUTPUT.PUT_LINE('Compatibility: ' || v_compatibility);

                END;

                / 2 3 4 5 6 7 8 9 10 11 12 13

                Version: 19.0.0.0.0

                Compatibility: 19.0.0

                PL/SQL procedure successfully completed.


                附件:

                文章转载自godba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论