首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

为什么要设置USER#和SCHEMA#,USERNAME和SCHEMANAME,v$session问题!

2014-01-28 
我现在以scott启动了两个会话 SYS启动一个 查询V$SESSION结果如下SQL codeSQL select paddr,user#,usernam

我现在以scott启动了两个会话 SYS启动一个
查询V$SESSION结果如下
 

SQL code
SQL> select paddr,user#,username,schema#,schemaname from v$session;PADDR                USER# USERNAME           SCHEMA# SCHEMANAME--------------- ---------- --------------- ---------- ---------------6DA4D1DC                54 SCOTT                   54 SCOTT6DA50D3C                 0                          0 SYS6DA4DDBC                 0                          0 SYS6DA4EF8C                 0                          0 SYS6DA4E99C                 0                          0 SYS6DA4E3AC                 0                          0 SYS6DA4FB6C                 0 SYS                      0 SYS6DA4D7CC                 0                          0 SYS6DA4C5FC                 0                          0 SYS6DA4CBEC                 0                          0 SYS6DA4F57C                54 SCOTT                   54 SCOTTPADDR                USER# USERNAME           SCHEMA# SCHEMANAME--------------- ---------- --------------- ---------- ---------------6DA4B42C                 0                          0 SYS6DA4AE3C                 0                          0 SYS6DA4A84C                 0                          0 SYS6DA4A25C                 0                          0 SYS6DA49C6C                 0                          0 SYS6DA4967C                 0                          0 SYS6DA4908C                 0                          0 SYS6DA48A9C                 0                          0 SYS6DA484AC                 0                          0 SYS6DA47EBC                 0                          0 SYS6DA478CC                 0                          0 SYS22 rows selected.SQL>


1
这里为什么要设置USER#和SCHEMA#,USERNAME和SCHEMANAME呢?内容是差不多一样的呀。
2
当然,还有一些不一样的地方,就是那些SCHEMANAME为SYS,但USERNAME为空的那些进程,都是些后台进程吗?
(说不定设置USERNAME和SCHEMANAME两个字段的目的就是要区分出这些USERNAME为空的记录哦)

------解决方法--------------------------------------------------------
有区别啊,还是看了你博客里关于user和schema的区别,现在还记得比较深刻
可以试试
alter session set current_schema=XX;
然后再查询
select paddr,user#,username,schema#,schemaname from v$session where schemaname <>username

Oracle内部进程的username为空
------解决方法--------------------------------------------------------
1
这里为什么要设置USER#和SCHEMA#,USERNAME和SCHEMANAME呢?内容是差不多一样的呀。
user# schema#是ID
username schemaname是Name


2
当然,还有一些不一样的地方,就是那些SCHEMANAME为SYS,但USERNAME为空的那些进程,都是些后台进程吗?
(说不定设置USERNAME和SCHEMANAME两个字段的目的就是要区分出这些USERNAME为空的记录哦)
是的,为null的是后天进程

        

热点排行