[20241112]验证sql_idz.sh计算PLSQL代码块2.txt --//测试验证sql_idz.sh计算PLSQL代码块是否正确,我以前测试过 --//参考链接 :[20240902]验证sql_idz.sh计算PLSQL代码块.txt 1.环境: SYS@book> @ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production --//grant execute on sys.dbms_lock to scott; create procedure lcp is begin sys.dbms_lock.sleep(3600); end; / 2.测试: SCOTT@book> exec lcp SYS@book> @ sharepool/shp4 '' 1715433582 HANDLE_TYPE KGLHDADR KGLHDPAR C40 KGLHDLMD KGLHDPMD KGLHDIVC KGLOBHD0 KGLOBHD6 KGLOBHS0 KGLOBHS6 KGLOBT16 N0_6_16 N20 KGLNAHSH KGLOBT03 KGLOBT09 ---------------------- ---------------- ---------------- --------------- -------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ---------- child handle address 000000008888F1C0 000000008888F550 BEGIN lcp; END; 1 2 0 0000000088AD5C10 0000000087AC6770 4488 12400 3049 19937 19937 1715433582 g097g0jm3yw3f 0 parent handle address 000000008888F550 000000008888F550 BEGIN lcp; END; 1 0 0 00000000877B4C38 00 4704 0 0 4704 4704 1715433582 g097g0jm3yw3f 65535 $ ext_kglob.sh 000000008888F550 1a8 (gdb) 0x8888f6f8: "BEGIN lcp; END;\n" (gdb) quit $ sql_idz.sh "BEGIN lcp; END;\n\0" 3 sql_text = BEGIN lcp; END;\n\0 full_hash_value(16) = 53975D1AA6F69DF9EE36A6C55F8DD007 or 53975d1aa6f69df9ee36a6c55f8dd007 xxxxx_matching_signature(10) = -1281653677298429945 or 17165090396411121671 hash_value(10) = 1603129351 or hash_value(16) = 5F8DD007 or 5f8dd007 sql_id(16) = EE36A6C55F8DD007 or ee36a6c55f8dd007 sql_id(32) = fwdp6spgsvn07 sql_id(32) = fwdp6spgsvn07 sql_id(32) = fwdp6spgsvn07 --//计算不对。 --//使用md5.gdb跟踪。 Breakpoint 1, 0x00000000097dc75c in kggmd5Update () Length: 18 0x7ffc88028588: 66 'B' 69 'E' 71 'G' 73 'I' 78 'N' 32 ' ' 108 'l' 99 'c' 0x7ffc88028590: 112 'p' 59 ';' 32 ' ' 69 'E' 78 'N' 68 'D' 59 ';' 10 '\n' 0x7ffc88028598: 0 '\000' 0 '\000' --//代码如下: BEGIN lcp; END;\n\0\0 --//结尾是\0\0. $ sql_idz.sh "BEGIN lcp; END;\n\0\0" 3 sql_text = BEGIN lcp; END;\n\0\0 full_hash_value(16) = FEE7CD985905C2A1F024EF04663F706E or fee7cd985905c2a1f024ef04663f706e xxxxx_matching_signature(10) = -1142525603270922130 or 17304218470438629486 hash_value(10) = 1715433582 or hash_value(16) = 663F706E or 663f706e sql_id(16) = F024EF04663F706E or f024ef04663f706e sql_id(32) = g097g0jm3yw3f sql_id(32) = g097g0jm3yw3f sql_id(32) = g097g0jm3yw3f --//这样计算正确。 --//为什么出现\0\0呢。 --//实际上真正执行的是这样。 BEGIN lcp; END; / --//[20240902]验证sql_idz.sh计算PLSQL代码块.txt的测试完全不同,这里补了两个\0. 3.md5.gdb代码: set pagination off set logging file /tmp/md5.log set logging overwrite on set logging on break kggmd5Update commands printf "Length: %d\n",$rdx x/18xc $rsi c end break kglComputeHash commands c end break kggmd5Process commands c end break kggmd5Finish commands c end
[20241112]验证sql_idz.sh计算PLSQL代码块2.txt
来源:这里教程网
时间:2026-03-03 20:49:59
作者:
编辑推荐:
- [20241112]验证sql_idz.sh计算PLSQL代码块2.txt03-03
- 芯片行业ERP系统设计需要考虑哪些因素03-03
- Oracle SQL语句为什么不走索引-场景四03-03
- 软件签名添加时间戳03-03
- 长沙岳麓区家具城,全屋软装一站式搞定03-03
- Java 中,== 和 .equals() 有何不同?03-03
- bin$表头的Oracle回收站03-03
- 绿钻潘多拉奢石餐桌,品味自然奢华盛宴03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 芯片行业ERP系统设计需要考虑哪些因素
芯片行业ERP系统设计需要考虑哪些因素
26-03-03 - 软件签名添加时间戳
软件签名添加时间戳
26-03-03 - OPatch安装补丁将Oracle 19.3升级到19.23
OPatch安装补丁将Oracle 19.3升级到19.23
26-03-03 - Oracle数据库如何模拟ORA-600 [4193]错误?如何解决?
Oracle数据库如何模拟ORA-600 [4193]错误?如何解决?
26-03-03 - shutdown abort关库,真的有可能起不来吗?
shutdown abort关库,真的有可能起不来吗?
26-03-03 - 又是windown服务器断电引起的ora-00333
又是windown服务器断电引起的ora-00333
26-03-03 - 同事不小心drop column了一个列,真的凉凉了吗?
同事不小心drop column了一个列,真的凉凉了吗?
26-03-03 - 数据库数据恢复—Oracle数据库数据恢复案例
数据库数据恢复—Oracle数据库数据恢复案例
26-03-03 - 企业数据管理是否“镜花水月”
企业数据管理是否“镜花水月”
26-03-03 - Oracle自动处理表空间不足脚本
Oracle自动处理表空间不足脚本
26-03-03
