性能问题: SQL*Net message from client 等待时间太长
今天我终于自己遇到了这个问题, PO form 打不开了, 看了下 trace 发现 SQL*Net message from client 等待时间太长. 但是这不可能是网络问题, 这个环境是在我电脑的虚拟机里面跑的, 网速很快, 而且其他 Form 都能正常很快打开. 真是崩溃; 我试了一下 Receipts form, 然后在 $PO_TOP/forms/US 下面把 RCVRCERC.fmx 文件删掉, 再打开 Receipts form 的时候报错, 说找不到文件; 然后我把 POXPOEPO.fmx 删掉, 打开 PO form 的时候报同样的问题, 说 form 找不到. 于是我 arcs out 了对应版本的 POXPOEPO.fmb 文件, 重新编译到 $PO_TOP/forms/US 目录下面, 再打开 PO form 就OK 了; 所以这个问题看似是网络问题, 实际上不是. 如果是某个 form 打不开, 重新编译就可以了, 因为从界面上是去对应目录下找对应的 fmx 文件的, 路径都正确. 如果打不开, 明显就是 fmx 本身的问题了.
数据库的性能问题, 有时是因为SQL 性能不好, 但有时候所有的SQL 都很快, 却浪费了很多时间在网络等待上面. 比如, 请求一个页面花了5 分钟. 这个问题可以在SQL trace 里面看出来. 收集10046 事件的trace 文件, 转换成tkprof 格式, 在文件的最后一段有总结:
- Elapsed times include waiting on following events:
- Event waited on Times Max. Wait Total Waited
- ---------------------------------------- Waited ---------- ------------
- SQL*Net message to client 727 0.00 0.00
- SQL*Net message from client 727 120.00 515.87
可以看出来在 SQL*Net message from client 等待了很久时间.
这个问题看起来似乎是网络问题, 但可以通过配置数据库解决. 解决方法:
1. 增加 SDU size, 这个要改配置文件, 在 TNSNAMES.ora 文件中一个参数
- TEST =
- (DESCRIPTION =
- (SDU=8192)
- (TDU=8192) <- 8.0 TDU position
- (ADDRESS =(PROTOCOL = TCP)(HOST = bill.johndoe.com)(PORT = 1521))
- (CONNECT_DATA = (SID = V920)))
在 LISTENER.ora 也增加一个参数
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SDU = 8192) <- Setting SDU to 8192 for this SID
- (TDU = 8192) <- 8.0 TDU position
- (SID_NAME = V920)
- (ORACLE_HOME = /oracle/product/9.2.0)))
2. 增加 Arraysize, 直接在 sql*plus 里面 set arraysize 1000
配置完这些参数, 应该可以改善上面等待时间太长的问题.
性能问题: SQL*Net message from client 等待时间太长的更多相关文章
- SQL*Net message from client
SQL*Net message from client The server process (foreground process) waits for a message from the cli ...
- ORACLE等待事件:SQL*Net message from client & SQL*Net message to client
在ORACLE当中有两个很常见的等待事件"SQL*Net message from client"与"SQL*Net message to client",两者 ...
- SQL*Net message to client
SQL*Net message to client The server (foreground process) is sending a message to the client. 这个wait ...
- 网络上的等待事件 —— SQL*Net message from client/dblink
SQL*Net message from client SQL> select event#,name,parameter1,parameter2,parameter3 from v$event ...
- 解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during ...HRESULT: 0x80070422(注意尾部的错误号)
解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during . ...
- [20180124]奇怪的SQL*Net message from dblink.txt
[20180124]奇怪的SQL*Net message from dblink.txt --//生产系统出现大量的SQL*Net message from dblink事件,自己分析看看. 1.环境 ...
- ORACLE常用性能监控SQL【一】
目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...
- Oracle种常用性能监控SQL语句
--Oracle常用性能监控SQL语句 --1 SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; --2 监控事例的等待 SELECT E ...
- sql server 安装出现需要sqlncli.msi文件,错误为 microsoft sql server 2012 native client
在安装sql server 2017 时出现 弹框标题为 microsoft sql server 2012 native client 内容为需要sqlncli.msi文件 去本地目录找本身的那 ...
随机推荐
- iOS APP程序启动原理
UIApplication 程序启动原理 一个应用程序运行就必须要有一个进程,一个进程至少要有一个线程,我们把这个线程叫做主线程,主线程开启之后会开启一个主运行循环,如果不开启一个运行循环,程序开启了 ...
- ServerSocket和Socket通信
服务器端: 1.服务器端建立通信ServerSocket对象,并设置端口号 2.服务器建立Socket接收客户端连接 3.建立IO输入流读取客户端发送的数据 4.建立IO输出流向客户端输出数据 客户端 ...
- [How to] UIScrollView的使用方法
1.简介 代码 延续前一个博客使用Xib来创建view,本文我们创建一个带有PageControlView的ScrollView的table的headView,如下图: 具有自动滚动: 具有拖拽完毕后 ...
- echarts3.0版本断点连线的处理
项目应用到echarts图表组件.官网的demo中出现空数据会断开.经过跟踪调试.修改echarts.js以下代码即可实现断点连线功能(需要将空数据处理成'-'.这样才能均值): for (var ...
- eclipse 配置jsp
1.安装jdk和jre 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- django渲染模板时跟vue使用的{{ }}冲突解决方法
var vm = new Vue({ el: '#app', // 分割符: 修改vue中显示数据的语法, 防止与django冲突 delimiters: ['[[', ']]'], data: { ...
- python 几种循环性能测试: while, for, 列表生成式, map等
直接上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/07/24 16:23 import itertools imp ...
- AC日记——色板游戏 洛谷 P1558
色板游戏 思路: sb题: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 struct Tre ...
- 如何实现electron多页面间通信
如何实现electron多页面间通信 1,业务需求: 总共有两个页面,页面A显示数据,页面B处理数据,主线程Main 2,实现的技术方案: 在主线程中打开页面A和B,B页面不进行显示,主要负责处理从A ...
- Aras Innovator 11 sp2 firefox客户端设置
在上一篇文章<Aras Innovator 11 sp2 安装>后,服务器算是安装好了,还需要在使用的客户端进行设置才可以正常使用Aras Innovator 该篇为firefox设置,还 ...