Как узнать версию sqlplus изнутри sqlplus - PullRequest
1 голос
/ 26 января 2012

Мне предлагают (в некоторых рамках) запускать команды в sqlplus, но я не запускаю его сам. Я хотел бы знать версию этого запущенного sqlplus.

Ответы [ 3 ]

4 голосов
/ 23 ноября 2013

В 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
0 голосов
/ 14 июля 2017

Вы также можете просто подключиться к sqlplus через командную линию.В LINUX вы можете делать следующее: [orafresh @ ljsrv1123 ~] $ sqlplus / as sysdba

SQL * Plus: выпуск 11.1.0.7.0 - производство в пт 14 июля, 12:47:36 2017

Copyright (c) 1982, 2008, Oracle.Все права защищены.

Соединено с: Oracle Database 11g Enterprise Edition, выпуск 11.1.0.7.0 - 64-битное производство с опциями Секционирование, OLAP, Data Mining и Real Application Testing

SQL>

Надеюсь, это поможет,

0 голосов
/ 26 января 2012

Я не думаю, что вы можете с реальным запросом. Вы можете быть в состоянии получить это с помощью:

SELECT
  PROGRAM, MODULE
from    v$session s
order by s.sid;

Столбец Модуль может содержать номер версии, а может и нет. Это зависит от программы. Если память работает правильно, sqlplus не дает этого. Например, TOAD дает "TOAD Freeware 11.0.0.116"

...