SQL
SELECT version FROM PRODUCT_COMPONENT_VERSION
WHERE product LIKE 'Oracle Database%';
Result:
VERSION
----------
18.0.0.0.0
18c/19c: VERSION_FULL also shows the installed release update
View V$INSTANCE (Requires SELECT privilege on SYS.V_$INSTANCE):
SELECT version FROM v$instance;
DBA_REGISTRY (Requires SELECT privilege on SYS.DBA_REGISTRY):
Shows the version for each installed component.
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;
/
Result:
18.0.0.0.0
Still shorter:
BEGIN
DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION|| '.' || DBMS_DB_VERSION.RELEASE);
END;
/
Result:
18.0