[20220119]超长sql语句补充3.txt --//前几天做了超长sql语句的探究,主要目的看看如何连接起来sql语句,写的有点乱,今天做一个例子验证自己的判断. 1.环境: SCOTT@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 2.建立脚本: $ cat bb.txt select /* &&1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx .... xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */ * from dept where deptno=&&1; $ ls -l bb.txt -rw-r--r-- 1 oracle oinstall 34140 2022-01-18 17:04:07 bb.txt 3.测试: SCOTT@book> @ bb.txt 10 DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK --//执行多次. SCOTT@book> @ hash HASH_VALUE SQL_ID CHILD_NUMBER KGL_BUCKET PLAN_HASH_VALUE SQL_EXEC_START SQL_EXEC_ID ---------- ------------- ------------ ---------- --------------- ------------------- ----------- 4181801068 g1zfa6gwn2f3c 0 79980 2852011669 2022-01-19 08:25:33 16777219 --//4181801068 = 0xf941386c 4.看看sql语句如何串在一起的: SYS@book> @ sharepool/shp4 g1zfa6gwn2f3c KGLHDADR KGLHDPAR C40 KGLHDLMD KGLHDPMD KGLHDIVC KGLOBHD0 KGLOBHD6 KGLOBHS0 KGLOBHS6 KGLOBT16 N0_6_16 N20 KGLNAHSH KGLOBT03 KGLOBT09 --------------------- ---------------- ---------------------------------------- ---------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ---------- child handle address 000000007CCFD5D0 select /* 10 xxxxxxxxxxxxxxxxxxxxxxxxxxx 1 0 0 000000007CB24BB8 000000007CEACD80 4528 12144 37168 53840 53840 4181801068 g1zfa6gwn2f3c 0 parent handle address 000000007CCFD5D0 select /* 10 xxxxxxxxxxxxxxxxxxxxxxxxxxx 1 0 0 000000007C5D1588 00 38817 0 0 38817 38817 4181801068 g1zfa6gwn2f3c 65535 */ SELECT * FROM x$ksmsp WHERE TO_NUMBER ('000000007CCFD5D0', 'xxxxxxxxxxxxxxxx') between TO_NUMBER(KSMCHPTR, 'xxxxxxxxxxxxxxxx') and TO_NUMBER(KSMCHPTR, 'xxxxxxxxxxxxxxxx')+KSMCHSIZ-1 ADDR INDX INST_ID KSMCHIDX KSMCHDUR KSMCHCOM KSMCHPTR KSMCHSIZ KSMCHCLS KSMCHTYP KSMCHPAR ---------------- ---------- ---------- ---------- ---------- ---------------- ---------------- ---------- -------- ---------- ---------------- 00007FB49343AA48 14197 1 1 1 KGLHD 000000007CCFD5A0 1120 recr 80 00 SYS@book> @ ttt tracefile_identifier = /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_55737.trc SYS@book> oradebug setmypid Statement processed. SYS@book> oradebug peek 0x000000007CCFD5D0 1120 1 [07CCFD5D0, 07CCFDA30) = 8044B900 00000000 8044B900 00000000 7CEAC6C0 00000000 7CCFD728 00000000 00010000 10012841 00000001 00000001 00010001 00000002 ... --//查看转储: Dump of memory from 0x07CCFD5E4 to 0x07CCFDA30 07CCFD5E0 00000000 7CCFD728 00000000 [....(..|....] 07CCFD5F0 00010000 10012841 00000001 00000001 [....A(..........] 07CCFD600 00010001 00000002 00000000 00000004 [................] 07CCFD610 00010000 00000000 00000000 00000000 [................] 07CCFD620 7CCFD9D0 00000000 00000001 00000000 [...|............] 07CCFD630 7CCFD630 00000000 7CCFD630 00000000 [0..|....0..|....] 07CCFD640 7CCFD640 00000000 7CCFD640 00000000 [@..|....@..|....] 07CCFD650 7D60A9C8 00000000 7D60A9C8 00000000 [..`}......`}....] 07CCFD660 7CCFD660 00000000 7CCFD660 00000000 [`..|....`..|....] 07CCFD670 7CDC26C0 00000000 7CDC26C0 00000000 [.&.|.....&.|....] 07CCFD680 00000000 00000000 00000001 00000000 [................] 07CCFD690 F0FDCA33 00000000 0001386C 00000000 [3.......l8......] 07CCFD6A0 7CCFD710 00000000 7CCFD6A8 00000000 [...|.......|....] 07CCFD6B0 7CCFD6A8 00000000 7CCFD6B8 00000000 [...|.......|....] 07CCFD6C0 7CCFD6B8 00000000 00000000 00000000 [...|............] 07CCFD6D0 80640F68 00000000 00000000 00000000 [h.d.............] 07CCFD6E0 00000000 00000000 00000003 00000001 [................] 07CCFD6F0 00020002 00000000 00000001 00000000 [................] 07CCFD700 00000000 00000000 00000000 00000000 [................] 07CCFD710 00000000 00000000 00000025 00000000 [........%.......] 07CCFD720 F941386C 00000000 BBACAB7F 74523C42 [l8A.........B<Rt] 07CCFD730 F0FDCA33 F941386C 00000000 13017A78 [3...l8A.....xz..] 07CCFD740 001E1A09 00000000 00000000 00000000 [................] 07CCFD750 00000258 00000000 00000000 00000000 [X...............] 07CCFD760 7D0BA540 00000000 7CCFD778 00000000 [@..}....x..|....] 07CCFD770 F941386C 00000053 656C6573 2F207463 [l8A.S...select /] 07CCFD780 3031202A 7878780A 78787878 78787878 [* 10.xxxxxxxxxxx] 07CCFD790 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times ... 07CCFD9D0 00000000 00000000 00000000 00000000 [................] Repeat 2 times 07CCFDA00 00000271 80B38F00 7CCFD5A0 00000000 [q..........|....] 07CCFDA10 00000000 00000000 00000000 00000000 [................] 07CCFDA20 00000000 00000000 00000000 00080050 [............P...] --//注意看sql语句开始前偏移24,16,8字节内容. 07CCFD760 7D0BA540 00000000 7CCFD778 00000000 [@..}....x..|....] 07CCFD770 F941386C 00000053 656C6573 2F207463 [l8A.S...select /] --//24字节偏移 0x7D0BA540 对应下一个chunk的包含sql语句的其它部分. --//16字节偏移 0x7CCFD778 对应select的开始位置 --// 8字节偏移 0xF941386C 对应sql语句的hash_value. SYS@book> oradebug peek 0x7D0BA540 60 [07D0BA540, 07D0BA57C) = 7D07DA60 00000000 00000201 00000000 78787878 78787878 78787878 7878780A 78787878 78787878 78787878 78787878 78787878 78787878 78787878 --//78的ascii码就是x. --//注意看sql语句开始前偏移16,8字节内容. --//16字节偏移 0x7D07DA60 对应下一个chunk的包含sql语句的其它部分. --// 8字节偏移 0x00000201 对应该chunk包含sql语句的长度. SYS@book> oradebug peek 0x7D07DA60 60 [07D07DA60, 07D07DA9C) = 7D0BA9A0 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 --//78的ascii码就是x. --//注意看sql语句开始前偏移16,8字节内容. --//16字节偏移 0x7D0BA9A0 对应下一个chunk的包含sql语句的其它部分. --// 8字节偏移 0x00000201 对应该chunk包含sql语句的长度. SYS@book> oradebug peek 0x7D0BA9A0 60 [07D0BA9A0, 07D0BA9DC) = 7D609138 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D609138 60 [07D609138, 07D609174) = 7D31CC58 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D31CC58 60 [07D31CC58, 07D31CC94) = 7D090F38 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D090F38 60 [07D090F38, 07D090F74) = 7D7D3198 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D7D3198 60 [07D7D3198, 07D7D31D4) = 7CB36DC0 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 780A7878 78787878 78787878 SYS@book> oradebug peek 0x7CB36DC0 60 [07CB36DC0, 07CB36DFC) = 7DF66AB8 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78780A78 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7DF66AB8 60 [07DF66AB8, 07DF66AF4) = 7CB00A80 00000000 00000201 00000000 78787878 78787878 7878780A 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7CB00A80 60 [07CB00A80, 07CB00ABC) = 7D8BD520 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D8BD520 60 [07D8BD520, 07D8BD55C) = 7D8B9C60 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D8B9C60 60 [07D8B9C60, 07D8B9C9C) = 7C5FBA08 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C5FBA08 60 [07C5FBA08, 07C5FBA44) = 7C686460 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C686460 60 [07C686460, 07C68649C) = 7EA4D368 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 0A787878 SYS@book> oradebug peek 0x7EA4D368 60 [07EA4D368, 07EA4D3A4) = 7E109858 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 780A7878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E109858 60 [07E109858, 07E109894) = 7EA1AF18 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78780A78 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7EA1AF18 60 [07EA1AF18, 07EA1AF54) = 7CFE0228 00000000 00000201 00000000 78787878 7878780A 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7CFE0228 60 [07CFE0228, 07CFE0264) = 7CE390A8 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7CE390A8 60 [07CE390A8, 07CE390E4) = 7C23DCD0 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C23DCD0 60 [07C23DCD0, 07C23DD0C) = 7DDD7518 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7DDD7518 60 [07DDD7518, 07DDD7554) = 7D73D4E8 00000000 00000201 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D73D4E8 60 [07D73D4E8, 07D73D524) = 7DC8C388 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 0A787878 78787878 SYS@book> oradebug peek 0x7DC8C388 60 [07DC8C388, 07DC8C3C4) = 7E2DBB90 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E2DBB90 60 [07E2DBB90, 07E2DBBCC) = 7DF90218 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78780A78 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7DF90218 60 [07DF90218, 07DF90254) = 7D709C60 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D709C60 60 [07D709C60, 07D709C9C) = 7C480F40 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C480F40 60 [07C480F40, 07C480F7C) = 7CDB8768 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 780A7878 78787878 78787878 SYS@book> oradebug peek 0x7CDB8768 60 [07CDB8768, 07CDB87A4) = 7E2A5038 00000000 00000231 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E2A5038 60 [07E2A5038, 07E2A5074) = 7C6AA9D8 00000000 00000251 00000000 78787878 78787878 78787878 7878780A 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C6AA9D8 60 [07C6AA9D8, 07C6AAA14) = 7D311FB0 00000000 00000251 00000000 78787878 78787878 78787878 78787878 0A787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D311FB0 60 [07D311FB0, 07D311FEC) = 7CDF2FA8 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 780A7878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7CDF2FA8 60 [07CDF2FA8, 07CDF2FE4) = 7E2EC010 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78780A78 78787878 78787878 SYS@book> oradebug peek 0x7E2EC010 60 [07E2EC010, 07E2EC04C) = 7E3DA448 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 7878780A SYS@book> oradebug peek 0x7E3DA448 60 [07E3DA448, 07E3DA484) = 7CF7A2B0 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E3DA448 60 [07CF7A2B0, 07CF7A2EC) = 7C70BF70 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C70BF70 60 [07C70BF70, 07C70BFAC) = 7E2CA980 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E2CA980 60 [07E2CA980, 07E2CA9BC) = 7D14CA18 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7D14CA18 60 [07D14CA18, 07D14CA54) = 7E1F8C88 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E1F8C88 60 [07E1F8C88, 07E1F8CC4) = 7C9410C0 00000000 00000251 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C9410C0 60 [07C9410C0, 07C9410FC) = 7C45CE30 00000000 00000431 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C45CE30 60 [07C45CE30, 07C45CE6C) = 7E1E9470 00000000 00000431 00000000 78787878 78787878 78787878 78787878 7878780A 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7E1E9470 60 [07E1E9470, 07E1E94AC) = 7C742850 00000000 00000431 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 0A787878 SYS@book> oradebug peek 0x7C742850 60 [07C742850, 07C74288C) = 7C5250A8 00000000 00000441 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7C5250A8 60 [07C5250A8, 07C5250E4) = 7BF23788 00000000 000011F1 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 SYS@book> oradebug peek 0x7BF23788 60 [07BF23788, 07BF237C4) = 00000000 00000000 00000D54 00000000 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878 --//注意看sql语句开始前偏移16,8字节内容. --//16字节偏移 0x00000000 表示结束. --// 8字节偏移 0x00000D54 对应该chunk包含sql语句的长度. --//算了一下总共46个chunk.注意8字节偏移,开始0x00000201->0x00000231->0x00000251->0x00000431->0x00000441->0x000011F1->0x00000D54. --//从这里可以超长sql语句对共享池的影响.会使用大量的chunk,特别对于繁忙有没有绑定变量的OLTP系统. --//至于chunk大小如何分配,我估计先确定大的chunk,然后在使用小的chunk,剩下放在最后. --//但是加载sql语句我估计从小开始. --//算是对前面测试的一个总结吧. 5.补充累加sql长度看看是否能对上. $ wc bb.txt 344 350 34140 bb.txt --//将以上peek的结果保存为1个文件bb.txt,不包括第1个chunk. $ grep "^\[" aa.txt | awk '{print strtonum("0x"$6)}'| paste -sd+ |bc 33536 --//看看第1个chunk: *** 2022-01-19 08:28:41.195 Processing Oradebug command 'peek 0x000000007CCFD5D0 1120 1' [07CCFD5D0, 07CCFDA30) = 8044B900 00000000 8044B900 00000000 7CEAC6C0 ... Dump of memory from 0x07CCFD5E4 to 0x07CCFDA30 07CCFD5E0 00000000 7CCFD728 00000000 [....(..|....] 07CCFD5F0 00010000 10012841 00000001 00000001 [....A(..........] 07CCFD600 00010001 00000002 00000000 00000004 [................] 07CCFD610 00010000 00000000 00000000 00000000 [................] 07CCFD620 7CCFD9D0 00000000 00000001 00000000 [...|............] 07CCFD630 7CCFD630 00000000 7CCFD630 00000000 [0..|....0..|....] 07CCFD640 7CCFD640 00000000 7CCFD640 00000000 [@..|....@..|....] 07CCFD650 7D60A9C8 00000000 7D60A9C8 00000000 [..`}......`}....] 07CCFD660 7CCFD660 00000000 7CCFD660 00000000 [`..|....`..|....] 07CCFD670 7CDC26C0 00000000 7CDC26C0 00000000 [.&.|.....&.|....] 07CCFD680 00000000 00000000 00000001 00000000 [................] 07CCFD690 F0FDCA33 00000000 0001386C 00000000 [3.......l8......] 07CCFD6A0 7CCFD710 00000000 7CCFD6A8 00000000 [...|.......|....] 07CCFD6B0 7CCFD6A8 00000000 7CCFD6B8 00000000 [...|.......|....] 07CCFD6C0 7CCFD6B8 00000000 00000000 00000000 [...|............] 07CCFD6D0 80640F68 00000000 00000000 00000000 [h.d.............] 07CCFD6E0 00000000 00000000 00000003 00000001 [................] 07CCFD6F0 00020002 00000000 00000001 00000000 [................] 07CCFD700 00000000 00000000 00000000 00000000 [................] 07CCFD710 00000000 00000000 00000025 00000000 [........%.......] 07CCFD720 F941386C 00000000 BBACAB7F 74523C42 [l8A.........B<Rt] 07CCFD730 F0FDCA33 F941386C 00000000 13017A78 [3...l8A.....xz..] 07CCFD740 001E1A09 00000000 00000000 00000000 [................] 07CCFD750 00000258 00000000 00000000 00000000 [X...............] ~~~~~~~~ 07CCFD760 7D0BA540 00000000 7CCFD778 00000000 [@..}....x..|....] 07CCFD770 F941386C 00000053 656C6573 2F207463 [l8A.S...select /] 07CCFD780 3031202A 7878780A 78787878 78787878 [* 10.xxxxxxxxxxx] 07CCFD790 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times 07CCFD7E0 78787878 78787878 7878780A 78787878 [xxxxxxxx.xxxxxxx] 07CCFD7F0 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times 07CCFD840 78787878 78787878 78787878 7878780A [xxxxxxxxxxxx.xxx] 07CCFD850 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 5 times 07CCFD8B0 7878780A 78787878 78787878 78787878 [.xxxxxxxxxxxxxxx] 07CCFD8C0 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times 07CCFD910 78787878 7878780A 78787878 78787878 [xxxx.xxxxxxxxxxx] 07CCFD920 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times 07CCFD970 78787878 78787878 7878780A 78787878 [xxxxxxxx.xxxxxxx] 07CCFD980 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times 07CCFD9D0 00000000 00000000 00000000 00000000 [................] Repeat 2 times 07CCFDA00 00000271 80B38F00 7CCFD5A0 00000000 [q..........|....] 07CCFDA10 00000000 00000000 00000000 00000000 [................] 07CCFDA20 00000000 00000000 00000000 00080050 [............P...] --//0x7CCFD9D0-0x7CCFD778 = 600 , 600 = 0x258, 不知道是否下划线内容(0x07CCFD750)对应sql语句长度. --//600+33536 = 34136,差4个字节.我前面使用&&1 ,使用10替换(测试时真不该写入&&1),这样少2个,加上结尾的分号以及\n不算正好4个. --//但是结尾还是给加入\0.难道不算吗? --//转储最后1个chunk看看. Processing Oradebug command 'peek 0x000000007BF23770 3472 1' [07BF23770, 07BF24500) = 00000D91 00B38F00 7BF22770 00000000 0A996C98 ... Dump of memory from 0x07BF23784 to 0x07BF24500 07BF23780 00000000 00000000 00000000 [............] 07BF23790 00000D54 00000000 78787878 78787878 [T.......xxxxxxxx] 07BF237A0 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 4 times 07BF237F0 7878780A 78787878 78787878 78787878 [.xxxxxxxxxxxxxxx] ... 07BF24480 78787878 78787878 78787878 78787878 [xxxxxxxxxxxxxxxx] Repeat 3 times 07BF244C0 78787878 78787878 78787878 0A2F2A0A [xxxxxxxxxxxx.*/.] 07BF244D0 7266202A 64206D6F 20747065 72656877 [* from dept wher] 07BF244E0 65642065 6F6E7470 0030313D 00000000 [e deptno=10.....] 07BF244F0 00000000 00000000 00000000 00000000 [................] --//0xD54 = 3412 --//0x7BF244EC-0x7BF23798 = 3412 --//包括\0,为什么呢. --//问题出在&&1后面有1个空格,生成sql语句时删除了这个空格.这样数量就正确了. $ cat -e bb.txt | head -2 select /* &&1 $ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$ $ cp bb.txt cc.txt --//适当编辑cc.txt $ cat -e cc.txt | tee <(head -1) <(tail -1) | egrep "select|dept" select /* 10$ * from dept where deptno=10;$ $ cat -e cc.txt | head -1 ; cat -e cc.txt | tail -1 select /* 10$ * from dept where deptno=10;$ $ cat -e cc.txt | egrep 'select|dept' select /* 10$ * from dept where deptno=10;$ $ sql_idx.sh cc.txt 1 sql_text = select /* 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ... xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */ * from dept where deptno=10\0 full_hash_value(16) = BBACAB7F74523C42F0FDCA33F941386C hash_value(10) = 4181801068 sql_id(32) = g1zfa6gwn2f3c sql_id(32) = g1zfa6gwn2f3c sql_id(32) = g1zfa6gwn2f3c --//与前面的sql_id能对上.
[20220119]超长sql语句补充3.txt
来源:这里教程网
时间:2026-03-03 17:26:18
作者:
编辑推荐:
- [20220117]超长sql语句.txt03-03
- [20220119]超长sql语句补充3.txt03-03
- ocp 19c考题,科目082考试题(16)-about dropping and unused columns03-03
- 【ASM】ORA-27504 ORA-27300 ORA-27303 while starting ASM (Doc ID 2281441.1)03-03
- [重庆思庄每日技术分享]-ORA-00235 :不带锁定的控制文件读取因并发更新而不一致03-03
- [重庆思庄每日技术分享]-sqlplus登录数据库时报错:ORA-1254703-03
- oracle ocp 19c考题,科目082考试题(17)-using an invisible column03-03
- 【DBA】Oracle 中DBA地址的文件号使用的是相对文件号(RELATIVE_FNO)03-03
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 利用福禄克光纤测试仪了解综合布线
利用福禄克光纤测试仪了解综合布线
26-03-03 - Bug 27223075 - Wait for 'PX Deq: Join Ack' when no active QC but PPA* slaves sho
- dbua升级oracle数据库
dbua升级oracle数据库
26-03-03 - 【北亚数据恢复】误删除oracle表和误删除oracle表数据的数据恢复方法
- 【北亚数据恢复】异常断电导致Oracle数据库报错的oracle数据恢复
【北亚数据恢复】异常断电导致Oracle数据库报错的oracle数据恢复
26-03-03 - opatch打补丁,单机
opatch打补丁,单机
26-03-03 - 数据类型与函数索引-Oracle篇
数据类型与函数索引-Oracle篇
26-03-03 - 【Flashback】Flashback Database闪回数据库功能实验
- ORACLE DSG数据同步软件进程导致数据库无法正常关闭
ORACLE DSG数据同步软件进程导致数据库无法正常关闭
26-03-03 - 如何快速批量下载亚马逊平台的高清图片
如何快速批量下载亚马逊平台的高清图片
26-03-03
