草庐IT

CX_Oracle

全部标签

java - 避免 Oracle 死锁的正确设计?

在谈到避免死锁时,通常的建议是始终以相同的顺序锁定资源。但是,对于内容丰富的Oracle数据库中的行锁,您将如何实现这一点?要理解我的意思,请考虑以下示例。一个非常简单的DAO来处理银行账户:@ComponentpublicclassAccountDao{@ResourceprivateDataSourcedataSource;publicvoidwithdraw(Stringaccount,intamount){modifyBalance(account,-amount);}publicvoiddeposit(Stringaccount,intamount){modifyBalanc

java - 无法存储作业 : Driver's Blob representation is of an unsupported type: oracle. sql.BLOB

我收到这个错误:org.quartz.JobPersistenceException:Couldn'tstorejob:Driver'sBlobrepresentationisofanunsupportedtype:oracle.sql.BLOB[Seenestedexception:java.sql.SQLException:Driver'sBlobrepresentationisofanunsupportedtype:oracle.sql.BLOB]atorg.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSup

java - Java 类存储在 Oracle 中的什么位置?

在oracle数据库中存储的加载java类的java字节码在哪里?具体来说,我可以使用View或表来获取Oracle中java类模式对象的原始字节吗? 最佳答案 如果您使用CREATEJAVASOURCE命令将Java源代码加载到Oracle数据库中,那么您可以转到数据字典ViewUSER_SOURCE并找到您的Java源代码。如果您需要显示它或其他东西,您可以查看DBMS_JAVA.EXPORT_SOURCE,它将源代码放入您可以操作的PL/SQL结构中。一般来说,如果你只想列出所有与Java相关的存储对象,你可以执行以下操作:S

java - Oracle 在提交和选择之间滞后

我们有一个Java工作流应用程序,它使用Oracle数据库来跟踪其步骤以及与其他服务的交互。在工作流运行期间,会执行多个插入/更新/选择,有时选择不会返回更新的数据,即使在成功完成之前运行的插入/更新提交也是如此。在工作流出错后(由于数据错误),如果我们返回并通过第三方应用程序检查数据库,新的/更新的数据将显示出来。在我们的提交通过和它们可见之间似乎存在滞后。这种情况发生在大约2%的所有工作流运行中,并且在大量使用数据库期间会增加。我们的数据库支持团队建议将参数max-commit-propagation-delay更改为0,因为它默认为700。这似乎是一个可能的解决方案,但最终没有解

java - SQLException : Protocol violation. Oracle JDBC 驱动程序问题

我得到以下异常:java.sql.SQLException:Protocolviolationatoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:190)atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)atoracle.jdbc.driver.

java - 如何跟踪从应用服务器提交到 Oracle 数据库的所有查询?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Oracle:isthereatooltotracequeries,likeProfilerforsqlserver?我正在使用JDBC与Oracle对话。有没有什么方法或外部工具可以跟踪在一个session期间从应用程序服务器提交到Oracle数据库服务器的所有SQL查询?这应该是非常棒的调试/错误跟踪工具。

Oracle查询与Perfomance问题的顺序

我的查询非常复杂:select*from(select*fromtbl_user...where...anddate_createdbetween:date_fromand:today...orderbydate_createddesc)whererownum当前查询由于从属条款而足够快(今天仅3个月,date_from=今天-90天)。我必须删除此条款,但会导致性能退化。如果首先通过```SELECTMIN(date_created)where...然后将此值插入主要查询中?一组数据将相同。它会提高性能吗?是否有意义?谁能对优化有任何假设?看答案使用orderby操作当然会导致查询需要更长的

java - SQL异常 : Protocol Violation in oracle

我收到“违反协议(protocol)”的消息。我有一个运行在RedHatLinux上的应用程序。数据库和应用程序共存于机器上。使用的Oracle版本:Oracle11gR2(11.2.0.3.0)使用的JDBC驱动程序:12.1.0.1使用的Java:jdk1.7.0.6532位我遇到过许多论坛,其中指出此错误是驱动程序问题,但在所有这些论坛中,使用的oracle版本更高,驱动程序版本更旧,更改驱动程序解决了问题。但就我而言Oracle版本较低,但驱动程序版本较高。那么,在这种情况下,驱动程序版本较高会不会有问题?此外,当达到数据库上的最大连接数时,也会出现这种违反协议(protoco

java - Oracle JDBC 字符集和 4000 个字符限制

我们正在尝试将UTF-16编码的字符串存储到AL32UTF8Oracle数据库中。我们的程序在使用WE8MSWIN1252作为字符集的数据库上运行完美。当我们尝试在使用AL32UTF8的数据库上运行它时,它会遇到java.sql.SQLException:ORA-01461:canbindaLONGvalueonlyforinsertintoaLONGcolumn.在下面的测试用例中,只要我们的输入数据不会太长,一切都可以正常工作。输入的字符串可以超过4000个字符。我们希望保留尽可能多的信息,即使我们意识到必须切断输入。我们的数据库表是使用CHAR关键字定义的(见下文)。我们希望这将

java - 如何在 Hibernate HQL 中使用 Oracle 的 regexp_like?

我正在使用oracle10g和hibernate3.3.2。以前在sql中用过正则表达式,现在第一次在HQL中使用。Queryquery=getSession().createQuery("FromCompanycompanywherecompany.id!=:companyIdandregexp_like(upper(rtrim(ltrim(company.num))),'^0*514619915$')");这是我的hql,当我在没有regex_like函数的情况下运行它时,它会按预期运行。但是我无法使用regex_like表达式来执行它。它说..nestedexceptioniso