Мне предлагают (каким-то фреймворком) запускать команды в sqlplus, но сам не запускаю. Я хотел бы знать версию этого sqlplus.
Как узнать версию sqlplus изнутри sqlplus
Ответы (3)
В SQL*Plus есть некоторые предопределенные подстановочные переменные:
SQL> define
DEFINE _DATE = "23-NOV-13" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "" (CHAR)
DEFINE _USER = "" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR)
DEFINE _EDITOR = "Notepad" (CHAR)
Обратите внимание на файл _SQLPLUS_RELEASE. Вы ссылаетесь на это в SQLPLUS.
Например, вы можете сделать что-то вроде:
sqlplus -S /nolog<<EOF
prompt &_SQLPLUS_RELEASE
quit
EOF
Я не думаю, что вы можете с фактическим запросом. Вы можете получить его следующим образом:
SELECT
PROGRAM, MODULE
from v$session s
order by s.sid;
Столбец «Модуль» может содержать номер версии, а может и нет. Это зависит от программы. Если память не изменяет, sqlplus этого не дает. Например, TOAD выдает «TOAD Freeware 11.0.0.116».
Вы также можете просто подключиться к sqlplus через командную строку. В LINUX вы можете сделать следующее:
[orafresh@ljsrv1123 ~]$ sqlplus / as sysdba
Что вернет:
SQL * Plus: выпуск 11.1.0.7.0 — производство, пятница, 14 июля, 12:47:36 2017 г.
Авторское право (с) 1982, 2008, Oracle. Все права защищены.
Подключено к: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 — 64-битная производственная версия с опциями Partitioning, OLAP, Data Mining и Real Application Testing.