我用Google搜索过,我的印象是
来自客户端的Sql * net消息
建议Oracle DBMS正在等待客户端向DBMS发送新命令,因此在此事件中花费的任何时间都应该是客户端时间而不是消耗DB服务器CPU。换句话说,通常情况下,如果会话在此事件中,则应该是“非活动”而不是“活动”。
令我们困惑的是,从本周开始(在我们开始使用连接池[我们使用dbcp]之后),我们偶尔会看到
中的会话来自客户端的Sql * net消息
事件并在较长时间内同时显示“ACTIVE”。在这段时间内,DB上的CPU使用率很高。
任何人都可以了解这意味着什么?如果数据库会话正在等待客户端发送消息,那么它可以是“活动”并消耗CPU周期?
答案 0 :(得分:1)
如果在V $ SESSION视图中看到此事件,则还需要检查STATE列的值,以确定会话是空闲还是实际工作。
这基于以下Oracle Magazine article:
你无法单独查看EVENT列以找出会话内容 正在等待。您必须先查看STATE列以确定 会话是在等待还是在工作,然后检查EVENT 列。