Database Tuning (MOSC)

MOSC Banner

The conversion between sql_id and hash_value

edited Sep 13, 2014 5:00AM in Database Tuning (MOSC) 4 commentsAnswered

"1. select /* TEST SQL */ * from dual;

2. SQL> SELECT sql_id, hash_value, substr(sql_text,1,40) sql_text  FROM  v$sql

  2  WHERE sql_text like

  3  'select /* TEST SQL */%';

SQL_ID        HASH_VALUE SQL_TEXT

------------- ---------- --------------------------------------------------------------------------------

a43zhpuddcxwh 2597746576 select /* TEST SQL */ * from dual

3. SQL> select

  2  lower(trim('a43zhpuddcxwh')) sql_id,

  3  trunc(mod(sum((instr('0123456789abcdefghijklmnopqrstuvwxyz', substr(lower(trim('a43zhpuddcxwh')), level, 1)) - 1) * power(32, length(trim('a43zhpuddcxwh')) - level)), power(2, 32))) hash_value

  4  from dual

  5  connect by level <= length(trim('a43zhpuddcxwh'));

SQL_ID        HASH_VALUE

------------- ----------

a43zhpuddcxwh 2597750801

4. SQL> select

  2  lower(trim('a43zhpuddcxwh')) sql_id,

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don't have a My Oracle Support Community account? Click here to get started.

Category Leaderboard

Top contributors this month

New to My Oracle Support Community? Visit our Welcome Center

MOSC Help Center