
查看版本是运维基本要素,本文用不同方式演示查看版本得方法,仅供dba们参考。
1、sqlplus命令行方式
sqlplus 命令行工具能以最直接的方式获取数据库版本信息
[oracle@db19do01 ~]$ sqlplus as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 10 20:10:35 2021Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 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 - ProductionSQL> SELECT banner_full FROM v$version;BANNER_FULL-------------------------------------------------------------------------------Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0SQL> 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.0SQL> SELECT banner_full FROM v$version;BANNER_FULL--------------------------------------------------------------------------------Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0
2、查询PRODUCT_COMPONENT_VERSION
从18c开始,VERSION_FULL显示包含已安装版本更新的版本。
SELECT version, version_full FROM product_component_version;SQL> col version for a20SQL> col version_full for a20SQL> 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.0nomount状态下: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_registryWHERE comp_id = 'CATALOG';VERSION VERSION_FULL-------------------- --------------------19.0.0.0.0 19.3.0.0.0SQL> SELECT version, version_full,CON_ID FROM cdb_registry2 WHERE comp_id = 'CATALOG';VERSION VERSION_FULL CON_ID-------------------- -------------------- ----------19.0.0.0.0 19.3.0.0.0 119.0.0.0.0 19.3.0.0.0 3SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 XFPDB READ WRITE NO
5、通过调用PL/SQL 方法
5.1 DBMS_DB_VERSION
这个包没有过程或函数,但是提供了获取版本和发布号的常量。常量只能在PL/SQL块中使用。用这个包是不可能得到补丁集或发布更新版本号。
SQL> SET SERVEROUTPUT ONSQL> 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 ONSQL> DECLAREv_version VARCHAR2(50);v_compatibility VARCHAR2(50);BEGINDBMS_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 13Version: 19.0.0.0.0Compatibility: 19.0.0PL/SQL procedure successfully completed.
附件:

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





