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

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

godba 2021-04-21
553
上边蓝字关注我们

查看版本是运维基本要素,本文用不同方式演示查看版本得方法,仅供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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论