oracle opencursor,Oracle 的客户端应用如果使用了Open Cursor的机制,会导致在同一个会话(session)的重复的sql指令不能被Guardium记录...

Problem

Oracle 的客户端应用如果使用了Open Cursor的机制,会导致在同一个会话的重复的sql指令不能被Guardium记录。

Symptom

Oracle的客户端应用如果使用了Open Cursor的机制,会导致在同一个会话的重复的sql指令不能被Guardium记录

举个例子:

以下三条sql指令在一个会话中执行:

• 1. select * from A; -> Oracle provides the Response packet A

• 2. select * from B; -> Oracle provides the Response packet B

• 3. select * from A; -> Oracle provides the Response packet A

上述三条指令中的第三条指令不会被正常记录,且会发现,第二条指令的响应时间(Response Time)偏大,影响的行数(Records Affected)为第三条指令的影响行数值,

Cause

Guardium无法追踪不对称的,未绑定sql指令的EXEC(FETCH) 请求。

原因是在某些情况下,Oracle的客户端应用在进行重复的sql 请求时,发出的第二条指令的请求不会包含sql信息:

Packet 16030 FROM Client_IP 61926 TO Server_IP 1521 Packet length: 41 0 0 1

00000000 : 00 29 00 00 06 00 00 00 00 00 11 69 39 01 01 00 .).........i9...

00000010 : 00 00 13 00 00 00 03 4e 3a 10 00 00 00 43 00 00 .......N:....C..

00000020 : 00 60 00 00 00 00 00 00 00 .`.......

但是DB会返回这条重复sql的结果。

Environment

Oracle,Open Cursor

Diagnosing The Problem

1 在同一个会话中,重复的sql不能被正常记录

2 某些sql的响应时间偏大和影响行数不正确

Resolving The Problem

该问题属于产品限制

[{"Product":{"code":"SSMPHH","label":"IBM Security Guardium"},"Business Unit":{"code":"BU008","label":"Security"},"Component":"Not Applicable","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.1.2","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}},{"Product":{"code":"SSMPHH","label":"IBM Security Guardium"},"Business Unit":{"code":"BU008","label":"Security"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值