如何从sqlplus内部知道sqlplus版本

发布于 2024-12-29 07:07:51 字数 66 浏览 1 评论 0原文

我(由某些框架)提供在 sqlplus 中运行命令,但我自己没有启动它。 我想知道正在运行的 sqlplus 的版本。

I am offered (by some framework) to run commands in sqlplus, but am not launching it myself.
I'd like to know the version of that sqlplus running.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

伪心 2025-01-05 07:07:51

在 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

Within SQL*Plus, there are some preDEFINEd substitution variable:

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)

Notice the _SQLPLUS_RELEASE. You reference this in SQLPLUS.

For example, you can do something like:

sqlplus -S /nolog<<EOF
prompt &_SQLPLUS_RELEASE
quit
EOF
怕倦 2025-01-05 07:07:51

你可以只使用命令:

sqlplus -V

你应该得到:

SQL*Plus: Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

或者:

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.12.0.0.0

You can just use command :

sqlplus -V

And you should get :

SQL*Plus: Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

Or :

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
溇涏 2025-01-05 07:07:51

我认为您不能通过实际查询来实现。您也许可以通过以下方式获取它:

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

模块列可能包含版本号,也可能不包含。这取决于程序。如果内存服务正确,sqlplus 不会给出此信息。例如,TOAD 给出“TOAD Freeware 11.0.0.116”

I don't think you can with an actual query. You may be able to get it with this:

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

The Module column may contain the version number, it might not. It depends on the program. If memory serves correctly, sqlplus does not give this. For example, TOAD gives "TOAD Freeware 11.0.0.116"

你的他你的她 2025-01-05 07:07:51
> select &_sqlplus_release from dual;
old   1: select &_sqlplus_release from dual
new   1: select 1803000000 from dual

1803000000
----------
1803000000
> select &_sqlplus_release from dual;
old   1: select &_sqlplus_release from dual
new   1: select 1803000000 from dual

1803000000
----------
1803000000
李白 2025-01-05 07:07:51

您也可以通过命令行连接到 sqlplus。在 LINUX 中,您可以执行以下操作:

[orafresh@ljsrv1123 ~]$ sqlplus / as sysdba

将返回:

SQL*Plus:版本 11.1.0.7.0 - 于 2017 年 7 月 14 日星期五 12:47:36 发布

版权所有 (c) 1982、2008,Oracle。保留所有权利。

连接到:Oracle Database 11g 企业版版本
11.1.0.7.0 - 64 位生产,具有分区、OLAP、数据挖掘和实际应用程序测试选项

You can also just connect to sqlplus through commande line. In LINUX you can do the following:

[orafresh@ljsrv1123 ~]$ sqlplus / as sysdba

Which will return:

SQL*Plus: Release 11.1.0.7.0 - Production on Fri Jul 14 12:47:36 2017

Copyright (c) 1982, 2008, Oracle. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release
11.1.0.7.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文