V$INSTANCEビューとSYS_IDENTIFIER()関数を使った、SQLによるOracleデータベースのバージョン確認方法
SQLを使用してデータベースがOracleであることとバージョンを確認する方法
方法1:SELECTを使用してPRODUCT_NAMEとVERSIONを取得
SELECT PRODUCT_NAME, VERSION
FROM V$INSTANCE;
このクエリは、V$INSTANCE
ビューからPRODUCT_NAME
とVERSION
列を取得します。PRODUCT_NAME
はデータベース製品の名前(例:Oracle Database)、VERSION
は使用されているバージョンの番号(例:19c)を示します。
方法2:SYS_IDENTIFIER()関数を使用
SELECT SYS_IDENTIFIER();
SYS_IDENTIFIER()
関数は、データベースに関する情報を文字列として返します。この文字列には、データベース製品名、バージョン、プラットフォーム情報などが含まれます。
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
PL/SQL Release 19.0.0.0.0 - Production
"CORE 19.0.0.0.0 Production"
TNS for Linux: Version 19.0.0.0.0 - Production
NLSRTL Version 19.0.0.0.0 - Production
上記以外にも、データベースがOracleであるかどうかを確認するには、以下の方法があります。
- コマンドプロンプトまたはターミナルで
sqlplus
コマンドを実行し、データベースに接続する - Oracle Database Controlを使用してデータベースを確認する
SQLを使用してデータベースがOracleであるかどうかを確認するには、SELECT
を使用してV$INSTANCE
ビューからPRODUCT_NAME
とVERSION
列を取得する方法、またはSYS_IDENTIFIER()
関数を使用する方法があります。
これらの方法は、データベースに接続できるユーザーであれば誰でも使用できます。
-- サンプルコード
-- データベースに接続
SET SERVEROUTPUT ON;
CONNECT scott/tiger@orclpdb;
-- V$INSTANCEビューからPRODUCT_NAMEとVERSIONを取得
SELECT PRODUCT_NAME, VERSION
FROM V$INSTANCE;
-- 結果を出力
DBMS_OUTPUT.PUT_LINE('データベース名: ' || PRODUCT_NAME);
DBMS_OUTPUT.PUT_LINE('バージョン: ' || VERSION);
-- データベースから切断
DISCONNECT;
このコードを実行すると、次のような出力が得られます。
データベース名: Oracle Database
バージョン: 19c
補足
上記のサンプルコードは、Oracle Database 19cで動作確認しています。他のバージョンを使用する場合は、必要に応じてコードを変更してください。
また、scott/tiger@orclpdb
の部分は、ご自身の環境に合わせて変更してください。
データベースがOracleであるかどうかを確認する他の方法
コマンドプロンプトまたはターミナルでsqlplus
コマンドを実行し、データベースに接続することができます。接続に成功すれば、データベースはOracleであることが分かります。
例:コマンドプロンプトでのsqlplusコマンドの実行
C:\>sqlplus scott/tiger@orclpdb
SQL*Plus: Release 19.0.0.0.0 - Production
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
SQL>
Oracle Database Controlは、Oracleデータベースを管理するためのWebベースのツールです。Oracle Database Controlにログインできれば、データベースがOracleであることが分かります。
ファイルシステムを確認する
Oracleデータベースは、通常、ORACLE_HOME
ディレクトリにインストールされます。ORACLE_HOME
ディレクトリが存在すれば、データベースはOracleである可能性があります。
プロセスを確認する
Oracleデータベースは、通常、oracle.exe
などのプロセスを実行します。これらのプロセスが存在すれば、データベースはOracleである可能性があります。
データベースがOracleであるかどうかを確認するには、さまざまな方法があります。上記の方法の中から、ご自身の環境に合った方法を選択してください。
sql oracle