2012-01-26 4 views

ответ

3

Within 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 
+1

Спасибо, это работает! – Gnurfos

0

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

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

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

+0

Проблема с этой идеей заключается в том, что я далек от единственного пользователя, подключенного к этой базе данных, поэтому поиск моих сеансов будет затруднен. – Gnurfos

0

Вы также можете просто подключить к Sqlplus через COMMANDE линии. В LINUX Вы можете сделать следующее: [orafresh @ ljsrv1123 ~] $ SQLPLUS/AS SYSDBA

SQL * Plus: Release 11.1.0.7.0 - Производство в Пт Июл 14 12:47:36 2017

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

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

SQL>

Надежда, что помогает,