最近,我们已将Oracle 9.2.0.6生产数据库从Windows 32位RAC(2个节点)迁移到Linux 64位环境。 Linux 64位环境的内存是Windows 32位环境的8倍,Linux 64位的磁盘速度更快(RAID 10与Windows 5的RAID 5相比)。
然而,在这次迁移之后,我们注意到sql连接时间已经显着增加。有一段时间,打开连接需要16秒。我们使用了不同的驱动程序(JDBC,ODBC,OCI)和SQLPlus。但是,我们注意到sql连接时间没有区别。我们调查了网络,但发现没有网络问题。
有一段时间,打开一个连接大约需要16秒。该数据库有大约50000个用户架构。
有人可以告诉我可以采取哪些措施来减少连接开放时间?感谢您的帮助。
答案 0 :(得分:3)
在我们的案例中是DNS。在我们的管理员注释掉服务器端的所有DNS条目后,系统立即开始响应。
答案 1 :(得分:2)
这可能有很多原因,如果没有更多信息,很难确定根本原因。
话虽如此,检查你所连接的机器上的sqlnet.ora文件(即< oracle_home> /network/admin/sqlnet.ora),看看你是否有一行如下:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
如果是,请尝试将其更改为:
SQLNET.AUTHENTICATION_SERVICES= (NONE)
通过SQLPlus保存并重试您的连接。
另外,请检查您为NAMES.DIRECTORY_PATH
设置的值。确保您用于连接到实例的方法是列表中的第一个。例如,我们使用TNSNAMES和我们的读物:
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
希望这有帮助。
答案 2 :(得分:2)
如果突然tnsping变得非常慢(意味着它之前是一个可以正常的系统),但ping到同一个数据库服务器很快,最可能的原因是listener.log文件也是大:
某些操作系统(根据我的经验,SunOS)会遇到写一个非常大的文本文件性能问题(超过4G?),所以尾部/清理日志文件会立即解决tnsping需要很长时间的问题。$ ORACLE_HOME /网络/数/ LISTENER.LOG
答案 3 :(得分:2)
我在Mac OS上针对Oracle 12.1.0.2.0使用SQL Developer 4.1.5.21的连接建立速度非常慢。
为了分析这一点,我安装了Oracle Instant Client来直接检查与sqlplus
的连接。当我尝试与$ sqlplus <USER>/<PASSWORD>@<HOST>:<PORT>/<SERVICE>
SQL*Plus: Release 12.1.0.2.0 Production on Thu Mar 16 10:50:44 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
ERROR:
ORA-21561: OID generation failed
建立联系时,它给了我以下错误:
hostname
然后我找到了博客条目Oracle ORA-21561 : OID generation failed,并将主机名(由127.0.0.1
命令返回)添加到/etc/hosts
中的127.0.0.1 localhost MacBook-Pro.local
行:
sqlplus
这解决了for country in countriesList {
print(country["country"])
}
中的ORA-21561错误以及SQL Developer中建立速度慢的问题。
答案 4 :(得分:1)
可能表明问题领域的事情:
来自客户:
从服务器: