[20191012]使用bash从sql_id计算hash_value.txt --//没有什么实际意义,仅仅验证方法是否可行. --//sql_id的计算是使用MD5算法进行哈希,生成一个128位的Hash Value,其中低32位作为HASH VALUE显示,SQL_ID则取了后64位。 --//实际上sql_id使用32进制表示,hash_value使用10进制表示。 1.测试数据: select * from emp where deptno=10; --//查询可以知道sql_id='557p4j1ggw222'. SCOTT@book> select sql_text c70,sql_id,hash_value from v$sql where sql_id = '557p4j1ggw222'; C70 SQL_ID HASH_VALUE ---------------------------------- ------------- ---------- select * from emp where deptno=10 557p4j1ggw222 1593706562 SCOTT@test01p> select /*+ 12345678abdef */ sysdate from dual ; SYSDATE ------------------- 2019-10-11 22:34:56 ---//sql_id=0p0rzks2gkrj6 SCOTT@test01p> select name c70,hash_value,full_hash_value from V$DB_OBJECT_CACHE where hash_value=83451430; C70 HASH_VALUE FULL_HASH_VALUE --------------------------------------------- ---------- -------------------------------- select /*+ 12345678abdef */ sysdate from dual 83451430 ef5a2c4876c9e93d0a82ff9604f95e26 select /*+ 12345678abdef */ sysdate from dual 83451430 ef5a2c4876c9e93d0a82ff9604f95e26 --//sql_id = 557p4j1ggw222 ,HASH_VALUE = 1593706562 --//sql_id = 0p0rzks2gkrj6 ,HASH_VALUE = 83451430 2.测试: $ echo 557p4j1ggw222 0p0rzks2gkrj6 | xargs.exe -n 1 ./s2p.sh sql_id=557p4j1ggw222 hash_value = 1593706562 sql_id=0p0rzks2gkrj6 hash_value = 83451430 --//对比上面都能对上. 3.执行脚本s2p如下: $ cat s2p.sh #! /bin/bash # convert sql_id to hash_value odebug=${ODEBUG:-0} sql_id="$*" v1=$(echo $sql_id | tr $(echo {0..9} {a..z} | tr -d 'eilo ') $( echo {0..9} {a..v}| tr -d ' ')) v2=$(( 32#$v1 % 2**32 )) if [ $odebug -eq 1 ] ; then echo "sql_id=$sql_id v1=$v1 v2=$v2" fi echo "sql_id=$sql_id hash_value = $v2"
[20191012]使用bash从sql_id计算hash_value.txt
来源:这里教程网
时间:2026-03-03 14:18:22
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Windows server服务器下Oracle监听报错ora-12560:TNS: 协议适配器错误
- ARCH wait on SENDREQ等待事件
ARCH wait on SENDREQ等待事件
26-03-03 - Oracle EBS中分类账和法人实体 的关系(有sql语句实例)
Oracle EBS中分类账和法人实体 的关系(有sql语句实例)
26-03-03 - 《DNS攻击防范科普系列1》—你的DNS服务器真的安全么?
《DNS攻击防范科普系列1》—你的DNS服务器真的安全么?
26-03-03 - 微信经常延迟,收不到消息怎么办?赶紧自查这3个功能是不是开启
微信经常延迟,收不到消息怎么办?赶紧自查这3个功能是不是开启
26-03-03 - oracle 查询
oracle 查询
26-03-03 - 《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全
《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全
26-03-03 - Oracle数据库SQL注入模拟与恢复
Oracle数据库SQL注入模拟与恢复
26-03-03 - 记一次客户DB CPU短时间内冲高至99%处理
记一次客户DB CPU短时间内冲高至99%处理
26-03-03 - 智能语音,交互入口的新未来
智能语音,交互入口的新未来
26-03-03
