The conversion between sql_id and hash_value
"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,