打开会话一执行语句:
select max(sid) from v$mystat;
MAX(SID)
----------
10
打开会话二执行语句:(为什么SQL_HASH_VALUE PREV_HASH_VALUE会存在一样的值,按理说SQL_HASH_VALUE应该为0的嘛)
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 3448634418 3448634418
在会话一中执行:
SQL> select max(sid) from v$session;
MAX(SID)
----------
10
在会话二中执行语句:(为什么SQL_HASH_VALUE PREV_HASH_VALUE会存在一样的值,按理说SQL_HASH_VALUE应该为0的嘛)
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 1199255712 1199255712
在会话一中执行:
SQL> select col from test;
COL
-------------------------
88888
在会话二中执行语句:(按理说PREV_HASH_VALUE应该为2418451573,SQL_HASH_VALUE应该为0)
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 0 1511160340
在会话一中执行:(与前面的两条查询结果比较,这个我觉得是正常的)
SQL> desc v$rowcache
名称 是否为空? 类型
----------------------------------------- -------- ---------------------
CACHE# NUMBER
TYPE VARCHAR2(11)
SUBORDINATE# NUMBER
PARAMETER VARCHAR2(32)
COUNT NUMBER
USAGE NUMBER
FIXED NUMBER
GETS NUMBER
GETMISSES NUMBER
SCANS NUMBER
SCANMISSES NUMBER
SCANCOMPLETES NUMBER
MODIFICATIONS NUMBER
FLUSHES NUMBER
DLM_REQUESTS NUMBER
DLM_CONFLICTS NUMBER
DLM_RELEASES NUMBER
在会话二中执行:
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 2418451573 0
在会话一中执行:
SQL> select type from v$rowcache;
TYPE
-----------
PARENT
PARENT
PARENT
......
在会话二中执行:(这个我认为是正常的)
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 0 3434066792
下面的就不说明了
在会话一中执行:
SQL> select max(sid) from v$mystat;
MAX(SID)
----------
10
在会话二中执行:
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 3448634418 3448634418
在第一个会话中执行:
SQL> select max(sid) from v$session;
MAX(SID)
----------
10
在会话二中执行:
SQL> select sid, sql_hash_value, prev_hash_value from v$session where sid=10;
SID SQL_HASH_VALUE PREV_HASH_VALUE
---------- -------------- ---------------
10 1199255712 1199255712
请问大家SQL_HASH_VALUE和PREV_HASH_VALUE的值为什么会出现这样的情况?