Q1 . 应用程序中执行批量更新时(where条件中有in),出现错误: ORA-01795 maximum number of expressions in a list is 1000
原因:in() 括号中值的个数有限制
解决:1) 调整应用程序处理,超过1000的分批更新。
2) 是否可以通过调整数据库配置来解决?
——2010-6-13部分已解决
Q2 . 通过JDBC连接串进行连接时,出现错误:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
原因:只配置了servicename,而没配sid
解决:在不修改oracle服务端配置的情况下,修改jdbc连接串:将jdbc连接串 @ 后的内容改为该连接的配置描述文字从 (DESCRIPTION 开始直到结束的所有内容(注意:要去掉换行),举例:
原jdbc连接串: jdbc:oracle:thin:@localhost:1521:test
修改后:jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost) (PORT=1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test) ))
详见:http://twit88.com/blog/2008/05/29/new-jdbc-url-syntax-for-oracle-10g-jdbc-driver/
——2010-8-16已解决
Q3 . 删除表时,出现错误: ORA 15264
解决:按 drop table ora-600 15264 中所述进行操作。
——2012-8-30已解决
Q4 . Oracle XE 10g windows版本,java程序应用过程中,时有: ORA-12519 TNS:no appropriate service handler found
解决:see http://blog.csdn.net/wyzxg/article/details/2154274
——2012-10-09已解决
Q . 2013-09 生产环境遇到几个DB问题:
1) Caused by: java.sql.SQLException: No more data to read from socket
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1157)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:877)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1281)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1205)
2) 连接数据库时:IO Error: Connection reset
一篇参考:http://stackoverflow.com/questions/2327220/oracle-jdbc-intermittent-connection-issue
解决:加 -Djava.security.egd=file:/dev/./urandom
see: https://www.usn-it.de/2009/02/20/oracle-11g-jdbc-driver-hangs-blocked-by-devrandom-entropy-pool-empty/
Q . 2013-09 ORA-03111: break received on communication channel
参考:http://blog.csdn.net/woohooli/article/details/6364831
Q . 2013-09-13 ORA-00903: invalid table name
原因:表名里含有Oracle关键字或非法字符。
Q . 2017-03-03 网卡切换后进程僵死(jstack中显示oracle connection socket read)
原因:有若干线程处理任务,其中1个线程在进行batch操作,其他线程均在等待该线程任务执行完毕,
而在该batch操作过程中,网卡进行了切换,导致该DB连接实际上已经失效,而由于没有设置超时时间,
因此需要达到操作系统的网络超时时间才会触发异常。
解决:oracle jdbc连接属性中设置2个socket超时时间(单位ms)
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="" /> <property name="username" value="" /> <property name="password" value="" /> <property name="connectionProperties" value="{oracle.net.CONNECT_TIMEOUT=60000;oracle.jdbc.ReadTimeout=60000}"/> </bean>
Q . 2018-09-12 java.sql.SQLException: IO 异常: SO Exception was generated
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
原因:db连接串中间有空格
解决:去掉连接串中的空格
相关推荐
在使用 Oracle 数据库系统时,可能会遇到一些疑难问题,本文将从解决使用 Oracle SQL*PLUS 时没有监听器的问题开始,介绍一些相关的知识点。 标题:解决使用 Oracle 疑难问题 描述:解决使用 Oracle 中所遇到的...
### Oracle中记录用户登录信息的触发器实例解析 #### 一、背景介绍 在Oracle数据库管理中,确保数据安全是一项至关重要的任务。其中,记录用户的登录信息(如登录时间、用户名和客户端IP地址等)可以帮助管理员更...
Oracle 性能问题是数据库管理员和开发者经常遇到的一个棘手问题,本文总结了 Oracle 性能问题的解决方案,涵盖了物理模型优化、索引相关、SQL 相关、表设计和其他几个方面。 在物理模型优化方面,需要合理分配 SGA...
本文将详细讲解如何使用Oracle SQL Developer工具进行这样的迁移过程,以及如何解决在迁移过程中遇到的问题。 首先,确保你拥有正确的工具。在这个案例中,你需要MySQL 5.6.37、Oracle 11g以及Oracle SQL Developer...
标题中的“通过.bat文件连接Oracle 插入数据库记录”指的是使用批处理(.bat)脚本来操作Oracle数据库,实现数据的插入功能。Oracle是全球知名的关系型数据库管理系统,而批处理脚本则是在Windows操作系统中运行的一...
在使用Oracle 11g进行数据备份时,可能会遇到一个问题:使用`exp`命令导出数据库时,空表(即没有任何数据的表)并不会被包含在导出文件中。这是因为Oracle 11g为了节省空间,默认情况下不会为这些空表分配存储空间...
Oracle是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。Oracle数据库提供了丰富的功能,包括数据存储、查询、...对于开发者和DBA来说,掌握Oracle的使用是提升工作效率和解决问题的关键。
在数据库管理中,经常会遇到数据清理的需求,尤其是在Oracle数据库中处理重复记录时。本文旨在通过对比几种不同的方法来删除Oracle中的重复记录,并分析其性能差异,从而为数据库管理员提供有效的解决方案。 #### ...
在Oracle数据库管理中,经常会遇到需要处理表中的重复数据的情况。重复数据不仅会占用不必要的存储空间,还可能导致数据统计错误或业务逻辑混乱等问题。因此,掌握如何有效地删除Oracle数据库表中的重复记录是一项...
在日常使用过程中,由于各种原因,我们可能会遇到各种错误,这些错误通常会以错误码的形式呈现,帮助管理员快速识别问题所在。"Oracle常见问题的错误码大全"是一份非常实用的参考资料,它包含了Oracle数据库在运行...
在本文中,我们将深入探讨在Windows Server 2008 R2 SP1操作系统上安装Oracle 10G数据库过程中遇到的一些问题以及相应的解决方案。首先,我们需要明确的是,Oracle 10G是针对较旧的操作系统设计的,因此在较新的...
如果以上方法仍然无法解决问题,可以考虑使用第三方卸载工具(如Revo Uninstaller等)来帮助彻底卸载Oracle 8.1.7及其所有相关组件。 #### 四、注意事项 - 在执行上述操作前,请确保对重要数据进行了备份。 - 卸载...
Oracle 12c Real Application Clusters (RAC) 是一种高可用性和可伸缩性的数据库解决方案,它...在实际操作中,可能还会遇到其他复杂情况,如许可证管理、性能优化和安全配置,这些都是RAC部署和运维中不可忽视的部分。
文档"ORACL_UNIX_Error_Trouble.doc"可能详细记录了这些问题的出现情况、解决步骤以及预防措施,对于Oracle和UNIX的使用者来说是一份宝贵的参考资料。学习并掌握这些知识点,能够提升你在面对类似问题时的处理能力,...
如果在安装过程中遇到问题,可以参考“故障排除”部分。cx_Oracle使用ODPI-C库来实现Python与Oracle数据库的连接。安装好cx_Oracle后,如果尚未安装Oracle客户端,那么还需要进行安装。cx_Oracle支持Oracle客户端...
在Oracle数据库中,如果遇到表中存在坏块的情况,这通常意味着数据的完整性受到威胁。坏块可能由硬件故障、电源问题或软件错误引起。解决这一问题的关键步骤如下: 1. **定位坏块**:首先,需要确定坏块的具体位置...
在Oracle数据库的安装过程中,有时会遇到DBCA(Database Configuration Assistant)无法正常执行的问题,这通常是由于系统环境或安装过程中的某些配置不正确导致的。本文将针对标题和描述中提到的问题,即在CentOS...