簡體   English   中英

查詢獲取Oracle DB版本

[英]Query to get Oracle DB version

全部,

我正在尋找一種將 Oracle 數據庫服務器版本設為“XYZ”的方法。

我可以使用此處的查詢,但它會顯示一個版本,而不僅僅是服務器。

我可以使用v$version視圖,但生成的字符串將不僅僅包含“XYZ”。

有沒有一種簡單的方法可以得到我想要的?

蒂亞!!

為什么不只查詢 v$instance?

SQL> select version from v$instance;

VERSION
-----------------
12.2.0.1.0

無需亂用 pl/sql 或調用過程。

SQL

SELECT version FROM PRODUCT_COMPONENT_VERSION
 WHERE product LIKE 'Oracle Database%';

結果:

VERSION
----------
18.0.0.0.0

18c/19c: VERSION_FULL還顯示已安裝的發布更新

查看 V$INSTANCE(需要 SYS.V_$INSTANCE 上的 SELECT 權限):

SELECT version FROM v$instance;

DBA_REGISTRY(需要 SYS.DBA_REGISTRY 上的 SELECT 特權):

顯示每個已安裝組件的版本。

SELECT * FROM dba_registry 
 WHERE comp_id = 'CATALOG';

PL/SQL

DECLARE
   l_version       VARCHAR2(20);
   l_compatibility VARCHAR2(20);
BEGIN
   DBMS_UTILITY.DB_VERSION(l_version, l_compatibility);
   DBMS_OUTPUT.PUT_LINE(l_version);
END;
/

結果:

18.0.0.0.0

還是更短:

BEGIN
   DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION|| '.' || DBMS_DB_VERSION.RELEASE);
END;
/

結果:

18.0

SELECT * FROM v$version WHERE Banner LIKE 'Oracle%';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM