如何在window下获得oracle的sid

如何在window下获得oracle的sid,第1张

朋友你好:
如果你是WIN系统上安装的ORACLE 那么你就可以
在CMD下进入SQLPLUS方法如下:
sqlplus /nolog
conn / as sysdba
-- 查询数据库的SID
select instance_name from v$instace;
这样就可以得到数据库的SID了
注意:如果你是远端登陆那么你要先设置你的环境变量
SET ORACLE_SID=
祝你好运

在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。
下面的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session;
输出的结果:
SID SERIAL# USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1 ORACLEEXE WORK3 ACTIVE
2 1 ORACLEEXE WORK3 ACTIVE
3 1 ORACLEEXE WORK3 ACTIVE
4 1 ORACLEEXE WORK3 ACTIVE
5 3 ORACLEEXE WORK3 ACTIVE
6 1 ORACLEEXE WORK3 ACTIVE
7 1 ORACLEEXE WORK3 ACTIVE
8 27 SYS SQLPLUSEXE WORKGROUP\WORK3 ACTIVE
11 5 DBSNMP dbsnmpexe WORKGROUP\WORK3 INACTIVE
其中SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何 *** 作;
假如要手工断开某个会话,则执行:
alter system kill session 'SID,SERIAL#';注意:在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何 *** 作。

楼主都没设置环境变量,估计楼上的方法都不能用
你的机器是Windows的话,打开服务面板,找OracleServiceXXXX,后面的XXXX就是你的SID
或者打开安装目录 $ORACLE_HOME下的database目录或者dbs目录,里面有spfileXXXXora

在oracle的”v$session“视图中存储有这两个字段信息。 用sysdba身份登录 比如 conn / as sysdba 匿名管理员登陆后,之后执行下面的sql。 sql:select busername,bsid from v$session b ; 备注:要用有查看视图”v$session“的用户查看需要的sid


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10223497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存