有没有办法使用SQL获取有关服务器的信息

时间:2013-05-15 13:05:55

标签: sql oracle windows-server

有没有办法使用SQL获取有关服务器的信息?它是使用Windows服务器的Oracle数据库。我搜索了谷歌,我找到的所有@@version都不起作用。谢谢你的帮助。

2 个答案:

答案 0 :(得分:8)

这是一个很好的主要信息检索例程列表。确保这是获取服务器信息的最佳方式:

<强>的Oracle

版本:PL / SQL,与Oracle一起使用的TNS版本。

SELECT * FROM v$version;
-- Which version of oracle you are running.
SELECT * FROM v$version WHERE banner LIKE 'Oracle%';
-- Or, in more readable way.
SELECT * FROM product_component_version;

Instance :显示当前实例的状态。

SELECT * FROM v$instance;
-- About license limits of the current instance.
SELECT * FROM v$license;

数据库:Db名称。

SELECT * FROM GLOBAL_NAME
--Db IP Address.
SELECT UTL_INADDR.get_host_address FROM dual
--Db Host Name.
SELECT UTL_INADDR.GET_HOST_NAME('above ip address') FROM dual

客户端:客户端IP地址。

SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual
--Db Host Name
SELECT SYS_CONTEXT('USERENV','TERMINAL') FROM dual
--Db Host Name with domain.
SELECT SYS_CONTEXT('USERENV','HOST') FROM dual
--Current Client session details who using DB.
SELECT * FROM v$session WHERE username = 'User/Schema name'
--To which DB user connected to.
SELECT SUBSTR(GLOBAL_NAME, 1, INSTR(GLOBAL_NAME,'.')-1) FROM GLOBAL_NAME

SQL Server

版本:您正在运行哪个版本的Sql服务器。

SELECT @@VERSION
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('edition')
-- SERVERPROPERTY Returns property information about the server instance.

客户端:客户端详细信息(IP地址,计算机名称,使用实例)。

SELECT con.client_net_address as IPAddress,
         sess.host_name as MachineName, sess.program_name as ApplicationName,
         login_name as LoginName
FROM sys.dm_exec_connections con
inner join sys.dm_exec_sessions sess
on con.session_ID=sess.session_ID
WHERE con.session_ID = @@SPID

有关详情:http://msdn.microsoft.com/en-us/library/ms174396.aspx

答案 1 :(得分:1)

我真的不知道你为什么这样做,因为有几种更好的方法来获取你的数据库的更多信息,但是:

试试这个:

select * from v$version;

如果返回结果,则 Oracle

如果没有试试这个:

SELECT @@VERSION

如果返回结果,则 SQL Server